本文為您介紹如何在SDK中使用POP API設置自學習模型。
使用POP API訓練自學習模型
使用POP API訓練獲取的自學習模型,需要在SDK中設置其模型ID才可以使用。下面介紹在一句話識別、實時語音識別、錄音文件識別中如何設置自學習模型。
一句話識別
在一句話識別中,需要通過設置高級參數customization_id
指定自學習模型ID。
Java SDK
說明請首先閱讀Java SDK,了解Java SDK的基本用法。
由于SDK中沒有
customization_id
參數對應的set方法,需要通過SpeechRecognizer類中的addCustomedParam方法進行設置:public void addCustomedParam(String key, Object value);
示例中創建SpeechRecognizer的實例對象recognizer后(調用start方法之前),調用該方法設置自學習模型ID:
SpeechRecognizer recognizer = new SpeechRecognizer(client, getRecognizerListener()); ... // 省略其他設置。 recognizer.addCustomedParam("customization_id", "您的自學習模型ID");
C++ SDK
說明請首先閱讀C++ SDK,了解C++ SDK的基本用法。
由于SDK中沒有
customization_id
參數對應的set方法,需要通過SpeechRecognizerRequest類中的setPayloadParam方法進行設置:/** * @brief 參數設置。 * @param value JSON Map格式的字符串。 * @return 成功則返回0,否則返回-1。 */ int setPayloadParam(const char value);
在示例中創建SpeechRecognizerRequest的實例對象request后(調用start方法之前),調用該方法設置自學習模型ID:
SpeechRecognizerRequest *request = NlsClient::getInstance()->createRecognizerRequest(callback); ... // 省略其他設置。 request->setPayloadParam("{\"customization_id\":\"您的自學習模型ID\"}");
iOS SDK
說明請先閱讀iOS SDK,了解iOS SDK的基本用法。
通過RequestParam對象的setParams方法設置自學習模型ID。
NSMutableDictionary *userParams = [[NSMutableDictionary alloc]init]; [userParams setValue:@"您的自學習模型ID" forKey:@"customization_id"]; [_recognizeRequestParam setParams:userParams];
Android SDK
說明請先閱讀Android SDK,了解Android SDK的基本用法。
通過SpeechRecognizer對象的setParams方法設置自學習模型ID。
String userParamString = "{\"customization_id\":\"您的自學習模型ID\"}"; speechRecognizer.setParams(userParamString);
RESTful API
說明請首先閱讀RESTFUL API,了解RESTful API的基本用法。
customization_id
參數作為HTTP的請求參數繼續追加到其他請求參數之后。以Java舉例如下,其他語言設置customization_id
參數與Java示例相同。String url = "http://nls-gateway.cn-shanghai.aliyuncs.com/stream/v1/asr"; String request = url; request = request + "?appkey=" + appkey; request = request + "&customization_id=" + "您的自學習模型ID";
實時語音識別
在實時語音識別中,需要通過設置高級參數customization_id
設置自學習模型ID。
Java SDK
說明請首先閱讀Java SDK,了解Java SDK的基本用法。
由于SDK中沒有
customization_id
參數對應的set方法,需要通過SpeechTranscriber類中的addCustomedParam方法進行設置:public void addCustomedParam(String key, Object value);
在示例中創建SpeechTranscriber的實例對象transcriber后(調用start方法之前),調用該方法設置自學習模型ID:
SpeechTranscriber transcriber = new SpeechTranscriber(client, getTranscriberListener()); ... // 省略其他設置。 transcriber.addCustomedParam("customization_id", "您的自學習模型ID");
C++ SDK
說明請首先閱讀C++ SDK,了解C++ SDK的基本用法。
由于SDK中沒有
customization_id
參數對應的set方法,需要通過SpeechTranscriberRequest類中的setPayloadParam方法進行設置:/** * @brief 參數設置。 * @param value JSON Map格式的字符串。 * @return 成功則返回0,否則返回-1。 */ int setPayloadParam(const char value);
在示例中創建SpeechTranscriberRequest的實例對象request后(調用start方法之前),調用該方法設置自學習模型ID:
SpeechTranscriberRequest* request = NlsClient::getInstance()->createTranscriberRequest(callback); ... // 省略其他設置。 request->setPayloadParam("{\"customization_id\":\"您的自學習模型ID\"}");
iOS SDK
說明請先閱讀iOS SDK,了解iOS SDK的基本用法。
通過RequestParam對象的setParams方法設置自學習模型ID。
NSMutableDictionary *userParams = [[NSMutableDictionary alloc]init]; [userParams setValue:@"您的自學習模型ID" forKey:@"customization_id"]; [_transRequestParam setParams:userParams];
Android SDK
說明請先閱讀Android SDK,了解Android SDK的基本用法。
通過SpeechTranscriber對象的setParams方法設置自學習模型ID。
String userParamString = "{\"customization_id\":\"您的自學習模型ID\"}"; speechTranscriber.setParams(userParamString);
錄音文件識別
在錄音文件識別中,需要通過設置高級參數customization_id
設置自學習模型ID。
請首先閱讀錄音文件識別接口說明,了解錄音文件識別的基本用法。
customization_id
參數和其他輸入參數一樣,以JSON格式的字符串設置到HTTP請求的Body中。
{
"app_key": "yourAppkey", //獲取Appkey請前往控制臺:https://nls-portal.console.aliyun.com/applist
"customization_id": "您的自學習模型ID",
"file_link": "https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav"
}
以Java SDK為例,其他語言SDK的customization_id
參數設置方法與Java SDK相同。
CommonRequest postRequest = new CommonRequest();
... // 省略其他設置。
/**
* 設置文件轉寫請求參數,以JSON字符串的格式設置到請求體中。
*/
JSONObject taskObject = new JSONObject();
// 設置appkey,獲取Appkey請前往控制臺:https://nls-portal.console.aliyun.com/applist
taskObject.put(KEY_APP_KEY, appKey);
// 設置音頻文件訪問鏈接。
taskObject.put(KEY_FILE_LINK, "https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav");
taskObject.put("customization_id", "您的自學習模型ID");
String task = taskObject.toJSONString();
System.out.println(task);
// 設置以上JSON字符串為Body參數。
postRequest.putBodyParameter(KEY_TASK, task);