新词更新方法、语音识别设备及计算机可读存储介质与流程

文档序号:30418597发布日期:2022-06-15 12:19阅读:66来源:国知局
新词更新方法、语音识别设备及计算机可读存储介质与流程

1.本发明实施例涉及但不限于语音识别领域,具体而言,涉及但不限于一种新词更新方法、语音识别设备及计算机可读存储介质。


背景技术:

2.相关技术中,在自动语音识别(automatic speech recognition,asr)系统中,发音词典中的词条是否完备和合理至关重要。在引入外来语料(即外来语句)构建新的词时,目前只能通过人工从语料中主观的识别出发音词典中不存在的新词并加入到发音词典。这种做法存在更新效率和准确率低的问题,不利于提高asr的泛化性能。


技术实现要素:

3.本发明实施例提供的一种新词更新方法、语音识别设备及计算机可读存储介质,主要解决的技术问题是:解决相关技术通过人工从语料中识别出发音词典中不存在的新词并加入到发音词典,导致更新效率和准确率低的问题。
4.为解决上述技术问题,本发明实施例提供一种新词更新方法,包括:从接收到的语句中提取出待校验的新词;将所述新词发送给预设的词条搜索引擎,并接收所述词条搜索引擎发送的搜索结果,所述搜索结果包含所述新词在所述词条搜索引擎上存在情况;基于所述搜索结果确定将所述新词增加到发音词典中。
5.本发明实施例还提供一种语音识别设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上所述的新词更新方法的步骤。
6.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上所述的新词更新方法的步骤。
7.根据本发明实施例提供的新词更新方法、语音识别设备及计算机可读存储介质,通过从接收到的语句中提取出待校验的新词,然后将新词发送给预设的词条搜索引擎,并接收词条搜索引擎发送的搜索结果,该搜索结果包含新词在词条搜索引擎上存在情况;从而基于搜索结果将新词增加到发音词典中,不需要人工主观判断,既能提升发音词典中新词的更新效率,又能提升发音词典中新词的更新准确率,更利于提高asr的泛化性能。
8.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
9.图1为本发明实施例一提供的新词更新方法流程示意图;
10.图2为本发明实施例一提供的提取待校验的新词的流程示意图一;
11.图3为本发明实施例一提供的提取待校验的新词的流程示意图二;
12.图4为本发明实施例一提供的确定是否将新词增加到发音词典中的流程示意图一;
13.图5为本发明实施例一提供的确定是否将新词增加到发音词典中的流程示意图二;
14.图6为本发明实施例二提供的新词更新装置结构示意图;
15.图7为本发明实施例二提供的新词更新方法流程示意图;
16.图8为本发明实施例三提供的语音识别设备结构示意图。
具体实施方式
17.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
18.实施例一:
19.为了提升asr系统中发音词典中新词更新的效率和准确率,本实施例提供的新词更新方法利用词条搜索引擎,对于从语料(即语句)中提取出待校验的新词可利用词条搜索引擎进行搜索,从而基于搜索结果确定是否将新词增加到发音词典中,而不需要人工主观判断,既能提升发音词典中新词的更新效率,又能提升发音词典中新词的更新准确率,更利于提高asr的泛化性能。
20.为了便于理解,本实施例下面结合图1所示的新词更新方法为示例进行说明,请参见图1所示,其包括但不限于:
21.s101:从接收到的语句中提取出待校验的新词。
22.应当理解的是,本实施例中的接收到的语句,可以是用户下发的语句,且用户可以在使用asr功能过程中下发语句,也可以是在测试或调试asr功能过程中下发。本实施例中接收到的语句也可以是来自其他设备的语句。
23.在本实施例中,从接收到的语句中提取出待校验的新词可以为语音识别设备自动执行,也可以通过人工选择,或结合人工选择和语音识别设备自动执行两种方式。为了便于理解,本实施例下面以语音识别设备自动提取待校验的新词的方式为示例进行说明。
24.提取方式一请参见图2所示,其从接收到的语句中提取出待校验的新词的步骤包括但不限于:
25.s201:对语句进行分词处理。
26.在本实施例中,可以利用分词词典对语句进行分词处理,该分词词典可以包括但不限于asr系统中的分词词典和自然语言处理中的分词词典中的至少一种,也即可以采用但不限于asr系统中的分词方法和自然语言处理中的分词方法中的至少一种。
27.例如,假设接收到的语句为“附近评价良好的餐厅”,则可将其进行分词处理,得到“附近”、“评价”、“良好的”、“餐厅”。
28.s202:将分词处理得到的各词中,在当前的发音词典中不存在的词作为待校验的新词。
29.在本步骤中,将上一步骤分词处理得到的各词与当前的发音词典中的已有的词进行比较,从而选择出在当前的发音词典中不存在的词作为待校验的新词。
30.例如,假设“附近”、“良好的”、“餐厅”这几个词语在当前的发音词典中已存在,“评价”这个词语在当前的发音词典中不存在,则可将“评价”这个词作为待校验的新词。
31.提取方式二请参见图3所示,其从接收到的语句中提取出待校验的新词的步骤包括但不限于:
32.s301:对语句进行分词处理。
33.在本实施例中,可以利用分词词典对语句进行分词处理,该分词词典可以包括但不限于asr系统中的分词词典和自然语言处理中的分词词典中的至少一种,也即可以采用但不限于asr系统中的分词方法和自然语言处理中的分词方法中的至少一种。
34.例如,假设接收到的语句为“导航五公里以内的中国人民银行”,则可将其进行分词处理,得到“导航”、“五公里以内的”、“中国人民银行”。
35.s302:将分词处理得到的各词中,在当前的发音词典中不存在的词作为预待校验词。
36.在本步骤中,将上一步骤分词处理得到的各词与当前的发音词典中的已有的词进行比较,从而选择出在当前的发音词典中不存在的词作为预待校验词。
37.例如,假设“导航”这个词语在当前的发音词典中已存在,“五公里以内的”、“中国人民银行”这两个词在当前的发音词典中不存在,则可将“五公里以内的”、“中国人民银行”这两个词作为预待校验词。
38.s303:将预待校验词再进行分词处理,将分词处理后得到的各词中的至少一个在当前的发音词典中没有的预待校验词作为待校验的新词。
39.本步骤中,对预待校验词再进行分词处理时,采用的分词方法可与上述s301中采用的分词方法相同,也可采用与上述s301中采用的分词方法不同,具体可根据应用需求灵活设定。将将预待校验词再进行分词处理得到的各词与当前的发音词典中的已有的词进行比较,从而选择出在当前的发音词典中不全存在的预待校验词作为预待校验词。
40.例如,假设对“五公里以内的”这个预待校验词进行再次分词处理,得到“五公里”、“以内的”,假设“五公里”在当前的发音词典中存在,“以内的”在当前的发音词典中不存在,则将“五公里以内的”这个预待校验词作为待校验的新词。
41.假设对“中国人民银行”这个预待校验词进行再次分词处理,得到“中国”、“人名”、“银行”,假设“中国”、“人名”、“银行”这三个词在当前的发音词典中都存在,将“中国人民银行”这个预待校验词不作为待校验的新词。
42.应当理解的是,本实施例中从接收到的语句中提取出待校验的新词的方式并不限于上述两种示例的方式,还可根据应用需求采用其他等同的提取方式,在此不再赘述。
43.s102:将新词发送给预设的词条搜索引擎,并接收词条搜索引擎发送的搜索结果,该搜索结果包含新词在词条搜索引擎上存在情况。
44.在本实施例中的词条搜索引擎可以包括一个,也可以采用多个,采用一个词条搜索引擎时效率相对更高。采用多个时覆盖的面更全,综合各词条搜索引擎的搜索结果而作为的判断也更为准确。
45.应当理解的时,本实施例中的词条搜索引擎可以包括已成熟的各种词条搜索引擎,例如可以包括但不限于已成熟的各种百科词条搜索引擎(例如包括但不限于百度百科、维基百科、搜狗百科);也可包括新建的用于词条搜索的词条搜索引擎。
46.在本实施例中,将新词发送给预设的词条搜索引擎,并接收词条搜索引擎发送的搜索结果可包括但不限于:针对每一个词条搜索引擎,构建包括包含新词的引擎搜索请求,并将构建的引擎搜索请求分别发给各自对应的词条搜索引擎。
47.例如,假设词条搜索引擎包括百度百科、维基百科、搜狗百科,则可分别针对百度百科、维基百科、搜狗百科构建包含新词的引擎搜索请求,并分别发给百度百科、维基百科、搜狗百科。
48.在本实施例中,可以通过但不限于爬虫工具构建引擎搜索请求并发给对应的词条搜索引擎。
49.s103:基于搜索结果将新词增加到发音词典中。
50.本实施例中可直接基于各词条搜索引擎的搜索结果中,待校验的新词在各词条搜索引擎上的存在情况,确定待校验的新词是否需要加入到发音词典中。
51.在本实施例中,基于搜索结果将新词增加到发音词典中的方式也可以包括但不限于以下两种方式中的任意一种。
52.方式一,参见图4所示,基于搜索结果确定是否将新词增加到发音词典中包括但不限于:
53.s401:统计各词条搜索引擎发送的搜索结果中,为新词在词条搜索引擎上存在的搜索结果的第一数量。
54.s402:在统计得到的第一数量大于等于设定的第一阈值时,确定将新词增加到发音词典中。
55.例如,假设一种示例中仅采用百度百科这一个词条搜索引擎时,第一阈值可设置为1,则统计百度百科返回的搜索结果是否为新词在百度百科这一词条搜索引擎上,如是,则第一数量为1,大于等于第一阈值1,确定将新词增加到发音词典中。否则,第一数量为0,小于等于第一阈值1,则不将其加入到发音词典中。
56.又例如,假设一种示例中采用百度百科、维基百科、搜狗百科这三个词条搜索引擎时,第一阈值可设置为2,则分别统计百度百科、维基百科、搜狗百科各自返回的搜索结果是否为新词在各自的词条搜索引擎上,如是,则第一数量为加1,当统计的第一数量达到2时,大于等于第一阈值2,确定将新词增加到发音词典中。当统计的第一数量最终都小于等于第一阈值2,则不将其加入到发音词典中。
57.可选地,一些应用示例中,当第一数量小于第一阈值时,可将新词作废处理,也可将新词放入人工纠错库中,由人工就行二次判断。
58.方式二,在本方式中,为了进一步提升判断的准确性,还可综合新词在语句中的邻近词在词条搜索引擎上的存在情况,判断是否将新词加入到发音词典中。本方式可避免单单依靠新词自身在各词条搜索引擎上的存在度来判断导致判断结果不稳定的情况。比如“对山东西王队的比赛”被分成了“对山”“东西”“王队”“的”“比赛”,其中“东西”这个词自身的存在度很高,但它是因为文本被错分词产生的,所以考虑新词在语句文本中上下文邻近词在词条搜索引擎上的存在情况,可进一步提升判断的准确性。
59.在本方式中,根据搜索结果确定是否将新词增加到发音词典中之前,还包括:
60.将新词在语句中的至少一个邻近词发给预设的词条搜索引擎,并接收词条搜索引擎发送的邻近词搜索结果;该邻近词为预设类型的词。
61.本实施例中预设类型的邻近词可为排除介词类型之外的其他类型的邻近词;也可根据应用场景需求灵活设置为其他指定类型的词。
62.本方式中,新词在语句中的预设类型的至少一个邻近词的具体邻近关系可以灵活设定。例如:
63.在一种示例中,当新词在语句中不是首、尾位置的词,则可选择该新词在语句中的前一个(也可根据需求设置为两个或两个以上)预设类型的邻近词和在语句中的后一个(也可根据需求设置为两个或两个以上)预设类型的邻近词。当新词为语句中的第一个词时,则可选择该新词在语句中的后一个(也可根据需求设置为两个或两个以上)预设类型的邻近词;当新词为语句中的最后一个词时,则可选择该新词在语句中的前一个(也可根据需求设置为两个或两个以上)预设类型的邻近词。
64.在本方式中,基于搜索结果确定是否将新词增加到发音词典中参见图5所示,其包括但不限于:
65.s501:统计各词条搜索引擎发送的搜索结果中,为新词在词条搜索引擎上存在的搜索结果的第二数量;以及统计各词条搜索引擎发送的邻近词搜索结果中,为邻近词在词条搜索引擎上存在的邻近词搜索结果的第三数量;
66.s502:在第二数量和第三数量之和大于等于设定的第二阈值时,确定将新词增加到发音词典中。
67.可选地,在本实施例中,当上述s101从接收到的语句中提取出待校验的新词采用上述示例的提取方式一时,在基于搜索结果确定将新词增加到发音词典中时,在将新词增加到发音词典之前,还可包括:
68.将新词再进行分词处理,在分词处理后得到的各词中的至少一个在当前的发音词典中不存在时,再将新词增加到发音词典;以进一步提升判断的准确性。
69.假设对“中国人民银行”这个新词基于搜索结果确定将新词增加到发音词典中时,对其进行再次分词处理,得到“中国”、“人名”、“银行”,假设“中国”、“人名”、“银行”这三个词在当前的发音词典中都存在,则不将“中国人民银行”这个新词加入到发音词典中;可将其作废处理,也可将其放入人工纠错库中,由人工进行二次判断;具体可根据需求灵活设置。
70.可选地,在本实施例中,为了确保搜索结果是来自词条搜索引擎,在接收到各词条搜索引擎发送的搜索结果后,在对其进行统计之前,还可选确定接收到的搜索结果的格式是否满足对应词条搜索引擎格式,如是,才对其进行统计;否则,不对其进行统计。从而可保证搜索结果来源的准确性。
71.可见,本实施例提供的新词更新方法,可利用词条搜索引擎对从语料(即语句)中提取出待校验的新词可利用词条搜索引擎进行搜索,从而基于该新词在词条搜索引擎上的存在情况以确定是否将新词增加到发音词典中,而不需要人工主观判断,既能提升发音词典中新词的更新效率,又能提升发音词典中新词的更新准确率,更利于提高asr的泛化性能。
72.实施例二:
73.本实施例提供了一种新词更新装置,该新词更新装置可设置于语音识别设备(例如可以为但不限于服务器)上。请参见图6所示,其包括但不限于:
74.分词模块601,语料获取模块602,搜索模块603,判别模块604以及发音词典605;
75.语料获取模块602用于获取语料,即获取语句,获取方式参见上述各示例所示,在此不再赘述。
76.分词模块601用于从语料获取模块602获取的语句中提取出待校验的新词,提取方式参见上述各示例所示,在此不再赘述。
77.搜索模块603用于将新词发送给预设的词条搜索引擎,并接收词条搜索引擎发送的搜索结果;具体发送和接收方式参见上述各示例所示,在此不再赘述;搜索模块603可以通过但不限于爬虫工具实现。
78.判别模块604用于基于搜索结果将新词增加到发音词典605中,具体确定方式参见上述各示例所示,在此不再赘述。
79.应当理解的是,上述各模块中的至少一个的功能可以由但不限于语音识别设备中的处理器实现。
80.为了便于理解,本实施例下面结合一种具体应用场景为示例进行说明。请参见图7所示,该示例中的新词更新方法包括但不限于:
81.s701:将获取的新文本语料(即语句)通过分词器进行分词,得到一个词序列集合。
82.例如,假设获取的语句为“公司选择微软云服务平台”,经过分词器得到“公司”、“选择”、“微软”、“云服务”、“平台”这个词序列集合。
83.s702:将词序列集合中的各词分别与当前的发音词典中的词进行比对,得到待校验的新词集。
84.例如假设“公司”、“选择”、“微软”、“云服务”、“平台”这些词中,“云服务”在当前的发音词典中不存在,将其作为待校验的新词加入待校验的新词集。
85.s703:对当前待校验的新词,通过爬虫工具构建该新词的对应的各个词条搜索引擎搜索请求,并依次或并行的访问这些引擎。
86.例如,通过爬虫工具分别为“云服务”这个新词构建它在各个百科词条搜索引擎(这里使用百度百科、维基百科、搜狗百科三个引擎)对应的搜索请求url地址,例如对于百度百科引擎,构建的搜索请求url地址为:
87.https://baike.baidu.com/item/云服务
88.然后将这些url请求分别发往对应的各百科词条搜索引擎服务器,得到服务器返回的响应,即搜索结果。
89.s704:根据各词条搜索引擎返回的搜索结果统计新词在各词条搜索引擎上的存在情况,并根据该新词在语句中至少一个邻近词在各词条搜索引擎上的存在情况。
90.在本示例中,针对每一词条搜索引擎返回的搜索结果解析其html格式,如果该格式满足对应词条引擎特定词条格式(比如判断百度百科返回的html格式中是否包含一个特定的名称为'j-shareabstract'的div标签,而不仅仅是返回内容包含这个新词),再判断该词条在该词条搜索引擎上是否存在,若存在则该新词的存在度(即第二数量)加1,否则存在度减1或不增不减。假设在本示例中,“云服务”在百度百科、维基百科、搜狗百科中都有了正确的词条格式返回,所以存在度即第二数量统计结果为3。
91.本示例中,针对上例新词“云服务”还需要分别获取“微软”和“平台”两个词的在各词条搜索引擎上的存在情况,具体获取过程参见上述各示例所示,在此不再赘述。本示例中
假设“微软”和“平台”两个词的在百度百科、维基百科、搜狗百科上也都存在,即第三数量统计结果为3+3=6。
[0092]“云服务”综合存在度得分(即第二数量和第三数量之和)=“微软”自身存在度得分+“云服务”自身存在度得分+“平台”自身存在度得分=3+3+3=9。
[0093]
最后判别器根据新词综合存在度得分阈值(即第二阈值),来判断该新词是否可加入发音词典。第二阈值可以通过统计方法自适应得到一个合适值,也可根据经验设置一个简单的值,例如设置为5。显然,本示例中“云服务”这个新词就被判断为一个合理的新生词条可加入到asr系统的发音词典中。
[0094]
s705:判断第二数量和第三数量之和是否大于等于第二阈值,如否,转至s706;如是,转至s707。
[0095]
s706:将该新词放入错词库进行人工纠错处理。
[0096]
s707:用当前的发音词典(也可采用其他分词方式)再对新词进行分词。
[0097]
s708:判断新词分词后得到的各词在当前的发音词典中是否都存在;如是,转至s709;否则,转至s710。
[0098]
s709:废弃该新词。
[0099]
s710:否将该新词纳入到发音词典中。
[0100]
例如,对于“云服务”这个新词,对其再进行分词处理得到“云”,“服务”两个词,假设“云”,“服务”在当前的发音词典中都存在,则将“云服务”这个新词作废;反之,则将其加入发音词典中。
[0101]
实施例三:
[0102]
本实施例还提供了一种语音识别设备,其可以为但不限于服务器,参见图8所示,其包括处理器801、存储器802及通信总线803,其中:
[0103]
通信总线803用于实现处理器801和存储器802之间的连接通信;
[0104]
处理器801用于执行存储器802中存储的一个或者多个计算机程序,以实现上述各实施例中新词更新方法中的至少一个步骤。
[0105]
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0106]
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述各实施例种示例的新词更新方法的至少一个步骤。
[0107]
本实施例还提供了一种计算机程序(或称计算机软件),该计算机程序可以分布在计算机可读介质上,由可计算装置来执行,以实现上述实施*-例中的新词更新方法的至少一个步骤;并且在某些情况下,可以采用不同于上述各实施例种示例的新词更新方法的至
少一个步骤。
[0108]
应当理解的是,在某些情况下,可以采用不同于上述实施例所描述的顺序执行所示出或描述的至少一个步骤。
[0109]
本实施例还提供了一种计算机程序产品,包括计算机可读装置,该计算机可读装置上存储有如上所示的计算机程序。本实施例中该计算机可读装置可包括如上所示的计算机可读存储介质。
[0110]
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
[0111]
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
[0112]
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1