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

一种文本推荐方法、装置、计算机设备和存储介质与流程

2021-11-26 22:56:00 来源:中国专利 TAG:


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.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.本技术实施例提供一种文本推荐方法、装置、计算机设备和存储介质。该答复文本推荐装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
30.其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以包括手机、穿戴式智能设备、平板电脑、笔记本电脑、个人计算(pc,personal computer)、以及车载计算机等。
31.例如,如图1所示,计算机设备通过获取候选问答集合,候选问答集合包括候选询问文本以及对应的候选答复文本;对候选答复文本进行分析,以获取候选答复文本的属性信息;将属性信息与目标特征信息进行特征匹配,基于特征匹配结果筛选目标答复文本;根据目标答复文本以及对应的询问文本,生成目标问答集合;当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本该方案通过获取候选答复文本的属性信息,根据属性信息和目标特征信息进行匹配,可以从候选答复文本中筛选出与问题更加匹配的答复文本,向用户推荐更匹配的答复文本,提高推荐的准确率。
32.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
33.本实施例将从答复文本推荐装置的角度进行描述,该答复文本推荐装置具体可以集成在计算机设备中,该计算机设备可以是服务器,,如图2所示,该文本推荐方法的具体流程可以如下:
34.101、获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本。
35.其中,候选询问文本可以是需要得到解答的文本,比如a结婚了吗?b今年几岁了?2019属什么?或者是其他包含关键词的文本,比如a结婚、b几岁、还可以是2019是虎年等。
36.其中候选答复文本可以是对候选询问文本给以回答的文本,比如候选询问文本为2019属什么?则对应的候选答复文本可能有猪、虎、牛、2019属牛、2019生肖属牛、2019年是猪年、和2020年是虎年等文本。
37.其中,候选问答集合可以是由一个或多个确定的候选询问文本以及候选询问文本对应的候选答复文本所构成的整体。
38.比如,具体可以是从数据库中获取候选问答集合,或者通过网络请求、蓝牙等方式从其他设备上获取候选问答集合;还可以通过爬虫等技术从网络上获取候选问答集合。
39.除了通过上述方式获取候选问答集合之外,还可以通过神经网络模型获取候选问答集合,通过神经网络模型可以根据需要对模型的参数进行调整,以得到更加准确的答案,且可以随时根据需要进行参数调整。即在一实施例中,步骤“获取候选问答集合”,之前,还可以是包括:
40.获取候选询问文本以及候选询问文本对应的待处理答复文本;
41.通过问答模型将候选询问文本和待处理答复文本进行向量嵌入处理,得到候选询问文本与候选答复信息之间的表征向量;
42.对表征向量进行答复文本提取,以得到与待处理答复文本对应的候选答复文本;
43.根据候选答复文本以及候选答复文本对应的候选询问文本生成候选问答集合。
44.其中,待处理答复文本可以是包括候选答复文本的文本,比如,若候选询问文本为2019属什么?候选答复文本为猪,则待处理答复文本可以是“2019年是猪年”,或者是“2019年是农历己亥年,也就是猪年。那么,这年出生的人属相为猪”等。
45.其中,问答模型可以是预先训练好的神经网络模型,比如阅读理解模型,具体可以是基于bert的阅读理解模型、基于lstm的阅读理解模型以及其他可以进行答案片段抽取的模型。
46.其中,表征向量可以是候选询问文本和待处理答复文本被映射到实数得到向量。
47.比如,具体可以是获取候选询问文本以及候选询问文本对应的待处理答复文本,候选询问文本可以对应多个待处理答复文本,通过问答模型逐一将待处理答复文本和对应的候选询问文本进行拼接,比如可以是分类映射(segment embedding)得到词序列,以及进行词嵌入、位置嵌入映射为实数,得到候选询问文本与候选答复信息之间的表征向量,对表征向量进行文本片段提取,得到候选答复文本。
48.将得到的候选答复文本与对应的候选询问文本进行映射,得到候选询问文本与候选答复文本之间有映射关系的候选问答集合。
49.对表征向量进行文本片段提取,得到候选答复文本,可以通过预测待处答复文本中的每个字符为答复文本的概率,即在一实施例中,步骤“对表征向量进行答复文本提取,以得到与待处理答复文本对应的候选答复文本”,具体可以是:
50.通过问答模型预测表征向量中每个字符所在位置作为候选答复文本的候选开始位置的开始概率,以及每个字符所在位置作为候选答复文本的候选结束位置的结束概率;
51.基于开始概率从候选开始位置中确定开始位置,以及基于结束概率从候选结束位置中确定结束位置;
52.基于开始位置和结束位置从待处理答复文本中确定候选答复文本。
53.其中,候选开始位置和候选结束位置可以是问答模型预测每个字符在待处理答复文本的位置,比如,待处理答复文本为“2019年是猪年”,那么“2”的候选开始位置/候选结束位置为1,“0”的候选开始位置/候选结束位置为2,以此类推。
54.其中,开始概率可以是问答模型预测每个字符为候选答复文本第一个字符的概率。例如待处理答复文本为“2019年是猪年”,问答模型预测“2”所在的候选开始位置为候选答复文本的开始位置的开始概率可能是0.02,“猪”的开始概率可能是0.99。
55.其中,结束概率可以是问答模型预测每个字符为候选答复文本最后一个字符的概率。例如待处理答复文本为“2019年是猪年”,问答模型预测“2”所在的候选结束位置为候选答复文本的开始位置的结束概率可能是0.02,“猪”的结束概率可能是0.99。
56.其中,开始位置可以是候选答复文本的第一个字符在待处理答复文本中的位置。
57.其中,结束位置可以是候选答复文本的最后一个字符在待处理答复文本中的位置。
58.比如,具体可以是通过问答模型预测表征向量中,待处理答复文本中每个字符所在位置作为候选答复文本的候选开始位置的开始概率,以及每个字符所在位置作为候选答复文本的候选结束位置的结束概率。
59.根据每个字符的开始概率确定候选答复文本的第一个字符,比如具体可以是将多个开始概率中值最大的开始概率对应字符所在的候选开始位置确定为候选答复文本开始的开始位置。
60.根据每个字符的结束概率确定候选答复文本的第一个字符,比如具体可以是将多个结束概率中值最大的结束概率对应字符所在的候选结束位置确定为候选答复文本结束的结束位置。
61.将开始位置和结束位置以及两者之间的字符确定为候选答复文本。
62.102、对候选答复文本进行分析,以获取候选答复文本的属性信息。
63.其中,属性信息可以是候选答复文本的性质、特征等信息,比如候选答复文本的属性信息可以是候选答复文本的字符个数,还可以是候选答复文本包含句子的个数,或者是候选答复文本是待处理答复文本的第一句话等。
64.比如,具体可以是根据目标特征信息对候选答复文本进行相应的分析,得到候选答复文本的属性信息。
65.例如,若目标特征信息可以是候选答复文本是待处理答复文本的第一句话,则可以根据候选答复文本的开始位置确定候选答复文本在待处理答复文本中的位置,获取到的属性信息即为候选答复文本在待处理答复文本中的位置。还可以是根据候选答复文本在待处理答复文本中找到对应的文本,从而确定候选答复文本在待处理答复文本中的位置。
66.除了根据目标特征进行属性信息的获取之外,还可以根据可能对候选答复文本进行的特征匹配,预先获取候选答复文本与特征匹配所需要的所有的属性信息。
67.获取候选答复文本的属性信息还可以通过神经网络模型进行获取,通过神经网络模型可以发现候选答复文本的潜在特征,获取的属性信息更加准确,且可以根据实际应用场景对答复文本的准确性的要求,对模型的参数进行调整,能够适应不同的应用场景的需求,即在一实施例中,步骤“对候选答复文本进行分析,以获取候选答复文本的属性信息”,具体可以是:
68.通过训练后分类模型根据目标特征信息对候选答复文本进行特征提取,得到文本特征;
69.对文本特征进行分析,得到候选答复文本的属性信息。
70.其中,训练后分类模型可以是决策树、支持向量机和xgboost模型等模型
71.其中,文本特征可以是候选答复文本的特点,比如,可以是候选答复文本包含的逗号、句号等特征,还可以是候选答复文本的开始位置和结束位置等特征,或者候选答复文本的预测概率。
72.比如,具体可以是通过训练后分类模型确定目标特征信息为候选答复文本所在(待处理答复文本中的)自然句,包括的短句的数量,则确定候选答复文本在待处理答复文本中的位置,对候选答复文本所在的自然句进行逗号、句号、问号以及感叹号等标点符号进行提取,得到候选答复文本的文本特征,对候选答复文本的文本特征进行分析,比如可以是对提取的标点符号的数量进行统计处理,得到标点符号的数量,确定候选答复文本的属性信息为候选答复文本所在自然句中短句的数量为a。
73.对于不同的文本特征采用的分析方式不同,具体分析方法根据特征确定。
74.103、将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本。
75.其中,目标答复文本可以是对候选询问文本给以回答的文本,可以是从候选答复文本中筛选得到的文本。
76.其中,目标特征信息可以是筛选条件信息,可以是从候选答复文本筛选目标答复文本的筛选条件信息。比如,目标特征信息可以是候选答复文本是待处理答复文本的第一句话,或者是候选答复文本所在(待处理答复文本中的)自然句,包含的短句的数量。
77.比如,具体可以是将目标答复文本与候选答复文本的属性信息进行匹配,得到候选答复文本中与目标特征信息的匹配结果,将相匹配的候选答复文本作为目标答复文本,
或者将不匹配的候选答复文本作为目标答复文本,或者是将匹配结果为匹配作为第一目标答复文本,以及匹配结果为不匹配的候选答复文本作为第二目标答复文本。
78.为了更加使通过训练后分类模型得到的目标答复文本更加准确,可以对候选答复文本进行多次特征匹配,即在一实施例中,步骤“将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本”,具体可以是:
79.从多层节点中确定当前节点,将属性信息与当前节点对应的目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;
80.将目标答复文本以及目标答复文本对应的候选询问文本,作为当前节点的子节点的候选问答集合;
81.将上述子节点作为当前节点,返回执行将属性信息与当前节点对应的目标特征信息进行特征匹配的操作,直到当前节点为目标节点,并将得到的子节点的候选问答集合中的候选答复文本作为目标答复文本。
82.其中,节点可以是一个属性信息的特征匹配连接点,每个分支代表一个匹配输出,节点可以包括对应的目标特征信息,节点可以根据目标特征信息对候选答复文本的属性信息进行特征匹配。
83.其中,子节点可以是连接节点的属性信息的特征匹配连接点,即可以是节点分支上的另一连接点。例如,节点为a,节点a对候选答复文本进行特征匹配,输出b个分支,即得到b个匹配结果,以及b个子节点b。
84.其中,当前节点可以是进行特征匹配的节点。
85.其中,目标节点可以是叶子节点,即只有父节点没有子节点的节点。
86.可以理解的是,节点a为节点b的父节点,节点b为节点a的子节点。父节点与子节点是相对的,父节点也可以是其他节点的子节点,子节点也可以是其他节点的父节点。除此之外,节点与该节点的子节点为不同节点层的节点。
87.比如,具体可以是在多层节点中确定当前节点,以及当前节点的目标特征信息,将候选答复文本的属性信息与目标特征信息进行匹配,根据特征匹配结果从候选答复文本中筛选目标答复文本。
88.将候选目标答复文本以及候选目标答复文本对应的候选询问文本生成的集合作为当前节点的子节点的候选答复文本,并将该子节点作为当前节点,对新的候选答复文本再次进行特征匹配以从新的候选答复文本中筛选目标答复文本。
89.对将目标答复文本作为新的候选答复文本,并从新的候选答复文本中筛选目标答复文本的过程进行迭代,直到节点为目标节点,将该节点得到的候选答复文本以及对应的候选询问文本作为目标答复文本。
90.可选的,可以通过训练后分类模型确定当前节点的目标特征信息,根据当前节点对应的目标特征信息对候选答复文本进行与目标特征信息对应的分析,以得到与目标特征信息对应的属性信息。
91.通过训练后分类模型对从候选答复文本中确定目标答复文本,需要预先对分类模型进行训练,即在一实施例中,本实施例提供的文本推荐方法之前,还包括:
92.通过初始分类模型获取问答样本集合,以及确定问答样本集合对应的节点和节点对应的目标特征信息;
93.基于节点对应的目标特征信息从问答样本集合中确定问答样本子集;
94.基于问答样本子集生成节点的子节点,以及根据问答样本子集确定子节点对应的目标特征信息;
95.将问答样本子集作为问答样本集合,以及将子节点作为节点,返回执行基于节点对应的目标特征信息从问答样本集合中确定问答样本子集,直至满足预设循环结束条件,得到训练后分类模型。
96.比如,具体可以是获取问答样本集合,并根据该问答样本集合生成对应的节点(为了表述清晰,以下称为第一节点),以及确定目标特征信息,例如,预设特征信息集合中特征信息包括优先级,根据优先级从预设特征信息集合中确定其中的一个特征信息作为节点的目标特征信息(例如获取优先级最高的特征信息)。
97.根据目标特征信息对问答样本集合进行匹配,可以得到两个问答样本子集——第一问答样本子集和第二问答样本子集,可以是第一问答样本子集与目标特征信息相匹配,第二问答样本子集与目标特征信息不匹配。
98.第一节点下,根据问答样本子集生成子节点,具体可以是根据第一问答样本子集生成第一子节点,根据第二问答样本子集生成第二子节点。分别根据第一问答样本子集和第一问答样本子集从预设特征信息中确定特征信息(不同于第一节点对应的目标特征信息的特征信息)作为子节点的目标特征信息。
99.将第一子节点作为第一节点,第一问答样本子集作为问答样本集合,根据目标特征信息从问答样本集合(即第一问答样本子集)确定问答样本子集,以及将第二子节点作为第一节点,第二问答样本子集作为问答样本集合,根据目标特征信息从问答样本集合(即第二问答样本子集)确定问答样本子集。
100.相当于,根据第一子节点对应的目标特征信息中的答复文本样本是否匹配,将第一问答样本子集划分为两个子集(匹配和不匹配),根据得到的子集生成对应的子节点(每个子集对应一个节点),并确定生成的子节点对应的目标特征信息,根据目标特征信息对子集进行划分,即对问答样本集合基于目标特征信息进行迭代划分,直到满足预设循环结束条件,比如当划分次数达到预设次数时,确定满足预设循环结束条件,结束循环,得到训练后分类模型。
101.除了根据预设策略获取目标特征信息之外,还可以根据预设特征信息集合中各特征信息对问答样本集合的产生的影响确定目标特征信息,使预测过程更具合理性和科学性,预测结果更加准确。即在一实施例中,步骤“通过初始分类模型获取问答样本集合,以及确定问答样本集合对应的节点和节点对应的目标特征信息”,具体可以是:
102.获取问答样本集合和预设特征信息集合,预设特征信息集合包括多个特征信息;
103.在特征信息条件下,通过初始分类模型计算问答样本集合的稳定值;
104.通过初始分类模型确定节点,以及基于稳定值确定节点的目标特征信息。
105.其中,问答样本集合可以是由一个或多个询问文本样本和询问文本对应的答复文本样本所构成的整体。
106.其中,预设特征信息集合可以是包括多个特征信息的集合,比如,预设特征信息集合可以包括:
107.特征信息1:答复文本是待处理答复文本的第一句话。
108.特征信息2:答复文本所在(待处理答复文本中的)自然句,包括的短句的数量小于3。
109.特征信息3:候选询问文本中的词在答复文本所在(待处理答复文本中的)自然句中出现的次数大于5
……
110.可以理解的是,预设特征信息集合中特征信息的数量可以是根据需要进行调整,特征信息同样可以根据需要进行灵活设置。
111.其中,稳定值可以是衡量从问答样本集合取出一个答复文本样本携带的分类标识的不确定性的值。比如可以是条件熵、信息熵以及基尼系数等。
112.比如,具体可以是获取问答样本集合和预设特征信息集合,计算在预设特征信息集合中的每个特征信息条件下,问答样本集合的稳定值,该稳定值可以是条件熵,即计算在每个特征信息条件下的问答样本集合的条件熵。
113.初始分类模型可以生成一个节点,并根据将多个条件熵中值最小的条件熵对应的特征信息作为节点的目标特征信息。
114.还可以通过计算问答样本集合的信息熵,确定对问答样本集合的信息熵影响最大的特征信息,将该特征信息确定为节点对应的目标特征信息。即在一实施例中,步骤“通过初始分类模型计算在预设特征集合的特征条件下,问答样本集合的稳定值”,包括:
115.通过初始分类模型基于分类标识,计算问答样本集合的信息熵;
116.计算在预设特征信息集合的特征信息条件下,问答样本集合的条件熵;
117.根据信息熵以及条件熵确定稳定值。
118.其中,信息熵可以是衡量问答样本集合的不确定性的值,条件熵可以是衡量在确定的特征信息条件下,问答样本集合的不确定性的值。
119.其中,答复文本样本可以包括分类标识,分类标识可以是对该答复文本样本是否为对应的询问文本样本的正确答案预先进行的标记得到的标识信息。
120.标识信息可以是以参数、tag或者是其他可以起到区分类别的方式。
121.比如,若该答复文本样本为对应的询问文本样本的正确答案,则该答复文本样本对应的分类标识可以是0;若该答复文本样本不为对应的询问文本样本的正确答案,则该答复文本样本对应的分类标识可以是1。
122.比如,具体可以是根据答复文本样本携带的分类标识,计算询问文本样本以及询问文本样本对应的答复文本样本的数量,并统计其中答复文本样本为正确答案的数量,确定答复文本样本为正确答案的频率。
123.以及统计其中答复文本样本不为正确答案的数量,确定答复文本样本不为正确答案的频率。
124.根据公式:计算答复文本样本的信息熵。
125.其中,x表示节点包括的所有答复文本样本,p
i
表示第i个类别的答复文本样本的频率,由于根据分类标识可以确定答复文本样本为正确答案或者不为正确答案的其中一种,所以,在本实施例中,n为2,若p
i
为正确答案的频率,则p2是不为正确答案的频率。
126.根据公式:计算在预设特征信息集合的每个特征信息条件下,问答样本集合的条件熵。
127.其中,p(x
i
,y
i
)表示分类标识x
i
和特征信息y
i
的共现频率。即候选答复文本与特征信息y
i
匹配,且携带的分类标识为x
i
的频率。
128.根据公式:y=argmax
y
{h(x)

h(x|y)}确定目标特征信息。
129.其中,argmax
y
{*}表示取使得括号内值最大的参数y。
130.预设循环结束条件可以有多个条件,比如当为正确答案的答复文本样本与不为正确答案的答复文本样本的比值大于预设阈值时,退出循环。即在一实施例中,“满足预设循环结束条件”,具体可以是:
131.计算问答样本集合中询问文本样本对应的答复文本样本中,分类标识为目标分类标识的答复文本样本的数量,与分类标识为非目标分类标识的答复文本样本的数量的比值;
132.若比值大于预设阈值,则满足预设循环结束条件,结束循环。
133.其中,目标分类标识可以是答复文本样本为对应的询问样本文本的正确答案的标识。
134.比如,具体可以是根据分类标识计算询问文本样本对应的答复文本样本中为正确答案的答复文本样本的数量(假设为40),与不为正确答案的答复文本样本的数量(假设为8)之间的比值(40/8=5),若预设阈值为4(5>4),则确定满足预设循环结束条件,退出循环。
135.预设循环条件还可以是节点层数达到预设层数,即在一实施例中,“满足预设循环结束条件”,具体可以是:
136.获取子节点所在的层数;
137.当层数大于预设层数时,确定满足预设循环结束条件。
138.其中,层数可以是没有进行问答样本集合(未进行特征匹配过的问答样本集合)对应的节点到某一节点(k)的路径所包含的节点数,该节点数即该节点(k)所在的层数。
139.比如,具体可以是获取子节点所在的层数,若层数大于预设层数,则确定满足预设循环结束条件。
140.预设循环条件还可以是当预设特征信息集合中的特征信息均被确定为节点的目标特征信息,即在一实施例中,在步骤“基于问答样本子集生成节点的子节点,以及根据问答样本子集确定子节点对应的目标特征信息”之后,执行:
141.对预设特征集合中,节点对应的目标特征信息进行标记,以及对子节点对应的目标特征信息进行标记;
[0142]“满足预设循环结束条件”,具体可以是:
[0143]
若预设特征集合中不存在没有标记的特征信息,则确定满足循环结束条件。
[0144]
比如,具体可以是确定节点对应的目标特征信息时,对预设特征信息集合中与该目标特征信息对应的特征信息进行标记,以及当确定子节点的目标特征信息时,对预设特征集合中与子节点的目标特征信息对应的特征信息进行标记;子节点确定目标特征信息时,不获取预设特征信息集合中已被标记的特征信息。
[0145]
若预设特征信息集合中的特征信息均被标记,即预设特征信息集合中所有的特征信息都被确定为节点的目标特征信息。
[0146]
可选的,若在第一节点到子节点的路径上包括预设特征信息集合中所有的特征信息,则不对该子节点进行划分,即根据问答样本集合确定节点,该节点可以是根节点,记为
节点a,根据目标特征信息对不断对问答样本集合进行划分,可以得到节点a的子节点b,节点b的子节点c,节点c的子节点d,节点d的子节点e
……
节点a、节点b、节点c、和节点d
……
所对应的目标特征信息为预设特征信息中不同的特征信息,假设当确定节点n时,预设特征信息集合中所有的特征信息均被节点a到节点n的路径上的节点用于划分问答样本集合,则结束确定节点n的目标特征信息,对问答样本进行划分。
[0147]“满足预设循环结束条件”可以是将上述三个条件中的一个条件确定为循环结束的条件,或者是满足上述条件中的任意一个条件即确定为满足预设循环结束条件,或者是从中选择两个条件作为预设循环结束条件,只要满足其中一个条件,即确定为满足预设循环结束条件。
[0148]
104、根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合。
[0149]
其中,目标问答集合可以是由候选询问文本和候选询问文本对应的目标答复文本所构成的整体。
[0150]
比如,具体可以是根据得到的目标答复文本以及目标答复文本对应的候选询问文本生成目标问答集合。
[0151]
目标问答集合还可以根据建立目标答复文本和候选询问文本建立索引关系,生成目标问答集合,即在一实施例中,步骤“根据目标答复文本及目标答复文本对应的候选询问文本,生成目标问答集合”,具体可以是:
[0152]
对目标答复文本与目标答复文本对应的候选询问文本建立索引关系,得到目标问答集合;
[0153]
步骤“当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本”,具体可以是:
[0154]
当接收到待处理询问文本时,基于索引关系,从目标问答集合中查找与待处理询问文本匹配的答复文本;
[0155]
基于待处理询问文本推荐答复文本。
[0156]
其中,索引关系可以时是一种单独的、物理的对数据库表中目标答复文本进行排序的一种存储结构,可以是目标答复文本和相应的指向目标答复文本的候选询问样本的逻辑指针清单。
[0157]
其中,待处理询问文本可以是用户在客户端上输入的需要得到解答的文本,还可以客户端或者客户端对应的服务器根据用户在客户端输入的语音信息得到的需要得到解答的文本。
[0158]
比如,具体可以是在数据库中,对目标答复文本和与目标答复文本对应的候选询问文本的问答对建立索引,当接收客户端的待处理询问文本时,根据索引查找到对应的候选询问文本,并把候选询问文本对应的目标答复文本作为待处理询问文本匹配的答复文本,推荐给客户端。
[0159]
基于索引关系可以快速地定位到答复文本的位置,提高对待处理询问文本的响应速度。
[0160]
105、当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本。
[0161]
比如,具体可以是当接收到客户端发送的待处理询问文本时,确定待处理询问文
本对应的候选询问文本,将目标问答集合中对应的目标答复文本作为待处理问题的答复文本推荐给客户端。
[0162]
由上可知,本技术实施例通过获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本;对候选答复文本进行分析,以获取候选答复文本的属性信息;将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合;当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本。该方案通过获取候选答复文本的属性信息,根据属性信息和目标特征信息进行匹配,可以从候选答复文本中筛选出与问题更加匹配的答复文本,向用户推荐更匹配的答复文本,提高推荐的准确率。
[0163]
在上述实施例的基础上,下面将举例做进一步详细说明。
[0164]
本实施例将以答复文本推荐装置集成在服务器,询问文本为问题、答复文本为答案片段、待处理答复文本为答案文档为例进行详细说明。
[0165]
本技术实施例提供的一种文本推荐方法,该方法可以由服务器的处理器执行,如图3所示,该文本推荐方法的具体流程可以如下:
[0166]
201、对初始分类模型进行训练,以得到训练后模型。
[0167]
2011、获取预设特征信息集合,以及问答样本集合。
[0168]
其中,问答样本集合可以包括问题样本和问题对应的答案片段样本,以及包括答案片段样本的答案文档样本。
[0169]
其中,在本实施例中,预设特征信息集合可以包括以下特征信息:
[0170]
(1)答案片段是否出现在答案文档的第一个短句中。
[0171]
(2)答案片段所在的短句包含字符的个数。
[0172]
(3)问题中的词出现在答案片段所在的短句中的个数。
[0173]
(4)答案片段是否出现在答案文档的第一个自然句中。
[0174]
(5)答案片段所在的自然句包含词的个数。
[0175]
(6)答案片段所在的自然句包含多少个短句。
[0176]
(7)问题中的词出现在答案片段所在的自然句中的个数。
[0177]
(8)问题中的词出现在答案片段附近(窗口为20)的个数。
[0178]
(9)答案文档包含的字符数。
[0179]
(10)答案文档中短句的个数。
[0180]
(11)答案文档中自然句的个数。
[0181]
(12)答案片段的预测概率。
[0182]
(13)答案片段的字符个数。
[0183]
(14)答案片段包含短句的个数。
[0184]
(15)答案片段所在的自然句中是否包含否定词。
[0185]
可以理解的是,预设特征信息集合中个数、预测概率等数值可以根据实际应用场景进行调整,以得到更准确的结果。
[0186]
比如,具体可以是服务器从数据库中获取预设特征信息集合,以及问答样本集合,或者通过网络请求、蓝牙等方式从其他设备上获取预设特征信息集合和问答样本集合。
[0187]
问答样本集合还可以是服务器通过阅读理解模型基于答案片段抽取算法从答案文档样本中抽取除候选答复样本,阅读理解模型比如可以是基于bert的阅读理解模型,或者是基于lstm的阅读理解模型。
[0188]
以基于bert的阅读理解模型为例进行说明。
[0189]
假设问题样本由(x1,x2,

,x
m
)表示,包含答案片段样本的答案文档样本由(y1,y2,

,y
n
)表示,x
i
和y
i
表示问题和段落中的第i个字符。
[0190]
将问题样本和答案文档样本进行拼接得到的词序列:[cls]x1,

,x
m
[sep]y1,

,y
n
[sep],我们采用下面的式子计算每个词的表征,最终得到输出矩阵
[0191]
h=bert([cls],x1,

,x
m
,[sep],y1,

,y
n
,[sep])
[0192]
其中,m和n分别表示问题和段落中词的个数,[cls]和[sep]表示特殊的分隔符号,d表示bert阅读理解模型的隐含层的维度。
[0193]
得到bert输出的隐含表示矩阵h后,我们在它的基础上预测答案片段样本的开始位置和结束位置。
[0194]
具体而言,第i个字符被预测为答案片段样本开始位置的概率p
s
(i=s
a
)和答案片段样本结束位置的概率p
e
(i=e
a
)可由下面的公式计算得到:
[0195][0196][0197]
其中,表示阅读理解模型预测层的权重和偏置参数,s
a
和e
a
分别表示答案的开始位置和结束位置,softmax(*)是归一化函数。阅读理解模型的损失函数l由下面公式定义:
[0198][0199]
其中,表示指示函数,表示只有当括号中的条件成立时该函数的值才为1,否则为0。
[0200]
在bert阅读理解模型训练结束之后,模型的预测结果通过下面的公式得到:
[0201][0202][0203]
s.t.1≤start≤end≤n
[0204]
其中,start表示预测出的答案片段样本在答案文档样本中的开始位置,end表示预测出的答案片段样本在答案文档样本中的结束位置,argmax
i
{*}表示取使得括号内值最大的参数i。另外,模型的预测结果需要保证开始位置的索引小于结束位置的索引,且开始位置和结束位置都必须位于答案文档样本之中。位于start位置和end位置之间的字符串便是问答模型抽取出的答案片段样本。其预测概率的计算方法如下公式所示:
[0205]
[0206]
其中,exp(*)表示指数函数,p
s
(start=s
a
)和p
e
(end=e
a
)分别表示通过公式求得的索引位置start和end分别是答案的开始位置和结束位置的概率。
[0207]
对阅读抽理解模型从答案文档样本中抽取得到的答案片段样本进行正、负样本标识,即标识答案片段样本为问题样本的正确答案(答案片段样本与标准答案精确匹配),或者答案片段样本为问题样本的错误答案(答案片段样本与标准答案非精确匹配)。
[0208]
服务器根据问题样本、答案文档样本、以及阅读抽理解模型从答案文档样本中抽取得到的答案片段样本得到问答样本集合。
[0209]
2012、通过初始分类模型根据问答样本集合生成对应的节点,以及确定节点的目标特征信息。
[0210]
比如,具体可以是服务器通过初始分类模型生成一个节点(根节点),根据问答样本集合从预设特征信息集合中确定该节点的目标特征信息。
[0211]
例如,可以根据答案片段样本携带的分类标识,计算问题样本以及问题样本对应的答案片段样本的数量,并统计其中答案片段样本为正确答案的数量,确定答案片段样本为正确答案的频率。
[0212]
以及统计其中答案片段样本不为正确答案的数量,确定答案片段样本不为正确答案的频率。
[0213]
根据公式:计算答案片段样本的信息熵。
[0214]
其中,x表示节点包括的所有答案片段样本,p
i
表示第i个类别的答案片段样本的频率,由于根据分类标识可以确定答案片段样本为正确答案或者不为正确答案的其中一种,所以,在本实施例中,n为2,若p
i
为正确答案的频率,则p2是不为正确答案的频率。
[0215]
根据公式:计算在预设特征信息集合的每个特征信息条件下,问答样本集合的条件熵,
[0216]
其中,p(x
i
,y
i
)表示分类标识x
i
和特征信息y
i
的共现频率。即候选答案片段与特征信息y
i
匹配,且携带的分类标识为x
i
的频率。
[0217]
根据公式:y=argmax
y
{h(x)

h(x|y)}确定目标特征信息。
[0218]
其中,argmax
y
{*}表示取使得括号内值最大的参数y。
[0219]
对预设特征信息集合中与该目标特征信息对应的特征信息进行标记。
[0220]
2013、根据目标特征信息从问答样本集合中确定第一问答样本子集和第二问答样本子集。
[0221]
比如,具体可以是若确定节点的目标特征信息为“(1)答案片段是否出现在答案文档的第一个短句中”,服务器根据目标特征信息确定问答样本集合中答案片段样本在答案文档样本中的位置,可以根据答案片段样本的结束位置,以及答案文档的第一个标点符号(逗号、句号、问号或者感叹号)的位置,根据二者的位置可以判断答案片段样本是否出现在答案文档的第一个短句中。
[0222]
服务器通过初始分类模型将问题对应的答案片段样本中出现在答案文档的第一个短句的答案片段样本确定为第一问答样本子集;将问题对应的答案片段样本中不是出现在答案文档的第一个短句的答案片段样本确定为第二问答样本子集。
[0223]
2014、将第一问答样本子集作为问答样本集合,返回执行步骤2012,直到满足预设
循环结束条件。
[0224]
比如,具体可以是服务器通过初始分类模型根据第一问答样本子集在节点的基础上生成对应的子节点,递归地确定节点的目标特征信息,并根据目标特征信息不断对问答样本集合划分为两个更小的子集。
[0225]
当新生成的节点所在层数达到预设层数,或者该节点对应的问答样本子集中答案片段样本中为与标准答案精确匹配的答案片段样本的比例达到预设阈值,或者是,预设特征信息集合中所有的特征都被根节点到该节点的路径上的节点确定为目标特征信息,停止对问答文本样本进行划分,即停止对该节点进行分裂得到子节点。
[0226]
2015、将第二问答样本子集作为问答样本集合,返回执行步骤2012,直到满足预设循环结束条件。
[0227]
比如,具体可以是服务器通过初始分类模型根据第一问答样本子集在节点的基础上生成对应的子节点,递归地确定节点的目标特征信息,并根据目标特征信息不断对问答样本集合划分为两个更小的子集。
[0228]
当新生成的节点所在层数达到预设层数,或者该节点对应的问答样本子集中答案片段样本中为与标准答案精确匹配的答案片段样本的比例达到预设阈值,或者是,预设特征信息集合中所有的特征都被根节点到该节点的路径上的节点确定为目标特征信息,停止对问答文本样本进行划分,即停止对该节点进行分裂得到子节点。
[0229]
2016、步骤2014且步骤2015结束循环,得到训练后分类模型。
[0230]
比如,具体可以是当所有节点都满足预设循环结束条件而结束分裂子节点时,得到训练后分类模型。
[0231]
在一实施例中,训练后模型得到的决策树结构的部分结构如图4所示,其中样本数量为该节点对应的问答样本包含的答案片段样本的数量;样本比为答案片段样本中非精确匹配答案的数量,和精确匹配答案的数量,例如样本比[632,404],表示答案片段样本中非精确匹配答案有632个,和精确匹配答案有404个。
[0232]
从图4中的节点b可知,虽然阅读理解模型预测的概率大于0.921,但非精确匹配答案的数量有100个。因此,仅通过阅读理解模型预测答案片段的匹配度并不可靠。
[0233]
202、获取待处理候选问答集合,以及通过问答模型对答案文档进行答案片段提取,以得到候选问答集合。
[0234]
其中,待处理候选问答集合包括问题以及与问题对应的答案文档。
[0235]
其中,答案文档可以是包括答案片段的文档。
[0236]
比如,具体可以是服务器获取问题以及问题对应的答案文档,问题可以对应多个答案文档,比如可以是通过网络爬虫获取,或者是数据库中预先存储的。通过问答模型,例如,基于可以阅读理解模型,具体可以是基于bert的阅读理解模型逐一将答案文档和对应的问题进行拼接,比如可以是分类映射(segment embedding)得到词序列,以及进行词嵌入、位置嵌入映射为实数,得到问题与答案文档之间的表征向量。
[0237]
服务器通过基于bert的阅读理解模型预测表征向量中,答案文档中每个字符所在位置作为候选答案片段的候选开始位置的开始概率,以及每个字符作为候选答案片段的候选结束位置的结束概率。
[0238]
根据每个字符的开始概率确定候选答案片段的第一个字符,比如具体可以是将多
个开始概率中值最大的开始概率对应字符所在的候选开始位置确定为候选答案片段开始的开始位置。
[0239]
根据每个字符的结束概率确定候选答案片段的第一个字符,比如具体可以是将多个结束概率中值最大的结束概率对应字符所在的候选结束位置确定为候选答案片段结束的结束位置。
[0240]
服务器将开始位置和结束位置以及两者之间的字符确定为候选答案片段。对表征向量进行文本片段提取,得到候选答案片段。
[0241]
具体实现过程可以是参照步骤2011的相关过程。
[0242]
但是,现代神经网络模型普遍存在过于置信的问题,例如,存在一个答案片段根据阅读理解模型得到的该答案片段为精确匹配答案的概率很高,但该答案片段为非精确匹配答案。如果简单地通过预测概率的大小判断答案是否合理无疑是不可靠的。尤其是在智能问诊等对答案质量要求极为严格的应用场景下,向患者展示带有误导性的答案可能会造成十分严重的后果。
[0243]
在本技术实施例中,除了通过基于bert的阅读理解模型预测候选答案片段的概率之外,还利用分类模型对候选答案片段进行再次筛选,以得到更加准确的候选答案片段。
[0244]
例如,如图5所示,将候选问答集合输入神经网络模型(具体可以是阅读理解模型)中,服务器通过阅读理解模型对候选问答集合中的答案文档进行提取,得到候选答案片段,输出候选问答集合。再通过训练后分类模型从候选问答集合中筛选目标答案片段,得到目标问答集合。
[0245]
对目标问答集合建立索引,当用户在客户端(的搜索引擎中)输入待处理问题,比如:2019属什么?
[0246]
服务器根据索引从数据库中找到该问题对应的答案片段,比如猪,并将答案片段通过客户端返回给用户。
[0247]
203、通过训练后分类模型确定当前节点,以及当前节点的目标特征信息。
[0248]
比如,具体可以是对初始分类模型进行训练后得到的训练后分类模型包括树结构,树结构可以是决策树结构,根据树结构得到确定的决策路径,确定决策路径上每个节点对应的目标特征信息。
[0249]
服务器通过训练后模型确定当前节点,比如可以是根节点,并确定该节点对应的目标特征信息。
[0250]
决策树的部分结构如图4所示,其中,根节点(节点a)的目标特征信息是:答案片段的预测概率<=0.921。
[0251]
训练后分类模型可以是决策树模型,因为决策树模型的每一步决策都是可解释的,所以可以根据决策树模型的输出确定某一候选答案片段被判断为精确匹配答案或非精确匹配答案的具体原因,即决策树模型具有可解释性。
[0252]
204、根据目标特征信息对候选答案片段进行特征提取,得到文本特征,以得到所述候选答案片段的属性信息。
[0253]
比如,具体可以是若目标特征信息为“(2)答案片段所在的短句包含字符的个数”,则可服务器以根据候选答案片段的开始位置,在答案文档中确定候选答案片段所在的位置,并根据标点符号确定候选答案片段所在的短句。
[0254]
计算该短句包含的字符的个数。
[0255]
205、将所述属性信息与目标特征信息进行特征匹配,得到第一子集和第二子集。
[0256]
比如,具体可以是服务器将候选答案片段中,候选答案片段所在的短句包含的字符的个数小于30的候选答案片段确定为第一子集;将候选答案片段中,候选答案片段所在的短句包含的字符的个数大于或等于30的候选答案片段确定为第二子集。
[0257]
206、将第一子集作为当前节点的第一子节点的候选问答集合,返回执行步骤204,直到第一子节点为目标节点。
[0258]
比如,具体可以是将第一子集作为当前节点的第一子节点的候选问答集合,返回执行204,即递归地根据第一节点的目标特征信息将第一子集划分为更小的子集。
[0259]
207、将第二子集作为当前节点的第二子节点的候选问答集合,返回执行步骤204,直到第二子节点为目标节点。
[0260]
比如,具体可以是将第二子集作为当前节点的第二子节点的候选问答集合,返回执行204,即递归地根据第二节点的目标特征信息将第二子集划分为更小的子集。
[0261]
如图4所示,根据节点a的目标特征信息:答案片段的预测概率<=0.921,将候选问答集合中基于bert的阅读理解模型预测概率大于0.921的候选答复样文本以及对应的答案文档和问题确定为第一子集,将预测概率小于0.921的候选答复样文本以及对应的答案文档和问题确定为第二子集。
[0262]
服务器确定第二子集对应的节点为节点b,以及节点b对应的目标特征信息为:答案片段是否出现在第一个短句;第一子集对应的节点为节点a的另一子节点。
[0263]
将第二子集中答案片段出现在第一个短句的候选答案片段,和答案片段没有出现在第一个短句的候选答案片段划分为两个子集。
[0264]
确定候选答案片段没有出现在第一个短句子集对应的节点为节点c,节点c对应的目标特征信息为:答案片段的字符个数<=3;确定候选答案片段出现在第一个短句的子集对应的节点为节点d,节点d对应的目标特征信息为:答案片段的字符个数<=3。
[0265]
根据节点c的目标特征信息可以将子集划分为更小的两个子集,其中一个子集对应的节点为节点e,从图中可知,节点e为叶子节点,将节点e对应的集合中包括的问题、候选答案片段以及答案文档确定为目标问答集合。
[0266]
当第一节点或者第二节点为目标节点,比如为根节点时,结束循环。
[0267]
208、对目标节点的候选问答集合建立索引,当接收到客户端的待处理问题时,根据索引查找与所述待处理问题匹配的答案片段,并向所述客户端推荐所述答案片段。
[0268]
比如,具体可以是在数据库中,服务器对目标答案片段和与目标答案片段对应的问题的问答对建立索引,当接收客户端的待处理问题时,根据索引查找到对应的问题,并把问题对应的目标答案片段作为待处理问题匹配的答案片段,推荐给客户端。
[0269]
由上可知,本技术实施例通过对初始分类模型进行训练,以得到训练后模型;获取待处理候选问答集合,以及通过问答模型对答案文档进行答案片段提取,以得到候选问答集合;通过训练后分类模型确定当前节点,以及当前节点的目标特征信息;根据目标特征信息对候选答案片段进行特征提取,得到文本特征,以得到所述候选答案片段的属性信息;将所述属性信息与目标特征信息进行特征匹配,得到第一子集和第二子集;将第一子集作为当前节点的第一子节点的候选问答集合,返回执行步骤204,直到第一子节点为目标节点;
将第二子集作为当前节点的第二子节点的候选问答集合,返回执行步骤204,直到第二子节点为目标节点;对目标节点的候选问答集合建立索引,当接收到客户端的待处理问题时,根据索引查找与所述待处理问题匹配的答案片段,并向所述客户端推荐所述答案片段。该方案通过获取候选答案片段的属性信息,根据属性信息和目标特征信息进行匹配,可以从候选答案片段中筛选出与问题更加匹配的答案片段,向用户推荐更匹配的答案片段,提高推荐的准确率。
[0270]
为了便于更好地实施本技术实施例提供的文本推荐方法,在一实施例中还提供了一种答复文本推荐装置。其中名词的含义与上述文本推荐方法中相同,具体实现细节可以参考方法实施例中的说明。
[0271]
该答复文本推荐装置具体可以集成在计算机设备中,如图6所示,该答复文本推荐装置可以包括:获取单元301、分析单元302、筛选单元303、生成单元304和推荐单元305,具体如下:
[0272]
获取单元301:用于获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本。
[0273]
比如,具体可以是从数据库中获取候选问答集合,或者通过网络请求、蓝牙等方式从其他设备上获取候选问答集合。
[0274]
可选的,答复文本推荐装置还包括提取单元,提取单元用于通过神经网络模型获取候选问答集合,具体地,提取单元用于:
[0275]
获取候选询问文本以及候选询问文本对应的待处理答复文本;
[0276]
通过问答模型将候选询问文本和待处理答复文本进行向量嵌入处理,得到候选询问文本与候选答复信息之间的表征向量;
[0277]
对表征向量进行答复文本提取,以得到与待处理答复文本对应的候选答复文本;
[0278]
根据候选答复文本以及候选答复文本对应的候选询问文本生成候选问答集合。
[0279]
比如,具体可以是获取候选询问文本以及候选询问文本对应的待处理答复文本,候选询问文本可以对应多个待处理答复文本,通过问答模型逐一将待处理答复文本和对应的候选询问文本进行拼接,比如可以是分类映射(segment embedding)得到词序列,以及进行词嵌入、位置嵌入映射为实数,得到候选询问文本与候选答复信息之间的表征向量,对表征向量进行文本片段提取,得到候选答复文本。
[0280]
将得到的候选答复文本与对应的候选询问文本进行映射,得到候选询问文本与候选答复文本之间有映射关系的候选问答集合。
[0281]
可选的,提取单元还可以包括确定子单元,确定模块用于从待处理答复文本中确定候选答复文本,具体地,确定子单元用于:
[0282]
通过问答模型预测表征向量中每个字符所在位置作为候选答复文本的候选开始位置的开始概率,以及每个字符所在位置作为候选答复文本的候选结束位置的结束概率;
[0283]
基于开始概率从候选开始位置中确定开始位置,以及基于结束概率从候选结束位置中确定结束位置;
[0284]
基于开始位置和结束位置从待处理答复文本中确定候选答复文本。
[0285]
比如,具体可以是通过问答模型预测表征向量中,待处理答复文本中每个字符所在位置作为候选答复文本的候选开始位置的开始概率,以及每个字符作为候选答复文本的
候选结束位置的结束概率。
[0286]
根据每个字符的开始概率确定候选答复文本的第一个字符,比如具体可以是将多个开始概率中值最大的开始概率对应字符所在的候选开始位置确定为候选答复文本开始的开始位置。
[0287]
根据每个字符的结束概率确定候选答复文本的第一个字符,比如具体可以是将多个结束概率中值最大的结束概率对应字符所在的候选结束位置确定为候选答复文本结束的结束位置。
[0288]
将开始位置和结束位置以及两者之间的字符确定为候选答复文本。
[0289]
分析单元302:用于对候选答复文本进行分析,以获取候选答复文本的属性信息。
[0290]
比如,具体可以是根据目标特征信息对候选答复文本进行相应的分析,得到候选答复文本的属性信息,例如,若目标特征信息可以是候选答复文本是待处理答复文本的第一句话,则可以根据候选答复文本的开始位置确定候选答复文本在待处理答复文本中的位置,获取到的属性信息即为候选答复文本在待处理答复文本中的位置。
[0291]
还可以是根据候选答复文本在待处理答复文本中找到对应的文本,从而确定候选答复文本在待处理答复文本中的位置。
[0292]
除了根据目标特征进行属性信息的获取之外,还可以根据可能对候选答复文本进行的特征匹配,预先获取候选答复文本与特征匹配所需要的所有的属性信息。
[0293]
分析单元302还可以包括获取子单元,获取子单元用于通过神经网络模型获取候选答复文本的属性信息,具体地,获取子单元用于:
[0294]
通过训练后分类模型根据目标特征信息对候选答复文本进行特征提取,得到文本特征;
[0295]
对文本特征进行分析,得到候选答复文本的属性信息。
[0296]
比如,具体可以是通过训练后分类模型确定目标特征信息为候选答复文本所在(待处理答复文本中的)自然句,包括的短句的数量,则确定候选答复文本在待处理答复文本中的位置,对候选答复文本所在的自然句进行逗号、句号、问号以及感叹号等标点符号进行提取,得到候选答复文本的文本特征,对候选答复文本的文本特征进行分析,比如可以是对提取的标点符号的数量进行统计处理,得到标点符号的数量,确定候选答复文本的属性信息为候选答复文本所在自然句中短句的数量为a。
[0297]
筛选单元303:用于将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本。
[0298]
比如,具体可以是将目标答复文本与候选答复文本的属性信息进行匹配,得到候选答复文本中与目标特征信息的匹配结果,将相匹配的候选答复文本作为目标答复文本,或者将不匹配的候选答复文本作为目标答复文本,或者是将匹配结果为匹配作为第一目标答复文本,以及匹配结果为不匹配的候选答复文本作为第二目标答复文本。
[0299]
为了更加使通过训练后分类模型得到的目标答复文本更加准确,可选的,筛选单元303可以包括匹配子单元,用于对候选答复文本进行多次特征匹配,具体地,匹配子单元用于:
[0300]
从多层节点中确定当前节点,将属性信息与当前节点对应的目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;
[0301]
将目标答复文本以及目标答复文本对应的候选询问文本,作为当前节点的子节点的候选问答集合;
[0302]
将上述子节点作为当前节点,返回执行将属性信息与当前节点对应的目标特征信息进行特征匹配的操作,直到当前节点为目标节点,并将得到的子节点的候选问答集合中的候选答复文本作为目标答复文本。
[0303]
比如,具体可以是在多层节点中确定当前节点,以及当前节点的目标特征信息,将候选答复文本的属性信息与目标特征信息进行匹配,根据特征匹配结果从候选答复文本中筛选目标答复文本。
[0304]
将候选目标答复文本以及候选目标答复文本对应的候选询问文本生成的集合作为当前节点的子节点的候选答复文本,并将该子节点作为当前节点,对新的候选答复文本再次进行特征匹配以从新的候选答复文本中筛选目标答复文本。
[0305]
对将目标答复文本作为新的候选答复文本,并从新的候选答复文本中筛选目标答复文本的过程进行迭代,直到节点为目标节点,将该节点得到的候选答复文本以及对应的候选询问文本作为目标答复文本。
[0306]
可选的,可以通过训练后分类模型确定当前节点的目标特征信息,根据当前节点对应的目标特征信息对候选答复文本进行与目标特征信息对应的分析,以得到与目标特征信息对应的属性信息。
[0307]
通过训练后分类模型对从候选答复文本中确定目标答复文本,需要预先对分类模型进行训练,在一实施例中,本实施例提供的答复文本推荐装置还包括训练单元用于对分类模型进行训练,得到训练后分类模型,具体地,训练后分类模型用于:
[0308]
通过初始分类模型获取问答样本集合,以及确定问答样本集合对应的节点和节点对应的目标特征信息;
[0309]
基于节点对应的目标特征信息从问答样本集合中确定问答样本子集;
[0310]
基于问答样本子集生成节点的子节点,以及根据问答样本子集确定子节点对应的目标特征信息;
[0311]
将问答样本子集作为问答样本集合,以及将子节点作为节点,返回执行基于节点对应的目标特征信息从问答样本集合中确定问答样本子集,直至满足预设循环结束条件,得到训练后分类模型。
[0312]
比如,具体可以是获取问答样本集合,并根据该问答样本集合生成对应的节点(为了表述清晰,以下称为第一节点),以及确定目标特征信息,例如,预设特征信息集合中特征信息包括优先级,根据优先级从预设特征信息集合中确定其中的一个特征信息作为节点的目标特征信息(例如获取优先级最高的特征信息)。
[0313]
根据目标特征信息对问答样本集合进行匹配,可以得到两个问答样本子集——第一问答样本子集和第二问答样本子集,可以是第一问答样本子集与目标特征信息相匹配,第二问答样本子集与目标特征信息不匹配。
[0314]
第一节点下,根据问答样本子集生成子节点,具体可以是根据第一问答样本子集生成第一子节点,根据第二问答样本子集生成第二子节点。分别根据第一问答样本子集和第一问答样本子集从预设特征信息中确定特征信息(不同于第一节点对应的目标特征信息的特征信息)作为子节点的目标特征信息。
[0315]
将第一子节点作为第一节点,第一问答样本子集作为问答样本集合,根据目标特征信息从问答样本集合(即第一问答样本子集)确定问答样本子集,以及将第二子节点作为第一节点,第二问答样本子集作为问答样本集合,根据目标特征信息从问答样本集合(即第二问答样本子集)确定问答样本子集。
[0316]
相当于,根据第一子节点对应的目标特征信息中的答复文本样本是否匹配,将第一问答样本子集划分为两个子集(匹配和不匹配),根据得到的子集生成对应的子节点(每个子集对应一个节点),并确定生成的子节点对应的目标特征信息,根据目标特征信息对子集进行划分,即对问答样本集合基于目标特征信息进行迭代划分,直到满足预设循环结束条件,比如当划分次数达到预设次数时,确定满足预设循环结束条件,结束循环,得到训练后分类模型。
[0317]
除了根据预设策略获取目标特征信息之外,在一实施例中,训练单元还可以包括特征确定子单元,特征确定子单元用于根据预设特征信息集合中各特征信息对问答样本集合的产生的影响确定目标特征信息,具体地,特征确定子单元用于:
[0318]
获取问答样本集合和预设特征信息集合,预设特征信息集合包括多个特征信息;
[0319]
在特征信息条件下,通过初始分类模型计算问答样本集合的稳定值;
[0320]
通过初始分类模型确定节点,以及基于稳定值确定节点的目标特征信息。
[0321]
比如,具体可以是获取问答样本集合和预设特征信息集合,计算在预设特征信息集合中的每个特征信息条件下,问答样本集合的稳定值,该稳定值可以是条件熵,即计算在每个特征信息条件下的问答样本集合的条件熵。
[0322]
初始分类模型可以生成一个节点,并根据将多个条件熵中值最小的条件熵对应的特征信息作为节点的目标特征信息。
[0323]
在一实施例中,特征确定子单元还可以包括计算模块,计算模块用于通过计算问答样本集合的信息熵,确定对问答样本集合的信息熵影响最大的特征信息,将该特征信息确定为节点对应的目标特征信息。具体地,计算模块用于:
[0324]
通过初始分类模型基于分类标识,计算问答样本集合的信息熵;
[0325]
计算在预设特征信息集合的特征信息条件下,问答样本集合的条件熵;
[0326]
根据信息熵以及条件熵确定稳定值。
[0327]
比如,具体可以是根据答复文本样本携带的分类标识,计算询问文本样本以及询问文本样本对应的答复文本样本的数量,并统计其中答复文本样本为正确答案的数量,确定答复文本样本为正确答案的频率。
[0328]
以及统计其中答复文本样本不为正确答案的数量,确定答复文本样本不为正确答案的频率。
[0329]
根据公式:计算答复文本样本的信息熵。
[0330]
根据公式:计算在预设特征信息集合的每个特征信息条件下,问答样本集合的条件熵。
[0331]
根据公式:y=argmax
y
{h(x)

h(x|y)}确定目标特征信息。
[0332]
预设循环结束条件可以有多个条件,比如当为正确答案的答复文本样本与不为正确答案的答复文本样本的比值大于预设阈值时,退出循环。即在一实施例中,训练单元还可
以包括循环结束子单元,循环结束子单元用于当满足预设结束循环条件时,结束循环,具体地,循环结束子单元用于:
[0333]
计算问答样本集合中询问文本样本对应的答复文本样本中,分类标识为目标分类标识的答复文本样本的数量,与分类标识为非目标分类标识的答复文本样本的数量的比值;
[0334]
若比值大于预设阈值,则满足预设循环结束条件,结束循环。
[0335]
比如,具体可以是根据分类标识计算询问文本样本对应的答复文本样本中为正确答案的答复文本样本的数量(假设为40),与不为正确答案的答复文本样本的数量(假设为8)之间的比值(40/8=5),若预设阈值为4(5>4),则确定满足预设循环结束条件,退出循环。
[0336]
具体地,循环结束子单元还可以用于:
[0337]
获取子节点所在的层数;
[0338]
当层数大于预设层数时,确定满足预设循环结束条件。
[0339]
比如,具体可以是获取子节点所在的层数,若层数大于预设层数,则确定满足预设循环结束条件。
[0340]
具体地,循环结束子单元还可以用于:
[0341]
对预设特征集合中,节点对应的目标特征信息进行标记,以及对子节点对应的目标特征信息进行标记;
[0342]
若预设特征集合中不存在没有标记的特征信息,则确定满足循环结束条件。
[0343]
比如,具体可以是确定节点对应的目标特征信息时,对预设特征信息集合中与该目标特征信息对应的特征信息进行标记,以及当确定子节点的目标特征信息时,对预设特征集合中与子节点的目标特征信息对应的特征信息进行标记;子节点确定目标特征信息时,不获取预设特征信息集合中已被标记的特征信息。
[0344]
若预设特征信息集合中的特征信息均被标记,即预设特征信息集合中所有的特征信息都被确定为节点的目标特征信息。
[0345]
可选的,若在第一节点到子节点的路径上包括预设特征信息集合中所有的特征信息,则不对该子节点进行划分,即根据问答样本集合确定节点,该节点可以是根节点,记为节点a,根据目标特征信息对不断对问答样本集合进行划分,可以得到节点a的子节点b,节点b的子节点c,节点c的子节点d,节点d的子节点e
……
节点a、节点b、节点c、和节点d
……
所对应的目标特征信息为预设特征信息中不同的特征信息,假设当确定节点n时,预设特征信息集合中所有的特征信息均被节点a到节点n的路径上的节点用于划分问答样本集合,则结束确定节点n的目标特征信息,对问答样本进行划分。
[0346]“满足预设循环结束条件”可以是将上述三个条件中的一个条件确定为循环结束的条件,或者是满足上述条件中的任意一个条件即确定为满足预设循环结束条件,或者是从中选择两个条件作为预设循环结束条件,只要满足其中一个条件,即确定为满足预设循环结束条件。
[0347]
生成单元304:用于根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合。
[0348]
比如,具体可以是根据得到的目标答复文本以及目标答复文本对应的候选询问文本生成目标问答集合。
[0349]
在一实施例中,生成单元还可以包括索引子单元,索引子单元用于根据建立目标答复文本和候选询问文本建立索引关系,生成目标问答集合,推荐单元可以包括查找子单元,具体地,索引子单元可以用于:
[0350]
对目标答复文本与目标答复文本对应的候选询问文本建立索引关系,得到目标问答集合;
[0351]
查找子单元可以用于:
[0352]
当接收到待处理询问文本时,基于索引关系,从目标问答集合中查找与待处理询问文本匹配的答复文本;
[0353]
基于待处理询问文本推荐答复文本。
[0354]
比如,具体可以是在数据库中,对目标答复文本和与目标答复文本对应的候选询问文本的问答对建立索引,当接收客户端的待处理询问文本时,根据索引查找到对应的候选询问文本,并把候选询问文本对应的目标答复文本作为待处理询问文本匹配的答复文本,推荐给客户端。
[0355]
推荐单元305:用于当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本。
[0356]
比如,具体可以是当接收到客户端发送的待处理询问文本时,确定待处理询问文本对应的候选询问文本,将目标问答集合中对应的目标答复文本作为待处理问题的答复文本推荐给客户端。
[0357]
由上可知,本技术实施例通过获取单元301获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本;由分析单元302对候选答复文本进行分析,以获取候选答复文本的属性信息;通过筛选单元303将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;由生成单元304根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合;最后,当接收到客户端的待处理询问文本时,通过推荐单元305从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本该方案通过获取候选答复文本的属性信息,根据属性信息和目标特征信息进行匹配,可以从候选答复文本中筛选出与问题更加匹配的答复文本,向用户推荐更匹配的答复文本,提高推荐的准确率。
[0358]
本技术实施例还提供一种计算机设备,该计算机设备可以是终端,也可以是服务器,如图7所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0359]
该计算机设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0360]
处理器1001是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和计算机程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成
到处理器1001中。
[0361]
存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
[0362]
计算机设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0363]
该计算机设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0364]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器1001会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的计算机程序,从而实现各种功能,如下:
[0365]
获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本;
[0366]
对候选答复文本进行分析,以获取候选答复文本的属性信息;
[0367]
将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;
[0368]
根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合;
[0369]
当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本。
[0370]
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
[0371]
由上可知,本技术实施例的计算机设备获取候选问答集合,候选问答集合包括候选询问文本以及候选询问文本对应的候选答复文本;对候选答复文本进行分析,以获取候选答复文本的属性信息;将属性信息与目标特征信息进行特征匹配,基于特征匹配结果从候选答复文本中筛选目标答复文本;根据目标答复文本以及目标答复文本对应的询问文本,生成目标问答集合;当接收到待处理询问文本时,从目标问答集合中查找与待处理询问文本匹配的答复文本,并基于待处理询问文本推荐答复文本。该方案通过获取候选答复文本的属性信息,根据属性信息和目标特征信息进行匹配,可以从候选答复文本中筛选出与问题更加匹配的答复文本,向用户推荐更匹配的答复文本,提高推荐的准确率。
[0372]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质(也可以简称为存储介质)中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理
器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的方法。
[0373]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0374]
为此,本技术实施例提供一种存储介质,其中存储有计算机程序,该计算机程序,能够被处理器进行加载,以执行本技术实施例所提供的任一种文本推荐方法中的步骤。
[0375]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0376]
其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0377]
由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种文本推荐方法中的步骤,因此,可以实现本技术实施例所提供的任一种文本推荐方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0378]
以上对本技术实施例所提供的一种文本推荐方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献