CN116401356B - 基于历史信息追踪的知识图谱多轮问答方法及系统 - Google Patents
基于历史信息追踪的知识图谱多轮问答方法及系统 Download PDFInfo
- Publication number
- CN116401356B CN116401356B CN202310673951.4A CN202310673951A CN116401356B CN 116401356 B CN116401356 B CN 116401356B CN 202310673951 A CN202310673951 A CN 202310673951A CN 116401356 B CN116401356 B CN 116401356B
- Authority
- CN
- China
- Prior art keywords
- entity
- vector
- question
- round
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 239000013598 vector Substances 0.000 claims abstract description 267
- 238000012546 transfer Methods 0.000 claims abstract description 89
- 238000010586 diagram Methods 0.000 claims abstract description 35
- 238000013507 mapping Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 11
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000007418 data mining Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据挖掘技术领域,提出了基于历史信息追踪的知识图谱多轮问答方法及系统,包括:根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;根据当前轮次的历史问答信息向量更新实体转移图中的节点状态,并计算实体转移图中每个实体的实体分数;更新实体转移图中的节点状态,并计算实体转移图中每个实体的实体分数;更新当前轮次的问题向量,得到包含历史问题信息的问题向量;根据实体分数、包含历史问题信息的问题向量计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,用于预测答案。通过上述技术方案,解决了现有技术中基于知识图谱的多轮问答方法准确度低的问题。
Description
技术领域
本发明涉及数据挖掘技术领域,具体的,涉及基于历史信息追踪的知识图谱多轮问答方法及系统。
背景技术
知识图谱是一种描述真实世界客观存在的实体、概念及它们之间的关联关系的语义网络,用于以符号形式描述物理世界中的概念及其相互关系。其基本构成单位是<头实体,关系,尾实体>组成的三元组,大量实体间通过关系相互联结,构成网状的知识结构。知识图谱旨在通过建立数据之间的语义关联链接,将碎片化的数据有机组织起来,让数据更加容易被人和机器理解和处理,为许多下游智能应用提供了数据支持,如网络搜索和人机交互等等。
人机交互系统(例如智能语音助手)可基于知识图谱的智能问答方式(也可称为知识图谱问答)与用户交互:给定自然语言问题,基于知识图谱对问题进行理解,并根据问题理解的结果从知识图谱中查找或推理出问题对应的答案。知识图谱问答相较于基于无结构文本的问答,在数据关联度、数据精度、检索效率等方面具有优势。因此,知识图谱问答一直是学术界和工业界广泛关注的话题。
在实际的应用场景中,用户的问题常常是一连串的(也即会有多轮问答),当用户问出下一个问题时,往往会省略历史问答中提到过的关键信息,在这种情况下准确度就会大幅度下降。
发明内容
本发明提出基于历史信息追踪的知识图谱多轮问答方法及系统,解决了相关技术中基于知识图谱的多轮问答方法准确度低的问题。
本发明的技术方案如下:
第一方面,基于历史信息追踪的知识图谱多轮问答方法,包括:
根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将当前轮次的问题中所有单词映射为对应的词向量得到;
根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;所述各个历史问题向量包括当前轮次之前每一轮次的问题向量;任一轮次的问题向量通过将该轮次的问题中所有单词映射为对应的词向量得到;
将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。
第二方面,基于历史信息追踪的知识图谱多轮问答系统,包括:
历史问答信息编码模块,用于根据当前轮次的问题向量和当前轮次的答案向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将问题中所有单词映射为对应的词向量得到,所述当前轮次的答案向量通过将答案中所有单词映射为对应的词向量得到;
实体转移图模块,用于根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;所述各个历史问题向量包括当前轮次之前每一轮次的问题向量;任一轮次的问题向量通过将该轮次的问题中所有单词映射为对应的词向量得到;
答案预测模块,用于将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。
本发明的工作原理及有益效果为:
本发明通过更新实体转移图,实现追踪历史问答中出现的实体;通过实体转移图中每个实体分数的计算,能够表征当前问题最关注哪个实体;并根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;最后将实体分数和包含历史问题信息的问题向量用于查询路径的概率计算,选择概率值最高的路径,根据该路径得到的答案作为预测答案。这样得到的预测答案,能够综合考虑实体和当前问题的相关性、以及当前问题与历史问答信息的相关信息,避免了多轮问答中省略关键信息造成的应答错误的问题。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明基于历史信息追踪的知识图谱多轮问答方法流程图;
图2为本发明基于历史信息追踪的知识图谱多轮问答系统结构示意图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都涉及本发明保护的范围。
实施例1
如图1所示,本实施例基于历史信息追踪的知识图谱多轮问答方法包括:
S100: 根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将当前轮次的问题中所有单词映射为对应的词向量得到。
本实施例中,当前问答信息表示为:<,/>,/>>, />为第i轮问题,/>为第i轮答案,两者都为单词/>组成的序列,/>,/>,/>为上一轮历史问答信息的向量表示。
以 为例,首先将问题中所有单词 />映射为对应的词向量 />,则:
然后将输入到双向LSTM中并池化,得到d维的问题向量:
采用单向LSTM将问题向量用于历史问答信息向量更新:
。
S300:根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
在多轮问答场景下,用户提问时经常会省略历史对话中提到过的主体,比如用代词替代提到过的名词。对于语言模型来说,缺失问题主体信息的情况下无法获取正确的答案,为了解决这个问题,本实施例引入了图卷积神经网络来通过实体转移图追踪问题主体信息。
S500:根据历史问答中的各个问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量。
多轮问答场景下,用户提问时经常会省略历史对话中提到过的问题信息,比如询问另一件商品的同一属性时,会省略要提问的属性。对于语言模型来说,缺失问题信息的情况下无法获取正确的答案,为了解决这个问题,本实施例引入了注意力机制,使模型能够充分利用历史问题信息。
S700:将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。具体为:
其中, 为当前轮次的答案向量,其计算过程与步骤S100中问题向量的计算过程相同。
本实施例在知识图谱中选择两跳以内的所有查询路径是因为这里中的u已经是经过广撒网筛选出来的了,大概率是距离答案很近的实体,没必要消耗算力去进行更深层的查询。
其中,知识图谱根据本实施例问答场景相关的信息事先构建,例如,对于医学类的问答场景,可以根据医学领域的信息构建知识图谱,这是本领域的公知常识,这里不做赘述。
本实施例通过更新实体转移图,实现追踪历史问答中出现的实体;通过实体转移图中每个实体分数的计算,能够表征当前问题最关注哪个实体;并根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;最后将实体分数和包含历史问题信息的问题向量用于查询路径的概率计算,选择概率值最高的路径,根据该路径得到的答案作为预测答案。这样得到的预测答案,能够综合考虑实体和当前问题的相关性、以及当前问题与历史问答信息的相关信息,避免了多轮问答中省略关键信息造成的应答错误的问题。
进一步,步骤S500具体包括:
将当前问题向量和当前轮次之前的所有问题向量横向连接,得到问题矩阵;
通过自注意力机制将当前问题向量映射为Query向量,将问题矩阵映射为Key 向量和Value向量,将Query向量与key向量进行内积运算得到所有向量的相关度;利用相关度作为权值对Value向量加权平均得到包含历史问题信息的问题向量。具体为:
S510:在步骤S100中得到d维问题向量 的基础上,将所有问题向量横向连接,可得到问题矩阵/>。
S520:将当前问题编码映射为Query:
将所有历史问题映射为Key和Value:
S530:接下来计算注意力分数,并得到包含历史问答信息的问题向量:
其中,为将原问题向量映射为对应Query,Key,Value的矩阵,/>为包含历史问题信息的问题向量。
进一步,步骤S700中选出与当前问题qi相关的多个实体作为实体集合Uq,具体包括:
构建倒排索引,将知识图谱所有实体描述中大于设定长度的n-gram映射到对应的实体,得到第一实体集合;
通过命名实体识别方法从第一实体集合中筛选出当前问题qi中出现的实体,作为第二实体集合;
通过倒排索引从当前问题qi中筛选所有大于设定长度的n-gram对应的实体,输入第二实体集合,所述第二实体集合作为实体集合Uq。
进一步,上述设定长度为4。
过短的设定长度会影响匹配的精度,比如work和horrible两个词都有“or”这个2-gram,但是完全是不相同的意思。early和earlier是类似的意思,都包涵"earl"这个4-gram,如果设定长度5则这两个词不能匹配。所以本实施例综合考虑查找覆盖率和精准度的需要,将设定长度设置为4。
进一步,步骤S700中计算实体集合Uq中每一实体u与当前问题qi的相关分数,具体包括:
Uq中任一实体u由知识图谱中描述它的句子来表示,,w表示句子中单词对应的词向量,上标d表示向量维度,下标|u|表示向量长度;当前问题qi由知识图谱中描述它的句子来表示,/> ,下标|q|表示向量长度;
通过注意力机制计算u,qi之间的词相关度:
其中,表示实体/>中每一个词向量,/>表示当前问题qi中每一个词向量,/>表示第一线性变换;
将 归一化,得到
其中,表示向量连接,/>为内积运算,exp( )表示以自然对数为底的指数运算;
对于实体u中每一个,使用归一化的词相关度对当前问题qi中的词向量进行加权求和,得到与词向量/>对应的、经过注意力机制处理后的问题特征向量/>:
将每个与对应的/>相连接并求和,经过线性变换后得到表示实体u与当前问题qi关系的向量/>:
根据向量计算实体u的特征向量fu:
其中,表示实体u中字母在当前问题qi中出现百分比的1维向量;/>是一个2维one-hot向量,如果该实体是通过命名实体识别方法找到的,则赋值为[1 0],如果是通过倒排索引找到的,则赋值为[0 1];/>是表示命名实体识别方法对实体打分的1维向量,如果该实体是通过命名实体方法识别找到的,则赋值为1,如果是通过倒排索引找到的,则赋值为0;/>表示第二线性变换;
根据特征向量fu,计算每个实体u与当前问题qi的相关分数:
其中, 表示第三线性变换,b1为第一偏置参数。
按照上述方法计算出每个实体u与当前问题qi的相关分数之后,即可根据相关分数选取选出相关分数最高的K个实体作为新的实体集合,对所有,在知识图谱中选择以u为起点,包含1-2个关系的查询路径,得到查询路径集合/>。
进一步,步骤S700中根据实体转移图中每个实体的实体分数、包含历史问题信息的问题向量计算路径集合Cq中每一路径的概率值,具体包括:
获取路径矩阵 Mc;所述路径矩阵 Mc包括所述查询路径集合Cq中各查询路径的特征向量Cenc:
根据路径矩阵Mc计算所述查询路径集合Cq中任一查询路径c’与当前问题qi的相关分数和概率/>:
其中, 表示第四线性变换, />表示包含历史问题信息的问题向量,FocalScore表示实体转移图中每个实体的实体分数,b2为第二偏置参数。
进一步,步骤S300中根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图,具体包括:
对于每个实体,如果e未添加到实体转移图中,将其作为新节点加入;
对于前一轮答案ai-1(这里的答案ai-1即为一个实体),如果该实体未添加到实体转移图中,将其作为新节点加入;
对于每个新加入图中的实体e,对其添加一个从e出发指向自身的“自循环边”;
对于每个实体,添加一个从e出发指向ai-1的“前向边”;
对于每个实体,添加一个从ai-1出发指向e的“后向边”;
对于每个实体,添加一个从ai-1出发指向e的“后向边”,其中S1为第一轮问答中得到的实体集合。
进一步,步骤S300中计算实体转移图中每个实体的实体分数,具体包括:
当前轮次i的实体转移图为实体转移图Gi;上一轮次i-1的实体转移图为实体转移图Gi-1;所述计算更新后的实体转移图中每个实体的实体分数,具体包括:
其中,表示在实体转移图Gi-1中与e有连接关系的边/>与实体集合,/>表示实体转移图Gi-1中的所有向量;/>是上一轮次历史问答信息向量的转置向量;
根据实体转移图Gi每一实体e中的向量表示ei计算该实体e的实体分数:
其中,FocalScore表示实体分数,表示实体e所在句子的向量表示,代表实体e在实体转移图Gi中的度,/>为当前轮次的实体权重,/>为当前轮次的偏置参数,实体权重和偏置参数对于每一轮次是独立训练的。
本实施例使用一个公开数据集ConvQuestions,验证本实施例方法的有效性,该数据集包含11200组数据,可基于Wikidata知识图谱进行评估。其包含五个主题的对话信息:“Books”、“Movies”、“Soccer” 、“Music” 、“TV series”, 问题具有各种复杂的问题现象,如比较、聚合、组合和时间推理。每组数据包含5个连续的带有答案标注的问答信息,答案基于维基数据实体,以便在各种方法之间进行公平比较。
在本实验中,使用一种基于查询图的单轮知识图谱问答方法SingleTurn,一种基于编码器模型的多轮问答方法ConvHistory和基于中心实体追踪的方法Focal,设计了三种知识图谱问答方法作为基线:
SingleTurn:一种知识图谱单轮问答方法,使用AllenNLP命名实体识别工具抽取话题实体,然后根据话题实体生成的查询图生成答案。
ConvHistory:一种知识图谱多轮问答方法,在SingleTurn基础上,使用双层编码器对历史问题编码,然后根据历史问题信息生成答案。
Focal:一种知识图谱多轮问答方法,在SingleTurn基础上,使用实体转移图计算焦点实体分布,然后根据焦点实体信息生成答案。
为表述方便,将本实施例方法记作ConvFocal。同时,设置了一组实验验证本实施例的有效性:
本实验将准确率(Acc)和F1分数作为性能指标,准确率、精确率、召回率、F1通过如表1所示的混淆矩阵进行定义:
表1 混淆矩阵表
其中,True Positive(真正,TP)为将实际上的正类预测为正类的总数;TrueNegative(真负,TN)为将实际上的负类预测为负类的总数;FalsePositive(假正,FP)为将实际上的负类预测为正类的总数;False Negative(假负,FN)为将实际上的正类预测为负类的总数。据此,准确率的定义为:
表示所有样例中,判断正确的比例。精确率被定义为:
表示所有被判断为正类的样例中,实际为正类的比例。召回率被定义为:
表示所有实际的正例中,被预测出来的比例。理想的状况下希望精确率和召回率都很高,但是实际上两者是矛盾的。通常情况下,可以找到两者之间的平衡点,因此定义一个新的指标F1分数,同时考虑精确率和召回率:
预处理流程使用Pytorch工具包提供的模型,使用torch.nn.Embedding工具初始化词向量,向量值在正态分布N(0,1)中随机取值。词向量的维度设置为300,词典长度为30522。下面通过对比分析本实施例方法ConvFocal和现有取得先进结果的方法的Acc和F1实验结果,来说明本实施例方法的效果和性能,本实施例方法ConvFocal在知识图谱多轮问答任务上的实验结果分别如下表2、表3和表4所示:
表2 开发集的Acc和测试集的Acc/F1结果
表3 按照问题轮次的Acc结果
表4 焦点实体追踪Acc结果
从上表可以看出:
(1)在ConvQuestions数据集下,本实施例的方法ConvFocal在开发集取得最好的Acc值,在测试集取得最好的Acc与F1值,这是由于本实施例引入了历史问题信息,表明在问题向量上使用注意力机制有助于答案预测;
(2)在按照问题轮次的Acc结果中,本实施例的ConvFocal方法在Q2-Q5轮次均取得了最好的效果,表明引入历史问题信息在多轮问答场景效果显著,在靠后的轮次中优势更为明显;
(3)本实施例在Q1轮次的问答中Acc值弱于其他方法,此时Focal方法也弱于效果最好的ConvHistory。其原因是第一轮问答等效知识图谱单轮问答,在引入实体转移图和注意力机制时,本实施例为多轮问答提供了更多参考信息,而对于单轮问答场景,这些信息对问答有一定程度的干扰,但该方法在后续轮次中效果提升明显,对整体准确率提升较大,因此在Q1轮次的Acc损失是可接受的;
ConvFocal比Focal获得了更好的焦点实体追踪准确率,这是因为在实体转移图环节比Focal的实体预测结果更准确,这表明本实施例对实体特征编码的优化有助于焦点实体的预测。
实施例2
如图2所示,基于与上述实施例相同的发明构思,本实施例提出基于历史信息追踪的知识图谱多轮问答系统,包括:
历史问答信息编码模块,用于根据当前轮次的问题向量和当前轮次的答案向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将问题中所有单词映射为对应的词向量得到,所述当前轮次的答案向量通过将答案中所有单词映射为对应的词向量得到;
实体转移图模块,用于根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
历史问答信息追踪模块,用于根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;所述各个历史问题向量包括当前轮次之前每一轮次的问题向量;任一轮次的问题向量通过将该轮次的问题中所有单词映射为对应的词向量得到;
答案预测模块,用于将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。
进一步,还包括:
第一计算单元,用于:
将当前问题向量和当前轮次之前的所有问题向量横向连接,得到问题矩阵;
通过自注意力机制将当前问题向量映射为Query向量,将问题矩阵映射为Key 向量和Value向量,将Query向量与key向量进行内积运算得到所有向量的相关度;利用相关度作为权值对Value向量加权平均得到包含历史问题信息的问题向量。
进一步,还包括:
第一选择单元,用于选出与当前问题qi相关的多个实体作为实体集合Uq,具体包括:
构建倒排索引,将知识图谱所有实体描述中大于设定长度的n-gram映射到对应的实体,得到第一实体集合;
通过命名实体识别方法从第一实体集合中筛选出当前问题qi中出现的实体,作为第二实体集合;
通过倒排索引从当前问题qi中筛选所有大于设定长度的n-gram对应的实体,输入第二实体集合,所述第二实体集合作为实体集合Uq。
进一步,上述设定长度为4。
进一步,Uq中任一实体u由知识图谱中描述它的句子来表示,,w表示句子中单词对应的词向量,上标d表示向量维度,下标|u|表示向量长度;当前问题qi由知识图谱中描述它的句子来表示,/>,下标|q|表示向量长度;还包括:
第二计算单元,用于计算实体集合Uq中每一实体u与当前问题qi的相关分数,具体为:
通过注意力机制计算u与qi之间各词向量间的词相关度,其中,实体u中任一词向量表示为,当前问题qi中任一词向量表示为/>,/>与/>间的词相关度/>为:
;d表示维度;/>表示连接;/>表示第一线性变换;
将归一化,得到归一化的词相关度/>;
对于实体u中每一个,使用归一化的词相关度对当前问题qi中的词向量进行加权求和,得到与词向量/>对应的、经过注意力机制处理后的问题特征向量/>:
将每个与对应的/>相连接并求和,经过第二线性变换后得到表示实体u与当前问题qi关系的向量/>:
根据向量计算实体u的特征向量fu:
其中,表示实体u中字母在当前问题qi中出现百分比的1维向量;/>是一个2维one-hot向量,如果该实体是通过命名实体识别方法找到的,则赋值为[1 0],如果是通过倒排索引找到的,则赋值为[0 1];/>是表示命名实体识别方法对实体打分的1维向量,如果该实体是通过命名实体方法识别找到的,则赋值为1,如果是通过倒排索引找到的,则赋值为0;/>表示第二线性变换;
根据特征向量fu,计算每个实体u与当前问题qi的相关分数:
其中, 表示第三线性变换,b1为第一偏置参数。
进一步,还包括:
第三计算单元,用于根据实体转移图中每个实体的实体分数、包含历史问题信息的问题向量计算路径集合Cq中每一路径的概率值,具体为:
获取路径矩阵 Mc;所述路径矩阵 Mc包括所述查询路径集合Cq中各查询路径的特征向量Cenc:
根据路径矩阵Mc计算所述查询路径集合Cq中任一查询路径c’与当前问题qi的相关分数和概率/>:
其中, 表示第四线性变换, />表示包含历史问题信息的问题向量,FocalScore表示实体转移图中每个实体的实体分数,b2为第二偏置参数。
进一步,还包括:
第一更新单元,用于根据历史问答信息向量更新实体转移图中的节点状态,具体为:
对于每个实体,如果e未添加到实体转移图中,将其作为新节点加入;
对于前一轮答案ai-1(这里的答案ai-1即为一个实体),如果该实体未添加到实体转移图中,将其作为新节点加入;
对于每个新加入图中的实体e,对其添加一个从e出发指向自身的“自循环边”;
对于每个实体,添加一个从e出发指向ai-1的“前向边”;
对于每个实体,添加一个从ai-1出发指向e的“后向边”;
对于每个实体,添加一个从ai-1出发指向e的“后向边”,其中S1为第一轮问答中得到的实体集合。
进一步,还包括:
第四计算单元,用于计算实体转移图中每个实体的实体分数,具体为:
当前轮次i的实体转移图为实体转移图Gi;上一轮次i-1的实体转移图为实体转移图Gi-1;所述计算更新后的实体转移图中每个实体的实体分数,具体包括:
其中,表示在实体转移图Gi-1中与e有连接关系的边/>与实体集合,/>表示实体转移图Gi-1中的所有向量;/>是上一轮次历史问答信息向量的转置向量;
根据实体转移图Gi每一实体e中的向量表示ei计算该实体e的实体分数:
其中,FocalScore表示实体分数,表示实体e所在句子的向量表示,代表实体e在实体转移图Gi中的度,/>为当前轮次的实体权重,/>为当前轮次的偏置参数,实体权重和偏置参数对于每一轮次是独立训练的。
进一步,还包括:
第二更新单元,用于根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量,具体为:
将当前轮次的问题向量输入到单向LSTM中,得到当前轮次的历史问答信息向量;
单向LSTM的处理包括:
其中,为上一轮次的历史问答信息向量/>为当前轮次的问题向量。
本实施例基于历史信息追踪的知识图谱多轮问答系统的工作原理在方法实施例中已有详细的描述,为了说明书的简洁,这里不做赘述。
以上仅为本实施例的较佳实施例而已,并不用以限制本实施例,凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。
Claims (10)
1.基于历史信息追踪的知识图谱多轮问答方法,其特征在于,包括:
根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将当前轮次的问题中所有单词映射为对应的词向量得到;
根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;所述各个历史问题向量包括当前轮次之前每一轮次的问题向量;任一轮次的问题向量通过将该轮次的问题中所有单词映射为对应的词向量得到;
将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。
2.根据权利要求1所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量,具体包括:
将当前问题向量和当前轮次之前的所有问题向量横向连接,得到问题矩阵;
通过自注意力机制将当前问题向量映射为Query向量,将问题矩阵映射为Key 向量和Value向量,将Query向量与key向量进行内积运算得到所有向量的相关度;利用相关度作为权值对Value向量加权平均,得到包含历史问题信息的问题向量。
3.根据权利要求1所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述选出与当前问题qi相关的多个实体作为实体集合Uq,具体包括:
构建倒排索引,将知识图谱所有实体描述中大于设定长度的n-gram映射到对应的实体,得到第一实体集合;
通过命名实体识别方法从第一实体集合中筛选出当前问题qi中出现的实体,作为第二实体集合;
通过倒排索引从当前问题qi中筛选所有大于设定长度的n-gram对应的实体,输入第二实体集合,所述第二实体集合作为实体集合Uq。
4.根据权利要求3所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述设定长度为4。
5. 根据权利要求1-4任一项所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,Uq中任一实体u由知识图谱中描述它的句子来表示,,w表示句子中单词对应的词向量,上标d表示向量维度,下标|u|表示向量长度;当前问题qi 由知识图谱中描述它的句子来表示,/> ,下标|q|表示向量长度;
所述计算实体集合Uq中每一实体u与当前问题qi的相关分数,具体包括:
通过注意力机制计算u与qi之间各词向量间的词相关度,其中,实体u中任一词向量表示为 ,当前问题qi中任一词向量表示为/>,/>与/>间的词相关度/>为:
;d表示维度;/>表示连接;/>表示第一线性变换;
将归一化,得到归一化的词相关度/>;
对于实体中每一个词向量/>,使用归一化的词相关度对当前问题qi 中的各词向量进行加权求和,得到与词向量/>对应的、经过注意力机制处理后的问题特征向量/>:
将实体u中各词向量与对应的问题特征向量相连接并求和,经过线性变换后得到表示实体u与当前问题qi关系的向量 :
根据向量 计算实体u的特征向量fu:
其中,表示实体u中字母在当前问题qi中出现百分比的1维向量;/>是一个2维one-hot向量,如果该实体是通过命名实体识别方法找到的,则赋值为[1 0],如果是通过倒排索引找到的,则赋值为[0 1]; />是表示命名实体识别方法对实体打分的1维向量,如果该实体是通过命名实体方法识别找到的,则赋值为1,如果是通过倒排索引找到的,则赋值为0;/>表示第二线性变换;
根据特征向量fu,计算每个实体u与当前问题qi的相关分数:
其中,表示第三线性变换,/>为第一偏置参数。
6.根据权利要求1-4任一项所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量计算路径集合Cq中每一路径的概率值,具体包括:
获取路径矩阵;所述路径矩阵/>包括所述查询路径集合Cq中各查询路径的特征向量:
根据路径矩阵计算所述查询路径集合Cq中任一查询路径c’与当前问题qi的相关分数s(c’,qi)和概率p(c’|qi):
其中,表示第四线性变换,/>表示包含历史问题信息的问题向量,/>表示实体转移图中每个实体的实体分数,b2为第二偏置参数。
7.根据权利要求1-4任一项所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图,具体包括:
对于每个实体,如果e未添加到实体转移图中,将其作为新节点加入;
对于前一轮答案,如果该实体未添加到实体转移图中,将其作为新节点加入;
对于每个新加入图中的实体e,对其添加一个从e出发指向自身的“自循环边”;
对于每个实体,添加一个从e出发指向/>的“前向边”;
对于每个实体,添加一个从/>出发指向e的“后向边”;
对于每个实体,添加一个从/>出发指向e的“后向边”,其中S1为第一轮问答中得到的实体集合。
8.根据权利要求1-4任一项所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述计算实体转移图中每个实体的实体分数,具体包括:
当前轮次i的实体转移图为实体转移图Gi;上一轮次i-1的实体转移图为实体转移图Gi -1;所述计算更新后的实体转移图中每个实体的实体分数,具体包括:
其中,表示在实体转移图Gi-1中与e有连接关系的边/>与实体集合,/>表示实体转移图Gi-1中的所有向量;/>是上一轮次历史问答信息向量的转置向量;
根据实体转移图Gi每一实体e中的向量表示ei计算该实体e的实体分数:
其中,FocalScore表示实体分数, 表示实体e所在句子的向量表示,/>代表 实体e在实体转移图Gi中的度,/>为当前轮次的实体权重,/>为当前轮次的偏置参数,实体权重和偏置参数对于每一轮次是独立训练的。
9.根据权利要求1-4任一项所述的基于历史信息追踪的知识图谱多轮问答方法,其特征在于,所述根据当前轮次的问题向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量,具体包括:
将当前轮次的问题向量输入到单向LSTM中,得到当前轮次的历史问答信息向量;
单向LSTM的处理包括:
其中,为上一轮次的历史问答信息向量,/>为当前轮次的问题向量。
10.基于历史信息追踪的知识图谱多轮问答系统,其特征在于,包括:
历史问答信息编码模块,用于根据当前轮次的问题向量和当前轮次的答案向量对上一轮次的历史问答信息向量进行更新,得到当前轮次的历史问答信息向量;所述当前轮次的问题向量通过将问题中所有单词映射为对应的词向量得到,所述当前轮次的答案向量通过将答案中所有单词映射为对应的词向量得到;
实体转移图模块,用于根据当前轮次的历史问答信息向量更新上一轮次的实体转移图,得到当前轮次对应的实体转移图;计算当前轮次的实体转移图中每个实体的实体分数;当前轮次的实体转移图包括历史问答中的实体;
历史问答信息追踪模块,用于根据各个历史问题向量更新当前轮次的问题向量,得到包含历史问题信息的问题向量;所述各个历史问题向量包括当前轮次之前每一轮次的问题向量;任一轮次的问题向量通过将该轮次的问题中所有单词映射为对应的词向量得到;
答案预测模块,用于将当前轮次的问题作为当前问题qi,选出与当前问题qi相关的多个实体作为实体集合Uq,计算实体集合Uq中每一实体u与当前问题qi的相关分数,选出相关分数最高的K个实体作为新的实体集合;以实体集合/>中的每一实体u为起点,将知识图谱中两跳以内的所有查询路径作为查询路径集合Cq;根据实体转移图中每个实体的实体分数、以及所述包含历史问题信息的问题向量,计算路径集合Cq中每一路径的概率值;选择概率值最高的路径,所对应的答案作为当前轮次的预测答案;根据当前轮次的答案向量再次更新历史问答信息向量,用于下一轮的答案预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673951.4A CN116401356B (zh) | 2023-06-08 | 2023-06-08 | 基于历史信息追踪的知识图谱多轮问答方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673951.4A CN116401356B (zh) | 2023-06-08 | 2023-06-08 | 基于历史信息追踪的知识图谱多轮问答方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116401356A CN116401356A (zh) | 2023-07-07 |
CN116401356B true CN116401356B (zh) | 2023-10-31 |
Family
ID=87018407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310673951.4A Active CN116401356B (zh) | 2023-06-08 | 2023-06-08 | 基于历史信息追踪的知识图谱多轮问答方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401356B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522966A (zh) * | 2020-04-22 | 2020-08-11 | 深圳追一科技有限公司 | 基于知识图谱的数据处理方法、装置、电子设备及介质 |
CN113268610A (zh) * | 2021-06-22 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 基于知识图谱的意图跳转方法、装置、设备及存储介质 |
CN115599902A (zh) * | 2022-12-15 | 2023-01-13 | 西南石油大学(Cn) | 一种基于知识图谱的油气百科问答方法及系统 |
CN115640410A (zh) * | 2022-12-06 | 2023-01-24 | 南京航空航天大学 | 基于强化学习路径推理的知识图谱多跳问答方法 |
CN115757715A (zh) * | 2022-10-28 | 2023-03-07 | 浙江工业大学 | 一种基于知识图谱表示学习的复杂问题多跳智能问答方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832145B2 (en) * | 2015-10-05 | 2020-11-10 | International Business Machines Corporation | Techniques for resolving entities in received questions |
-
2023
- 2023-06-08 CN CN202310673951.4A patent/CN116401356B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522966A (zh) * | 2020-04-22 | 2020-08-11 | 深圳追一科技有限公司 | 基于知识图谱的数据处理方法、装置、电子设备及介质 |
CN113268610A (zh) * | 2021-06-22 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 基于知识图谱的意图跳转方法、装置、设备及存储介质 |
CN115757715A (zh) * | 2022-10-28 | 2023-03-07 | 浙江工业大学 | 一种基于知识图谱表示学习的复杂问题多跳智能问答方法 |
CN115640410A (zh) * | 2022-12-06 | 2023-01-24 | 南京航空航天大学 | 基于强化学习路径推理的知识图谱多跳问答方法 |
CN115599902A (zh) * | 2022-12-15 | 2023-01-13 | 西南石油大学(Cn) | 一种基于知识图谱的油气百科问答方法及系统 |
Non-Patent Citations (4)
Title |
---|
Jianlong Ren et al.Multi-attending Memory Network for Modeling Multi-turn Dialogue.《HPCCT '19: Proceedings of the 2019 3rd High Performance Computing and Cluster Technologies Conference》.2019,第237–242页. * |
Junnan Dong et al.Hierarchy-Aware Multi-Hop Question Answering over Knowledge Graphs.《WWW '23: Proceedings of the ACM Web Conference 》.2023,第2519–2527页. * |
基于知识图谱的多轮问答系统;徐梦婷;《万方学位论文》;第1-69页 * |
大规模知识图谱下的融入知识对话生成方法研究;薛昊;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2023年卷(第02期);第I138-3854页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116401356A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096567B (zh) | 基于qa知识库推理的多轮对话回复选择方法、系统 | |
CN116775847A (zh) | 一种基于知识图谱和大语言模型的问答方法和系统 | |
CN111506721A (zh) | 一种面向领域知识图谱的问答系统及构建方法 | |
CN116127095A (zh) | 一种序列模型与知识图谱结合的问答方法 | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
KR102457821B1 (ko) | 자연어 이해 및 질의응답 기반의 의사결정 지원 장치 및 방법 | |
CN115618113A (zh) | 一种基于知识图谱表示学习的搜索召回方法和系统 | |
CN117236410B (zh) | 一种可信的电子文件大语言模型训练、推理方法和装置 | |
CN110727769B (zh) | 语料库生成方法及装置、人机交互处理方法及装置 | |
CN115577080A (zh) | 一种问题回复匹配方法、系统、服务器及存储介质 | |
CN117349423A (zh) | 一种模板匹配式水利领域知识问答模型 | |
CN118132719A (zh) | 一种基于自然语言处理的智能对话方法及系统 | |
CN118113815A (zh) | 内容搜索方法、相关装置和介质 | |
Almeida et al. | BIT. UA at BioASQ 8: Lightweight Neural Document Ranking with Zero-shot Snippet Retrieval. | |
CN113342944B (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
CN117708270A (zh) | 企业数据查询方法、装置、设备及存储介质 | |
CN111309926B (zh) | 一种实体链接方法、装置及电子设备 | |
CN116401356B (zh) | 基于历史信息追踪的知识图谱多轮问答方法及系统 | |
CN117290478A (zh) | 一种知识图谱问答方法、装置、设备和存储介质 | |
CN109977235B (zh) | 一种触发词的确定方法和装置 | |
Mozafari et al. | Attention-based pairwise multi-perspective convolutional neural network for answer selection in question answering | |
JP2024003752A (ja) | 検索結果ソートモデルの訓練方法、検索結果ソート方法、検索結果ソートモデルの訓練装置、検索結果ソート装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム | |
CN110633363A (zh) | 一种基于nlp和模糊多准则决策的文本实体推荐方法 | |
Liu et al. | A Chinese question answering system based on web search | |
CN115238705A (zh) | 语义解析结果重排序方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |