科大讯飞语音识别讲义PPT学习教案_第1页
科大讯飞语音识别讲义PPT学习教案_第2页
科大讯飞语音识别讲义PPT学习教案_第3页
科大讯飞语音识别讲义PPT学习教案_第4页
科大讯飞语音识别讲义PPT学习教案_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1科大讯飞语音识别讲义科大讯飞语音识别讲义第1页/共97页第2页/共97页第3页/共97页第4页/共97页第5页/共97页第6页/共97页第7页/共97页第8页/共97页第9页/共97页第10页/共97页n、nEER: equal error rate第11页/共97页 (M1/N)第12页/共97页1- (M/N)第13页/共97页第14页/共97页采样量化端点检测特征提取模型训练吃过了吗?声学模型语言模型语音识别解码识别结果置信度判决语义理解语义模型我/的/手机/丢/了手机挂失第15页/共97页第16页/共97页第17页/共97页手机上网余额查询彩铃业务手机挂失我的手机丢了手机/丢0

2、.250.250.250.250.70.050.20.050.80.050.050.1S(手机挂失)= 0.8S(手机上网)=0.05第18页/共97页第19页/共97页第20页/共97页采样量化端点检测特征提取模型训练吃过了吗?声学模型语言模型语音识别解码识别结果置信度判决检索Ke1/da4/中国科大/北方科大检索资源第21页/共97页第22页/共97页中国科学技术大学安徽大学北京科技大学科大讯飞ke1ji4da4xue2通过投票机制,评价每个条目的得分,综合未出现音的影响,可以提供检索结果的候选,并可忽略顺序的影响第23页/共97页中国科学技术大学安徽大学北京科技大学科大讯飞Ke1 ji4

3、 da4 xue2第24页/共97页命令词呼叫路由POI语言模型否支持支持用户语音自由度不自由自由较自由语法是否否语义理解否是是其它资源否语义模型检索资源解码结果命令词词串拼音串应用举例交互查询客服中心菜单扁平化地图搜索第25页/共97页第26页/共97页第27页/共97页第28页/共97页第29页/共97页第30页/共97页第31页/共97页初始化逆初始化会话开始会话结束识别开始识别结束启动端点检测停止端点检测发送语音到识别器并识别获取识别结果ISRrecInitializeISRepOpenISRepCloseISRrecUninitializeISRrecSessionBeginISRr

4、ecRecognizerCreateISRrecGrammarLoadISRrecGrammarActivateISRrecGrammarDeactivateISRrecGrammarFreeISRrecRecognizerDestroyISRrecSessionEndISRrecRecognizerStartISRrecRecognizerStopISRepSessionBeginISRepDetectorCreateISRepStartISRepPromptDoneISRepStopISRepDetectorDestroyISRepSessionEndISRepWriteISRepRead

5、ISRrecAudioWriteISRrecGetXMLResult第32页/共97页第33页/共97页第34页/共97页第35页/共97页函数名称函数名称功能简介功能简介ISRepOpen初始化端点检测系统ISRepClose逆初始化端点检测系统ISRepDetectorCreate创建一路端点检测实例ISRepDetectorDestroy销毁一路端点检测实例ISRepSetParameter设置端点检测器参数ISRepGetParameter获取端点检测器参数ISRepSessionBegin开始一路会话ISRepSessionEnd结束一路会话ISRepPromptDone通知端点检测

6、器提示音播放结束ISRepStart开始端点检测ISRepStop结束端点检测第36页/共97页函数名称功能简介ISRepWrite向端点检测器写入原始语音数据ISRepRead从端点检测器读取端点检测后数据ISRepStateReset重置端点检测器声学状态ISRepStateQuerySize获取端点检测器声学状态长度ISRepStateLoad加载端点检测器声学状态ISRepStateSave保存端点检测器声学状态第37页/共97页函数名称功能简介ISRrecInitialize进程范围初始化语音识别引擎ISRrecUninitialize进程范围逆初始化,关闭识别引擎ISRrecRec

7、ognizerCreate创建一个语音识别实例ISRrecRecognizerDestroy销毁一个语音识别实例ISRrecGrammarLoad加载一个语音识别语法到识别引擎ISRrecGrammarCompile编译指定的语法到内存缓冲区ISRrecGrammarActivate激活一个语法供后续的识别过程使用ISRrecGrammarDeactivate解除激活一个已经加载的语法ISRrecGrammarFree从识别引擎释放一个语法ISRrecRecognizerSetParameter设置识别参数ISRrecRecognizerGetParameter获取识别参数ISRrecSess

8、ionBegin开始一个识别会话,设置通道名称ISRrecSessionEnd结束一个识别会话第38页/共97页函数名称功能简介ISRrecRecognizerStart使用当前激活的语法开始进行识别ISRrecAudioWrite在识别过程中向识别器发送音频数据ISRrecRecognizerCompute计算当前识别结果ISRrecGetWaveform获取最后一次识别对话的语音数据ISRrecGetXMLResult获取一个识别结果的XML形式的表示ISRrecParseDTMFResults使用当前活动语法解析一个DTMF字符串ISRrecLogEvent向CallLog中写入一个事件

9、或者相关信息ISRrecRecognizerStop停止当前识别ISRrecAcousticStateLoad从内存缓冲区中加载声学状态信息ISRrecAcousticStateSave把实例的声学状态信息写入指定的内存缓冲区ISRrecAcousticStateReset重置实例的声学状态信息ISRrecAcousticStateQuerySize获得声学状态信息的大小第39页/共97页函数名称功能简介ISRveBegin开始一个语音录入实例ISRveEnd结束一个语音录入实例ISRvePrepare在语音录入会话中,准备一次语音录入识别,生成所需语法ISRveProcess在一次语音录入会

10、话中处理识别的结果,并生成语音录入结果语音录入应用程序一般会为每一个用户维护一个已经录入的词语列表,每一个录入的条目对应一个由语音录入过程产生的发音。典型的语音录入过程如下:1) 调用ISRveBegin创建一个VE实例;2) 调用ISRvePrepare获得语音录入语法ID和权重,同时获得混淆语法、冲突语法的权重。3) 使用第2步返回的结果激活语音录入语法;4) 使用第2步返回的结果激活混淆语法和冲突语法,这些语法里面包含所有应用程序不想被录入的词条和那些已经被录入的词条;5) 进行一次识别;6) 调用ISRveProcess函数处理ISRrecGetXMLResult返回的XML结果;7)

11、 如果ISRveProcess返回的结果说明还需要重复录入的话,跳转到第2步;8) 如果ISRveProcess返回的结果说明已经重复多次还没有形成一致的录入结果,那么跳转到第11步;9) 否则,将有以下情况之一:一个词条已经成功录入、录入的词条和混淆语法里面的某个词条发音接近、录入的词条和冲突语法里面的某个词条发音接近。如果一个词条成功录入, 添加到已录入列表;如果一个词条混淆或者冲突,提示用户用另外的发音录入,重新从第1步开始。10) 解除激活所有的语法;11) 调用ISRveEnd结束录入,清除所有临时数据。第40页/共97页函数名称功能简介ISRInitialize进程范围初始化语音识

12、别引擎ISRUninitialize进程范围逆初始化,关闭识别引擎ISRRecognizerCreate创建一个语音识别实例ISRRecognizerDestroy销毁一个语音识别实例ISRGrammarActivate激活一个语法供后续的识别过程使用ISRGrammarDeactivate解除激活一个已经加载的语法ISRSetParameter设置识别参数ISRGetParameter获取识别参数ISRRecognizerStart使用当前激活的语法开始进行识别ISRAudioWrite在识别过程中向识别器发送音频数据ISRRecognizerCompute计算当前识别结果第41页/共97页

13、函数名称功能简介ISRGetWaveform获取最后一次识别对话的语音数据ISRGetXMLResult获取一个识别结果的XML形式的表示ISRParseDTMFResults使用当前活动语法解析一个DTMF字符串ISRLogEvent向CallLog中写入一个事件或者相关信息ISRRecognizerStop停止当前识别ISRPromptDone说明当前提示音播放完毕第42页/共97页函数名称功能简介*QISRInit进程范围初始化语音识别引擎 QISRFini进程范围逆初始化,关闭识别引擎*QISRSessionBegin创建一路识别*QISRGrammarActivate 激活指定的语法

14、,设置语法的权重*QISRAudioWrite向识别器送入音频数据,返回端点检测和识别状态*QISRGetXMLResult获得XML格式的识别结果*QISRSessionEnd逆初始化,释放资源,结束本次识别*QISRWaveformRecog完成一次识别操作,返回识别结果第43页/共97页第44页/共97页音频接口I VR平台平台授权管理端点检测接口识别器接口应用集成架构示意第45页/共97页第46页/共97页第47页/共97页第48页/共97页第49页/共97页第50页/共97页第51页/共97页第52页/共97页第53页/共97页第54页/共97页端点检测参数端点检测参数参数意义参数意

15、义isr_ep_mode工作模式,默认为begin_endisr_ep_waveform_logging是否log端点检测后的wav数据,默认为falseisr_ep_magic_word_max_msec设置magic word最大长度(ms),默认为2000,最小为1,最大为INT_MAXisr_ep_magic_word_min_msec设置magic word最小长度(ms),默认为200,最小为1,最大为INT_MAXisr_ep_bos_backoff设置bos向前移动的长度(ms),默认为200,最小为0isr_ep_eos_backoff设置eos向后移动的长度(ms),默认为

16、200,最小为0isr_ep_min_speech_length设置最小语音长度,默认为250(ms),最小为100,最大为300isr_ep_gmm_win_size设置模型判决窗长,默认500(ms),最小300,最大600timeout设置提示音结束后等待bos的长度(ms),默认为7000,最小为-1,-1表示没有限制,最大为INT_MAXincompletetimeout设置语音间隔(ms),默认为750,最小为0,最大为INT_MAX第55页/共97页第56页/共97页第57页/共97页第58页/共97页第59页/共97页第60页/共97页第61页/共97页typedef stru

17、ct ISRAudioSamples void * samples; unsigned int len; const wchar_t * type; int status; ISRAudioSamples;其中:samples in指向音频数据的缓冲区指针;len in音频数据的长度,字节为单位。type in指明samples指向的音频格式信息,可以的取值有: “audio/basic” 格式为 8-bit 8 KHz u-law unsigned char * audio/x-alaw-basic 格式为8-bit 8 KHz A-law unsigned char * audio/L16

18、;rate=8000 格式为16-bit 8 KHz linear short *status in当前音频的状态,即第一个缓冲区ISR_AUDIO_SAMPLE_FIRST、中间缓冲区ISR_AUDIO_SAMPLE_CONTINUE、最后一个缓冲区ISR_AUDIO_SAMPLE_LAST。ISRepState指明端点检测器所处的状态,取值如下:1) ISR_EP_LOOKING_FOR_SPEECH,尚未检测到前端点;2) ISR_EP_IN_SPEECH,已经检测到语音;3) ISR_EP_AFTER_SPEECH,已经检测到后端点;4) ISR_EP_TIME_OUT,处于等待超时状

19、态;5) ISR_EP_ERROR,端点检测器内部出现错误;6) ISR_EP_MAX_SPEECH,检测到的语音长度超过门限,处于最大语音状态。第62页/共97页第63页/共97页第64页/共97页第65页/共97页第66页/共97页第67页/共97页ISR_REC_INST rec = NULL;int ret = ISRrecRecognizerCreate(&rec, “serverAddr=192.168.70.25”);if ( ret != ISR_SUCCESS ) printf(”Cannot create recognizer instance, error code =

20、%d.”, ret);第68页/共97页第69页/共97页第70页/共97页typedef struct ISRrecGrammarData const wchar_t * type; const wchar_t * data; const wchar_t * media_type; void * binary_data; unsigned int binary_length; void * reserved; ISRrecGrammarData;其中:type in语法的类型,可以为string/3.0 、uri/3.0、string 或uri类型。其中”string/3.0”和”strin

21、g”意义相同,”string”为了兼容而保留,同样”uri/3.0”和”uri”相同;data in字符串类型的语法内容或者URI。这里的URI可以是相对的,例如“./test.abnf”。media_type in这个字段的取值请参考下面的表格。当type字段取值为”uri/3.0”时,这个域提供了备选描述信息。binary_data in未使用,必须为NULL。binary_length in未使用,必须为NULL。ISRrecGrammarData grdata;memset(&grdata, 0, sizeof grdata);grdata.data = L”d:test.abnf”;

22、grdata.type = L”uri”;int ret = ISRrecGrammarLoad (&rec, &grdata);if ( ret != ISR_SUCCESS ) printf(”Cannot load grammar, error code = %d.”, ret);第71页/共97页第72页/共97页第73页/共97页第74页/共97页第75页/共97页参数名称参数名称意义意义maxspeechtimeout允许输入的最大音频时间,单位毫秒。缺省为15000,如果取值-1则表明没有限制。注意,如果该值设置过大,可能导致识别系统耗用大量的内存。isr_rec_best_re

23、sult_count识别引擎输出的最优结果的数目,默认为3,最大值10,最小值1。isr_rec_confidence_threshold系统默认的识别结果的置信度输出门限,默认为350,可以设置1-1000的所有整数值。只有识别置信度高于这个门限的识别结果才可以输出。isr_rec_confidence_output_enabled是否进行置信度输出,缺省为“true”isr_rec_return_waveform是否返回识别的语音数据,缺省为“false”。如果需要使用函数ISRrecGetWaveform函数获取音频数据,那么这个参数必须设置为“true”。第76页/共97页第77页/共97页第78页/共97页第79页/共97页第80页/共97页第81页/共97页第8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论