一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于短文本匹配的语音问答方法及系统与流程

2022-04-14 00:11:44 来源:中国专利 TAG:


1.本发明属于自然语言处理技术领域,特别涉及一种基于短文本匹配的语音问答方法及系统。


背景技术:

2.在汽车驾驶场景,与车机系统通过语音交互的方式,避免了双手和眼睛从驾驶状态转移到车机系统的操控,极大提高了驾驶的安全性。
3.语音交互系统的实现,主要包括语音转文本,文本语义理解,文本答案生成和文本语音播报四个步骤。在汽车垂直领域的应用,主要存在以下的问题和挑战:(1)语音转文本过程,主要存在专有汽车名词识别准确率较低的问题;(2)文本语义理解过程,需要先将文本向量化,但专有汽车名词容易成为未登录词;(3)文本答案生成,需要在系统中预制问答知识库,从知识库中检索知识点,如直接采用es检索、关键词检索、字符相似度排序或余弦相似度排序等简单方法,输出答案的准确率较低,如直接将输入文本和系统预制知识库文本配对后,输入esim、bert等文本匹配模型,进行排序,则响应时间过长,影响交互的流畅性。
4.目前,已有一些改进方法的研究,如中国专利cn202111081901.4公开了一种普法问答系统的向量检索式对话方法,该方法将语音转成的文本,通过bert模型生成句向量,通过向量相似性计算,筛选候选答案,将余弦相似度检索》0.9的结果作为答案。该方法仍有许多不足:(1)未考虑语音转换过程中可能出现的错误;(2)余弦相似度作为相似度的最终计算指标,准确度有限。


技术实现要素:

