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

问答知识库的扩充方法及装置与流程

2022-03-30 10:41:19 来源:中国专利 TAG:


1.本文件涉及计算机技术领域,尤其涉及一种问答知识库的扩充方法及装置。


背景技术:

2.对话系统是自然语言的一个比较成熟的应用,其中基于经常问到的问题(frequently asked questions,faq)的对话是对话系统的主流模式,而构建一个拥有高质量问句的问答知识库可以有效的提升对话效果。
3.目前问答知识库的扩充方式主要有两种,一种方式是由业务专家或者标注人员人工编写问句或者对现有的文本数据进行人工标注得到问句,再将得到的问句添加至问答知识库;另一种方式是使用深度学习模型对问答知识库中已有的问句进行学习来生成新的问句,然后将生成的问句添加至问答知识库中。但是,第一种方式依赖于人为经验,不仅无法保证对问答知识库进行扩充的准确性,还需要投入大量人力,人力成本高、扩充效率低;第二种方式虽然可以节省人力,但生成的问句可能存在语句不通的问题而影响问答知识库的质量,另外,该方式需要大批量的已有问句作为训练样本,不易实施。因此,如何在节省人力、提高扩充效率的同时,提高问答知识库的质量,是当前亟需解决的问题。


技术实现要素:

4.本技术实施例提供一种问答知识库的扩充方法及装置,用于在节省人力、提高扩充效率的同时,提高问答知识库的质量。
5.第一方面,本技术提供一种问答知识库的扩充方法,包括:
6.从历史对话数据中获取用户语句;
7.基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度;
8.基于所述用户语句与所述标准问句之间的相似度,确定是否将所述用户语句作为新的标准问句添加至所述问答知识库中。
9.第二方面,本技术提供一种问答知识库的扩充装置,包括:
10.获取模块,用于从历史对话数据中获取用户语句;
11.相似度确定模块,用于基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度;
12.扩充模块,用于基于所述用户语句与所述标准问句之间的相似度,确定是否将所述用户语句作为新的标准问句添加至所述问答知识库中。
13.第三方面,本技术提供一种电子设备,包括:
14.处理器;
15.用于存储所述处理器可执行指令的存储器;
16.其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
17.第四方面,本技术提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
18.可以看出,在本技术实施例中,通过分析用户语句与其在问答知识库中对应的标准问句之间的相似度,来确定是否将用户语句作为新的标准问句添加到问答知识库中,可以确保扩充到问答知识库中的问句与已有标准问句是相似的,并且,用户语句是从历史对话数据中获取的,相较于使用深度学习模型对问答知识库中已有的问句进行学习来生成的问句,可以避免出现语句不通的问题,从而可以保证添加至问答知识库中的问句的质量,提高问答知识库的质量;在此基础上,在分析用户语句与标准问句之间的相似度时,是基于用户语句及标准问句各自在语句维度及词语维度的特征进行分析,因而可以提高相似度分析结果的准确性,进一步提高添加至问答知识库中的问句的质量,提高问答知识库的质量;另外,整个扩充过程无需人工参与,因而不仅可以节省人力,还提高对问答知识库的扩充效率。
附图说明
19.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
20.图1为本说明书的一个实施例提供的一种问答知识库的扩充方法的流程示意图;
21.图2为本说明书的一个实施例提供的一种标准问句获取方法的流程示意图;
22.图3为本说明书的一个实施例提供的一种问答知识库的扩充装置的结构示意图;
23.图4为本说明书的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.本说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应理解这样使用的数据在适当情况下可以互换,以便本说明书实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,本说明书以及权利要求书中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
26.如前所述,目前问答知识库的扩充方式主要有两种,一种方式是由业务专家或者标注人员人工编写问句或者对现有的文本数据进行人工标注得到问句,再将得到的问句添加至问答知识库;另一种方式是使用深度学习模型对问答知识库中已有的问句进行学习来生成新的问句,然后将生成的问句添加至问答知识库中。但是,第一种方式依赖于人为经验,不仅无法保证对问答知识库进行扩充的准确性,还需要投入大量人力,人力成本高、扩
充效率低;第二种方式虽然可以节省人力,但生成的问句可能存在语句不通的问题而影响问答知识库的质量,另外,该方式需要大批量的已有问句作为训练样本,不易实施。因此,如何在节省人力、提高扩充效率的同时,提高问答知识库的质量,是当前亟需解决的问题。
27.为此,本说明书实施例旨在提供一种问答知识库的扩充方案,通过分析用户语句与其在问答知识库中对应的标准问句之间的相似度,来确定是否将用户语句作为新的标准问句添加到问答知识库中,可以确保扩充到问答知识库中的问句与已有标准问句是相似的,并且,用户语句是从历史对话数据中获取的,相较于使用深度学习模型对问答知识库中已有的问句进行学习来生成的问句,可以避免出现语句不通的问题,从而可以保证添加至问答知识库中的问句的质量,提高问答知识库的质量;在此基础上,在分析用户语句与标准问句之间的相似度时,是基于用户语句及标准问句各自在语句维度及词语维度的特征进行分析,因而可以提高相似度分析结果的准确性,进一步提高添加至问答知识库中的问句的质量,提高问答知识库的质量;另外,整个扩充过程无需人工参与,因而不仅可以节省人力,还可以提高对问答知识库的扩充效率。
28.应理解,本说明书实施例提供的问答知识库的扩充方法及文本可以由电子设备执行或安装在电子设备中的软件执行,具体可以由终端设备或服务端设备执行。
29.以下结合附图,详细说明本说明书各实施例提供的技术方案。
30.请参考图1,为本说明书的一个实施例提供的一种问答知识库的扩充方法的流程示意图,该方法可以包括:
31.s102,从历史对话数据中获取用户语句。
32.其中,历史对话数据是指用户与应答者(比如智能客服、人工坐席等)在一轮或多轮历史对话中产生的数据,其可以不仅包括用户的提问,还可以包括应答者针对用户的提取所作出的回答等。
33.在具体应用中,历史对话数据的形式可以是多种的,比如,在用户以文字进行人机对话时,历史对话数据的形式即为文本形式;又如,在用户以语音进行人机对话时,历史对话数据的形式即为语音形式,等等。相应地,从历史对话数据中获取用户语句的方式也可以是多样的,比如,若历史对话数据的形式为文本形式,则可以直接对历史对话数据进行文本处理,提取出用户语句,如用户的提问;又如,若历史对话数据的形式为语音形式,则可以先利用自动语音识别技术(automatic speech recognition,asr),将语音形式的历史对话数据转换为文本形式的历史对话数据,然后再对文本形式的历史对话数据进行文本处理,提取出用户语句,如用户的提问。
34.进一步地,在历史对话数据的形式为语音形式时,考虑到将语音形式的历史对话数据转换为文本形式的历史对话数据的过程中执行的语音活动检测(voice activity detection,vad)操作会带来一定误差,这种误差会导致在进行用户语句的提取时,完整的词语因停顿而出现在不同的语句中,进而导致提取出的用户语句的语义不连贯,为此,在从文本形式的历史对话数据中提取用户语句之前,还对相邻的、由同一角色输入的句子进行合并,避免完整的词语因停顿而出现在不同的句子中的问题,确保提取出的用户语句的语义是连贯的,从而提高提取的用户语句的准确性。
35.s104,基于用户语句的第一语句特征、用户语句包含的第一词语的词特征、用户语句在问答知识库中对应的标准问句的第二语句特征以及标准问句包含的第二词语的词特
征,确定用户语句与标准问句之间的相似度。
36.本说明书实施例中,问句包含的词语的词特征用于表征问句在词语维度的特征。词语的词特征可以例如包括但不限于词语的词性、核心分值和重要性分值等,其中,词语的核心分值用于表征词语在所属问句中是否属于核心词,词语的重要性分值用于表征词语的重要性。更为具体地,对于词语的词性,不同的词性可对应不同的预设值,比如名词对应的预设值为1,形容词对应的预设值为2等;词语的核心分值也可以根据实际需要进行设置,例如,若词语在所属语句中属于核心词,则词语的核心分值可以设置为1,否则,词语的核心分值可以设置为0;词语的重要性分值可以采用词语的词频-逆文本频率指数(term frequency-inverse document frequency,tf-idf)表示。
37.问句的语句特征用于表征问句在语句维度的特征。具体而言,问句的语句特征可以例如包括但不限于问句的句型、句向量等,其中,问句的句向量是以数学的表达形式来表示问句。更为具体地,问句的句向量可以由问句包含的词语的词向量及重要性分值生成。示例地,问句的句向量senten
vec
为其中,tfidfi表示问句包含的第i个词语的重要性分值,w2vi表示问句包含的第i个词语的的词向量,n表示问句包含的词语的数量。
38.实际应用中,可采用本领域技术人员已知的各种技术手段对问句进行特征提取,得到问句的语句特征及包含的词语的词特征,比如对问句进行分词处理、去停用词、计算词向量等等,本说明书实施例对此不作具体限定。
39.需要说明的是,为了便于区分,对于问句包含的词语,将用户语句中包含的词语称为第一词语,将标准问句中包含的词语称为第二词语;对于问句的语句特征,将用户语句的语句特征称为第一语句特征,将标准问句的语句特征称为第二语句特征;对于问句的句向量,将用户语句的句向量称为第一句向量,将标准问句的句向量称为第二句向量。
40.本说明书实施例中,用户语句在问答知识库中对应的标准问句是指问答知识库中与用户语句语义相关的问句,比如用户语句为“您的姓名是啥”,则该用户语句在问答知识库中对应的标准问句可以包括“你叫什么名字”、“您贵姓”、“请问怎么称呼您”等。标准问句可以根据用户语句包含的词语从问答知识库中获取,具体获取方式将在后文进行详细说明。
41.在确定用户语句与标准问句之间的相似度时,具体而言,考虑到句子是由一个个词语组成,句子的语义主要是由词语来表示,因此,可以从用户语句及标准问句分别在语句维度的特征及在词语维度的特征,去分析用户语句与标准问句之间的相似度,从而提高相似度分析结果的准确性。
42.s106,基于用户语句与标准问句之间的相似度,确定是否将用户语句作为新的标准问句添加至问答知识库中。
43.若用户语句与标准问句之间的相似度较高,则可以确定用户语句与标准问句各种问询的是同一个问题,进而可以确定将用户语句作为新的标准问句添加至问答知识库中,从而实现对问答知识库的扩充;否则,可以丢弃用户语句。
44.示例地,用户语句为“您的姓名是啥”,该用户语句在问答知识库中对应的标准问句为“你叫什么名字”,若该用户语句与该标准问句的相似度较高,则可以将该用户语句作
为新的询问姓名的标准问句并添加到问答知识库中。
45.本说明书实施例提供的问答知识库的扩充方法,通过分析用户语句与其在问答知识库中对应的标准问句之间的相似度,来确定是否将用户语句作为新的标准问句添加到问答知识库中,可以确保扩充到问答知识库中的问句与已有标准问句是相似的,并且,用户语句是从历史对话数据中获取的,相较于使用深度学习模型对问答知识库中已有的问句进行学习来生成的问句,可以避免出现语句不通的问题,从而可以保证添加至问答知识库中的问句的质量,提高问答知识库的质量;在此基础上,在分析用户语句与标准问句之间的相似度时,是基于用户语句及标准问句各自在语句维度及词语维度的特征进行分析的,因而可以提高用户语句与标准问句之间的相似度分析结果的准确性,进一步提高添加至问答知识库中的问句的质量,提高问答知识库的质量;另外,整个扩充过程无需人工参与,因而可以节省人力,提高对问答知识库的扩充效率。
46.在上述s104中,由于语义相似的句子在语句维度通常具有一定的相似性,另外,句子是由一个个词语组成,词语之间的关系影响者句子之间的关系,基于此,为更准确地分析用户语句与标准问句之间的相似度,在一种可选的实现方式中,确定用户语句与标准问句之间的相似度可以包括如下步骤:
47.步骤a1,基于第一语句特征和第二语句特征,确定用户语句与标准问句之间在语句维度的第一相似度。
48.本说明书实施例中,第一相似度用于表示用户语句与标准问句之间在语句维度的相似度。
49.可选地,考虑到通常情况下句子的语义受到句型的影响,两个相似的句子在句型上有很大的概率相同,比如询问姓名的问句“你的名字叫什么”和问句“您的姓名是啥”各自的句型都是形容词性物主代词 名词 谓语 疑问词,另外,两个句子各自的句向量以及两个句子之间的编辑距离等特征也能够衡量两个句子在语句维度的相似度,基于此,为准确分析用户语句与标准问句之间在语句维度的相似度,上述步骤a1可以包括:
50.步骤a11,基于第一句向量和第二句向量,确定用户语句与标准问句之间的句向量相似度。
51.本实施例中,用户语句与标准问句之间的句向量相似度用于表示第一句向量和第二句向量之间的相似度。可选地,用户语句与标准问句之间的句向量相似度可采用余弦相似度表示,即其中,a表示第一句向量,b表示第二句向量。
52.当然,可选地,也可采用本领域已知的各种句向量相似度计算方案,来确定用户语句与标准问句之间的句向量相似度。
53.步骤a12,将用户语句的句型与标准问句的句型进行比对,以及基于得到的比对结果确定用户语句与标准问句之间的句型相似度。
54.示例地,若用户语句的句型与标准问句的句型相同,则可以确定用户语句与标准问句之间的句型相似度为1;否则,可以确定用户问题与标准问句之间的句型相似度为0。
55.步骤a13,基于第一词语和第二词语,确定用户语句与标准问句之间的编辑距离。
56.用户语句与标准问句之间的编辑距离(edit distance,ed)是指用户语句与标准问句之间,由一个转换成另一个所需的最少编辑操作次数。一般来说,编辑操作包括将一个
问句中的词语替换为另一个问句中的词语、插入词语、删除词语等。若用户语句与标准问句之间的编辑距离越小,则用户语句与标准问句的相似度越大。
57.具体实施时,可以采用本领域技术人员已知的各种编辑距离算法,基于两个问句各自包含的词语(即第一词语和第二词语),确定用户语句与标准问句之间的编辑距离。
58.步骤a14,基于句向量相似度、句型相似度以及编辑距离,确定第一相似度。
59.可选地,为使得到的第一相似度更准确,可对句向量相似度、句型相似度以及编辑距离进行加权求和,将加权求和结果确定为第一相似度,也即score1=w1·
similarity w2·
score
pattern
w3·
ed,其中,score1表示第一相似度,similarity表示用户语句与标准问句之间的句向量相似度,w1表示句向量相似度对应的权重,score
pattern
表示用户语句与标准问句之间的句型相似度,w2表示句型相似度对应的权重,ed表示用户语句与标准问句之间的编辑距离,w3表示编辑距离对应的权重。具体实施时,句向量相似度、句型相似度以及编辑距离分别对应的权重均可以根据实际需要进行设置,本说明书实施例对此不作具体限定。
60.当然,可选地,也可通过其他方式基于句向量相似度、句型相似度以及编辑距离来确定第一相似度,比如将句向量相似度、句型相似度以及编辑距离中的最大值确定为第一相似度,等等,本说明书实施例对此不作具体限定。
61.步骤a2,基于第一词语的词特征和第二词语的词特征,确定用户语句与标准问句之间在词语维度的第二相似度。
62.本说明书实施例中,第二相似度用于表示用户语句与标准问句之间在词语维度的相似度。
63.可选地,考虑到两个句子各自包含的词语在所属句子中的重要程度及词语本身之间的关联关系都会影响两个句子在词语维度的相似度,基于此,可依据这两个影响因素去分析用户语句与标准问句在词语维度的相似度,以确保分析结果的准确性。具体地,上述步骤a2可以包括:
64.步骤a21,基于第一词语的词性、核心分值及重要性分值,确定第一词语在用户语句中的重要程度,以及基于第二词语的词性、核心分值及重要性分值,确定第二词语在标准问句中的重要程度。
65.示例地,对于第一词语,可通过对其词性的词性分值、核心分值及重要性分值进行加权求和,将得到的加权求和结果确定为第一词语在用户语句中的重要程度,即wi=θ1·
pos θ2·
key θ3·
tfidf,其中,wi表示第i个第一词语在用户语句中的重要程度,pos表示该第一词语的词性的词性分值,θ1表示词性对应的权重,key表示该第一词语的核心分值,θ2表示核心分值对应的权重,fidf表示该第一词语的重要性分值,θ3表示重要性分值对应的权重。
66.需要说明的是,不同词性的词性分值可以不同,具体可根据实际需要进行设置。其次,词性、核心分值以及重要性分值分别对应的权重也可根据实际需要进行设置,比如以三者各自的权重之和等于1为目标进行设置。另外,用户语句中可能包含多个第一词语,对于每一个第一词语,均可通过上述方式确定该第一词语在用户语句中的重要程度。
67.对于第二词语,也可采用上述确定第一词语在用户语句中的重要程度的方式,对第二词语的词性、核心分值及重要性分值进行加权求和,将得到加权求和结果确定为第二
词语在标准问句中的重要程度。
68.同样需要说明的是,标准问句中可能包含多个第二词语,对于每一个第二词语,均可通过上述方式确定该第二词语在用户语句中的重要程度。
69.步骤a22,确定第一词语与第二词语之间的关联关系。
70.本说明书实施例中,两个词语之间的关联关系可以例如包括但不限于以下关系中的至少一种:完全匹配、部分词匹配、词向量匹配、同义词关系、包含关系、上下位关系、所属实体相同等。其中,完全匹配是指两个词语在字面上完全相同;部分词匹配是指两个词语在字面上部分匹配,比如词语“关闭”和词语“关”;词向量匹配是指两个词语各自的词向量相似;同义词关系是指两个词语属于同义词,比如词语“姓名”和词语“名字”;包含关系是指一个词语包含另一个词语,比如词语“周末”包含词语“周六”;上下位关系是指一个词语是另一个词语的上位概念或下位概念,比如词语“鸟”是词语“麻雀”的上位概念;所属实体相同是指两个词语对应同一词语,比如词语“海淀区”和词语“朝阳区”同属于地名“北京”这个实体。
71.具体实施时,第一词语与第二词语之间的关联关系,可通过对预先建立的关联关系词库进行查询确定,或者也可采用本领域技术人员已知的各种技术手段确定,本说明书实施例对此不作具体限定。
72.步骤a23,基于第一词语在用户语句中的重要程度、第二词语在标准问句中的重要程度以及第一词语与第二词语之间的关联关系,确定第二相似度。
73.可选地,可基于第一词语在用户语句中的重要程度以及第一词语与第二词语之间的关联关系,确定用户语句相对标准问句的第一单向相似度,以及基于第二词语在标准问句中的重要程度以及第一词语与第二词语之间的关联关系,确定标准问句相对用户语句的第二单向相似度;进一步地,基于第一单向相似度和第二单向相似度,确定第二相似度。
74.更为具体地,上述第一单向相似度可通过如下公式(1)确定:
[0075][0076]
其中,score
query-》question
表示第一单向相似度,wi表示第i个第一词语在用户语句query中的重要度,r
ij
表示第i个第一词语与第j个第二词语之间的关联关系对应的权重,i=1,...,n,j=1,...,m,n表示用户语句query包含的第一词语的数量,m表示标准问句question包含的第二词语的数量。
[0077]
示例地,以用户语句为“您的名字是啥”、标准问句为“您叫什么名字”为例,对第一单向相似度的确定过程进行说明。第一词语、第一词语的词特征、第二词语及第二词语的词特征如表1所示。
[0078]
表1
[0079][0080]
基于表1所示的数据,可确定各个词语在所属问句中的重要程度为wi=θ1·
pi θ2·ki
θ3·
ti,进一步可以确定出用户语句相对标准问句的第一单向相似度为score
query-》question
=∑wi·bk

[0081]
与上述第一单向相似度的确定方式类似,上述第二单向相似度可通过如下公式(2)确定:
[0082][0083]
其中,score
question-》query
表示第二单向相似度,wj表示第j个第二词语在标准问句中的重要度,r
ji
表示第j个第二词语与第i个第一词语之间的关联关系对应的权重,n表示用户语句query包含的第一词语的数量,m表示标准问句question包含的第二词语的数量。
[0084]
需要说明的是,在上述公式(1)和公式(2)中,不同的关联关系对应的权重可以设置不同的值,具体可根据实际需要进行设置,本说明书实施例对此不作具体限定。
[0085]
在确定出第一单向相似度和第二单向相似度之后,可通过对两者进行加权求和,将得到的加权求和结果确定为第二相似度,也即score2=α1·
score
query-》question
α2·
score
question-》query
。其中,score2表示第二相似度,score
query-》question
表示第一单向相似度,α1表示第一单向相似度对应的权重,score
question-》query
表示第二单向相似度,α2表示第二单向相似度对应的权重。
[0086]
同样需要说明的是,第一单向相似度和第二单向相似度分别对应的权重可根据实际需要进行设置,比如可以将两者之和等于1作为目标进行设置。
[0087]
可以理解的是,通过从用户语句相对标准问句以及标准问句相对用户语句这两个方向去分析确定用户语句与标准问句在词语维度的第二相似度,可以避免单方向分析第二相似度带来的误差,进一步提高确定的第二相似度的准确性,为后续进行问答知识库的扩充提供更有力的数据支撑。
[0088]
当然,值得说明的是,在其他一些可选的方案中,从单方向去分析确定第二相似度的方案也是可行的,比如仅从用户语句相对标准问句的方向去分析确定第二相似度,或者仅从标准问句相对用户语句的方向去分析确定第二相似度。
[0089]
步骤a3,基于第一相似度和第二相似度,确定用户语句与标准问句之间的相似度。
[0090]
具体实施时,可以对第一相似度和第二相似度进行加权求和,将得到的加权求和结果确定为用户语句与标准问句之间的相似度,比如可将第一相似度和第二相似度各自对应的权重均设置为1,也即score
sum
=score1 score2,其中,score
sum
表示用户语句与标准问句之间的相似度,score1表示第一相似度,score2表示第二相似度。
[0091]
需要说明的是,上述过程仅以一个标准问句进行说明。实际应用中,用户语句在问答知识库中可对应多个标准问句,比如用户语句“您叫啥名字”在问答式知识库中“你叫什么名字”和“您贵姓”两个标准问句,在此情况下,可分别对于每一个标准问句,按照上述方式确定用户语句与该标准问句之间的相似度。
[0092]
可以理解的是,在上述实施方式中,通过分析用户语句与标准问句分别在语句维度及词语维度的相似度,基于这两个维度的相似度确定用户语句与标准问句之间的相似度,不仅考虑了用户语句与标准问句在整体层面的相似度,还充分考虑了分别构成用户语句及标准问句的词语之间的关系对用户语句与标准问句之间相似度的影响,从而使得确定出的用户语句与标准问句之间的相似度更准确,为后续确定进行问答知识库的扩充提供了有力的数据支撑。
[0093]
当然,在上述s104中,在其他一些可选的实现方式中,也可采用本领域技术人员已知的各种技术手段去分析确定用户语句与标准问句之间的相似度。
[0094]
在上述s106中,在第一种可选的实现方式中,可以预先设置一阈值,通过将用户语句与标准问句之间的相似度与预设阈值进行比较,来确定是否将用户语句作为新的标准问句装置问答知识库中。示例地,若用户语句与标准问句之间的相似度大于或等于该预设阈值,则可确定用户语句与标准问句之间较为相似,进而可将用户语句作为新的标准问句添加至问答知识库中;若用户语句与标准问句之间的相似度小于该预设阈值,则可确定用户语句与标准问句之间差异较大,进而可丢弃该用户语句。
[0095]
在第二种可选的实现方式中,为避免误将原本与标准问句相似的用户语句丢弃,可以设置多个不同的阈值,结合用户语句与标准问句之间的相似度分别与各个阈值之间的比较结果,来确定是否将用户语句作为新的标准问句添加至问答知识库中。示例地,可以预先设置第一阈值和第二阈值,即第一预设阈值和第二预设阈值,且第二预设阈值小于第一预设阈值,相应地,可以将用户语句与标准问句之间的相似度分别与第一预设阈值及第二预设阈值进行比较,若用户语句与标准问句之间的相似度大于或等于第一预设阈值,则可确定用户语句与标准问句极为相似,进而可将用户语句作为新的标准问句添加至问答知识库中;若用户语句与标准问句之间的相似度小于第二或等于第二预设阈值,则可确定用户语句与标准问句之间差异较大,进而可丢弃用户语句;若用户语句与标准问句之间的相似度小于第一预设阈值且大于第二预设阈值,则可确定用户语句与标准问句之间具有一定的相似度,进而可将用户语句发送给审核平台进行审核,以及在审核平台确定用户语句通过审核时,将用户语句作为新的标准问句添加至问答知识库,由此,可以避免直接将用户语句丢弃而导致错失原本可以作为标准问句的高质量问句,也可以避免直接将原本不能作为标准问句的低质量问句误添加至问答知识库而影响问答知识库的质量。
[0096]
实际应用中,用户语句在问答知识库中可能存在多个标准问句,在此情况下,可以分别针对每一个标准问句,将用户语句与该标准问句之间的相似度与预设的阈值进行比较,进一步地,在用户语句与所有标准问句之间的相似度均超过预设的阈值(比如超过第一
预设阈值)时,将用户语句作为新的标准问句添加至问答知识库中。在更为优选的方案中,为减少工作量,可以选取与用户语句之间的相似度最大的标准问句,仅将用户语句与该标准问句之间的相似度与预设的阈值进行比较。
[0097]
具体而言,对于上述第一种可选的实现方式,将用户语句与标准问句之间的相似度与预设阈值进行比较可以包括:若用户语句在问答知识库中对应多个标准问句,则选择这多个标准问句中与用户语句之间的相似度最大的标准问句,以及将用户语句与选择的标准问句之间的相似度与预设阈值进行比较。
[0098]
对于上述第二种可选的实现方式为例,将用户语句与标准问句之间的相似度分别与第一预设阈值及第二预设阈值进行比较,包括:若用户语句在问答知识库中对应多个标准问句,则选择这多个标准问句转动与用户语句之间的相似度最大的标准问句,以及将用户语句与选择的标准问句之间的相似度分别与第一预设阈值及第二预设阈值进行比较。
[0099]
示例地,在选择标准问句时,可以按照与用户语句之间的相似度从高到低的顺序,对这多个标准问句进行排序,得到排序结果;然后,基于得到的排序结果,选择排在第一位的标准问句。
[0100]
如前所述,本说明书实施例中,标准问句可以根据用户语句包含的词语从问答知识库中获取。但由于用户语句是从历史对话数据中获取的,因而用户语句可能为字符长度较短的句子,另外,问答知识库存储的已有问句中有很大一部分问句是与用户语句无关的,若直接从问答知识库中搜索用户语句对应的标准问句,不仅可能使得搜索出的标准问句与用户语句无关,进而影响对问答知识库进行扩充的扩充效果,还会增加后续对用户语句与标准问句之间的相似度进行分析的工作量,进而影响整个扩充过程的效率。
[0101]
为此,在本说明书的另一个实施例中,在s104之前,本说明书实施例提供的问答知识库的扩充方法还包括对问答知识库中的问句进行召回和粗排,以准确获取用户语句在问答知识库对应的标准问句。如图2所示,本说明的一个实施例提供的标准问句获取方法可以包括如下步骤:
[0102]
s202,基于第一词语从问答知识库中召回多个样本问句。
[0103]
在一种可选的实现方式中,可以基于第一词语确定搜索关键词,然后,从问答知识库中召回包含搜索关键词的问句作为样本问句。示例地,若用户语句为“您的姓名是啥”,其包含的第一词语包括“姓名”,可以推测用户语句的语义是询问姓名,由此可以将“姓名”、“姓”、“名”、“名字”等作为搜索关键词,从问答知识库中召回包含这些关键词的问句作为样本问句,比如得到“你叫什么名字”和“您贵姓”等样本问句。
[0104]
当然,在其他一些可选的实现方式中,也可采用本领域技术人员已知的各种召回手段从问答知识库中召回多个样本。
[0105]
s204,分别针对召回的各个样本问句,基于第一词语和该样本问句包含的词语,确定该样本问句与用户语句之间的重叠词语数量。
[0106]
可选地,样本问句与用户语句之间的重叠词语数量可通过如下公式(3)确定:
[0107]
numk=|{p1,p2,...,pn}∩{q1,q2,...,q
nk
}|
ꢀꢀꢀ
(3)
[0108]
其中,numk表示第k个样本问句与用户语句之间的重叠词数量,q
nk
表示第k个样本问句中包含的第nk个词语,pn表示用户语句包含的第n个第一词语。
[0109]
s206,从多个样本问句中选择与用户语句之间的重叠词语数量最多的至少一个样
本问句,确定为用户语句在问答知识库中对应的标准问句。
[0110]
样本问句与用户语句之间的重叠词语数量越多,则样本问句与用户语句相关的可能性较大,因此,可从多个样本问句中选择与用户语句之间的重叠词语数量最多的一个或多个样本问句确定为标准问句。
[0111]
示例地,在进行样本问句的选择时,可按照与用户语句之间的重叠词语数量从高到低的顺序,对从问答知识库中召回的多个样本问句进行排序,得到排序结果,然后,基于得到的排序结果,从这多个样本问句中选择排列顺序位于前n位的样本问句,确定为用户语句在问答知识库中对应的标准问句,其中,n为大于或等于1的正整数,其具体数值可以根据实际需要进行选择。
[0112]
可以理解的是,本实施例中,先基于第一词语从问答知识库中召回多个样本问句,再利用两个句子之间的重叠词语越多则两个句子之间的相关性越大的规律,从召回的多个样本问句中选择与用户语句之间的重叠数量越多的至少一个样本问句,确定为用户语句在问答知识库中对应的标准问句,由此可以确保确定出的标准问句是与用户语句相关的,不仅可以确保后续对问答知识库进行扩充的效果,还可以减少在扩充过程中分析确定用户语句与无关问句之间的相似度而增加的巨大工作量,从而进一步提高了对问答知识库进行扩充的效率。
[0113]
此外,与上述图1所示的问答知识库的扩充方法相对应地,本说明书实施例还提供一种问答知识库的扩充装置。图3是本说明书实施例提供的一种问答知识库的扩充装置300的结构示意图,包括:
[0114]
获取模块310,用于从历史对话数据中获取用户语句;
[0115]
相似度确定模块320,用于基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度;
[0116]
扩充模块330,用于基于所述用户语句与所述标准问句之间的相似度,确定是否将所述用户语句作为新的标准问句添加至所述问答知识库中。
[0117]
本说明书实施例提供的问答知识库的扩充装置,通过分析用户语句与其在问答知识库中对应的标准问句之间的相似度,来确定是否将用户语句作为新的标准问句添加到问答知识库中,可以确保扩充到问答知识库中的问句与已有标准问句是相似的,并且,用户语句是从历史对话数据中获取的,相较于使用深度学习模型对问答知识库中已有的问句进行学习来生成的问句,可以避免出现语句不通的问题,从而可以保证添加至问答知识库中的问句的质量,提高问答知识库的质量;在此基础上,在分析用户语句与标准问句之间的相似度时,是基于用户语句及标准问句各自在语句维度及词语维度的特征进行分析,因而可以提高相似度分析结果的准确性,进一步提高添加至问答知识库中的问句的质量,提高问答知识库的质量;另外,整个扩充过程无需人工参与,因而不仅可以节省人力,还可以提高对问答知识库的扩充效率。
[0118]
可选地,所述相似度确定模块320包括:
[0119]
第一相似度确定子模块,用于基于所述第一语句特征和所述第二语句特征,确定所述用户语句与所述标准问句之间在语句维度的第一相似度;
[0120]
第二相似度确定子模块,用于基于所述第一词语的词特征和所述第二词语的词特征,确定所述用户语句与所述标准问句之间在词语维度的第二相似度;
[0121]
第三相似度确定子模块,用于基于所述第一相似度和所述第二相似度,确定所述用户语句与所述标准问句之间的相似度。
[0122]
可选地,所述第一语句特征包括所述用户语句的句型和第一句向量,所述第二语句特征包括所述标准问句的句型和第二句向量;
[0123]
所述第一相似度确定子模块基于所述第一语句特征和所述第二语句特征,确定所述用户语句与所述标准问句之间在语句维度的第一相似度,包括:
[0124]
基于所述第一句向量和所述第二句向量,确定所述用户语句与所述标准问句之间的句向量相似度;
[0125]
将所述用户语句的句型与所述标准问句的句型进行比对,以及基于得到的比对结果确定所述用户语句与所述标准问句之间的句型相似度;
[0126]
基于所述第一词语和所述第二词语,确定所述用户语句与所述标准问句之间的编辑距离;
[0127]
基于所述句向量相似度、所述句型相似度及所述编辑距离,确定所述第一相似度。
[0128]
可选地,所述装置还包括:
[0129]
第一句向量生成模块,用于基于所述第一词语的词向量及重要性分值,生成所述第一句向量,所述第一词语的重要性分值用于表征所述第一词语的重要性;
[0130]
第二句向量生成模块,用于基于所述第二词语的词向量及重要性分值,生成所述第二句向量,所述第二词语的重要性分值用于表征所述第二词语的重要性。
[0131]
所述第一句向量由所述第一词语的词向量及重要性分值生成,所述第一词语的重要性分值用于表征所述第一词语的重要性;
[0132]
所述第二句向量由所述第二词语的词向量及重要性分值在生成,所述第二词语的重要性分值用于表征所述第二词语的重要性。
[0133]
可选地,所述词特征包括词性、核心分值和重要性分值,所述核心分值用于表征词语在所属语句中是否属于核心词,所述重要性分值用于表征词语的重要性;
[0134]
所述基于所述第一词语的词特征和所述第二词语的词特征,确定所述用户语句与所述标准问句之间在词语维度的第二相似度,包括:
[0135]
基于所述第一词语的词性、核心值及重要性分值,确定所述第一词语在所述用户语句中的重要程度,以及基于所述第二词语的词性、核心值及重要性分值,确定所述第二词语在所述标准问句中的重要程度;
[0136]
确定所述第一词语与所述第二词语之间的关联关系;
[0137]
基于所述第一词语在所述用户语句中的重要程度、所述第二词语在所述标准问句中的重要程度以及所述关联关系,确定所述第二相似度。
[0138]
可选地,所述第二相似度确定子模块基于所述第一词语在所述用户语句中的重要程度、所述第二词语在所述标准问句中的重要程度以及所述关联关系,确定所述第二相似度,包括:
[0139]
基于所述第一词语在所述用户语句中的重要程度以及所述关联关系,确定所述用户语句相对所述标准问句的第一单向相似度;
[0140]
基于所述第二词语在所述标准问句中的重要程度以及所述关联关系,确定所述标准问句相对所述用户语句的第二单向相似度;
[0141]
基于所述第一单向相似度和所述第二单向相似度,确定所述第二相似度。
[0142]
可选地,所述关联关系包括以下关系中的至少一种:完全匹配、部分词匹配、词向量匹配、同义词关系、包含关系、上下位关系、所属实体相同。
[0143]
可选地,所述扩充模块330包括:
[0144]
比较子模块,用于将所述用户语句与所述标准问句之间的相似度分别与第一预设阈值及第二预设阈值进行比较,其中,所述第二预设阈值小于所述第一预设阈值;
[0145]
第一添加子模块,用于若所述用户语句与所述标准问句之间的相似度大于或等于所述第一预设阈值,则将所述用户语句作为新的标准问句添加至所述问答知识库中;
[0146]
丢弃子模块,用于若所述用户语句与所述标准问句之间的相似度小于或等于所述第二预设阈值,则将所述用户语句丢弃;
[0147]
第二添加子模块,用于若所述用户语句与所述标准问句之间的相似度小于所述第一预设阈值且大于所述第二预设阈值,则将所述用户语句发送给审核平台进行审核,以及在所述审核平台确定所述用户语句通过审核时,将所述用户语句作为新的标准问句添加至所述问答知识库中。
[0148]
可选地,所述比较子模块将所述用户语句与所述标准问句之间的相似度分别与第一预设阈值及第二预设阈值进行比较,包括:
[0149]
若所述用户语句在所述问答知识库中对应多个标准问句,则选择所述多个标准问句中与所述用户语句之间的相似度最大的标准问句;
[0150]
将所述用户语句与选择的标准问句之间的相似度分别与所述第一预设阈值及所述第二预设阈值进行比较。
[0151]
可选地,所述装置300还包括:
[0152]
召回模块,用于在所述相似度确定模块320基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度用户语句之前,基于所述第一词语从所述问答知识库中召回多个样本问句;
[0153]
重叠确定模块,用于分别针对召回的各个样本问句,基于所述样本问句包含的词语和所述第一词语,确定所述样本问句与所述用户语句之间的重叠词语数量;
[0154]
选择模块,用于从所述多个样本问句中选择与所述用户语句之间的重叠词语数量最多的至少一个样本问句,确定为所述用户语句在所述问答知识库中对应的标准问句。
[0155]
显然,本说明书实施例的问答知识库的扩充装置可以作为上述图1所示的问答知识库的扩充方法的执行主体,因此能够实现问答知识库的扩充方法在图1所实现的功能。由于原理相同,在此不再赘述。
[0156]
图4是本说明书的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他
业务所需要的硬件。
[0157]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0158]
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0159]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上问答知识库的扩充装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0160]
从历史对话数据中获取用户语句;
[0161]
基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度;
[0162]
基于所述用户语句与所述标准问句之间的相似度,确定是否将所述用户语句作为新的标准问句添加至所述问答知识库中。
[0163]
上述如本说明书图1所示实施例揭示的问答知识库的扩充装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0164]
应理解,本说明书实施例的电子设备可以实现问答知识库的扩充装置在图1所示实施例的功能。由于原理相同,本说明书实施例在此不再赘述。
[0165]
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0166]
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电
子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
[0167]
从历史对话数据中获取用户语句;
[0168]
基于所述用户语句的第一语句特征、所述用户语句包含的第一词语的词特征、所述用户语句在问答知识库中对应的标准问句的第二语句特征以及所述标准问句包含的第二词语的词特征,确定所述用户语句与所述标准问句之间的相似度;
[0169]
基于所述用户语句与所述标准问句之间的相似度,确定是否将所述用户语句作为新的标准问句添加至所述问答知识库中。
[0170]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0171]
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
[0172]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。
[0173]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0174]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0175]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

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

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

相关文献