CN108573697B - 一种语言模型更新方法、装置及设备 - Google Patents
一种语言模型更新方法、装置及设备 Download PDFInfo
- Publication number
- CN108573697B CN108573697B CN201710142662.6A CN201710142662A CN108573697B CN 108573697 B CN108573697 B CN 108573697B CN 201710142662 A CN201710142662 A CN 201710142662A CN 108573697 B CN108573697 B CN 108573697B
- Authority
- CN
- China
- Prior art keywords
- language
- fragment
- language model
- fragments
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 239000012634 fragment Substances 0.000 claims abstract description 370
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 16
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及数据处理领域,公开了一种语言模型更新方法、装置及设备,以解决现有技术中存在着无法对关联最新热点的语音信息进行识别的技术问题。该方法包括:获得客户端所产生的内容;对所述内容进行解析获得至少一个语言片段;基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。达到了可以基于更新后的语言模型对最近热点信息进行准确识别的技术效果。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种语言模型更新方法、装置及设备。
背景技术
随着科学技术的不断发展,电子技术也得到了飞速的发展,电子产品的种类也越来越多,人们也享受到了科技发展带来的各种便利。现在人们可以通过各种类型的电子设备,享受随着科技发展带来的舒适生活。例如,智能手表、智能手机、平板电脑等电子设备已经成为人们生活中一个重要的组成部分,其可以包含各种功能。
通常情况下,电子设备都具备语音识别功能,例如:电子设备可以基于语言模型识别出用户所产生的语音信息,现有技术中的语言模型通常都是离线训练完毕之后上线使用,基于该方案,导致现有技术中存在着无法对关联最新热点的语音信息进行识别的技术问题。
发明内容
本发明提供一种语言模型更新方法、装置及设备,以解决现有技术中存在着无法对关联最新热点的语音信息进行识别的技术问题。
第一方面,本发明实施例提供一种语言模型更新方法,包括:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
结合第一方面,在第一种可选的实施例中,所述基于所述至少一个语言片段对第一语言模型进行更新,包括:
如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
结合第一方面,在第二种可选的实施例中,所述方法还包括:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
结合第一方面的第二种可选的实施例,在第三种可选的实施例中,如果存在未被访问的语言片段,所述方法还包括:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
结合第一方面或第一方面的第一至三种可选的实施例中的任意一种可选的实施例,在第四种可选的实施例中,所述方法还包括:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
结合第一方面的第四种可选的实施例,在第五种可选的实施例中,所述通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分,包括:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
结合第一方面的第五种可选的实施例,在第六种可选的实施例中,所述第一语言模型存储于内存数据库。
结合第一方面的第五种可选的实施例,在第七种可选的实施例中,所述针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率,包括:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
结合第一方面或第一方面的第一种可选的实施例,在第八种可选的实施例中,所述第一语言模型中还包含:各个语言片段的条件概率,所述基于所述至少一个语言片段对第一语言模型进行更新,还包括:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
结合第一方面的第五种可选的实施例,在第九种可选的实施例中,所述方法还包括:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
第二方面,本发明实施例提供一种语言模型更新装置,包括:
第一获得模块,用于获得客户端所产生的内容;
第二获得模块,用于对所述内容进行解析获得至少一个语言片段;
更新模块,用于基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
结合第二方面,在第一种可选的实施例中,所述更新模块,包括:
加入单元,用于如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
第一确定单元,用于如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;更新单元,用于通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
结合第二方面,在第二种可选的实施例中,所述装置还包括:
第一判断模块,用于判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
去除模块,用于如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
结合第二方面的第二种可选的实施例,在第三种可选的实施例中,所述装置还包括:
第一确定模块,用于确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
第二确定模块,用于确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
第二判断模块,用于判断所述第一片段数量与所述第二片段数量是否相同;
替换模块,用于如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
结合第二方面或第二方面的第一至三种可选的实施例中的任意一种可选的实施例,在第四种可选的实施例中,所述装置还包括:
第三获得模块,用于获得语音识别请求,所述语音识别请求中包含待识别语音;
打分模块,用于通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
第三确定模块,用于基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
结合第二方面的第四种可选的实施例,在第五种可选的实施例中,所述打分模块,包括:
划分单元,用于针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
第二确定单元,用于针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
第三确定单元,用于基于所述至少一个词的所述条件概率,确定出打分结果。
结合第二方面的第五种可选的实施例,在第六种可选的实施例中,所述第一语言模型存储于内存数据库。
结合第二方面的第五种可选的实施例,在第七种可选的实施例中,所述第二确定单元,包括:
第一确定子单元,用于确定出对应词与其前预设个词所组成的语言片段;
第二确定子单元,用于通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
第三确定子单元,用于基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
结合第二方面或第二方面的第一种可选的实施例,在第八种可选的实施例中,所述第一语言模型中还包含:各个语言片段的条件概率,所述更新模块,还用于:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
结合第二方面的第五种可选的实施例,在第九种可选的实施例中,所述装置还包括:
第四确定模块,用于如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
加载模块,用于将所述相关信息加载到所述第一语言模型。
第三方面,本发明实施例提供一种设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
结合第三方面,在第一种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
结合第三方面,在第二种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
结合第三方面的第二种可选的实施例,在第三种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
结合第三方面或第三方面的第一至三种可选的实施例中的任意一种可选的实施例,在第四种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
结合第三方面的第四种可选的实施例,在第五种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
结合第三方面的第五种可选的实施例,在第六种可选的实施例中,所述第一语言模型存储于内存数据库。
结合第三方面的第五种可选的实施例,在第七种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
结合第三方面或第三方面的第一种可选的实施例,在第八种可选的实施例中,所述第一语言模型中还包含:各个语言片段的条件概率,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
结合第三方面的第五种可选的实施例,在第九种可选的实施例中,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
本发明有益效果如下:
由于在本发明实施例中,在获得客户端所产生的内容之后,可以对所述内容进行解析获得至少一个语言片段,进而基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与片段数量的对应关系。也就是说,该方案可以基于客户端所产生的内容对语言模型进行更新,而不仅仅是依赖于离线的训练过程,从而达到了可以基于更新后的语言模型对最近热点信息进行准确识别的技术效果。
附图说明
图1为本发明实施例第一方面的语言模型更新方法的流程图;
图2为本发明实施例第一方面的语言模型更新方法中获得语音识别结果的流程图;
图3为本发明实施例第二方面的语言模型更新方法的流程图;
图4为本发明实施例第三方面的语言模型更新装置的结构图;
图5为本发明实施例中实施语言模型更新方法的电子设备的结构图;
图6为本发明实施例中实施语言模型更新方法的服务器的结构图。
具体实施方式
本发明提供一种语言模型更新方法、装置及设备,以解决现有技术中存在着无法对关联最新热点的语音信息进行识别的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
在获得客户端所产生的内容之后,可以对所述内容进行解析获得至少一个语言片段,进而基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与片段数量的对应关系。也就是说,该方案可以基于客户端所产生的内容对语言模型进行更新,而不仅仅是依赖于离线的训练过程,从而达到了可以基于更新后的语言模型对最近热点信息进行准确识别的技术效果。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
第一方面,本发明实施例提供一种语言模型更新方法,请参考图1,包括:
步骤S101:获得客户端所产生的内容;
步骤S102:对所述内容进行解析获得至少一个语言片段;
步骤S103:基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
举例来说,语言模型(例如:第一语言模型)指的是能够有效度量一个句子概率高低的模型,通过句子概率的高低,就可以判定用户所产生的语音信息对应什么语句,该方案可以应用于存储该语言识别模型的服务器,服务器可以每隔预设时间间隔(例如:1天、1周等等),就获得各个客户端的用户所产生的内容,并基于该内容对语言模型进行更新;又或者,服务器在获得预设数量(例如:1000条、10000条等等)的内容之后,就可以基于该内容对语言模型进行更新,对于服务器在何种时机对语言识别模型进行更新,本发明实施例不作限制。通常情况下,更新时间越短,则该语言识别模型所包含的词汇越新,因此对最近热点信息能进行更加准确的识别。
步骤S101中,该内容可以为通过多种方式获得的内容,例如:通过输入法应用程序所输入的内容、通过即时通讯工具所获得内容等等,该输入法应用程序可以为多种输入法应用程序,例如:拼音输入法应用程序、五笔输入法应用程序、手写输入法应用程序等等;该即时通讯工具例如为:短信、QQ等等。
步骤S102中,可以对内容进行分词,将其划分为多个词,然后对相邻的词分别进行组合,从而获得至少一个语言片段,例如,假设内容包括“最近A用户爆料了B用户的某某门事件”,则对其进行分词可以获得以下词:
①最近②A用户③爆料④了⑤B用户⑥的⑦某某门⑧事件
如果对相邻的两个词进行组合的话,则可以获得以下的组合结果:
①最近A用户②A用户爆料③爆料了④了B用户⑤B用户的⑥的某某门⑦某某门事件
从而可以将词与组合结果都作为对内容进行解析所获得至少一个语言片段。另外,在具体实施过程中,除了可以统计至少一个语言片段之外,还可以进一步的统计每一个语言片段的片段数量。
当然,对相邻词进行组合时,可以对相邻2个词进行组合,也可以对相邻3个、4个词进行组合,本发明实施例不作限制,基于内容不同、对相邻词的组合方式不同,所获得的至少一个语言片段也不同,本发明实施例不作限制。
步骤S103中,第一语言模型中可以包含各个语言片段以及每个语言片段的片段数量,进一步的,还可以基于每个语言片段的片段数量确定出在该语言片段的前预设个词出现的情况下,该语言片段的条件概率。
步骤S103中,可以采用多种方式对第一语言模型进行更新,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况,另外,在不冲突的情况下,以下两种情况可以组合使用。
第一种,所述基于所述至少一个语言片段对第一语言模型中对各个语言片段的片段数量进行更新,包括:如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段加入所述第一语言模型。
举例来说,以前面所列举的至少一个片段为例,其中的“某某门事件”(也即:第一语言片段)可能为一个新出现的词汇,在这种情况下,则“某某门事件”可能并未出现在第一语言模型中,故而可以将其加入该第一语言模型,进一步的,还可以将该语言片段的片段数量加入第一语言模型,再进一步的,还可以基于该语言片段的片段数量确定出该语言片段的条件概率,并将该条件概率加入第一语言模型。从而后续在基于该语言识别模型对语音信息进行识别时,可以识别出该语言片段以及该语言片段的片段数量,或者直接识别出该语言片段以及该语言片段的条件概率。其由于是直接更新的第一语言模型,而不需要对第一语言模型进行离线重新训练,故而能够在较短时间内就对最新信息进行识别,进而达到了可以对最新信息进行准确识别的技术效果。
第二种,所述基于所述至少一个语言片段对第一语言模型中对各个语言片段的片段数量进行更新,包括:如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
举例来说,针对某些常见的语言片段(例如:“最近”、“A用户”、“爆料”等等)其之前可能已经存在于第一语言模型,在这种情况下,则不需要再次将这些语言片段加入第一语言模型,而只需要通过至少一个语言片段中对应语言片段的片段数量,对第一语言模型中的对应语言片段的片段数量进行更新,比如:如果至少一个语言片段中某语言片段的片段数量为10,第一语言模型中该语言片段的片段数量为10001,则更新之后的片段数量为:10001+10=10011,当然,以上片段数量仅仅作为举例,并不作为限制。进一步的,在对第一语言模型中某语言片段的片段数量进行更新之后,还可以基于该更新之后的片段数量对该语言片段的条件概率进行更新。
作为一种可选的实施例,所述方法还包括:判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
在具体实施过程中,预设时间段例如为:1周、半个月、1个月等等,语言片段未被访问例如为:语言片段未被通过输入法应用程序输入过、语言片段为被通过语音输入方式输入过等等,如果语言片段在预设时间段内未被访问的话,则说明大部分用户都不会输入该语言片段,例如:该语言片段可能已过时、或者该语言片段为很冷门的语言片段等等,在这种情况下,则可以将对应语言片段从第一语言片段库中删除,基于该方案能够降低第一语言片段库的内存占用。
作为一种可选的实施例,如果存在未被访问的语言片段,所述方法还包括:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
在具体实施过程中,第一语言模型往往为常用的语言模型,可以经常对其进行更新,故而其识别准确率往往较高,第二语言模型则往往为第一语言模型的备用模型,其通常情况下所含的数据量较大,但是更新频率不如第一语言模型,因此,在将第一语言片段从第一语言模型中去除时,可以比较第一片段数量与第二片段数量是否相同,如果不同的话,则将第二语言模型中的第二片段数量替换为第一片段数量,以提高第二语言模型的准确性。
作为一种可选的实施例,请参考图2,所述方法还包括:
步骤S201:获得语音识别请求,所述语音识别请求中包含待识别语音;
步骤S202:通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
步骤S203:基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
步骤S201中,客户端在接收到用户输入的待识别语音之后,可以向服务器发送携带该待识别语音的语音识别请求,从而服务器可以从客户端获得该语音识别请求。
步骤S202中,可以通过解码器对待识别语音进行解码生成至少一条解码路径,每一条解码路径则相当于一个语音识别选项,每一条解码路径还包含有各个词节点。
其中,可以通过以下方式对至少一个语音识别选项进行打分:所述通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分,包括:针对每个语音识别选项,将对应语音识别选项划分为至少一个词;针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;基于所述至少一个词的所述条件概率,确定出打分结果。
在具体实施过程中,可以通过多种方式确定出各个词的条件概率,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种,第一语言模型中包含各个语言片段与片段数量的对应关系,则可以通过以下方式确定出每个词的条件概率:确定出对应词与其前预设个词所组成的语言片段;通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
在具体实施过程中,针对语音识别选项中的第1个词,由于其前面并不存在词,故而其条件概率等于该词本身的出现概率,例如:可以通过该词的片段数量除以所有词的总片段数量,故而获得该词本身的出现概率。针对其他词,可以通过n-gram算法确定各个词的条件概率,假设针对某一条语音识别选项,其由以下词W1,W2,…,Wn组成,假设前预设个词为前1个词(也即:n-gram模型中的n等于2,当然,n也可以为其他值,例如:2、3等等,本发明实施例不作限制)的话,则可以通过以下公式计算出某词的条件概率:
p(Wk|Wk-1)=count(Wk-1Wk)/count(Wk)………………………………[1]
其中,p(Wk|Wk-1)表示在第k-1个词出现的情况下,第k个词出现的条件概率,k为2~l的整数,l表示语音识别选项中的词的数量;
count(Wk-1Wk)表示第一语言模型中第k-1个词出现的情况下第k个词的出现次数,也即语言片段Wk-1Wk的第四统计次数;
count(Wk)表示第一语言模型中第k个词单独出现的次数,也即词Wk的第三统计次数。
则如果k=2,其所对应的第2个词的条件概率为:
p(W2|W1)=count(W1W2)/count(W1)………………………………[2]
在具体实施过程中,在通过上述公式计算p(Wk|Wk-1)时,如果可以在第一语言模型中查询到count(WkWk-1),则直接返回查询结果;如果在第一语言模型查询不到count(WkWk-1),则说明对应词的count(WkWk-1)等于0的话,为了防止对后续获得打分结果造成影响,则可以为该打分结果设定为一不为零的值,例如:
p(Wk|Wk-1)=0.4*p(Wk-1)………………………………[3]
第二种,第一语言模型中预存各个语言片段与条件概率的对应关系,则可以直接通过对应词在第一语言模型中查询获得对应词的条件概率,第一语言模型中所预存的语言片段的条件概率的计算方式在上面第一种方式中已作介绍,故而在此不再赘述。基于该方案,能够提高获得条件概率的速度。
在确定出每个词的条件概率之后,可以对所有词的条件概率相乘,从而获得对应语音识别选项的打分结果。
作为一种可选的实施例,所述方法还包括:如果基于所述第一语言模型中无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
举例来说,如果针对第k个词,在第一语言模型中无法获得count(Wk-1Wk),则说明第一语言模型中没有存储语言片段Wk-1Wk,在这种情况下,则无法获得该p(Wk|Wk-1),故而为了保证后续能够获得p(Wk|Wk-1),则可以从第二语言模型获得确定该条件概率的相关信息,该条件概率的相关信息可以为该条件概率本身,也可以为count(Wk-1Wk),基于此能够保证后续针对其他包含该语言片段的语音识别选项可以准确的查询获得该语言片段的条件概率。第二语言模型例如为:云端大型的key-value型数据库,其存储的语言片段的数量高于当前服务器所存储的语言片段的数量。
步骤S203中,在获得针对每个语音识别选项的基于语言模型的打分结果之后,还可以获得该语音识别选项基于声学模型的打分,然后结合语言模型与声学模型的打分获得一个总分值,最终可以获得总分值最高的语音识别选项作为语音识别结果;也可以获得总分值排序位于前预设为(例如:2、3等等)的语音识别选项,并将其提供给客户端的用户,由用户从中选择出语音识别结果等等。
作为一种可选的实施例,所述第一语言模型存储于内存数据库,该内存数据库例如为:redis,当然,还可以为其他内存数据库,本发明实施例不作限制,基于该方案能够提高语音识别的速率。
第二方面,基于同一发明构思,本发明实施例提供一种语言模型更新方法,应用于客户端,请参考图3,包括:
步骤S301:获得客户端所产生的内容;
步骤S302:将所述内容发送至服务器,以使所述服务器基于所述内容对第一语言模型进行更新。
可选的,所述方法还包括:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述语言识别模型,确定出所述待识别语音所对应的语音识别结果。
其中,在获得语音识别请求之后,可以将其发送至服务器,由服务器对该待识别语音进行识别,从而获得语音识别结果;客户端也可以本地预存该语音识别模型,从而直接在客户端本地对该待识别语音进行识别。
第三方面,基于同一发明构思,本发明实施例提供一种语言模型更新装置,请参考图4,包括:
第一获得模块40,用于获得客户端所产生的内容;
第二获得模块41,用于对所述内容进行解析获得至少一个语言片段;
更新模块42,用于基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
可选的,所述更新模块42,包括:
加入单元,用于如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
第一确定单元,用于如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;更新单元,用于通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
可选的,所述装置还包括:
第一判断模块,用于判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
去除模块,用于如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
可选的,所述装置还包括:
第一确定模块,用于确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
第二确定模块,用于确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
第二判断模块,用于判断所述第一片段数量与所述第二片段数量是否相同;
替换模块,用于如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
可选的,所述装置还包括:
第三获得模块,用于获得语音识别请求,所述语音识别请求中包含待识别语音;
打分模块,用于通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
第三确定模块,用于基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
可选的,所述打分模块,包括:
划分单元,用于针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
第二确定单元,用于针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
第三确定单元,用于基于所述至少一个词的所述条件概率,确定出打分结果。
可选的,所述第一语言模型存储于内存数据库。
可选的,所述第二确定单元,包括:
第一确定子单元,用于确定出对应词与其前预设个词所组成的语言片段;
第二确定子单元,用于通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
第三确定子单元,用于基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
可选的,所述第一语言模型中还包含:各个语言片段的条件概率,所述更新模块42,还用于:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
可选的,所述装置还包括:
第四确定模块,用于如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
加载模块,用于将所述相关信息加载到所述第一语言模型。
由于本发明第三方面所介绍的装置,为实施本发明实施例第一方面所介绍的语言模型更新方法所采用的装置,基于本发明实施例第一方面所介绍的语言模型更新方法,本领域所属技术人员能够了解本发明实施例第三方面所介绍的装置的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的语言模型更新方法所采用的装置都属于本发明所欲保护的范围。
第四方面,基于同一发明构思,本发明实施例提供一种设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
举例来说,该设备可以为位于客户端的电子设备,也可以为服务器,本发明实施例不作限制。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
可选的,所述第一语言模型存储于内存数据库。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
可选的,所述第一语言模型中还包含:各个语言片段的条件概率,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
可选的,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
由于本发明第四方面所介绍的装置,为实施本发明实施例第一方面所介绍的语言模型更新方法所采用的装置,基于本发明实施例第一方面所介绍的语言模型更新方法,本领域所属技术人员能够了解本发明实施例第四方面所介绍的装置的具体结构及变形,故而在此不再赘述,凡是实施本发明实施例第一方面所介绍的语言模型更新方法所采用的装置都属于本发明所欲保护的范围。
图5是根据一示例性实施例示出的一种实施语言模型更新方法的电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为电子设备800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是本发明实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由设备(位于客户端的电子设备或者服务器)的处理器(电子设备的处理器820、或者服务器的中央处理器1922)执行时,使得设备能够执行一种语言模型更新方法,所述方法包括:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述于第一语言模型中的对应语言片段的片段数量进行更新。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
可选的,所述第一语言模型存储于内存数据库。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
可选的,所述第一语言模型中还包含:各个语言片段的条件概率,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
可选的,所述可读存储介质还经配置以由所述处理器执行进行以下操作的指令:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
本发明一个或多个实施例,至少具有以下有益效果:
由于在本发明实施例中,在获得客户端所产生的内容之后,可以对所述内容进行解析获得至少一个语言片段,进而基于所述至少一个语言片段对第一语言模型进行更新,所述第一语言模型中包含语言片段与片段数量的对应关系。也就是说,该方案可以基于客户端所产生的内容对语言模型进行更新,而不仅仅是依赖于离线的训练过程,从而达到了可以基于更新后的语言模型对最近热点信息进行准确识别的技术效果。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (28)
1.一种语言模型更新方法,其特征在于,包括:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新;
其中,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系;所述基于所述至少一个语言片段对第一语言模型进行更新,包括:如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述第一语言模型中的对应语言片段的片段数量进行更新。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
3.如权利要求2所述的方法,其特征在于,如果存在未被访问的语言片段,所述方法还包括:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
4.如权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
5.如权利要求4所述的方法,其特征在于,所述通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分,包括:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
6.如权利要求5所述的方法,其特征在于,所述第一语言模型存储于内存数据库。
7.如权利要求5所述的方法,其特征在于,所述针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率,包括:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
8.如权利要求1所述的方法,其特征在于,所述第一语言模型中还包含:各个语言片段的条件概率,所述基于所述至少一个语言片段对第一语言模型进行更新,还包括:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
9.如权利要求5所述的方法,其特征在于,所述方法还包括:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
10.一种语言模型更新装置,其特征在于,包括:
第一获得模块,用于获得客户端所产生的内容;
第二获得模块,用于对所述内容进行解析获得至少一个语言片段;
更新模块,用于基于所述至少一个语言片段对第一语言模型进行更新;
其中,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系;所述基于所述至少一个语言片段对第一语言模型进行更新,包括:加入单元,用于如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
第一确定单元,用于如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;更新单元,用于通过所述片段数量对所述第一语言模型中的对应语言片段的片段数量进行更新。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
去除模块,用于如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
第二确定模块,用于确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
第二判断模块,用于判断所述第一片段数量与所述第二片段数量是否相同;
替换模块,用于如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
13.如权利要求10-12任一所述的装置,其特征在于,所述装置还包括:
第三获得模块,用于获得语音识别请求,所述语音识别请求中包含待识别语音;
打分模块,用于通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
第三确定模块,用于基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
14.如权利要求13所述的装置,其特征在于,所述打分模块,包括:
划分单元,用于针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
第二确定单元,用于针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
第三确定单元,用于基于所述至少一个词的所述条件概率,确定出打分结果。
15.如权利要求14所述的装置,其特征在于,所述第一语言模型存储于内存数据库。
16.如权利要求14所述的装置,其特征在于,所述第二确定单元,包括:
第一确定子单元,用于确定出对应词与其前预设个词所组成的语言片段;
第二确定子单元,用于通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
第三确定子单元,用于基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
17.如权利要求10所述的装置,其特征在于,所述第一语言模型中还包含:各个语言片段的条件概率,所述更新模块,还用于:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
18.如权利要求14所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
加载模块,用于将所述相关信息加载到所述第一语言模型。
19.一种设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得客户端所产生的内容;
对所述内容进行解析获得至少一个语言片段;
基于所述至少一个语言片段对第一语言模型进行更新;
其中,所述第一语言模型中包含语言片段与语言片段的片段数量的对应关系;所述基于所述至少一个语言片段对第一语言模型进行更新,包括:
如果所述至少一个语言片段中的第一语言片段不位于所述第一语言模型,将所述第一语言片段以及所述第一语言片段的片段数量加入所述第一语言模型;和/或,
如果所述至少一个语言片段中的任意语言片段位于所述第一语言模型,确定出所述至少一个语言片段中对应语言片段的片段数量;通过所述片段数量对所述第一语言模型中的对应语言片段的片段数量进行更新。
20.如权利要求19所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
判断在预设时间段内,所述第一语言模型中是否存在未被访问的语言片段;
如果存在未被访问的语言片段,将所述未被访问的语言片段从所述第一语言模型中去除。
21.如权利要求20所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出所述未被访问的语言片段在所述第一语言模型中的第一片段数量;
确定出所述未被访问的语言片段在第二语言模型的第二片段数量;
判断所述第一片段数量与所述第二片段数量是否相同;
如果不同,将所述第二语言模型中所述未被访问的语言片段的片段数量替换为所述第一片段数量。
22.如权利要求19-21任一所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获得语音识别请求,所述语音识别请求中包含待识别语音;
通过所述第一语言模型,对所述待识别语音所匹配的至少一个语音识别选项进行打分;
基于打分结果,从所述至少一个语音识别选项中确定出所述待识别语音所对应的语音识别结果。
23.如权利要求22所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
针对每个语音识别选项,将对应语音识别选项划分为至少一个词;
针对每个词,确定出在所述第一语言模型中在对应词的前预设个词出现的情况下,对应词出现的条件概率;
基于所述至少一个词的所述条件概率,确定出打分结果。
24.如权利要求23所述的设备,其特征在于,所述第一语言模型存储于内存数据库。
25.如权利要求23所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定出对应词与其前预设个词所组成的语言片段;
通过所述第一语言模型确定出对应词的第三片段数量、以及所组成的语言片段的第四片段数量;
基于所述第三片段数量和所述第四片段数量确定出对应词的所述条件概率。
26.如权利要求19所述的设备,其特征在于,所述第一语言模型中还包含:各个语言片段的条件概率,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于所述至少一个语言片段对所述第一语言模型中各个语言片段的所述条件概率进行更新。
27.如权利要求23所述的设备,其特征在于,所述设备还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
如果基于所述第一语言模型无法确定某一词的所述条件概率,从第二语言模型获取确定对应词的条件概率的相关信息;
将所述相关信息加载到所述第一语言模型。
28.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时可以实现如权利要求1~9任一权项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710142662.6A CN108573697B (zh) | 2017-03-10 | 2017-03-10 | 一种语言模型更新方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710142662.6A CN108573697B (zh) | 2017-03-10 | 2017-03-10 | 一种语言模型更新方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108573697A CN108573697A (zh) | 2018-09-25 |
CN108573697B true CN108573697B (zh) | 2021-06-01 |
Family
ID=63577445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710142662.6A Active CN108573697B (zh) | 2017-03-10 | 2017-03-10 | 一种语言模型更新方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573697B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109920431B (zh) | 2019-03-05 | 2021-12-07 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN113963695A (zh) * | 2021-10-13 | 2022-01-21 | 深圳市欧瑞博科技股份有限公司 | 一种智能设备的唤醒方法、装置、设备及存储介质 |
CN114141236B (zh) * | 2021-10-28 | 2023-01-06 | 北京百度网讯科技有限公司 | 语言模型更新方法、装置、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4004716B2 (ja) * | 2000-05-31 | 2007-11-07 | 三菱電機株式会社 | 音声パターンモデル学習装置、音声パターンモデル学習方法、および音声パターンモデル学習プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに音声認識装置、音声認識方法、および音声認識プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6754626B2 (en) * | 2001-03-01 | 2004-06-22 | International Business Machines Corporation | Creating a hierarchical tree of language models for a dialog system based on prompt and dialog context |
US7668718B2 (en) * | 2001-07-17 | 2010-02-23 | Custom Speech Usa, Inc. | Synchronized pattern recognition source data processed by manual or automatic means for creation of shared speaker-dependent speech user profile |
US8750489B2 (en) * | 2008-10-23 | 2014-06-10 | International Business Machines Corporation | System and method for automatic call segmentation at call center |
US8224641B2 (en) * | 2008-11-19 | 2012-07-17 | Stratify, Inc. | Language identification for documents containing multiple languages |
CN102236639B (zh) * | 2010-04-28 | 2016-08-10 | 三星电子株式会社 | 更新语言模型的系统和方法 |
US9786269B2 (en) * | 2013-03-14 | 2017-10-10 | Google Inc. | Language modeling of complete language sequences |
CN103247291B (zh) * | 2013-05-07 | 2016-01-13 | 华为终端有限公司 | 一种语音识别设备的更新方法、装置及系统 |
CN104239304B (zh) * | 2013-06-07 | 2018-08-21 | 华为技术有限公司 | 一种数据处理的方法、装置以及设备 |
CN103747414B (zh) * | 2013-12-30 | 2018-07-03 | 华为技术有限公司 | 更新状态信息的方法及移动终端 |
KR102413067B1 (ko) * | 2015-07-28 | 2022-06-24 | 삼성전자주식회사 | 문법 모델을 갱신하고, 문법 모델에 기초하여 음성 인식을 수행하는 방법 및 디바이스 |
CN105654945B (zh) * | 2015-10-29 | 2020-03-06 | 乐融致新电子科技(天津)有限公司 | 一种语言模型的训练方法及装置、设备 |
-
2017
- 2017-03-10 CN CN201710142662.6A patent/CN108573697B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108573697A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3119070B1 (en) | Method and device for determining a crank phone number | |
US10061762B2 (en) | Method and device for identifying information, and computer-readable storage medium | |
US9942690B2 (en) | Method and device for information push | |
CN107340880B (zh) | 一种联想输入方法、装置及用于实现联想输入的电子设备 | |
CN107621886B (zh) | 一种输入推荐方法、装置及电子设备 | |
CN108573706B (zh) | 一种语音识别方法、装置及设备 | |
CN108573697B (zh) | 一种语言模型更新方法、装置及设备 | |
CN111831806A (zh) | 语义完整性确定方法、装置、电子设备和存储介质 | |
CN110069143B (zh) | 一种信息防误纠方法、装置和电子设备 | |
CN109725736B (zh) | 一种候选排序方法、装置及电子设备 | |
CN111177521A (zh) | 一种查询词分类模型的确定方法和装置 | |
CN111813932A (zh) | 文本数据的处理方法、分类方法、装置及可读存储介质 | |
CN111324214B (zh) | 一种语句纠错方法和装置 | |
CN109901726B (zh) | 一种候选词生成方法、装置及用于候选词生成的装置 | |
CN109799916B (zh) | 一种候选项联想方法和装置 | |
CN108108356B (zh) | 一种文字翻译方法、装置及设备 | |
CN108628883B (zh) | 一种数据处理方法、装置及电子设备 | |
US20170169467A1 (en) | Information push method and device | |
CN113946228A (zh) | 语句推荐方法、装置、电子设备和可读存储介质 | |
CN110008135B (zh) | 一种信息处理方法、装置及电子设备 | |
CN108345590B (zh) | 一种翻译方法、装置、电子设备以及存储介质 | |
CN112306251A (zh) | 一种输入方法、装置和用于输入的装置 | |
CN113589954A (zh) | 一种数据处理方法、装置和电子设备 | |
CN108073566B (zh) | 分词方法和装置、用于分词的装置 | |
CN108573696B (zh) | 一种语音识别方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |