答案生成方法、装置、计算机设备和存储介质

文档序号:33514398发布日期:2023-03-22 05:43阅读:39来源:国知局
答案生成方法、装置、计算机设备和存储介质

1.本技术涉及计算机技术领域,特别是涉及一种答案生成方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着互联网的发展,越来越多的企业为用户提供了线上咨询服务,用户可以通过线上咨询服务向企业提出问题。
3.传统的方法中,通常是由企业工作人员针对各个用户的问题回复相应的答案,当企业拥有大量的用户群体时,仅仅依靠人工回复难以保证服务效率,存在答案回复效率低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高答案生成效率的答案生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.本技术提供了一种答案生成方法。所述方法包括:
6.获取目标问题,对目标问题进行实体识别,得到目标问题中的目标实体;
7.获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本;
8.基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度;
9.基于属性关联度,从各个候选属性中确定目标实体对应的目标属性;
10.基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。
11.本技术还提供了一种答案生成装置。所述装置包括:
12.目标实体确定模块,用于获取目标问题,对目标问题进行实体识别,得到目标问题中的目标实体;
13.属性拼接模块,用于获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本;
14.属性关联度确定模块,用于基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度;
15.目标属性确定模块,用于基于属性关联度,从各个候选属性中确定目标实体对应的目标属性;
16.目标答案确定模块,用于基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。
17.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述答案生成方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时
实现上述答案生成方法的步骤。
19.一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述答案生成方法的步骤。
20.上述答案生成方法、装置、计算机设备、存储介质和计算机程序产品,通过对目标问题进行实体识别,确定目标问题中被提问的对象,也就是目标问题对应的目标实体。基于目标实体进行答案生成,可以保证答案生成的可靠性。再获取目标实体对应的各个候选属性,将各个候选属性分别与目标问题进行拼接得到各个候选文本。候选文本用于确定目标问题和候选属性之间的匹配程度,即属性关联度。基于各个候选文本,得到目标答案和各个候选属性之间的属性关联度,进而基于各个属性关联度确定目标实体对应的目标属性。目标问题对应的目标实体和目标属性为目标问题中的主要信息,通过目标属性和目标实体可以快速确定目标问题的提问内容。基于目标实体和目标属性对应的属性值,生成目标问题对应的目标答案,可以有效提高答案生成的效率,同时保证答案生成的准确性。
附图说明
21.图1为一个实施例中答案生成方法的应用环境图;
22.图2为一个实施例中答案生成方法的流程示意图;
23.图3为一个实施例中确定目标实体的流程示意图;
24.图4为一个实施例中实体标注的示意图;
25.图5为一个实施例中选取正样本和负样本的示意图;
26.图6为一个实施例中构造正样本和负样本的示意图;
27.图7为一个实施例中文本特征提取网络的示意图;
28.图8为一个实施例中实体识别的流程示意图;
29.图9为一个实施例中答案生成的流程示意图;
30.图10为一个实施例中答案生成装置的结构框图;
31.图11为另一个实施例中答案生成装置的结构框图;
32.图12为一个实施例中计算机设备的内部结构图;
33.图13为一个实施例中计算机设备的内部结构图。
具体实施方式
34.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
35.本技术实施例提供的答案生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连
接,本技术在此不做限制。
36.终端和服务器均可单独用于执行本技术实施例中提供的答案生成方法。
37.例如,终端获取目标问题,对目标问题进行实体识别,得到目标问题中的目标实体。终端获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本。终端基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度。终端基于属性关联度,从各个候选属性中确定目标实体对应的目标属性。终端基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。
38.终端和服务器也可协同用于执行本技术实施例中提供的答案生成方法。
39.例如,服务器从终端获取目标问题,服务器对目标问题进行实体识别,得到目标问题中的目标实体。服务器获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本。服务器基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度。服务器基于属性关联度,从各个候选属性中确定目标实体对应的目标属性。服务器基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。服务器可以将目标答案发送至终端,终端可以对目标答案进行展示。
40.在一个实施例中,如图2所示,提供了一种答案生成方法,以该方法应用于计算机设备为例进行说明,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。答案生成方法包括以下步骤:
41.步骤s202,获取目标问题,对目标问题进行实体识别,得到目标问题中的目标实体。
42.其中,目标问题是指需要进行答案生成的问题文本。实体是指问题中被提问的对象。例如,对于“小张是哪个国家的?”的问题,问题中的实体为“小张”;对于“牛奶应该怎么保存?”的问题,问题中的实体为“牛奶”;对于“存款什么时候到期?”的问题,问题中的实体为“存款”;等等。目标实体是指目标问题中的实体。
43.示例性地,计算机设备从本地或其他设备获取目标问题,进而对目标问题进行特征提取操作得到目标问题对应的特征信息,基于从目标问题中提取得到的特征信息来识别目标问题对应的目标实体,得到目标问题中的目标实体。
44.步骤s204,获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本。
45.其中,属性是指实体所具有的性质。例如,对于“小张是哪个国家的?”的问题,问题中的属性为“国籍”;对于“牛奶应该怎么保存?”的问题,问题中的属性为“储存方式”;对于“存款什么时候到期?”的问题,问题中的属性为“存款期限”;等等。
46.候选属性是指目标实体可能对应的各个属性。例如,当目标实体为人名时,目标实体对应的候选属性可以为“国籍”、“性别”、“籍贯”、“爱好”等;当目标实体为食品时,目标实体对应的候选属性可以为“保质期”、“存储方式”、“营养成分”、“净含量”等;等等。
47.候选文本是指将目标问题和候选属性进行拼接后得到的文本,用于确定目标问题和候选属性之间的属性关联度。
48.示例性地,计算机设备基于目标问题对应的目标实体,获取目标实体对应的各个
候选属性。得到目标实体对应的各个候选属性后,将目标问题分别与各个候选属性进行拼接操作,得到各个候选属性分别对应的候选文本。
49.在一个实施例中,在拼接目标问题和候选属性时,在文本的首位增加文本分类标志,在目标问题和候选属性之间和文本的末尾分别增加一个分隔标志,也就是按“[文本分类标志]目标问题[分隔标志]候选属性[分隔标志]”的格式拼接目标问题和候选属性,得到候选文本。
[0050]
步骤s206,基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度。
[0051]
其中,属性关联度是指目标问题和候选属性之间的关联程度,用于表征目标问题和候选属性相匹配的概率。
[0052]
示例性地,计算机设备对各个候选文本分别进行特征提取操作,得到各个候选文本分别对应的特征信息,进而依据各个候选文本分别对应的特征信息,确定目标问题分别和各个候选属性之间的属性关联度。
[0053]
步骤s208,基于属性关联度,从各个候选属性中确定目标实体对应的目标属性。
[0054]
其中,目标属性是指目标问题中的目标实体对应的属性。例如,当目标问题为“小张是哪个国家的?”时,目标实体为“小张”,目标实体“小张”对应的候选属性为“国籍”、“性别”、“籍贯”、“爱好”等,目标实体“小张”对应的目标属性为“国籍”,当目标问题为“小张是男生还是女生?”时,目标实体“小张”对应的目标属性为“性别”。目标属性用于确定目标实体对应的属性值,从而确定目标答案。
[0055]
示例性地,计算机设备基于目标问题对应的各个属性关联度,从各个候选属性中选择属性关联度最大值对应的候选属性,作为目标问题中的目标实体对应的目标属性。
[0056]
步骤s210,基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。
[0057]
其中,属性值是指目标实体在目标属性中对应的具体值。例如,当目标问题为“小张是男生还是女生?”,并且小张是男生时,此时目标实体“小张”在目标属性“性别”中对应的属性值为“男生”;当目标问题为“牛奶应该怎么保存?”,并且牛奶对应的存储方式为冷藏保存时,此时目标实体“牛奶”在目标属性“存储方式”对应的属性值为“冷藏保存”;等等。
[0058]
目标答案是指由目标实体和目标属性值得到的目标问题的答案。例如,当目标问题为“牛奶应该怎么保存?”,并且目标实体“牛奶”在目标属性“存储方式”中对应的属性值为“冷藏保存”时,生成的目标答案可以为“牛奶应该冷藏保存”。
[0059]
示例性地,计算机设备获取目标问题中目标实体在目标属性上对应的属性值,进而融合目标问题对应的目标实体和该属性值,得到目标问题对应的目标答案。
[0060]
上述答案生成方法中,通过对目标问题进行实体识别,确定目标问题中被提问的对象,也就是目标问题对应的目标实体。基于目标实体进行答案生成,可以保证答案生成的可靠性。再获取目标实体对应的各个候选属性,将各个候选属性分别与目标问题进行拼接得到各个候选文本。候选文本用于确定目标问题和候选属性之间的匹配程度,即属性关联度。基于各个候选文本,得到目标答案和各个候选属性之间的属性关联度,进而基于各个属性关联度确定目标实体对应的目标属性。目标问题对应的目标实体和目标属性为目标问题中的主要信息,通过目标属性和目标实体可以快速确定目标问题的提问内容。基于目标实
体和目标属性对应的属性值,生成目标问题对应的目标答案,可以有效提高答案生成的效率,同时保证答案生成的准确性。
[0061]
在一个实施例中,如图3所示,对目标问题进行实体识别,得到目标问题中的目标实体包括:
[0062]
步骤s302,对目标问题进行特征提取,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征。
[0063]
步骤s304,将问题特征分别和各个初始字特征进行拼接,得到各个字分别对应的目标字特征。
[0064]
步骤s306,对各个目标字特征进行特征映射,得到各个字分别对应的初始实体特征。
[0065]
步骤s308,对各个初始实体特征进行特征纠正,得到各个字分别对应的目标实体特征。
[0066]
步骤s310,基于各个目标实体特征,从各个字中确定目标实体。
[0067]
其中,初始字特征是指目标问题中各个字分别对应的基础特征信息,用于生成各个字分别对应的目标字特征。问题特征是指目标问题对应的特征信息,用于表征目标问题对应的语义信息。目标字特征是指目标问题中各个字分别对应的融合了问题特征的增强特征信息,目标字特征融合了目标问题对应的语义信息,能够更加准确地反映目标问题中各个字分别对应的特征信息,基于目标字特征进行实体识别相比于基于初始字特征进行实体识别有更好的实体识别效果。
[0068]
初始实体特征是指目标问题中各个字分别对应的实体特征信息,表征各个字分别在各个候选标签上的标签概率。目标实体特征是指经过特征纠正后的目标问题中各个字分别对应的实体特征信息,表征各个字分别在各个候选标签上的标签概率,目标实体特征对应的实体特征信息相比于初始实体特征对应的实体特征信息更加准确。
[0069]
示例性地,计算机设备对目标问题进行特征提取操作,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征。将各个初始字特征分别和问题特征进行拼接得到各个字分别对应的目标字特征,使得目标问题中的每个字分别对应的字特征都融合了目标问题对应的语义信息,能够有效增强实体识别效果。将各个字对应的目标字特征映射为各个字分别在各个候选标签上的标签概率,也就是各个字分别对应的初始实体特征。为了提高实体识别的准确性,对各个初始实体特征进行特征纠正操作,对不合理的初始实体特征进行纠正后,得到各个字分别对应的目标实体特征。基于目标问题中各个字分别对应的目标实体特征,从目标问题中的各个字中确定目标实体。
[0070]
在一个实施例中,由于目标问题中各个字分别对应的标签是有关联的,例如,若a和b为目标文本中连续的两个字,并且a在b之前,当a对应的标签是非实体字符标签时,b对应的标签只能是实体起始字符标签或非实体标签,若b对应的标签为实体非起始字符标签,说明a或b对应的标签不合理,需要纠正a或b对应的标签,或者a和b分别对应的标签都不合理,需要纠正a和b分别对应的标签;当a对应的标签为实体起始字符标签时,b对应的标签只能是实体非起始字符标签或非实体标签,若b对应的标签为实体起始字符标签,说明a或b对应的标签不合理,需要纠正a或b对应的标签,或者a和b分别对应的标签都不合理,需要纠正a和b分别对应的标签;等等。
[0071]
上述实施例中,计算机设备对目标问题进行特征提取,得到能够反映各个字分别对应的基础特征信息的初始字特征,和能够反映目标问题对应的语义信息的问题特征。将各个字分别对应的初始字特征分别和问题特征进行拼接得到各个目标字特征,使得各个目标字特征都融合了目标问题对应的语义信息,能够有效增强实体识别效果。对目标字特征进行特征映射,得到了能够表征各个字分别在各个候选标签上的标签概率的初始实体特征。对各个初始实体特征进行特征纠正,得到了准确性更高的目标实体特征,有效提高了实体识别的准确性。进而基于各个字分别对应的目标实体特征,从目标问题中的各个字中确定目标实体。
[0072]
在一个实施例中,基于各个目标实体特征,从各个字中确定目标实体,包括:
[0073]
基于各个目标实体特征,确定各个字分别在各个候选标签上的标签概率;候选标签包括非实体标签、实体起始字符标签和实体非起始字符标签;基于同一字对应的各个标签概率,从各个候选标签中确定目标标签,得到各个字分别对应的目标标签;基于目标标签为实体起始字符标签和目标标签为实体非起始字符标签的字,得到目标实体。
[0074]
其中,标签概率是指目标问题中的字对应候选标签的概率。
[0075]
候选标签是指用于标记问题中的非实体字符、实体起始字符和实体非起始字符的三种标签。非实体字符是指问题中不属于目标实体的字。实体起始字符是指问题中目标实体中的第一个字。实体非起始字符是指问题中除目标实体中第一个字以外的目标实体中其他各个字。
[0076]
非实体字符标签是指用于标记非实体字符的标签。实体起始字符标签是指用于标记实体起始字符的标签。实体非起始字符标签是指用于标记实体非起始字符的标签。目标标签是指一个字对应的候选标签中,对应标签概率最大的候选标签。由于目标实体为问题中被提问的对象,通常对应一个字或者一个词,因此,实体起始字符和实体非起始字符是目标问题中连续的字符,不会出现实体起始字符和实体非起始字符之间出现非实体字符的情况,以及两个实体非起始字符之间出现非实体字符的情况,也就是不会出现实体起始字符标签和实体非起始字符标签之间出现非实体字符标签的情况,以及两个实体非起始字符标签之间出现非实体字符标签的情况。
[0077]
示例性地,计算机设备基于目标问题中各个字分别对应的目标实体特征,得到各个字分别在各个候选标签上的标签概率。对比同一字在非实体标签上的标签概率、在实体起始字符上的标签概率和在实体非起始字符标签上的标签概率,将标签概率最大值对应的候选标签作为目标标签。用相同的方法,得到其他各个字分别对应的目标标签,从而确定目标问题中各个字分别对应的目标标签。基于各个字分别对应的目标标签,确定目标问题中目标实体对应的各个字,进而得到目标实体。基于目标标签为实体起始字符标签的实体起始字符和目标标签为实体非起始字符标签的实体非起始字符,得到目标实体。例如,当目标问题中只存在一个目标标签为实体起始字符标签的实体起始字符,其他各个字都为对应非实体字符标签的非实体字符时,目标问题中的目标实体为实体起始字符,当目标问题中存在一个目标标签为实体起始字符标签的字和一个或多个目标标签为实体非起始字符标签的字时,目标问题中的目标实体为实体起始字符和实体非起始字符在目标问题中对应的词。
[0078]
上述实施例中,计算机设备基于各个目标实体特征,得到目标问题中各个字分别
对应的目标标签,进而确定目标问题中的目标实体。由于目标实体特征对应的实体特征信息准确性高,基于目标实体特征确定的各个字分别对应的目标标签,能够保证实体识别的准确性。
[0079]
在一个实施例中,基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度,包括:
[0080]
对各个候选文本进行特征提取,得到各个候选文本分别对应的初始文本特征;分别对各个初始文本特征进行线性变换,得到各个候选文本分别对应的目标文本特征;基于各个目标文本特征,得到目标问题分别和各个候选属性之间的属性关联度。
[0081]
其中,初始文本特征是指从候选文本提取的基础特征信息,反映候选文本对应的语义信息,用于确定候选文本对应的目标文本特征。目标文本特征是指候选文本对应的特征信息,表征目标问题和候选文本中的候选属性之间的匹配程度,用于确定目标问题和候选属性之间的属性关联度。
[0082]
示例性地,计算机设备对各个候选文本分别进行特征提取操作,得到能够反映各个候选文本分别对应的语义信息的各个初始文本特征。对单个初始文本特征进行线性变换操作,将初始文本特征转换为能够反映目标问题和候选文本中的候选属性之间的匹配程度的目标文本特征,对其他各个初始文本特征分别进行线性变换操作,得到其他各个初始文本特征分别对应的目标文本特征,进而得到各个候选文本分别对应的目标文本特征。例如,使用lda(linear discriminant analysis,线性判别分析)对初始文本特征进行线性变换。对各个目标文本特征进行归一化操作,得到各个目标问题分别和各个候选属性之间的属性关联度。例如,使用softmax函数(归一化指数函数)对目标文本特征进行归一化。
[0083]
上述实施例中,计算机设备对由目标问题和候选属性组成的候选文本进行特征提取,得到能够反映候选文本对应的语义信息的各个初始文本特征。接着对各个初始文本特征进行线性变换操作,将初始文本特征转换为目标文本特征,进而基于各个目标文本特征确定目标问题分别和各个候选属性之间的属性关联度。基于各个属性关联度可以确定目标问题对应的目标属性,最终基于目标实体和目标属性生成目标问题对应的目标答案,可以有效提高答案生成的效率。
[0084]
在一个实施例中,对目标问题进行实体识别,得到目标问题中的目标实体,包括:将目标问题输入实体识别模型,得到目标实体;实体识别模型包括特征提取网络、特征映射网络和特征纠正网络。基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度,包括:将各个候选文本输入属性映射模型,得到目标问题分别和各个候选属性之间的属性关联度;属性映射模型包括特征提取网络、线性变换网络和归一化网络。
[0085]
其中,实体识别模型是指用于识别目标问题中的目标实体的模型,实体识别模型的输入数据是目标问题,输出数据是目标问题中的目标实体。
[0086]
特征提取网络是指用于提取文本中各个字分别对应的初始字特征和文本对应的文本特征的特征提取网络,对于实体识别模型,特征提取网络基于目标问题提取的文本特征为目标问题对应的问题特征,对于属性映射模型,特征提取网络基于候选文本提取的文本特征为候选文本对应的初始文本特征。
[0087]
特征映射网络是指用于将目标问题中的每个字对应的目标字特征映射为初始实
体特征的网络,也就是将每个字对应的目标字特征信息映射为每个字分别在各个候选标签上的标签概率。
[0088]
特征纠正网络是指用于纠正目标问题中各个字分别对应的初始实体特征,得到各个字分别对应的目标实体特征的特征纠正网络。
[0089]
属性映射模型是指用于确定目标文本和候选属性之间的属性关联度的模型,属性映射模型的输入数据是候选文本,输出数据是目标问题和候选文本对应的候选属性之间的属性关联度。
[0090]
线性变换网络是指用于对候选文本对应的初始文本特征进行线性变换,得到候选文本对应的目标文本特征的线性变换网络,也就是对候选文本对应的初始文本信息线性变换为目标问题和候选文本中的候选属性之间的匹配程度。
[0091]
归一化网络是指用于对候选文本对应的目标文本特征进行归一化处理,得到目标问题和候选属性之间的属性关联度的归一化网络。
[0092]
示例性地,计算机设备通过实体识别模型来确定目标问题中的目标实体。计算机设备将目标问题输入实体识别模型中的特征提取网络,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征。将问题特征分别和各个初始字特征进行拼接,得到各个字分别对应的目标字特征。将各个目标字特征输入实体识别模型中的特征映射网络,得到各个字分别对应的初始实体特征。将各个初始实体特征输入实体识别模型中的特征纠正网络,得到各个字分别对应的目标实体特征。基于各个目标实体特征,从各个字中确定目标实体。计算机设备通过属性映射模型来确定目标问题分别和各个候选属性之间的属性关联度。计算机设备将各个候选文本分别输入属性映射模型中的特征提取网络,得到各个候选文本分别对应的初始文本特征。将各个初始文本特征分别输入线性变换网络,得到各个候选文本分别对应的目标文本特征。将各个目标文本特征分别输入属性映射模型中的归一化网络,得到各个候选文本分别对应的属性关联度,也就是目标问题分别和各个候选属性之间的属性关联度。
[0093]
上述实施例中,计算机设备基于实体识别模型对目标问题进行实体识别,确定目标问题中被提问的对象,也就是目标问题对应的目标实体。基于目标实体进行答案生成,可以保证答案生成的可靠性。基于属性映射模型得到目标问题分别和各个候选属性之间的属性关联度,基于各个属性关联度可以确定目标问题对应的目标属性,最终基于目标实体和目标属性生成目标问题对应的目标答案,能够有效提高答案生成的效率。
[0094]
在一个实施例中,答案生成方法还包括:
[0095]
获取原始数据集;原始数据集包括多个问答对,问答对包括问题和对应的答案;提取各个问答对分别对应的实体三元组,基于各个实体三元组构建实体知识库;实体三元组包括实体、对应的属性和属性值;基于实体知识库,对各个问答对中的问题进行实体打标处理,得到各个实体识别训练文本,组成实体识别训练集;实体识别训练集用于训练实体识别模型;基于问答对中的问题和问题中实体对应的当前属性构造属性映射正样本,基于问答对中的问题和除问题中实体对应的当前属性之外的其他属性构造属性映射负样本,得到各个问答对中的问题分别对应的属性映射正样本和属性映射负样本,组成属性映射训练集;属性映射训练集用于训练属性映射模型。
[0096]
其中,原始数据集是指由从不同业务场景中获取的问答对组成的数据集。问答对
是指由一个问题和问题对应的正确答案组成的组合。例如,问题“牛奶应该怎么保存?”和答案“牛奶应该冷藏保存。”为一个问答对;问题“小张是男生还是女生?”和答案“小张是男生。”为一个问答对;等等。
[0097]
实体三元组是指从问答对中提取的形式为“实体-属性-属性值”的三元组,例如,从问题“牛奶应该怎么保存?”和答案“牛奶应该冷藏保存。”组成的问答对中提取得到的三元组为“牛奶-存储方式-冷藏保存”。
[0098]
实体知识库是指由多个实体三元组构建的知识库,用于查询问题对应的属性和属性值。实体打标处理是指给问题中的各个字打上对应的候选标签。
[0099]
实体打标处理是指使用非实体标签、实体起始标签和实体非起始标签标记问题中的各个字,得到标明了实体的问题。
[0100]
实体识别训练文本是指实体知识库中经过实体打标处理的问题。实体识别训练集是指由多个实体识别训练文本组成的训练集。
[0101]
当前属性是指问题中的实体在问题中对应的属性。例如,当问题为“牛奶应该怎么保存?”时,实体“牛奶”对应的当前属性为“存储方式”,而不是“牛奶”对应的其他属性,如“保质期”、“营养成分”、“净含量”等,当问题为“牛奶可以存放多久?”时,实体“牛奶”对应的当前属性为“保质期”,而不是“牛奶”对应的其他属性。
[0102]
属性映射正样本是指由问题和问题对应的当前属性拼接得到的样本。属性映射负样本是指由问题和除问题对应的当前属性之外的属性拼接得到的样本。属性映射训练集是指由各个问答对分别对应的属性映射正样本和属性映射负样本组成的训练集。
[0103]
示例性地,计算机设备从本地或其他设备中获取大量的问答对,由各个问答对构建原始数据集。从各个问答对中提取各个问答对分别对应的实体、对应的属性和属性值,由各个问答对分别对应的实体、对应的属性和属性值组成各个问答对分别对应的实体三元组,基于各个实体三元组,构建实体知识库。基于实体知识库,对原始数据集中的各个问答对中的问题进行实体打标处理,得到各个实体识别训练文本,由各个实体识别训练文本构建实体识别训练集。基于实体识别训练集来训练实体识别模型,得到能够准确识别问题中实体的实体识别模型。基于实体知识库,确定问题中实体对应的当前属性,将问题当前属性进行拼接,得到属性映射正样本。基于实体知识库,确定问题中实体对应的除当前属性之外的其他各个属性,和其他实体对应的除问题中实体对应的各个属性之外的各个属性,从上述各个属性中随机选取若干个属性,将问题分别和选取得到各个属性进行拼接,得到问题对应各个属性映射负样本,例如,从上述各个属性中随机选取5个属性来构建5个属性映射负样本。基于原始数据集中各个问题分别对应的属性映射正样本和各个属性映射负样本,构建属性映射训练集。基于属性映射训练集来训练属性映射模型,得到能够准确输出问题和候选属性之间的属性关联度的属性映射模型。
[0104]
上述实施例中,计算机设备基于获取的大量问答对,构建原始数据集。提取各个问答对分别对应的实体三元组,得到实体知识库。基于实体知识库,对原始数据库中的各个问答对进行实体打标处理得到各个实体识别训练文本,基于各个实体训练文本得到用于训练实体识别模型的实体识别训练集。在实体知识库中查询问题中实体对应的属性,将问题和问题中实体对应的当前属性进行拼接,得到问题对应的属性映射正样本,在实体知识库中查询除问题中实体对应的当前属性之外的各个其他属性,将问题分别和各个其他属性进行
拼接,得到问题对应的各个属性映射负样本,基于原始数据集中各个问题分别对应的属性映射正样本和各个属性映射负样本,构建属性映射训练集。基于属性映射训练集来训练属性映射模型。基于实体识别训练集训练得到的实体识别模型可以输出问题对应的实体,基于实体进行答案生成,可以保证答案生成的可靠性。并且基于问题对应的实体在实体知识库中查询,可以获取实体对应的各个候选属性,将各个候选属性分别与问题进行拼接得到各个候选文本。基于属性映射训练集训练得到的属性映射模型可以输出候选文本中的问题和候选属性之间的属性关联度,进而基于各个属性关联度确定实体对应的属性。基于问题对应的实体和问题中实体对应的属性,可以通过实体知识库快速确定问题中实体对应的属性值,基于实体和属性值生成问题对应的答案,有效提高了答案生成的效率,由于实体知识库是从原始数据集中提取得到的,原始数据集中的问答对为由一个问题和问题对应的正确答案组成的组合,因此能够保证答案生成的准确性。
[0105]
在一个具体的实施例中,本技术的答案生成方法可以应用于电商平台中的智能问答系统,对用户提出的问题进行答案生成。答案生成方法包括以下步骤:
[0106]
1、构建数据集
[0107]
智能问答系统获取电商平台常见的问答对(question-answering pair),基于各个问答对构建原始数据集。
[0108]
智能问答系统提取原始数据集中各个问答对分别对应的实体三元组,基于各个实体三元组构建实体知识库。
[0109]
智能问答系统基于实体知识库中的各个三元组,使用非实体标签、实体起始标签和实体非起始标签对原始数据集中的各个问答对进行实体打标处理,得到各个实体识别训练文本,组成实体识别训练集。如图4所示,对于问题“牛奶是哪里生产的?”,问题中的实体为“牛奶”,将实体中的实体起始字符“牛”用实体起始字符标注,将实体中的实体非起始字符“奶”用实体非起始字符标注,问题中的其他字符用非实体字符标注。
[0110]
智能问答系统基于问答对中的问题和问题中实体对应的当前属性构造属性映射正样本,用1标记,再随机从除问题中实体对应的当前属性之外的其他属性中随机选取若干个属性来构造属性映射负样本,用0标记。例如,如图5所示,若对于问题“牛奶是哪里生产的?”,问题对应的属性为“产地”,则将“产地”作为正样本,并用1标记,从除“产地”之外的其他属性中随机选取5个属性,如“医院”、“产品品牌”、“出版社”、“作者”和“邮递区号”作为负样本,并用0标记。将问题分别和各个属性拼接,得到问题对应的属性映射正样本和各个属性映射负样本。例如,如图6所示,在拼接问题和各个属性时,在文本的首位增加文本分类标志,在问题和属性之间和文本的末尾分别增加一个分隔标志,也就是按“[文本分类标志]目标问题[分隔标志]候选属性[分隔标志]”的格式拼接问题和各个属性,得到问题对应的一个属性映射正样本和五个属性映射负样本,属性映射正样本用1标记,属性映射负样本用0标记。基于各个问题分别对应的属性映射正样本和属性映射负样本,构建属性映射训练集。智能问答系统获取基于实体识别训练集训练实体识别模型,基于属性映射训练集训练属性映射模型。
[0111]
2、实体识别
[0112]
智能问答系统获取用户提出的问题作为目标问题,将目标问题输入实体识别模型,如图7所示,实体识别模型中的文本特征提取网络将目标问题转换为向量表示,再将得
到的向量输入文本特征提取网络,通过文本特征提取网络中的多个自注意力机制编码器对向量进行文本特征提取,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征。如图8所示,将目标问题输入实体识别模型中的文本特征提取网络后,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征。再将问题特征分别和各个初始字特征进行拼接,得到各个字分别对应的目标字特征。将各个字分别对应的目标字特征输入线性层进行特征映射,得到各个字分别对应的初始实体特征。进而将初始实体特征输入特征纠正网络,得到各个字分别对应的目标实体特征,基于各个字分别对应的目标实体特征,得到目标问题对应的目标实体。例如,使用bert(bidirectional encoder representations from transformers,基于transformer的双向编码器表示)模型作为文本特征提取网络,使用crf(conditional random field,条件随机场)作为特征纠正网络。
[0113]
3、属性映射
[0114]
智能问答系统在实体知识库中查询目标实体,返回目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到各个候选文本。若在实体知识库中查询不到目标实体,智能问答系统则直接输出“无答案”。将各个候选文本分别输入属性映射模型,得到各个候选文本分别对应的属性关联度,也就是目标问题分别和各个候选属性之间的属性关联度。将各个属性关联度中的最大值对应的候选属性作为目标属性。例如,属性映射模型可以为sim(similarity,相似度)模型。
[0115]
4、答案生成
[0116]
智能问答系统基于目标实体和目标属性在实体知识库中查询对应的属性值,基于目标问题对应的目标实体和目标属性值生成目标问题对应的目标答案并输出目标答案。
[0117]
上述实施例中,智能问答系统获取电商平台常见的问答对,基于各个问答对生成原始数据集,基于原始数据集构建实体知识库、实体识别训练集和属性映射训练集。如图9所示,智能问答系统基于实体识别训练集训练实体识别模型,基于属性映射训练集训练属性映射模型,将获取得到的目标问题输入实体识别模型,得到目标问题对应的目标实体。在实体知识库中查询目标实体,返回目标实体对应的各个候选属性,将目标问题和各个候选属性进行拼接,得到各个候选文本。将各个候选文本输入属性映射模型,得到目标问题分别和各个候选属性之间的应的属性关联度,基于各个属性关联度,得到与目标问题最匹配的目标属性。在实体识别阶段,将目标问题输入文本特征提取网络和特征纠正网络结合,能够实现高精度的实体预测。在属性映射阶段,使用属性映射正样本和属性映射负样本对属性关联度模型进行训练,能够提高属性预测精度以及模型的鲁棒性。答案生成方法实现了对用户提出的问题进行自动化识别与答案生成,大大简化了人工操作,能够提高答案生成效率和答案回复效率,满足业务需求,同时能够保证答案生成的准确性。
[0118]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0119]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的答案生成方法的答案生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个答案生成装置实施例中的具体限定可以参见上文中对于答案生成方法的限定,在此不再赘述。
[0120]
在一个实施例中,如图10所示,提供了一种答案生成装置,包括:目标实体确定模块1002、属性拼接模块1004、属性关联度确定模块1006、目标属性确定模块1008和目标答案确定模块1010,其中:
[0121]
目标实体确定模块1002,用于获取目标问题,对目标问题进行实体识别,得到目标问题中的目标实体。
[0122]
属性拼接模块1004,用于获取目标实体对应的各个候选属性,将目标问题分别和各个候选属性进行拼接,得到多个候选文本。
[0123]
属性关联度确定模块1006,用于基于候选文本进行目标问题和候选属性的匹配,得到目标问题分别和各个候选属性之间的属性关联度。
[0124]
目标属性确定模块1008,用于基于属性关联度,从各个候选属性中确定目标实体对应的目标属性。
[0125]
目标答案确定模块1010,用于基于目标实体和目标属性对应的属性值,得到目标问题对应的目标答案。
[0126]
上述答案生成装置,通过对目标问题进行实体识别,确定目标问题中被提问的对象,也就是目标问题对应的目标实体。基于目标实体进行答案生成,可以保证答案生成的可靠性。再获取目标实体对应的各个候选属性,将各个候选属性分别与目标问题进行拼接得到各个候选文本。候选文本用于确定目标问题和候选属性之间的匹配程度,即属性关联度。基于各个候选文本,得到目标答案和各个候选属性之间的属性关联度,进而基于各个属性关联度确定目标实体对应的目标属性。目标问题对应的目标实体和目标属性为目标问题中的主要信息,通过目标属性和目标实体可以快速确定目标问题的提问内容。基于目标实体和目标属性对应的属性值,生成目标问题对应的目标答案,可以有效提高答案生成的效率,同时保证答案生成的准确性。
[0127]
在一个实施例中,目标实体确定模块1002还用于:
[0128]
对目标问题进行特征提取,得到目标问题中各个字分别对应的初始字特征和目标问题对应的问题特征;将问题特征分别和各个初始字特征进行拼接,得到各个字分别对应的目标字特征;对各个目标字特征进行特征映射,得到各个字分别对应的初始实体特征;对各个初始实体特征进行特征纠正,得到各个字分别对应的目标实体特征;基于各个目标实体特征,从各个字中确定目标实体。
[0129]
在一个实施例中,目标实体确定模块1002还用于:
[0130]
基于各个目标实体特征,确定各个字分别在各个候选标签上的标签概率;候选标签包括非实体标签、实体起始字符标签和实体非起始字符标签;基于同一字对应的各个标签概率,从各个候选标签中确定目标标签,得到各个字分别对应的目标标签;基于目标标签为实体起始字符标签和目标标签为实体非起始字符标签的字,得到目标实体。
[0131]
在一个实施例中,属性关联度确定模块1006还用于:
[0132]
对各个候选文本进行特征提取,得到各个候选文本分别对应的初始文本特征;分
别对各个初始文本特征进行线性变换,得到各个候选文本分别对应的目标文本特征;基于各个目标文本特征,得到目标问题分别和各个候选属性之间的属性关联度。
[0133]
在一个实施例中,目标实体确定模块1002还用于:
[0134]
将目标问题输入实体识别模型,得到目标实体;实体识别模型包括特征提取网络、特征映射网络和特征纠正网络。
[0135]
在一个实施例中,属性关联度确定模块1006还用于:
[0136]
将各个候选文本输入属性映射模型,得到目标问题分别和各个候选属性之间的属性关联度;属性映射模型包括特征提取网络、线性变换网络和归一化网络。
[0137]
在一个实施例中,如图11所示,答案生成装置还包括:
[0138]
数据集获取模块1102,用于获取原始数据集;原始数据集包括多个问答对,问答对包括问题和对应的答案;提取各个问答对分别对应的实体三元组,基于各个实体三元组构建实体知识库;实体三元组包括实体、对应的属性和属性值;基于实体知识库,对各个问答对中的问题进行实体打标处理,得到各个实体识别训练文本,组成实体识别训练集;实体识别训练集用于训练实体识别模型;基于问答对中的问题和问题中实体对应的当前属性构造属性映射正样本,基于问答对中的问题和除问题中实体对应的当前属性之外的其他属性构造属性映射负样本,得到各个问答对中的问题分别对应的属性映射正样本和属性映射负样本,组成属性映射训练集;属性映射训练集用于训练属性映射模型。
[0139]
上述答案生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标问题、目标实体、候选属性等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种答案生成方法。
[0141]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理
器执行时以实现一种答案生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0142]
本领域技术人员可以理解,图12、13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0143]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0144]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0145]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0146]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0147]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0148]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0149]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1