5.针对现有技术存在的上述不足,本发明的目的就在于提供一种基于短文本匹配的语音问答方法及系统,该方法能有效提高汽车专有名词识别准确率,使得未登录词成为词向量可识别词,并能在保证准确率水平的同时提高效率。
6.本发明的技术方案是这样实现的:一种基于短文本匹配的语音问答方法,包括以下步骤:s1:检测用户语音,并将用户语音转换为输入文本;s2:对s1得到的输入文本进行错误位点检测和错误纠正,以获得纠正文本;s3:对s2获得的纠正文本进行分词和分词的向量化处理,以得到分词和句向量;s4:基于得到的分词和句向量,采用实体词检索、语义相似度和字符相似度联合召回的方式,获得知识点候选集;s5:基于s2中的纠正文本和知识点候选集形成配对文本,采用esim模型对配对文本是否等价进行预测,基于预测结果对知识点候选集进行排序;s6:基于预测结果进行决策判断,决定回复形式,输出系统的应答文本;s7:将应答文本进行语音播报;
s8:设置交互界面的埋点,支持用户对系统返回的应答文本进行有帮助、无帮助的评价反馈;s9:定时抓取s8用户反馈数据并加入esim模型,并启动esim模型增量训练,评估通过后的esim模型,作为最新esim模型使用。
7.进一步地,步骤s2具体包括以下步骤:s2.1:收集历史对话数据和汽车论坛、汽车百科类开放数据,形成汽车语料集,收集汽车相关的专有实体名词作为汽车专有实体名词词典,采用jieba分词工具,加载汽车专有实体名词词典作为自定义词典,然后对汽车语料集进行分词,训练3-gram以下的kenlm语言模型;s2.2:收集开源的近音字、形近字的字典,以及历史对话数据中标注出的错误的专有实体名词的纠错词典;s2.3:对s1得到的输入文本进行分词,然后通过3个词的窗口平移获取,3-gram的词组,如文本分词数小于3,则使用2-gram,如只有1个词则跳过纠错;s2.4:用kenlm语言模型对s2.3获得的词组进行困惑度评分,得到困惑度评分结果列表;s2.5:根据s2.4困惑度评分结果列表,计算各词组的离均差,确定离均差最大的位点为潜在错误位点;s2.6:将s2.5中的错误位点的分词和纠错词典进行匹配,命中纠错记录则提出其中正确词作为候选词之一,以及针对分词中的每个字匹配近音字和形近字字典,生成新的分词,加入候选词集合;s2.7:针对s2.6得到的候选词集合,逐个替换错误位点的文本,并按s2.3和s2.4的步骤重新进行困惑度评分,最后选择评分最佳的候选词集合进行替换,从而生成纠错后的纠正文本。
8.进一步地,步骤s3具体包括以下步骤:s3.1:收集历史对话数据和汽车论坛、汽车百科类开放数据,形成汽车语料集,进行两种处理,处理一:采用jieba分词工具,加载包含汽车专有实体名词的自定义词典后,对汽车语料集进行分词,获得分词后的列表数据;处理二:直接对汽车语料集逐字拆分,单个英文单词保留为字,获得字粒度的列表数据;对两部分列表数据进行汇总,形成列表数据集,并生成包含字和词的词袋字典,保留词频大于2的记录;s3.2:将s3.1的列表数据集统一输入到gensim模型,作为训练word2vec词向量模型的训练样本,最小词频设置为3,如果是新增的语料,则加载历史word2vec词向量模型,进行增量训练;s3.3:将s2得到的纠正文本进行分词,分词后的结果在s3.1的词袋字典中查找对应编码,如命中则替换为编码,并且查找到的编码在分词所在列表里用一级列表替换;如无命中,则将分词收录入到未登录词词典并累计词频,对应的文本加入到以未登录词为键,文本为值的字典,然后对分词逐字拆分,在s3.1的词袋字典中查找对应编码,查找到的编码在分词所在列表里用二级列表替换;s3.4:基于s3.3编码后的一级列表和二级列表,查找s3.2中的word2vec 词向量模型,获得向量值,对二级列表的向量值求平均,然后对一级列表求平均,作为句子向量。
9.进一步地,步骤s3还包括s3.5:定期将s3.3未登录词词典中词频大于2的分词对应的语料作为新增语料,在s3.2中进行gensim模型的增量训练。
10.进一步地,步骤s4具体包括以下步骤:s4.1:对系统预制的知识点问题进行分词,基于s2.1收集的汽车专有实体名词词典提取汽车专有实体名词,形成倒排索引表;s4.2:基于s3中包含的汽车专有实体名词,查找倒排索引表,获得知识点列表;s4.3:对系统预制知识点问题采用s3的方法形成句子向量,并存入faiss作为向量库;然后对于s3得到的句子向量,采用欧氏距离搜索向量库,选择距离小于0.2的知识点;s4.4:针对s3文本和系统预制知识库知识点问题,采用difflib模块,快速计算字符相似度,选择字符相似度大于0.8的知识点;s4.5:汇总s4.2的知识点列表和s4.3、s4.4的知识点的结果,从而形成知识点候选集;6、根据权利要求5所述的一种基于短文本匹配的语音问答方法,其特征在于,s5具体包括以下步骤:s5.1:基于历史对话数据,采用s4的方法形成配对数据集,对配对数据集的语义等价性进行手工标注,形成包含正负标签的数据集;s5.2:将包含正负标签的数据集输入esim模型,进行模型训练;s5.3:将s4的知识点候选集与纠正文本进行配对,经s3句向量化后,采用esim模型进行预测,基于预测结果对知识点候选集进行倒排。
11.进一步地,s6中回复形式有精准回复、推荐回复和无法回复三种形式,且每种回复形式对应不同的阈值,然后将预测结果和阈值进行比较,再决定回复形式。
12.进一步地,精准回复的阈值为大于等于0.95,推荐回复的阈值为大于等于0.6,无法回复的阈值为小于0.6,当预测结果≥0.95时,则精确回复;当0.6≤预测结果<0.95时,则推荐回复;当预测结果<0.6时,则直接回复无法回复,并在回复时将问候语与具体回复形式对应的回复内容进行拼接作为系统的应答文本。
13.进一步地,应答文本通过tts工具进行语音播报。
14.本发明还公开了一种基于短文本匹配的语音问答系统,该语音问答系统包括:语音识别模块,用于检测用户语音,并将用户语音转换为输入文本。
15.语法纠错模块,用于对输入文本进行错误位点检测和错误纠正,以获得纠正文本。
16.向量化模块,用于对纠正文本进行分词和分词的向量化处理,以得到分词和句向量。
17.召回模块,根据分词和句向量,采用实体词检索、语义相似度和字符相似度联合召回的方式,获得知识点候选集。
18.排序模块,用于采用esim模型对纠正文本和知识点候选集形成的配对文本是否等价进行预测,基于预测结果对知识点候选集进行排序。
19.决策模块,用于根据预测结果作出决策判断,决定回复形式,输出系统的应答文本。
20.语音播报模块,用于将应答文本进行语音播报。
21.反馈模块,用于用户对系统返回的应答文本进行有帮助、无帮助的评价反馈。
22.迭代模块,用于定时抓取用户的反馈数据并加入esim模型,并启动esim模型增量训练,评估通过后的esim模型,作为最新esim模型使用。
23.与现有技术相比,本发明具有如下有益效果:(1)本发明针对汽车领域语音问答中影响最大的asr识别汽车专有名词准确度不高的问题,通过调用语法纠错模型,实现文本语法错误的纠正,从而有效提高汽车专有名词识别准确率。
24.(2)本发明针对纠正文本向量化过程,出现未登录词的情况,提出字词融合训练词向量模型的方式,支持对未登录词通过拆解字,加权求和生成未登录词的词向量,使未登录词之间具备可区分性,并采用支持增量训练的gensim模型,将累计到高频的未登录词语料加入训练,最终使未登陆词成为词向量中可识别的词。
25.(3)本发明对知识库检索问答的方法进行改进,采用实体召回、语义相似度召回和字符相似度召回的三路联合召回方式再结合esim文本匹配模型,实现百毫秒响应。
26.(4)本发明采用精准回复、推荐回复和无法回复相结合的方式,能有效降低错误应答输出的风险,提高语音问答的准确性。
27.(5)在交互界面进行数据埋点,收集用户对问答结果的反馈,能减少模型训练时额外数据标注样本的需求,并实现线上的定期更新迭代。
附图说明
28.图1-本发明系统的结构示意图。
具体实施方式
29.下面结合附图和具体实施方式对本发明作进一步详细说明。
30.一种基于短文本匹配的语音问答方法,包括以下步骤:s1:检测用户语音,并将用户语音转换为输入文本;s2:对s1得到的输入文本进行错误位点检测和错误纠正,以获得纠正文本;s3:对s2获得的纠正文本进行分词和分词的向量化处理,以得到分词和句向量;s4:基于得到的分词和句向量,采用实体词检索、语义相似度和字符相似度联合召回的方式,获得知识点候选集;s5:基于s2中的纠正文本和知识点候选集形成配对文本,采用esim模型对配对文本是否等价进行预测,基于预测结果对知识点候选集进行排序;s6:基于预测结果进行决策判断,决定回复形式,输出系统的应答文本;s7:将应答文本进行语音播报;s8:设置交互界面的埋点,支持用户对系统返回的应答文本进行有帮助、无帮助的评价反馈;s9:定时抓取s8用户反馈数据并加入esim模型,并启动esim模型增量训练,评估通过后的esim模型,作为最新esim模型使用。
31.具体实施时,步骤s1具体包括以下步骤:s1.1:选择语音转文本的接口服务商,根据接口文档,明确输入参数和输出参数的标准和格式;
s1.2:收到语音输入后,发起语音转输入文本接口请求;s1.3:解析接口输出内容,提取转换后的输入文本。
32.具体实施时,步骤s2具体包括以下步骤:s2.1:收集历史对话数据和汽车论坛、汽车百科类开放数据,形成汽车语料集,收集汽车相关的专有实体名词作为汽车专有实体名词词典,采用jieba分词工具,加载汽车专有实体名词词典作为自定义词典,然后对汽车语料集进行分词,训练3-gram以下的kenlm语言模型;s2.2:收集开源的近音字、形近字的字典,以及历史对话数据中标注出的错误的专有实体名词的纠错词典;s2.3:对s1得到的输入文本进行分词,然后通过3个词的窗口平移获取,3-gram的词组,如文本分词数小于3,则使用2-gram,如只有1个词则跳过纠错;s2.4:用kenlm语言模型对s2.3获得的词组进行困惑度评分,得到困惑度评分结果列表;s2.5:根据s2.4困惑度评分结果列表,计算各词组的离均差,确定离均差最大的位点为潜在错误位点;s2.6:将s2.5中的错误位点的分词和纠错词典进行匹配,命中纠错记录则提出其中正确词作为候选词之一,以及针对分词中的每个字匹配近音字和形近字字典,生成新的分词,加入候选词集合;s2.7:针对s2.6得到的候选词集合,逐个替换错误位点的文本,并按s2.3和s2.4的步骤重新进行困惑度评分,最后选择评分最佳的候选词集合进行替换,从而生成纠错后的纠正文本。
33.具体实施时,步骤s3具体包括以下步骤:s3.1:收集历史对话数据和汽车论坛、汽车百科类开放数据,形成汽车语料集,进行两种处理,处理一:采用jieba分词工具,加载包含汽车专有实体名词的自定义词典后,对汽车语料集进行分词,获得分词后的列表数据;处理二:直接对汽车语料集逐字拆分,单个英文单词保留为字,获得字粒度的列表数据;对两部分列表数据进行汇总,形成列表数据集,并生成包含字和词的词袋字典,保留词频大于2的记录;s3.2:将s3.1的列表数据集统一输入到gensim模型,作为训练word2vec词向量模型的训练样本,最小词频设置为3,如果是新增的语料,则加载历史word2vec词向量模型,进行增量训练;s3.3:将s2得到的纠正文本进行分词,分词后的结果在s3.1的词袋字典中查找对应编码,如命中则替换为编码,并且查找到的编码在分词所在列表里用一级列表替换;如无命中,则将分词收录入到未登录词词典并累计词频,对应的文本加入到以未登录词为键,文本为值的字典,然后对分词逐字拆分,在s3.1的词袋字典中查找对应编码,查找到的编码在分词所在列表里用二级列表替换;s3.4:基于s3.3编码后的一级列表和二级列表,查找s3.2中的word2vec 词向量模型,获得向量值,对二级列表的向量值求平均,然后对一级列表求平均,作为句子向量。
34.具体实施时,步骤s3还包括s3.5:定期将s3.3未登录词词典中词频大于2的分词对应的语料作为新增语料,在s3.2中进行gensim模型的增量训练。
35.具体实施时,步骤s4具体包括以下步骤:s4.1:对系统预制的知识点问题进行分词,基于s2.1收集的汽车专有实体名词词典提取汽车专有实体名词,形成倒排索引表;s4.2:基于s3分词中包含的汽车专有实体名词,查找s4.1的倒排索引表,获得知识点列表;s4.3:对系统预制知识点问题采用s3的方法形成句子向量,并存入faiss作为向量库;然后对于s3得到的句子向量,采用欧氏距离搜索向量库,选择距离小于0.2的知识点;s4.4:针对s3文本和系统预制知识库知识点问题,采用difflib模块,快速计算字符相似度,选择字符相似度大于0.8的知识点;s4.5:汇总s4.2的知识点列表和s4.3、s4.4的知识点的结果,从而形成知识点候选集;具体实施时,s5具体包括以下步骤:s5.1:基于历史对话数据,采用s4的方法形成配对数据集,对配对数据集的语义等价性进行手工标注,形成包含正负标签的数据集;s5.2:将包含正负标签的数据集输入esim模型,进行模型训练;s5.3:将s4的知识点候选集与纠正文本进行配对,经s3句向量化后,采用esim模型进行预测,基于预测结果对知识点候选集进行倒排。
36.这里,esim模型结构:输入信息先接入embedding层,然后接入双向lstm层,然后在局部推理层,通过点乘的方式计算两个句子每个位置的相似度,对位置进行加权,然后在推理层再次通过双向lstm进行特征提取,分别进行平均池化和最大池化,池化后的结果进行特征拼接,最后接全连接层和softmax归一化具体实施时,s6中回复形式有精准回复、推荐回复和无法回复三种形式,且每种回复形式对应不同的阈值,然后将预测结果和阈值进行比较,再决定回复形式。
37.具体实施时,精准回复的阈值为大于等于0.95,推荐回复的阈值为大于等于0.6,无法回复的阈值为小于0.6,当预测结果≥0.95时,则精确回复;当0.6≤预测结果<0.95时,则推荐回复;当预测结果<0.6时,则直接回复无法回复,并在回复时将问候语与具体回复形式对应的回复内容进行拼接作为系统的应答文本。
38.这里,例如当预测结果为0.98时,则采用精准回复;当预测结果为0.8时,则采用推荐回复;当预测结果为0.5时,则直接回复无法回复。
39.具体实施时,应答文本通过tts工具进行语音播报。具体地,应答文本可在对话交互截面直接展示,并将应答文本穿入tts工具进行语音播报。
40.具体实施时,步骤s8具体包括以下步骤:s8.1:前端展示的精准回复的答案框内,增设有帮助和无帮助的点击按钮,用户点击后,则记录该次对话的反馈;s8.2:前端展示的推荐问题框内的问题记录,支持点击,用户点击后,系统直接返回该问题对应的知识点答案;s8.3:前端展示的无法回答的答案框内,提供人工客服的选项,点击后获取联系方式。
41.具体实施时,步骤s9具体包括以下步骤:
s9.1:设置定时任务,将s8.1记录的问题和知识点问题,更新到存储数据集的数据表;s9.2:设置定时任务,启动esim模型训练任务,读取s9.1的数据表,进行增量训练,生成新的esim模型版本;s9.3:设置定时任务,启动模型评估任务,读取s9.2各版本的esim模型,将准确度最高版本推动替换s5.2中的esim模型。
42.参见图1,一种基于短文本匹配的语音问答系统,包括:语音识别模块,用于检测用户语音,并将用户语音转换为输入文本。
43.语法纠错模块,用于对输入文本进行错误位点检测和错误纠正,以获得纠正文本。
44.向量化模块,用于对纠正文本进行分词和分词的向量化处理,以得到分词和句向量。
45.召回模块,根据分词和句向量,采用实体词检索、语义相似度和字符相似度联合召回的方式,获得知识点候选集。
46.排序模块,用于采用esim模型对纠正文本和知识点候选集形成的配对文本是否等价进行预测,基于预测结果对知识点候选集进行排序。
47.决策模块,用于根据预测结果作出决策判断,决定回复形式,输出系统的应答文本。
48.语音播报模块,用于将应答文本进行语音播报。
49.反馈模块,用于用户对系统返回的应答文本进行有帮助、无帮助的评价反馈。
50.迭代模块,用于定时抓取用户的反馈数据并加入esim模型,并启动esim模型增量训练,评估通过后的esim模型,作为最新esim模型使用。
51.最后需要说明的是,本发明的上述实施例仅是为说明本发明所作的举例,而并非是对本发明实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化和变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献