博舍

如何在一句话识别、实时语音识别和录音文件识别SDK设置专属热词 语音识别字怎么设置的

如何在一句话识别、实时语音识别和录音文件识别SDK设置专属热词

概况通过管控台配置的业务专属热词表与项目Appkey绑定,无需自行设置;通过POP API训练获取的业务专属热词表,需要在SDK中设置其词表ID,且SDK设置热词的优先级更高,若与控制台一起使用,将覆盖控制台设置结果。

一句话识别在一句话识别中,需要通过设置高级参数vocabulary_id指定业务专属热词表ID。

Java SDK

说明首先需要了解Java SDK的基本使用方法,详情请参见Java SDK。

SDK中没有设置vocabulary_id参数的方法,需要通过SpeechRecognizer类中的addCustomedParam方法进行设置:

publicvoidaddCustomedParam(Stringkey,Objectvalue);在示例中创建SpeechRecognizer对象recognizer后(调用start方法之前),调用该方法设置业务专属热词:

SpeechRecognizerrecognizer=newSpeechRecognizer(client,getRecognizerListener());...//省略其他设置recognizer.addCustomedParam("vocabulary_id","您的业务专属热词表ID");...iOS SDK

说明首先需要了解iOS SDK的基本使用方法,详情请参见iOS SDK。

通过RequestParam对象的setParams方法设置热词ID。

...NSMutableDictionary*userParams=[[NSMutableDictionaryalloc]init];[userParamssetValue:@"您的业务专属热词表ID"forKey:@"vocabulary_id"];[_recognizeRequestParamsetParams:userParams];...Android SDK

说明首先需要了解Android SDK的基本使用方法,详情请参见Android SDK。

通过SpeechRecognizer对象的setParams方法设置热词ID。

...StringuserParamString="{"vocabulary_id":"您的泛热词表ID"}";speechRecognizer.setParams(userParamString);RESTful API

说明首先需要了解RESTful API的基本使用方法,详情请参见RESTful API。

vocabulary_id参数作为HTTP的请求参数追加到其他请求参数之后,以Java示例举例如下,其他语言设置方法与Java类似。

Stringurl="http://nls-gateway.cn-shanghai.aliyuncs.com/stream/v1/asr";Stringrequest=url;request=request+"?appkey="+appkey;request=request+"&vocabulary_id="+"您的业务专属热词表ID";...实时语音识别在实时语音识别中,需要通过设置高级参数vocabulary_id指定业务专属热词表ID。

Java SDK

说明首先需要了解Java SDK的基本使用方法,详情请参见Java SDK。

SDK中没有设置vocabulary_id参数的方法,需要通过SpeechTranscriber类中的addCustomedParam方法进行设置:

publicvoidaddCustomedParam(Stringkey,Objectvalue);在示例中创建SpeechTranscriber的对象transcriber后(调用start方法之前),调用该方法设置业务专属热词:

SpeechTranscribertranscriber=newSpeechTranscriber(client,getTranscriberListener());...//省略其他设置transcriber.addCustomedParam("vocabulary_id","您的业务专属热词表ID");...C++ SDK

说明首先需要了解C++ SDK的基本使用方法,详情请参见C++ SDK。

SDK中没有设置vocabulary_id参数的方法,需要通过SpeechTranscriberRequest类中的setPayloadParam方法进行设置:

/***@brief参数设置*@paramvalue:JSONMap格式的字符串。*@return成功则返回0,否则返回-1。*/intsetPayloadParam(constcharvalue);在示例中创建SpeechTranscriberRequest的对象request后(调用start方法之前),调用该方法设置业务专属热词:

SpeechTranscriberRequest*request=NlsClient::getInstance()->createTranscriberRequest(callback);...//省略其他设置request->setPayloadParam("{"vocabulary_id":"您的业务专属热词表ID"}");...iOS SDK

说明首先需要了解iOS SDK的基本使用方法,详情请参见iOS SDK。

通过RequestParam对象的setParams方法设置热词ID。

...NSMutableDictionary*userParams=[[NSMutableDictionaryalloc]init];[userParamssetValue:@"您的业务专属热词表ID"forKey:@"vocabulary_id"];[_transRequestParamsetParams:userParams];...Android SDK

说明首先需要了解Android SDK的基本使用方法,详情请参见Android SDK。

通过SpeechTranscriber对象的setParams方法设置热词ID。

...StringuserParamString="{"vocabulary_id":"您的业务专属热词表ID"}";speechTranscriber.setParams(userParamString);录音文件识别在录音文件识别中,需要通过设置高级参数vocabulary_id指定业务专属热词表ID。

说明首先需要了解录音文件识别接口基本使用方法,详情请参见接口说明。

vocabulary_id参数和其他输入参数一样,以JSON字符串形式设置到HTTP请求Body中,JSON格式如下。

{"app_key":"您的项目appkey",//获取Appkey请前往控制台:https://nls-portal.console.aliyun.com/applist"vocabulary_id":"您的业务专属热词表ID","file_link":"https://aliyun-nls.oss-cn-hangzhou.aliyuncs.com/asr/fileASR/examples/nls-sample-16k.wav"}以Java SDK为例,其他语言SDK的参数设置方法与Java类似。

CommonRequestpostRequest=newCommonRequest();...//省略其他设置/***设置请求参数,以JSON字符串形式设置到请求Body中。*/JSONObjecttaskObject=newJSONObject();//设置appkey,获取Appkey请前往控制台:https://nls-portal.console.aliyun.com/applisttaskObject.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("vocabulary_id","您的业务专属热词表ID");Stringtask=taskObject.toJSONString();System.out.println(task);//设置以上JOSN字符串为Body参数postRequest.putBodyParameter(KEY_TASK,task);...

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