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

英文FAQ问答系统实现方法、装置、计算机设备及存储介质与流程

2022-07-16 19:09:30 来源:中国专利 TAG:

英文faq问答系统实现方法、装置、计算机设备及存储介质
技术领域
1.本发明涉及问答系统实现方法,更具体地说是指英文faq问答系统实现方法、装置、计算机设备及存储介质。


背景技术:

2.faq(常见问题解答,frequently asked questions)的缩写,faq是当前网络上提供在线帮助的主要手段,通过事先组织好一些可能的常问问答对,发布在网页上或聊天群中为用户提供咨询服务。
3.当前,在全球疫情加重的情况下,海外市场对智能服务机器人的需求逐渐增加,而智能服务机器人的一个基本技能即faq问答系统尤为重要,但是现有的机器人大多采用中文问答的方式,无法做到英文faq的问答,并不能满足海外市场的需求,实用性不高。
4.因此,有必要设计一种新的方法,实现可做到英文faq的问答,满足海外市场的需求,实用性高。


技术实现要素:

5.本发明的目的在于克服现有技术的缺陷,提供英文faq问答系统实现方法、装置、计算机设备及存储介质。
6.为实现上述目的,本发明采用以下技术方案:英文faq问答系统实现方法,包括:
7.获取语音对话内容;
8.对所述语音对话内容进行asr转换,以得到语义文本;
9.对所述语义文本进行处理,以得到待应答问句;
10.根据所述待应答问句从预设的问答库内召回相似问句;
11.计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值;
12.判断所述第一占比值是否大于设定第一阈值;
13.若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值;
14.判断所述第二占比值是否大于设定第二阈值;
15.若所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;
16.根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句;
17.确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
18.其进一步技术方案为:所述对所述语义文本进行处理,以得到待应答问句,包括:
19.对所述语义文本去除标点符号,以得到第一处理结果;
20.对所述第一处理结果进行切词以及标注词性,并将切词失败的词语进行组合,以得到第二处理结果;
21.对所述第二处理结果进行切词中缩写词的替换,以得到第三处理结果;
22.对所述第三处理结果统一单复数形式,以得到待应答问句。
23.其进一步技术方案为:所述根据所述待应答问句从预设的问答库内召回相似问句,包括:
24.计算所述待应答问句与预设的问答库内所有问句的相似匹配分数;
25.对所述相似匹配分数进行降序排序,以得到排序结果;
26.从所述排序结果内筛选出符合要求的问句,以得到相似问句。
27.其进一步技术方案为:所述计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值,包括:
28.确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分;
29.计算所述权重得分与所述待应答问句的长度的商,以得到第一占比值。
30.其进一步技术方案为:所述确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分,包括:
31.对所述待应答问句进行切词并标注词性,并将词性为“nns”和“nnps”的单词转换成单数;
32.遍历所述相似句,对每句所述相似句标注词性;
33.遍历所述待应答问句中的每个单词,当单词出现在所述相似句中时,判断所述单词的词性是否存在词性权重表中;
34.若所述单词的词性存在词性权重表中,则确定所述单词为单词交集内的元素,将所述单词的词性对应的权重计入权重得分内;
35.确定所述权重得分为所述单词交集的权重得分;
36.若所述单词的词性存在词性权重表中,则将默认值计入权重得分内,并执行所述确定所述权重得分为所述单词交集的权重得分。
37.其进一步技术方案为:所述计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值,包括:
38.计算所述权重得分与所述相似问句的总权重的商,以得到第一占比值。
39.其进一步技术方案为:所述根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句,包括:
40.对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序,以得到排序后的结果集;
41.筛选排序后的结果集内的第一个相似问句,以得到目标相似问句。
42.本发明还提供了英文faq问答系统实现装置,包括:
43.内容获取单元,用于获取语音对话内容;
44.转换单元,用于对所述语音对话内容进行asr转换,以得到语义文本;
45.预处理单元,用于对所述语义文本进行处理,以得到待应答问句;
46.相似问句召回单元,用于根据所述待应答问句从预设的问答库内召回相似问句;
47.第一计算单元,用于计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值;
48.第一判断单元,用于判断所述第一占比值是否大于设定第一阈值;
49.第二计算单元,用于若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值;
50.第二判断单元,用于判断所述第二占比值是否大于设定第二阈值;
51.存储单元,用于若所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;
52.目标问句确定单元,用于根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句;
53.答案确定单元,用于确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
54.本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
55.本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
56.本发明与现有技术相比的有益效果是:本发明通过获取语音对话内容后,对其进行asr转换和预处理,形成待应答问句,根据待应答问句从预设的问答库内预先召回一部分粗粒度问句,形成相似问句,再采用相似度双阈值匹配,进行精确匹配相似问句,并从预设的问答库内确定答案,实现可做到英文faq的问答,满足海外市场的需求,实用性高
57.下面结合附图和具体实施例对本发明作进一步描述。
附图说明
58.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1为本发明实施例提供的英文faq问答系统实现方法的应用场景示意图;
60.图2为本发明实施例提供的英文faq问答系统实现方法的流程示意图;
61.图3为本发明实施例提供的英文faq问答系统实现方法的子流程示意图;
62.图4为本发明实施例提供的英文faq问答系统实现方法的子流程示意图;
63.图5为本发明实施例提供的英文faq问答系统实现方法的子流程示意图;
64.图6为本发明实施例提供的英文faq问答系统实现方法的子流程示意图;
65.图7为本发明实施例提供的英文faq问答系统实现方法的子流程示意图;
66.图8为本发明实施例提供的英文faq问答系统实现装置的示意性框图;
67.图9为本发明实施例提供的英文faq问答系统实现装置的预处理单元的示意性框图;
68.图10为本发明实施例提供的英文faq问答系统实现装置的相似问句召回单元的示意性框图;
69.图11为本发明实施例提供的英文faq问答系统实现装置的第一计算单元的示意性框图;
70.图12为本发明实施例提供的英文faq问答系统实现装置的单词交集确定子单元的示意性框图;
71.图13为本发明实施例提供的英文faq问答系统实现装置的目标问句确定单元的示意性框图;
72.图14为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
73.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
74.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
75.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
76.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
77.请参阅图1和图2,图1为本发明实施例提供的英文faq问答系统实现方法的应用场景示意图。图2为本发明实施例提供的英文faq问答系统实现方法的示意性流程图。该英文faq问答系统实现方法应用于服务器中。该服务器与机器人进行数据交互,其中,机器人上集成有拾音器,该服务器可以是独立的服务器,还可以是集成在机器人上的控制器构成,通过预设的问答库,拾音器拾取语音对话内容后,对内容进行语义转换和预处理,形成待应答问句,并利用相似句召回和双阈值匹配方式,从预设的问答库内匹配问句的答案,并返回该答案。
78.当然,于其他实施例中,该机器人可以为其他终端,只需要携带有拾音器即可。
79.图2是本发明实施例提供的英文faq问答系统实现方法的流程示意图。如图2所示,该方法包括以下步骤s110至s220。
80.s110、获取语音对话内容。
81.在本实施例中,语音对话内容是指在进行语音交互过程中采用拾音器拾取的语音数据。
82.在一实施例中,在执行步骤s110之前,还需要配置预设的问答库,即用户需要提前在管理平台配置好faq问答库,即用户收集的被高频咨询的问句和对应问句的回复。
83.s120、对所述语音对话内容进行asr转换,以得到语义文本。
84.在本实施例中,语义文本是指对语音对话内容进行asr(自动语音识别技术,automatic speech recognition)转换后得到的文本。
85.当用户和机器人进行语音交互时,用户语音会通过asr转换为语义文本。
86.s130、对所述语义文本进行处理,以得到待应答问句。
87.在本实施例中,待应答问句是指语义文本经过去除标点符号、切词、词性标注、单词组合、缩写词替换以及统一单复数形式后形成的内容。
88.在一实施例中,请参阅图3,上述的步骤s130可包括步骤s131~s134。
89.s131、对所述语义文本去除标点符号,以得到第一处理结果。
90.在本实施例中,第一处理结果是指去除标点符号的语义文本。
91.语义文本中可能包含what’s,it’s等连写词,去除标点符号但不包括单引号
“’”

92.s132、对所述第一处理结果进行切词以及标注词性,并将切词失败的词语进行组合,以得到第二处理结果。
93.在本实施例中,第二处理结果是指去除标点符号的语义文本进行切词以及标注词性,并将切词失败的词语进行组合后形成的文本。
94.对去除标点符号的语义文本进行切词、标注词性并将无法切词成功的词进行组合,如what’s会切词成what,’s两个词,’s可以跟wh开头的代词搭配,也可以跟物主代词搭配,不同的搭配会导致切词时产生不同的词性,会影响后续的faq匹配准确率,同理wanna切词时会切成wan,na,而很明显wanna为一个独立的词,故需要将上述类型的词进行组合。
95.s133、对所述第二处理结果进行切词中缩写词的替换,以得到第三处理结果。
96.在本实施例中,第三处理结果是指对第二处理结果进行切词中的缩写词的替换后形成的文本。
97.具体地,将第二处理结果中的切词中的缩写词进行替换,在以英语为母语的地区中,存在很多缩写词和俚语,如gotta,ya,u等,而这类词语在切词标注词性时容易标注错误,为了能正确识别单词的词性,需要将这类词语进行替换,如gonna替换成going to,ya替换成you。
98.s134、对所述第三处理结果统一单复数形式,以得到待应答问句。
99.在本实施例中,切词的词性中nns对应名词复数,nnps对应专有名词复数,将nns和nnps转换成单数形式。
100.s140、根据所述待应答问句从预设的问答库内召回相似问句。
101.在本实施例中,相似问句是指预设的问答库内与待应答问句相似的问句集合,相似问句可以是一个或者多个,当然,也存在没有相似问句的情况,这种情况则需要采用人工处理的方式执行。
102.在一实施例中,请参阅图4,上述的步骤s140可包括步骤s141~s143。
103.s141、计算所述待应答问句与预设的问答库内所有问句的相似匹配分数。
104.在本实施例中,相似匹配分数是指待应答问句与预设的问答库内所有问句的匹配程度对应的分数值。
105.具体地,用户配置的faq问答库的数量可能较大,在保证匹配准确率的同时对匹配的相应速度要求也非常高,所以,需要预先召回一部分粗粒度问句,在召回问句的基础上再去精确匹配。待应答问句的相似句召回首先需要计算几个基础指标,将用户配置的预设的问答库中的所有问句进行预处理规范化,该处理过程可参阅上述的对所述语义文本进行处理过程,遍历所有预处理规范化后的问句,统计并存储每条问句的单词数量,每条问句中的每个词在该句中出现的词频、单词数量累计总和,统计完问句中的每个词出现的词频后,再根据该句的词频统计并存储每个单词在所有预处理规范化后的问句出现的文档次数,即遍历该句词频字典,将每个单词对应的总文档次数递增一次,例如存在两句问句:how are you,you are nice,how are you在句中的词频为{“how”:1,“are”:1,“you”:1},计算可得
每个单词的总文档次数{“how”:1,“are”:1,“you”:1};you are nice在句中的词频为{“you”:1,“are”:1,“nice”:1},计算可得每个单词的总文档次数{“how”:1,“are”:2,“you”:2,“nice”:1};还需计算预设的问答库中问句的平均长度,即单词数量累计总和除以问句总数。当以上几个基础指标计算完毕后开始计算每个单词在该问答库中的权重,计算单词权重公式为:单词权重公式为:其中,n表示所有预处理规范化后的问句数量,dfi表示单词qi的总文档次数,单词qi在所有预处理规范化后的问句中出现的次数越高,区分度则越低,重要度越小,相反,出现次数越低,区分度越高,重要性越高。遍历单词的总文档次数计算可得每个单词的权重分数。根据单词的权重分数可计算出一条问句在问答库中的分数,计算公式如下:其中,score为query问句也就是待应答问句的总得分,score为单词qi的得分,即query问句的总得分等于每个单词的得分之和。score的计算公式如下:其中,freq(qi)为单词qi在问答库中的每条问句中出现的次数,k1为约束参数,b为问答库数量与信息量的相关性参数,根据上述公式计算可得一条问句与问答库中所有问句的相似匹配分数。
106.s142、对所述相似匹配分数进行降序排序,以得到排序结果。
107.在本实施例中,排序结果是指对相似匹配分数进行从高到低的降序排序后得到的结果。
108.s143、从所述排序结果内筛选出符合要求的问句,以得到相似问句。
109.具体地,根据相似匹配分数的大小进行降序排序,召回指定数量的相似句的索引id,通过索引id从预设的问答库得到相似问句,若最大得分不大于0,则直接返回未匹配,然后对召回的相似问句进行精确匹配,获取符合条件的问答对。
110.s150、计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值。
111.在本实施例中,第一占比值是指所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比。
112.在一实施例中,请参阅图5,上述的步骤s150可包括步骤s151~s152。
113.s151、确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分。
114.在本实施例中,单词交集是指所述待应答问句的单词与所述相似问句的单词相同的集合。所述单词交集的权重得分是指单词交集对应的权重得分。
115.在一实施例中,请参阅图6,上述的步骤s151可包括步骤s1511~s1516。
116.s1511、对所述待应答问句进行切词并标注词性,并将词性为“nns”和“nnps”的单词转换成单数;
117.s1512、遍历所述相似句,对每句所述相似句标注词性;
118.s1513、遍历所述待应答问句中的每个单词,当单词出现在所述相似句中时,判断所述单词的词性是否存在词性权重表中;
119.s1514、若所述单词的词性存在词性权重表中,则确定所述单词为单词交集内的元
素,将所述单词的词性对应的权重计入权重得分内;
120.s1515、确定所述权重得分为所述单词交集的权重得分;
121.s1516、若所述单词的词性存在词性权重表中,则将默认值计入权重得分内,并执行所述步骤s1515。
122.s152、计算所述权重得分与所述待应答问句的长度的商,以得到第一占比值。
123.在召回待应答问句的相似问句后,首先对待应答问句切词并标注词性,将词性为“nns”和“nnps”的单词转换成单数,然后遍历相似句,对每句相似问句标注词性,再遍历待应答问句中的每个单词q,若q在相似问句中出现,则判断q的词性是否在词性权重表中,该词性权重表内的词性权重可根据业务需要进行调整,如动词、名词、形容词的权重高于连词、基数词等,若词性权重表中有q的词性,则将该词性的权重计入权重得分,否则将默认值0.1计入权重得分。遍历完待应答问句所有的单词后,得到待应答问句和相似问句的单词交集,便可得到单词交集的权重得分。刻画待应答问句和相似问句的相似性需要从两方面考量:单词交集在待应答问句的占比,单词交集在相似问句的占比。交集的单词在待应答问句中占的越多,而不相关单词占的越少则越相似,故设定单词交集在待应答问句的占比阈值;同理可得单词交集在相似问句的占比越大则相似性越高,故设定单词交集在相似问句的占比阈值。为了避免高权重词性的单词主导权重得分,所以计算单词交集的权重得分除以待应答问句的长度,形成第一占比值,第一占比值score1的公式如下:(m《l
query
),其中,wt(qi)表示单词qi的权重,l
query
表示待应答问句的长度,epsilon表示平滑因子,避免分母为0。若此值小于单词交集在待应答问句的占比阈值也就设定第一阈值,则舍弃该条相似问句。
124.s160、判断所述第一占比值是否大于设定第一阈值;
125.s170、若所述第一占比值不大于设定第一阈值,则舍弃所述相似问句;
126.s180、若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值。
127.在本实施例中,第二占比值是指所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比。
128.在计算第二占比值之前还需要执行与s151类似的步骤,此处不再赘述。
129.具体地,计算所述权重得分与所述相似问句的总权重的商,以得到第一占比值。
130.当第一占比值大于设定第一阈值,继续计算单词交集的权重得分除以相似问句的总权重即第二占比值,第二占比值score2的公式如下:总权重即第二占比值,第二占比值score2的公式如下:(m《l
query
),其中,wt(qi)表示单词qi的权重,wt(sent)表示整个相似问句所有单词的权重之和;若此值小于单词交集在相似问句的占比阈值即设定第二阈值,则舍弃该条相似问句;否则将该条相似问句加入结果集中。
131.s190、判断所述第二占比值是否大于设定第二阈值;
132.s200、若所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;
133.遍历完所有的相似问句后,若结果集为空,说明没有相似问句满足条件,则返回未匹配。
134.s210、根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句。
135.在本实施例中,目标相似问句是指第一占比值以及第二占比值均符合要求的相似问句。
136.在一实施例中,请参阅图7,上述的步骤s210可包括步骤s211~s212。
137.s211、对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序,以得到排序后的结果集。
138.在本实例中,排序后的结果集是指对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序后形成的结果。
139.s212、筛选排序后的结果集内的第一个相似问句,以得到目标相似问句。
140.当结果集不为空集时,对结果集中的相似问句的score1进行降序排序,若存在相同分数的score1,再根据score2进行降序排序,排序后的第一条问句即为待应答问句最为匹配的相似问句,将其对应的答案返回即可。
141.s220、确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
142.若所述第二占比值不大于设定第二阈值,则执行所述步骤s170。
143.举个例子:用户输入query:i wanna eat,query经过切词后得到[('i','nn'),('wan','vbp'),('na',to'),('eat','vb')],将其进行数据预处理,即i替换成i,wan与na为英文缩写词,合并成wanna,根据缩写词映射表映射成want to,处理后得到[('i','prp'),('want','vbp'),('to','to'),('eat','vb')]。假设问答库为[

i want to eat’,

i want to eat breakfast’,

what do you want to eat’,

where to eat’,

i love to eat’,

i have many friends’],根据相似句召回策略召回首先计算几个基础指标,遍历问句可得每个问句得长度为[4,5,6,3,4,5],每条问句中的每个词在该句中出现的词频为

i want to eat’:{

i’:
‘1’


want’:
‘1’


to’:
‘1’


eat’:
‘1’
,},

i want to eat breakfast’:{

i’:
‘1’


want’:
‘1’


to’:
‘1’


eat’:
‘1’


breakfast’:
‘1’


what do you want to eat’:{

what’:
‘1’


do’:
‘1’


you’:
‘1’


want’:
‘1’


to’:
‘1’
,,

eat’:
‘1’
},where to eat’:{

where’:
‘1’


to’:
‘1’


eat’:
‘1’
,},

i love to eat’:{

i’:
‘1’


love’:
‘1’


to’:
‘1’


eat’:
‘1’
,},

i have many friends’:{

i’:
‘1’


have’:
‘1’


many’:
‘1’


friend’:
‘1’
,}。
[0144]
单词数量总和即为[4,5,6,3,4,5]的总和为27,再计算每个单词在所有预处理规范化后的问句出现的次数为{

i’:
‘4’


want’:
‘3’


to’:
‘5’


eat’:
‘5’


breakfast’:
‘1’


what’:
‘1’


do’:
‘1’


you’:
‘1’


where’:
‘1’


love’:
‘1’


have’:
‘1’


many’:
‘1’


friend’:
‘1’
,},问句的平均长度为4.5,根据单词权重公式可得{idf(i):-0.588,idf(want):0.0,idf(to):-1.299,idf(eat):-1.299,idf(breakfast):1.299,idf(what):1.299,idf(do):1.299,idf(you):1.299,idf(where):1.299,idf(love):1.299,idf(have):1.299,idf(many):1.299,idf(friend):1.299},那么可计算出问答库中每条问句的分数为score(iwant to eat):0.508,score(i want to eat breakfast):0.459,score(what do you want to eat):0.279,score(where to eat):0.379,score(i love to eat):0.508,score(i have many friends):0.169,根据score分数大小召回三句相似句:
[

i want to eat’,

i love to eat’,

i want to eat breakfast’]。再对召回的相似句进行双阈值匹配,query标注词性为{

i’:

prp’,

want’:

vbp’,

to’:

to’,

eat’:

vb’},召回的问句“i want to eat”标注词性也为{

i’:

prp’,

want’:

vbp’,

to’:

to’,

eat’:

vb’},设定词性权重为{

prp’:

0.2’,

vbp’:

0.4’,

to’:

0.1’,

vb’:

0.5’,

nn’:

0.7’},四个单词全部命中,根据score1的公式可得score1(i want to eat)=0.3;召回的问句
“‘
i love to eat”标注词性为{

i’:

prp’,

love’:

vbp’,

to’:

to’,

eat’:

vb’},只有“i”、“to”、“eat”命中,计算可得score1(i love to eat)=0.2,召回的问句“i want to eat breakfast”标注词性为{

i’:

prp’,

want’:

vbp’,

to’:

to’,

eat’:

vb’,

breakfast’:

nn’},只有“i”、“want”、“to”、“eat”命中,计算可得score1(i want to eat breakfast)=0.3。根据阈值留下

i want to eat’,

i want to eat breakfast’,并且两句的score1得分相同,再计算这两句的score2,得score2(i want to eat)=1.0,score2(i want to eat breakfast)=0.632,易得query最匹配的相似问句为

i want to eat’。
[0145]
通过用户在管理后台配置问答库,可以有效匹配出相似问题并给出对应回复。针对英语语言特点设计了缩写词表和词性权重表,可以做到动态更新,通过先召回再双阈值精确匹配策略,不仅降低了请求响应时长,还提高了相似句匹配的效果,同时用户在增删改问答库时基本可实现实时更新,降低了训练成本,提高了使用效率,可有效为海外服务机器人赋能,提高了用户服务体验,也提高了服务机器人在海外市场的使用价值。可支持用户自定义faq问答对,然后基于用户提供的faq问答库,对用户输入的问题匹配出最相似的问句并给出对应的回复,而且在用户增删改问答库时基本可以实现实时动态更新,相较基于模型类的faq问答系统大大提高了使用效率。
[0146]
上述的英文faq问答系统实现方法,通过获取语音对话内容后,对其进行asr转换和预处理,形成待应答问句,根据待应答问句从预设的问答库内预先召回一部分粗粒度问句,形成相似问句,再采用相似度双阈值匹配,进行精确匹配相似问句,并从预设的问答库内确定答案,实现可做到英文faq的问答,满足海外市场的需求,实用性高。
[0147]
图8是本发明实施例提供的一种英文faq问答系统实现装置300的示意性框图。如图8所示,对应于以上英文faq问答系统实现方法,本发明还提供一种英文faq问答系统实现装置300。该英文faq问答系统实现装置300包括用于执行上述英文faq问答系统实现方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图8,该英文faq问答系统实现装置300包括内容获取单元301、转换单元302、预处理单元303、相似问句召回单元304、第一计算单元305、第一判断单元306、第二计算单元307、第二判断单元308、存储单元309、目标问句确定单元310以及答案确定单元311。
[0148]
内容获取单元301,用于获取语音对话内容;转换单元302,用于对所述语音对话内容进行asr转换,以得到语义文本;预处理单元303,用于对所述语义文本进行处理,以得到待应答问句;相似问句召回单元304,用于根据所述待应答问句从预设的问答库内召回相似问句;第一计算单元305,用于计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值;第一判断单元306,用于判断所述第一占比值是否大于设定第一阈值;第二计算单元307,用于若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值;第二判断单元308,用于判断所述第二占比值是否大于设定第二阈值;存储单元309,用于若
所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;目标问句确定单元310,用于根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句;答案确定单元311,用于确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
[0149]
在一实施例中,如图9所示,所述预处理单元303包括去除子单元3031、切词单元3032、替换单元3033以及形式统一单元3034。
[0150]
去除子单元3031,用于对所述语义文本去除标点符号,以得到第一处理结果;切词单元3032,用于对所述第一处理结果进行切词以及标注词性,并将切词失败的词语进行组合,以得到第二处理结果;替换单元3033,用于对所述第二处理结果进行切词中缩写词的替换,以得到第三处理结果;形式统一单元3034,用于对所述第三处理结果统一单复数形式,以得到待应答问句。
[0151]
在一实施例中,如图10所示,所述相似问句召回单元304包括分数计算子单元3041、排序子单元3042以及问句筛选子单元3043。
[0152]
分数计算子单元3041,用于计算所述待应答问句与预设的问答库内所有问句的相似匹配分数;排序子单元3042,用于对所述相似匹配分数进行降序排序,以得到排序结果;问句筛选子单元3043,用于从所述排序结果内筛选出符合要求的问句,以得到相似问句。
[0153]
在一实施例中,如图11所示,所述第一计算单元305包括单词交集确定子单元3051以及求商子单元3052。
[0154]
单词交集确定子单元3051,用于确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分;求商子单元3052,用于计算所述权重得分与所述待应答问句的长度的商,以得到第一占比值。
[0155]
在一实施例中,如图12所示,所述单词交集确定子单元3051包括标注模块30511、第一遍历模块30512、第二遍历模块30513、第一确定模块30514、得分确定模块30515以及第二确定模块30516。
[0156]
标注模块30511,用于对所述待应答问句进行切词并标注词性,并将词性为“nns”和“nnps”的单词转换成单数;第一遍历模块30512,用于遍历所述相似句,对每句所述相似句标注词性;第二遍历模块30513,用于遍历所述待应答问句中的每个单词,当单词出现在所述相似句中时,判断所述单词的词性是否存在词性权重表中;第一确定模块30514,用于若所述单词的词性存在词性权重表中,则确定所述单词为单词交集内的元素,将所述单词的词性对应的权重计入权重得分内;得分确定模块30515,用于确定所述权重得分为所述单词交集的权重得分;第二确定模块30516,用于若所述单词的词性存在词性权重表中,则将默认值计入权重得分内,并执行所述确定所述权重得分为所述单词交集的权重得分。
[0157]
在一实施例中,第二计算单元307,用于计算所述权重得分与所述相似问句的总权重的商,以得到第一占比值。
[0158]
在一实施例中,如图13所示,所述目标问句确定单元310包括降序排序子单元3101以及筛选子单元3102。
[0159]
降序排序子单元3101,用于对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序,以得到排序后的结果集;筛选子单元3102,用于筛选排序后的结果集内的第一个相似问句,以得到目标相似问句。
[0160]
需要说明的是,所属领域的技术人员可以清楚地了解到,上述英文faq问答系统实现装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
[0161]
上述英文faq问答系统实现装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图14所示的计算机设备上运行。
[0162]
请参阅图14,图14是本技术实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0163]
参阅图14,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
[0164]
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种英文faq问答系统实现方法。
[0165]
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
[0166]
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种英文faq问答系统实现方法。
[0167]
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图14中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0168]
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
[0169]
获取语音对话内容;对所述语音对话内容进行asr转换,以得到语义文本;对所述语义文本进行处理,以得到待应答问句;根据所述待应答问句从预设的问答库内召回相似问句;计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值;判断所述第一占比值是否大于设定第一阈值;若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值;判断所述第二占比值是否大于设定第二阈值;若所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句;确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
[0170]
在一实施例中,处理器502在实现所述对所述语义文本进行处理,以得到待应答问句步骤时,具体实现如下步骤:
[0171]
对所述语义文本去除标点符号,以得到第一处理结果;对所述第一处理结果进行切词以及标注词性,并将切词失败的词语进行组合,以得到第二处理结果;对所述第二处理结果进行切词中缩写词的替换,以得到第三处理结果;对所述第三处理结果统一单复数形式,以得到待应答问句。
[0172]
在一实施例中,处理器502在实现所述根据所述待应答问句从预设的问答库内召
回相似问句步骤时,具体实现如下步骤:
[0173]
计算所述待应答问句与预设的问答库内所有问句的相似匹配分数;对所述相似匹配分数进行降序排序,以得到排序结果;从所述排序结果内筛选出符合要求的问句,以得到相似问句。
[0174]
在一实施例中,处理器502在实现所述计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值步骤时,具体实现如下步骤:
[0175]
确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分;计算所述权重得分与所述待应答问句的长度的商,以得到第一占比值。
[0176]
在一实施例中,处理器502在实现所述确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分步骤时,具体实现如下步骤:
[0177]
对所述待应答问句进行切词并标注词性,并将词性为“nns”和“nnps”的单词转换成单数;遍历所述相似句,对每句所述相似句标注词性;遍历所述待应答问句中的每个单词,当单词出现在所述相似句中时,判断所述单词的词性是否存在词性权重表中;若所述单词的词性存在词性权重表中,则确定所述单词为单词交集内的元素,将所述单词的词性对应的权重计入权重得分内;确定所述权重得分为所述单词交集的权重得分;若所述单词的词性存在词性权重表中,则将默认值计入权重得分内,并执行所述确定所述权重得分为所述单词交集的权重得分。
[0178]
在一实施例中,处理器502在实现所述计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值步骤时,具体实现如下步骤:
[0179]
计算所述权重得分与所述相似问句的总权重的商,以得到第一占比值。
[0180]
在一实施例中,处理器502在实现所述根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句步骤时,具体实现如下步骤:
[0181]
对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序,以得到排序后的结果集;筛选排序后的结果集内的第一个相似问句,以得到目标相似问句。
[0182]
应当理解,在本技术实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0183]
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0184]
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
[0185]
获取语音对话内容;对所述语音对话内容进行asr转换,以得到语义文本;对所述语义文本进行处理,以得到待应答问句;根据所述待应答问句从预设的问答库内召回相似
问句;计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值;判断所述第一占比值是否大于设定第一阈值;若所述第一占比值大于设定第一阈值,则计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值;判断所述第二占比值是否大于设定第二阈值;若所述第二占比值大于设定第二阈值,则将所述相似问句存储于结果集内;根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句;确定所述目标相似问句的问答对,并反馈所述问答对中的答案。
[0186]
在一实施例中,所述处理器在执行所述计算机程序而实现所述对所述语义文本进行处理,以得到待应答问句步骤时,具体实现如下步骤:
[0187]
对所述语义文本去除标点符号,以得到第一处理结果;对所述第一处理结果进行切词以及标注词性,并将切词失败的词语进行组合,以得到第二处理结果对所述第二处理结果进行切词中缩写词的替换,以得到第三处理结果;对所述第三处理结果统一单复数形式,以得到待应答问句。
[0188]
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述待应答问句从预设的问答库内召回相似问句步骤时,具体实现如下步骤:
[0189]
计算所述待应答问句与预设的问答库内所有问句的相似匹配分数;对所述相似匹配分数进行降序排序,以得到排序结果;从所述排序结果内筛选出符合要求的问句,以得到相似问句。
[0190]
在一实施例中,所述处理器在执行所述计算机程序而实现所述计算所述待应答问句与所述相似问句的单词交集在所述待应答问句内的占比,以得到第一占比值步骤时,具体实现如下步骤:
[0191]
确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分;计算所述权重得分与所述待应答问句的长度的商,以得到第一占比值。
[0192]
在一实施例中,所述处理器在执行所述计算机程序而实现所述确定所述待应答问句与所述相似问句的单词交集,并确定所述单词交集的权重得分步骤时,具体实现如下步骤:
[0193]
对所述待应答问句进行切词并标注词性,并将词性为“nns”和“nnps”的单词转换成单数;遍历所述相似句,对每句所述相似句标注词性;遍历所述待应答问句中的每个单词,当单词出现在所述相似句中时,判断所述单词的词性是否存在词性权重表中;若所述单词的词性存在词性权重表中,则确定所述单词为单词交集内的元素,将所述单词的词性对应的权重计入权重得分内;确定所述权重得分为所述单词交集的权重得分;若所述单词的词性存在词性权重表中,则将默认值计入权重得分内,并执行所述确定所述权重得分为所述单词交集的权重得分。
[0194]
在一实施例中,所述处理器在执行所述计算机程序而实现所述计算所述待应答问句与所述相似问句的单词交集在所述相似问句内的占比,以得到第二占比值步骤时,具体实现如下步骤:
[0195]
计算所述权重得分与所述相似问句的总权重的商,以得到第一占比值。
[0196]
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述结果集内的相似问句的第一占比值以及第二占比值确定目标相似问句步骤时,具体实现如下步骤:
[0197]
对所述结果集内的相似问句按照第一占比值进行降序排序,对于具有相同的第一占比值的相似问句按照第二占比值进行降序排序,以得到排序后的结果集;筛选排序后的结果集内的第一个相似问句,以得到目标相似问句。
[0198]
所述存储介质可以是u盘、移动硬盘、只读存储器(read-only memory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
[0199]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0200]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0201]
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
[0202]
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0203]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献