CN114490959A - 一种以关键词为驱动的动态图神经网络多跳阅读理解方法 - Google Patents
一种以关键词为驱动的动态图神经网络多跳阅读理解方法 Download PDFInfo
- Publication number
- CN114490959A CN114490959A CN202110810163.6A CN202110810163A CN114490959A CN 114490959 A CN114490959 A CN 114490959A CN 202110810163 A CN202110810163 A CN 202110810163A CN 114490959 A CN114490959 A CN 114490959A
- Authority
- CN
- China
- Prior art keywords
- sentence
- sentences
- representation
- context
- question
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 230000003068 static effect Effects 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 8
- 239000004576 sand Substances 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 241000282414 Homo sapiens Species 0.000 abstract description 6
- 239000000284 extract Substances 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000003062 neural network model Methods 0.000 abstract description 2
- 238000005728 strengthening Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 239000010985 leather Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000272525 Anas platyrhynchos Species 0.000 description 1
- 241000219546 Damnacanthus major Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- 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/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种以关键词为驱动的动态图神经网络多跳阅读理解方法,属于人工智能领域中的自然语言理解技术领域。所述方法以关键词为驱动,分别提取问题与上下文中的关键词;该被提取的关键词辅助模型挑选与问题相关的段落,构建句子间的静态推理图,以及引导模型准确定位答案跨度和证据句;接着计算带有边界意识的答案跨度损失用于强化答案的边界;为了解决跨段落句子信息传输受阻的问题,动态检索上下文中的句子,检索到的句子用于动态更新推理图且使用图神经网络模型在推理图中传递信息;联合训练答案跨度和证据句,最终提取答案和证据句,并加以验证。所述方法更符合人类阅读理解的习惯,具有很好地通用性,实用性强,易于推广。
Description
技术领域
本发明涉及一种机器阅读理解方法,特别涉及一种以关键词为驱动的动态图神经网络多跳阅读理解方法,属于人工智能的自然语言理解技术领域。
背景技术
机器阅读理解是自然语言处理领域的研究热点之一,其反映了人工智能技术获取、理解和挖掘文本信息的能力,并在提高机器的认知能力方面具有很高的价值。而多跳阅读理解任务是机器阅读理解的一项重要挑战,因为它兼并了对复杂问题的理解以及在多个分散文本片段中的推理。多跳阅读理解任务又被称为基于跨度的阅读理解,主要目标是让机器阅读人们用自然语言提出的问题,并通过在多个文档中进行推理最终提取出答案以及支撑该答案的证据句。设计这种带有推理能力的多跳阅读理解系统,可以回答人们提出的较为复杂的问题,从而降低人工劳动力。
早期在多跳阅读理解方面的研究主要采用了基于记忆网络的模型,该模型为上下文构建了记忆单元,并在问题与该记忆单元中进行交互,最终提供答案。然而这些模型只能在较小的数据量中取得较为显著的结果,当数据量扩大后,模型的性能有明显的下降。随着数据量的不断扩大,研究人员将目光转向上下文编码方面,首先将来自卷积神经网络(Convolutional Neural Network,CNN)的字符级别编码与预训练词向量模型(如GloVe)的词级别编码相结合,形成最终的词向量。其次采用双向循环神经网络(Bi-directionalRecurrent Neural Network, Bi-RNN)对问题与上下文进行编码,使用双向注意力网络(Bidirectional Attention Network,Bi-attention)在问题与上下文中进行交互。最后,在最终的预测阶段,将多个Bi-RNN与线性层(Linear Layer)堆叠,分阶段地预测答案的起始位置、结束位置和证据句。这类方法在多跳阅读理解任务中取得了显著的效果。后续提出的方法都是在该方法的基础上进行的改进。但是随着大规模自训练模型的发布,例如:ELMo模型、GPT模型、BERT模型、XLNET模型等,多跳阅读理解的性能得到了进一步的提升。许多研究人员将此类预训练模型作为本文编码器,使得不同任务的性能都得到了较大幅度的提升。
随着近些年图神经网络(Graph Neural Network,GNN)的发展,不同的图模型,如:图卷积神经网络(Graph Convolution Network,GCN)、图循环神经网络 (Graph RecurrentNetwork,GRN)、图注意力网络(Graph Attention Network, GAT)均被运用到了多跳阅读理解任务中,并使得多跳阅读理解任务的性能又一次有了明显的提升。因为该模型可以通过聚合多文档间的信息实现跨文档的多跳推理。当前关于GNN上的多跳阅读理解的研究大多集中在基于实体图的推理上。研究人员提取问题以及不同段落中的实体,构建实体级别的推理图,又称为实体间的邻接矩阵,随后采用图神经网络模型在实体图间传递信息,经过多跳的信息传递,得到最终的实体表示。然而,在基于跨度的阅读理解中答案来自于文档中的一个连续的单词序列,而不仅仅由实体表示。所以实体图不足以为该任务提供答案。进而研究人员将目光转向构建句子级别的推理图,以支撑证据句的预测。研究人员采用实体精确匹配技术构建推理图,并使用多关系图卷积神经网络 (Relation-Graph ConvolutionNetwork,R-GCN)在推理图中传递信息。
尽管上述方法都取得了一定的成功,但是多跳阅读理解模型仍存在以下局限:首先,对复杂问题自身关注的工作较少。多跳任务中的问题通常比较冗长,结构也较为复杂,会导致阅读理解任务变得非常的困难。虽然有些研究将一个复杂问题分解为多个简单的子问题,并使用简单的单跳阅读理解模型回答多个子问题。但是问题的分解通常较复杂,分解问题的数量、顺序和准确性都影响模型提取答案的能力。其次,在基于实体匹配的句子级推理图中,被识别的实体通常不能确保完全正确。实体信息的错误使得句子间不能有效连接,导致推理图较为稀疏,从而阻断句子间的信息传递。
发明内容
本发明是为了解决在多跳阅读理解中,由于问题自身复杂性引起的在多个文档中推理困难,从而导致预测出的答案以及证据句的精确匹配度以及F1值较低的问题,提出了一种以关键词为驱动的动态图神经网络多跳阅读理解方法。
为了达到上述目的,本发明采取如下技术方案。
所述以关键词为驱动的动态图神经网络多跳阅读理解方法,包括以下步骤:
步骤1:输入问题和文档集;
其中,输入的问题与文档集对应,文档集中包含多篇文档,每篇文档由一个标题、一个或者多个段落组成,且在文档集中仅有少数文档为答案跨度预测和证据句预测任务提供正向支撑,多数文档为干扰信息;
步骤2:提取问题中的关键词;
其中,问题中的关键词,包括:问题中的实体、问题中的标题以及问题中的核心查询词;问题中的实体使用斯坦福coreNLP工具包提取;问题中的标题是在,问题与文档标题之间,使用字符串精确匹配技术获取;问题中的核心查询词通过一个固定宽度的窗口在问题中锁定;
其中,实体是一个系统内可定义的事物或概念,如:人名、地名、机构名、时间、职位;问题中的核心查询词是疑问词以及疑问词周围的词所组成的词组;
步骤2的作用,包括如下三方面:第一,辅助步骤3选取段落;第二,辅助步骤5构建句子间的静态推理图;第三,引导模型定位答案和证据句;
步骤3:从文档集中选取与问题最相关的3个段落,并且将这3个段落连接为上下文;
具体地,将问题、步骤2提取出的问题中的实体和标题、文档集中的段落,以“[CLS]问题[SEP]问题中的实体与标题[SEP]某一段落[SEP]”形式连接,而后输入到BERT模型中编码,所有单词使用BERT模型采用的WordPiece tokenizer 技术处理为token,使用BERT输出的隐藏层表示中[CLS]的表示作为每个“问题 -问题中的实体与标题-段落”组合的概括向量,进而将该概括向量输入到线性层中,得到每个段落的得分,选择得分最高的3个段落;将选择的3个段落按照得分从高到低的顺序连接为上下文;
其中,[CLS]和[SEP]为人工设定的特殊token,[CLS]用于概括每个“问题- 问题中的实体与标题-段落”组合,[SEP]用于分隔问题、问题中的实体和标题、段落。问题中的实体和标题按照它们出现在问题中从左到右的顺序连接;
步骤4:提取上下文中的关键词;
其中,上下文中的关键词,包括:上下文中的实体、上下文中的标题;上下文中的实体使用斯坦福coreNLP工具包提取;上下文中的标题是在,每个上下文与步骤3选择的段落对应的文档标题之间,使用字符串精确匹配技术获取;
步骤4的作用,辅助步骤5构建句子间的静态推理图;
步骤5:使用步骤1中的问题、步骤2提取出的问题中的关键词和步骤4提取的上下文中的关键词、步骤3中的上下文构建句子间的静态推理图,跳转至步骤12;
其中,句子间的静态推理图中节点为上下文中的句子,边为句子间的关系,构建过程分为以下3步:
5.1:句子间若包含相同的实体或者标题,则在句子间添加边;
5.2:句子间若均与问题有相同的实体或者标题,则在句子间添加边;
5.3:某个句子若包含非本段落的标题,则该句子与标题对应的段落中的所有句子间添加边;
步骤6:连接问题、由步骤2提取的问题中的关键词、步骤3得到的上下文,使用BERT模型对其进行编码,得到隐藏层表示H,分别跳转至步骤7和步骤9;
其中,问题、问题中的关键词、上下文,以“[CLS]问题[SEP]问题中的关键词[SEP]上下文[SEP]”形式连接,输入到BERT模型中编码;问题中的关键词按照它们出现在问题中从左到右的顺序连接;所有单词使用BERT模型采用的 WordPiece tokenizer技术处理为token;
步骤7:将步骤6中隐藏层表示H输入到多层感知机MLP中,分别得到答案跨度开始和结束位置的logit值:logits和logite;
其中,logits和logite的下角标s和e分别表示答案跨度的开始位置和结束位置;
步骤8:计算带有边界意识的答案跨度损失,跳转至步骤16,计算公式如(1) 所示;
Lossspan=(CE(logits,ys)+λs|log((softmax(logits))·(softmax(logits))T)|)+(CE(logite,ye)+λe|log((softmax(logite))·(softmaxxlogite))T)|)
(1)
其中,Lossspan为带有边界意识的答案跨度损失,CE为交叉熵损失函数, logits和logite由步骤7所得,ys和ye分别为答案开始位置和结束位置的标签,λs和λe为边界权重,softmax为激活函数,上角标T表示转置;
步骤9:从BERT模型输出的隐藏层表示H中截取出token级别的问题表示、 token级别问题中的关键词表示以及上下文中每个句子的token级别的表示,并将问题表示、问题中的关键词表示连接为初始查询表示Q;
其中,token级别的问题表示,具体为:使用问题中的第一个token和最后一个token对应的位置索引,从H中截取出;
问题中的关键词表示,具体为:使用第一个关键词的第一个token,和最后一个关键词的最后一个token的位置索引,从H中截取出;
每个句子的token级别的表示,具体为:使用每个句子中的第一个token和最后一个token对应的位置索引,从H中截取出;
初始查询表示Q具体通过将token级别的问题表示、问题中的关键词表示进行串联得出;
步骤10:将token级别的句子表示和初始查询表示编码为单一向量,得到sentence级别的句子表示和初始查询表示,跳转至步骤11和步骤13;
具体地,句子m和初始查询的sentence级别表示的计算公式分别如(2),(3) 所示,上下文中所有句子的sentence级别表示概括为Z=[s1,s2,…,sM];
sm=(softmax(MLP(Sm)))T·Sm (2)
sq=(softmax(MLP(Q)))T·Q (3)
其中,sm为句子m的sentence级别的表示,这里sm中的s为小写字母,Sm为句子m的token级别的表示,这里Sm中的S为大写字母,sq为初始查询q的 sentence级别的表示,MLP为多层感知机;s1为句子1的sentence级别的表示, sM为句子M的sentence级别的表示,M为上下文中所有句子的个数;
步骤11:动态检索上下文中的句子,经两轮检索,并将两轮检索得到的句子分别输入到步骤12中;
具体地,共进行两轮检索,在第一轮检索中,计算初始查询表示与上下文中句子表示的语义相似性,设置覆盖度阈值ξ1,选择M×ξ1个句子,将选择出的 M×ξ1个句子输入到步骤12中,M为上下文中句子的总数;使用双向注意力网络Bi-attention分别对第一轮检索出的M×ξ1个句子表示与初始查询表示进行融合,然后经过平均池化MeanPooling层,更新查询表示;进行第二轮检索,计算新的查询表示与上下文中句子表示间的语义相似性,设置得分阈值ξ2,选择上下文中得分超过阈值的句子,即检索得到的句子,输入到步骤12中;
语义相似性计算公式如(4)所示:
其中,sq,sm分别为初始查询q和句子m的sentence级别的表示,sim(sq,sm) 为初始查询q和句子m间的语义相似度,||||代表取模;
步骤12:使用步骤11中检索到的句子对步骤5中构建的静态推理图进行动态的更新;
具体地,将步骤11中第一轮检索到的句子间添加边;第一轮检索的句子和使用它融合查询形成新的查询后在第二轮中检索到的句子间添加边,并且在第二轮检索到的句子中,是通过同一个新的查询检索到的句子之间添加边;
步骤13:使用图注意力网络GAT模型在推理图中传输句子节点间的信息,经过多跳multi-hop传输后得到最终的句子表示;
具体地,在使用GAT模型进行传输前,所有句子节点的表示为Z= [s1,s2,…,sM],该表示来自步骤10,推理图来自步骤12,句子节点m从t-1到t 次传输的表示如公式(5)-(8)所示,所有句子节点在经过l次传输后最终的句子表示为
其中,U(t),b(t),均为线性映射参数;LeakyReLU,ReLU分别为激活函数;为句子节点m在经过t-1次传输后的表示,为句子节点m在第t 次传输中的表示;为推理图中句子节点m和其邻居句子节点n在第t次传输中经过等式右边计算得到的向量表示,为句子节点m的邻居句子节点n在第t次传输中的表示,代表将和进行连接;为句子节点m的邻居句子节点n在第t次传输中相对于句子节点m包括自身和所有邻居节点的 attention权重,k为句子节点m的邻居句子节点k,的意思是将句子节点m自身以及所有邻居节点的表示进行累加求和,exp为指数函数;Bm为句子节点m包括自身以及其邻居节点的集合,的意思是对句子节点 m自身表示以及所有邻居节点表示进行加权求和,为句子节点m在经过t次传输后的表示;为句子节点1在经过l次传输后的表示,为句子节点M在经过l次传输后的表示;
其中,多跳multi-hop,表示GAT模型中信息经过了多次传输;
步骤14:将句子的最终表示送入多层感知机MLP中,得到每个句子的logit 值logites;
其中,logites的下角标es表示证据句;
步骤15:计算证据句的损失,公式如(9)所示;
Losses=BCE(logites,yes) (9)
其中,Losses为证据句的损失,BCE表示二项交叉熵损失函数,yes为证据句的标签;
步骤16:联合训练答案跨度和证据句;
具体地,将步骤8中带有边界意识的答案跨度的损失和步骤15中证据句的损失相加,联合计算答案跨度预测任务和证据句预测任务的损失,公式如(10)所示;
Loss=Lossspan+γesLosses (10)
其中,γes为平衡不同损失之间的差异而添加的系数;
步骤17:提取答案和证据句,并加以验证。
具体地,使用答案跨度开始位置和结束位置的索引在上下文中提取出答案,使用证据句索引从上下文中提取证据句;先计算提取出的答案与给定的真实答案间的EM值,和F1值,以及提取出的证据句与给定的所有证据句的EM值,和F1 值,其次分别计算两个EM值和两个F1值的调和平均值,得到联合任务的EM值,和F1值;
其中,EM值为精确匹配值;答案跨度预测任务中,精确匹配的意思是,提取出的答案和给定的真实答案要完全一样,F1值是精确率和召回率的调和平均值,精确率是指:在提取出答案的所有单词中,包含在给定的真实答案中的比例,召回率是指:在给定的真实答案的所有单词中,包含在提取出的答案中的比例;证据句预测任务中,精确匹配的意思是,提取出的证据句和给定的所有证据句应完全一致,F1值同样是精确率和召回率的调和平均数,此时的精确率指的是,在提取出的证据句中,包含在给定的所有证据句中的比例,召回率是指:在给定的所有证据句中,包含在提取出的证据句中的比例;
至此,经过步骤1到步骤17,完成了一种以关键词为驱动的动态图神经网络多跳阅读理解方法。
有益效果
本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法,对比现有阅读理解方法,具备以下有益效果:
1.所述方法在对人类的阅读理解行为进行详细研究后进行设计与实现,所以更符合人类阅读理解的习惯;
2.所述方法在步骤2和步骤4中通过使用不同的技术分别提取了问题和上下文中的关键词,减少了在对问题解析时,由于分解的子问题顺序、数量和准确性对下游任务产生的级联错误,并且有益于提升模型在答案跨度预测和证据句预测任务中的精确匹配度和F1值;
3.所述方法步骤8中计算带有边界意识的答案跨度损失,可以缓解由于上下文增长,模型中的噪声数据增多时,答案位置的概率被噪声数据均摊,从而导致答案边界不显著的问题,有益于提升模型在答案跨度预测任务中的精确匹配度和F1值;
4.所述方法步骤11动态检索上下文中的句子以及步骤12对静态推理图进行动态的更新,解决了多跳推理图中连接稀疏从而导致的信息传递受阻的问题,有益于提升模型在证据句预测任务中的精确匹配度和F1值;
5.所述方法不需要额外的参数,具有很好地通用性,实用性强,易于推广。
附图说明
图1为本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法的系统流程图;
图2为本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法中,来自HotpotQA数据集的题型示例图,以及本发明对该示例数据的实施结果;
图3为本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法中静态推理图构建的示例图;
图4为本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法中动态检索上下文中句子的示例图;
图5为本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法中对静态推理图进行动态更新的示例图。
具体实施方式
为了更好地说明本发明的技术方案,下面结合附图1、2、3、4、5和实施例对本发明一种以关键词为驱动的动态图神经网络多跳阅读理解方法做进一步说明和详细描述。
实施例1
结合图1、2、3、4、5,本方法包含如下步骤:
步骤1:输入问题QE:“R.O.Embera was Assistant teacher and Zookeeperduring a person tenure as professor that served during what years?”和一个文档集D;
其中,该文档集共包含10篇文档,问题QE与所对应的文档集D如图2所示。文档集中的每篇文档由一个标题Ti和一个段落Pi构成,其中Ti为文档集中第i篇文档对应的标题,Pi为文档集中第i篇文档中的段落,段落Pi是一个句子序列为段落Pi中的第0个句子,为段落Pi中的第1个句子,句子序列中可能会包含为答案提供支撑的证据句;
步骤2:提取问题中的关键词;
其中,问题中的关键词,包括:问题中的实体、问题中的标题以及问题中的核心查询词;
具体地,使用斯坦福coreNLP工具包提取问题QE中的实体“Assistant teacher”,“Zookeeper”,问题中的实体用于迅速抓住模型的注意力;在问题 QE与文档集中10篇文档的标题“R.O.Embera”、“R.Nike”、“Assistant professor”、“D.J.Balliy”、“S.K.Gimi”、“R.R.Hood”、“R.Holly”、“B.P.Campill”、“Office of P.A.”、“E.D.Majing”之间,使用字符串精确匹配技术获取问题QE中的标题“R.O.Embera”,问题中的标题可直接链接问题到对应的文档;使用一个宽度为3的窗口锁定问题中的核心查询词“during what years”,问题中的核心查询词用于提示模型,答案是一个时间跨度,从而辅助模型更准确地定位答案和证据句;
步骤3:从文档中集选取与问题最相关的3个段落,并且将这3个段落连接为上下文;
具体地,将问题QE“R.O.Embera was Assistant teacher and Zookeeper duringa person tenure as professor that served during what years?”,步骤2提取出的问题中的实体和标题“Assistant teacher”、“Zookeeper”、“R.O.Embera”,文档集中的某一段落“R.O.E,M.D was a personal physician during his student years.His otherroles included Assistant teacher and Zookeeper.”,以“[CLS]R.O.Embera wasAssistant teacher and Zookeeper during a person tenure as professor thatserved during what years?[SEP]R.O.Embera Assistant teacher Zookeeper[SEP]R.O.E,M.D was a personal physician during his student years.His other rolesincluded Assistant teacher and Zookeeper.[SEP]”形式连接,而后输入到BERT模型中编码;所有单词使用BERT模型采用的WordPiece tokenizer技术处理为token;使用BERT模型输出的隐藏层表示中[CLS]的表示作为每个“问题-问题中的实体与标题-段落”组合的概括向量,进而将该概括向量输入到线性层中,得到每个段落的得分;选择得分最高的3个段落“R.O.Embera”,“R. Nike”,“Assistant professor”,这3个段落是根据得分从高到低的顺序排列,由于段落比较长,并且本实施例中每篇文档仅有一个段落,所以这里只展示被选择的3个段落的标题;将选择的3个段落按照得分从高到低的顺序连接为上下文,连接好的上下文如图2的上下文Context所示;
步骤4:提取上下文中的关键词;
其中,上下文中的关键词,包括:上下文中的实体、上下文中的标题;上下文中的实体使用斯坦福coreNLP工具包提取;上下文中的标题是在,每个上下文与步骤3中被选择的段落对应的文档标题“R.O.Embera”,“R.Nike”,“Assistant professor”之间,使用字符串精确匹配技术获取;提取出上下文的关键词如图2的上下文Context中加粗的部分所示;
步骤2和步骤4提取问题和上下文中的关键词,拟合了人类在做阅读理解时从显著信息,也就是关键词入手,以问题为核心,以关键词为驱动,进行段落的粗略定位,以及答案和证据句的精确定位。本发明通过使用不同的技术分别提取了问题和上下文中的关键词,有益于提升模型在答案跨度预测和证据句预测任务中的精确匹配度和F1值;
步骤5:使用步骤1中的问题、步骤2提取出的问题中的关键词和步骤4提取的上下文中的关键词、步骤3中的上下文构建句子间的静态推理图,跳转至步骤12;
其中,句子间的静态推理图中节点为上下文中的句子,边为句子间的关系,构建过程分为以下3步:
5.1:句子间若包含相同的实体或者标题,则在句子间添加边;
5.2:句子间若均与问题有相同的实体或者标题,则在句子间添加边;
5.3:某个句子若包含非本段落的标题,则该句子与标题对应的段落中的所有句子间添加边;
使用上述方法构建的句子间静态推理图如图3所示,上下文中有7个句子,对应静态推理图中s1-s7,7个句子节点,句子s2、s5、s7中包含相同实体“Assistant teacher”对应步骤5.1,并且这个实体“Assistant teacher”出现在问题QE中,对应步骤5.2,所以这3个句子间两两相连;句子s4、s5、s6中都包含相同实体“school”对应步骤5.1,这3个句子间两两相连;由于上下文中没有与标题“R. O.Embera”,“R.Nike”,“Assistant professor”相同的标题,所以本实施例中没有使用到步骤5.3构建静态推理图;
步骤6:连接问题、由步骤2提取的问题中的关键词、步骤3得到的上下文,使用BERT模型对其进行编码,得到隐藏层表示H,分别跳转至步骤7和步骤9;
其中,问题、问题中的关键词、上下文,以“[CLS]R.O.Embera was Assistantteacher and Zookeeper during a person tenure as professor that served duringwhat years?[SEP]R.O.Embera Assistant teacher Zookeeper[SEP]R.O.E,M.D was apersonal physician during his student years.His other roles includedAssistant teacher and Zookeeper.R.M. Nike was the professor from 1969until1974during R.O.E tenure as assistant T.Assistant prof.is a position used formany positions in the school.The school Assistant teacher usually runs thewhole a school.They usually manage the various departments of the school.Whenthe organization of a bureau or another office holds a title other thanAssistant teacher,it can be said to be of professor equivalent rank.[SEP]”形式连接,输入到BERT模型中编码;所有单词使用BERT模型采用的WordPiece tokenizer技术处理为token;
步骤7:将步骤6中隐藏层表示H输入到多层感知机MLP中,分别得到答案跨度开始和结束位置的logit值:logits和logite;
其中,logits和logite的下角标s和e分别表示答案跨度的开始位置和结束位置;
步骤8:计算带有边界意识的答案跨度损失,跳转至步骤16,计算公式如(11) 所示;
Lossspan=(CE(logits,ys)+λs|log((softmax(logits))·(softmax(logits))T)|)+(CE(logite,ye)+λe|log((softmax(logite))·(softmax(logite))T)|)
(ll)
其中,Lossspan为带有边界意识的答案跨度损失,CE为交叉熵损失函数, logits和logite由步骤7所得,ys和ye分别为答案开始位置和结束位置的标签,λs和λe为边界权重,softmax为激活函数,上角标T表示转置;
由于上下文中只包含一个答案跨度,所以上下文越长,模型中的噪声数据就越多,答案位置的概率被噪声数据均摊,导致答案边界不显著,所以计算带有边界意识的答案跨度损失,为了使噪声数据位置的概率尽可能小,答案跨度起始位置和结束位置的概率尽可能大,从而可以缓解,由于上下文增长,模型中的噪声数据增多时,导致答案边界不显著的问题,从而有益于提升模型在答案跨度预测任务中的精确匹配度和F1值;
步骤9:从BERT模型输出的隐藏层表示H中截取出token级别的问题表示、 token级别问题中的关键词表示以及上下文中每个句子的token级别的表示,并将问题表示、问题中的关键词表示连接为初始查询表示Q;
具体地,使用QE“R.O.Embera was Assistant teacher and Zookeeper during aperson tenure as professor that served during what years?”中的第一个token“R.”和最后一个token“?”对应的位置索引,从H中截取出 token级别的问题表示;问题中的关键词“R.O.Embera Assistant teacher Zookeeper”中,使用第一个关键词的第一个token“R.”,和最后一个关键词的最后一个token“Zookeeper”的位置索引,从H中截取出token级别的问题中的关键词表示;使用上下文的每个句子中的第一个token和最后一个token对应的位置索引,从H中截取出每个句子的token级别的表示;初始查询表示Q具体通过将token级别的问题表示、问题中的关键词表示进行串联得出;
步骤10:将token级别的句子表示和初始查询表示编码为单一向量,得到sentence级别的句子表示和初始查询表示,跳转至步骤11和步骤13;
具体地,句子m和初始查询的sentence级别表示的计算公式分别如(12), (13)所示,上下文中所有句子的sentence级别表示概括为Z=[s1,s2,…,sM];
sm=(softmax(MLP(Sm)))T·Sm (12)
sq=(softmax(MLP(Q)))T·Q (13)
其中,sm为句子m的sentence级别的表示,这里sm中的s为小写字母,sm为句子m的token级别的表示,这里Sm中的S为大写字母,sq为初始查询q的 sentence级别的表示,MLP为多层感知机;s1为句子1的sentence级别的表示, sM为句子M的sentence级别的表示,M为上下文中所有句子的个数;
步骤11:动态检索上下文中的句子,经两轮检索,并将两轮检索得到的句子分别输入到步骤12中;
具体地,动态检索上下文中的句子的示例图如图4所示。其中:上下文中包含s1-s7,7个句子,共进行两轮检索,在第一轮检索中,计算初始查询表示与上下文中这7个句子表示的语义相似性,检索到句子s1、s2,将检索到的2个句子输入到步骤12中;使用双向注意力网络Bi-attention分别对第一轮检索出句子 s1、s2的表示和初始查询表示进行融合,然后经过平均池化MeanPooling层,得到新的查询表示s′1、s′2;进行第二轮检索,分别计算这两个新的查询表示s′1、s′2与上下文中7个句子表示间的语义相似性,检索到句子s3、s4、s5,将检索到的 3个句子输入到步骤12中;
语义相似性计算公式如(14)所示:
其中,sq,sm分别为初始查询q和句子m的sentence级别的表示,sim(sq,sm) 为初始查询q和句子m间的语义相似度,||||代表取模;
步骤12:使用步骤11中检索到的句子s1、s2和s3、s4、s5对步骤5中构建的静态推理图进行动态的更新;
具体地,将步骤11中第一轮检索到的句子间添加边;第一轮检索的句子和使用它融合查询形成新的查询后在第二轮中检索到的句子间添加边,在第二轮检索到的句子中,是通过同一个新的查询检索到的句子之间添加边;
推理图的动态更新过程如图5所示,第一行为已构建好的静态推理图,首先,在步骤11第一轮检索到的句子之间添加边,也就是在句子s1和s2间添加边,中间一行是使用第一轮检索的句子更新的推理图;其次,步骤11中通过句子s1与查询Q融合并得到新的查询后在第二轮检索到句子s5,通过句子s2与查询Q融合并得到新的查询后在第二轮检索到句子s3和s4,第一轮检索的句子和使用它融合查询形成新的查询后在第二轮中检索到的句子间添加边,也就是分别在s1和s5, s2和s3,s2和s4之间添加边;在第二轮检索到的句子中,是通过同一个新的查询检索到的句子之间添加边,也就是在s3和s4之间添加边;经过两轮更新后,得到更加稠密的推理图,并且相应的节点邻接矩阵也更加稠密,更新后的推理图如图 5的最后一行所示;
经过步骤11动态检索上下文中的句子以及步骤12中对静态推理图进行动态更新后,可以解决多跳推理图中因连接稀疏而导致的信息传递受阻的问题,进而有益于提升模型在证据句预测任务中的精确匹配度和F1值;
步骤13:使用图注意力网络GAT模型在推理图中传输句子节点间的信息,经过多跳multi-hop传输后得到最终的句子表示;
具体地,在使用GAT模型进行传输前,所有句子节点的表示为Z= [s1,s2,…,sM],该表示来自步骤10,推理图来自步骤12,句子节点m从t-1到t 次传输的表示如公式(15)-(18)所示,所有句子节点在经过l次传输后最终的句子表示为
其中,U(t),b(t),均为线性映射参数;LeakyReLU,ReLU分别为 LeakyReLU和ReLU激活函数;为句子节点m在经过t-1次传输后的表示,为句子节点m在第t次传输中的表示;为推理图中句子节点m和其邻居句子节点n在第t次传输中经过等式右边计算得到的向量表示,为句子节点m的邻居句子节点n在第t次传输中的表示,代表将和进行连接;为句子节点m的邻居句子节点n在第t次传输中相对于句子节点m包括自身和所有邻居节点的attention权重,k为句子节点m的邻居句子节点k,的意思是将句子节点m自身以及所有邻居节点的表示进行累加求和,exp为指数函数;Bm为句子节点m包括自身以及其邻居节点的集合,的意思是对句子节点m自身表示以及所有邻居节点表示进行加权求和,为句子节点m在经过t次传输后的表示;为句子节点1在经过l次传输后的表示,为句子节点M在经过l次传输后的表示;
步骤14:将句子的最终表示送入多层感知机MLP中,得到每个句子的logit 值logites;
其中,logites的下角标es表示证据句;
步骤15:计算证据句的损失,公式如(19)所示;
Losses=BCE(logites,yes) (19)
其中,Losses为证据句的损失,BCE表示二项交叉熵损失函数,yes为证据句的标签;
步骤16:联合训练答案跨度和证据句;
具体地,将步骤8中带有边界意识的答案跨度的损失和步骤15中证据句的损失相加,联合计算答案跨度预测任务和证据句预测任务的损失,公式如(20)所示;
Loss=Lossspan+γesLosses (20)
其中,γes为平衡不同损失之间的差异而添加的系数;
步骤17:提取答案和证据句,并加以验证。
如图2所示,通过本实施例提取的答案为“1969until 1974”,提取的证据句为(“R.O.Embera”:1),(“R.Nike”:0),与给定的真实答案“1969 until 1974”和证据句(“R.O.Embera”:1),(“R.Nike”:0)完全相同,所以在图2所展示的这条数据中,答案跨度预测任务和证据句预测任务,以及两个任务联合预测的EM值和F1值均为100%;
其中,(“R.O.Embera”:1),(“R.Nike”:0)表示,标题为“R.O. Embera”段落中的第2个句子以及标题为“R.Nike”段落中的第1个句子为证据句。
本实施例中,使用内存为11GB的3块NVIDIA Geforce RTX 2080Ti的GPU 加速的硬件环境,在python3.6.5,pytorch-gpu 1.1.0,CUDA10.0的软件环境下,对上述一种以关键词为驱动的动态图神经网络多跳阅读理解方法进行实验。
本实施例的实验使用了HotpotQA数据集中的distractor设置,HotpotQA 数据集是一个大规模的多任务多跳数据集,该数据集基于维基百科的文章并采用众包构建而成。其中包含90564条训练数据,7405条训练数据以及7405条测试数据。
结果分析:
为了验证本实例的有效性和通用型,本发明选用了5种在该任务上流行的方法,加上本实施例中的方法,一共6种方法进行对比,对比的方法分别为: HotpotQA中提出的Baseline方法、KGNN、QFE、DecompRC、DFGN以及本实施例KA-DGN方法。表1为对比结果。从表1中可以看出,本发明方法在HotpotQA数据集上取得了较为显著的结果。
表1实验对比结果
表1中,Baseline方法在词embedding阶段采用CNN的字符级别编码与 GloVe的词级别编码相结合,形成最终的词向量。编码阶段采用Bi-RNN对查询与上下文进行编码,使用Bi-attention在查询与上下文中进行交互。最后,在最终的预测阶段,将多个Bi-RNN与Linear Layer堆叠,分阶段地预测答案的起始位置、结束位置与证据句。KGNN和QFE这两种方法在整体流程框架上与 Baseline基本保持一致,但是KGNN引入了实体图方法,构建了关系事实实体图。而QFE设计了以查询为中心的提取器,其目的是提取与查询相关的句子。DecompRC将复杂问题解析为几个简单的子问题,并使用单跳阅读理解模型回答问题。DFGN使用了预训练BERT模型,并构建包含动态融合层的实体图。
本发明中所述方法以关键词为驱动,符合人类从显著信息,也就是关键词着手进行阅读理解的思路,同时减少了在对复杂问题解析时,由于分解的子问题顺序、数量和准确性对下游任务产生的级联错误,被提取的关键词可以支持不同任务的实施。所述方法针对答案跨度预测任务计算带有边界意识的答案跨度损失,使答案边界位置的概率更大,噪声数据的概率更小,提升了模型在答案跨度预测任务中的EM值和F1值。所述方法针对证据句预测,构建了句子间的静态推理图,并且为了解决因连接稀疏而导致的信息传递受阻的问题,动态检索上下文中的句子,并通过检索到的句子对静态推理图进行动态更新,提升了模型在证据句预测任务中的EM值和F1值。所述方法不需要额外的参数,具有很好地通用性,实用性强,易于推广。
以上所述的具体描述,仅为本发明的具体实施例,仅用于解释本发明而非对本发明的限制。凡是不脱离本发明所公开的精神下完成的等效或修改,均应在本发明的保护范围之内。
Claims (9)
1.一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:包括以下步骤:
步骤1:输入问题和文档集;
步骤2:提取问题中的关键词;
其中,问题中的关键词,包括:问题中的实体、问题中的标题以及问题中的核心查询词;问题中的实体使用斯坦福coreNLP工具包提取;问题中的标题是在,问题与文档标题之间,使用字符串精确匹配技术获取;问题中的核心查询词通过一个固定宽度的窗口在问题中锁定;
其中,实体是一个系统内可定义的事物或概念;问题中的核心查询词是疑问词以及疑问词周围的词所组成的词组;
步骤2的作用,包括如下三方面:第一,辅助步骤3选取段落;第二,辅助步骤5构建句子间的静态推理图;第三,引导模型定位答案和证据句;
步骤3:从文档集中选取与问题最相关的3个段落,并且将这3个段落连接为上下文;
步骤4:提取上下文中的关键词;
其中,上下文中的关键词,包括:上下文中的实体、上下文中的标题;上下文中的实体使用斯坦福coreNLP工具包提取;上下文中的标题是在,每个上下文与步骤3选择的段落对应的文档标题之间,使用字符串精确匹配技术获取;
步骤4的作用,辅助步骤5构建句子间的静态推理图;
步骤5:使用步骤1中的问题、步骤2提取出的问题中的关键词和步骤4提取的上下文中的关键词、步骤3中的上下文构建句子间的静态推理图,跳转至步骤12;
其中,句子间的静态推理图中节点为上下文中的句子,边为句子间的关系,构建过程分为以下3步:
5.1:句子间若包含相同的实体或者标题,则在句子间添加边;
5.2:句子间若均与问题有相同的实体或者标题,则在句子间添加边;
5.3:某个句子若包含非本段落的标题,则该句子与标题对应的段落中的所有句子间添加边;
步骤6:连接问题、由步骤2提取的问题中的关键词、步骤3得到的上下文,使用BERT模型对其进行编码,得到隐藏层表示H,分别跳转至步骤7和步骤9;
步骤7:将步骤6中隐藏层表示H输入到多层感知机MLP中,分别得到答案跨度开始和结束位置的logit值:logits和logite;
其中,logits和logite的下角标s和e分别表示答案跨度的开始位置和结束位置;
步骤8:计算带有边界意识的答案跨度损失,跳转至步骤16,计算公式如(1)所示;
其中,Lossspan为带有边界意识的答案跨度损失,CE为交叉熵损失函数,logits和logite由步骤7所得,ys和ye分别为答案开始位置和结束位置的标签,λs和λe为边界权重,softmax为激活函数,上角标T表示转置;
步骤9:从BERT模型输出的隐藏层表示H中截取出token级别的问题表示、token级别问题中的关键词表示以及上下文中每个句子的token级别的表示,并将问题表示、问题中的关键词表示连接为初始查询表示Q;
步骤10:将token级别的句子表示和初始查询表示编码为单一向量,得到sentence级别的句子表示和初始查询表示,跳转至步骤11和步骤13;
步骤11:动态检索上下文中的句子,经两轮检索,并将两轮检索得到的句子分别输入到步骤12中;
具体地,共进行两轮检索,在第一轮检索中,计算初始查询表示与上下文中句子表示的语义相似性,设置覆盖度阈值ξ1,选择M×ξ1个句子,将选择出的M×ξ1个句子输入到步骤12中,M为上下文中句子的总数;使用双向注意力网络Bi-attention分别对第一轮检索出的M×ξ1个句子表示与初始查询表示进行融合,然后经过平均池化MeanPooling层,更新查询表示;进行第二轮检索,计算新的查询表示与上下文中句子表示间的语义相似性,设置得分阈值ξ2,选择上下文中得分超过阈值的句子,即检索得到的句子,输入到步骤12中;
其中,语义相似性计算公式如(4)所示:
其中,sq,sm分别为初始查询q和句子m的sentence级别的表示,sim(sq,sm)为初始查询q和句子m间的语义相似度,||||代表取模;
步骤12:使用步骤11中检索得到的句子对步骤5中构建的静态推理图进行动态的更新;
具体地,将步骤11中第一轮检索到的句子间添加边;第一轮检索的句子和使用它融合查询形成新的查询后在第二轮中检索到的句子间添加边,并且在第二轮检索到的句子中,是通过同一个新的查询检索到的句子之间添加边;
步骤13:使用图注意力网络GAT模型在推理图中传输句子节点间的信息,经过多跳multi-hop传输后得到最终的句子表示;
其中,多跳multi-hop,表示GAT模型中信息经过了多次传输;
步骤14:将句子的最终表示送入多层感知机MLP中,得到每个句子的logit值logites;
其中,logites的下角标es表示证据句;
步骤15:计算证据句的损失,公式如(9)所示;
Losses=BCE(logites,yes) (9)
其中,Losses为证据句的损失,BCE表示二项交叉熵损失函数,yes为证据句的标签;
步骤16:联合训练答案跨度和证据句;
步骤17:提取答案和证据句,并加以验证。
2.根据权利要求1所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤1中,输入的问题与文档集对应,文档集中包含多篇文档,每篇文档由一个标题、一个或者多个段落组成,且在文档集中仅有少数文档为答案跨度预测和证据句预测任务提供正向支撑,多数文档为干扰信息。
3.根据权利要求2所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤3,具体为:将问题、步骤2提取出的问题中的实体和标题、文档集中的段落,以“[CLS]问题[SEP]问题中的实体与标题[SEP]某一段落[SEP]”形式连接,而后输入到BERT模型中编码,所有单词使用BERT模型采用的WordPiece tokenizer技术处理为token,使用BERT模型输出的隐藏层表示中[CLS]的表示作为每个“问题-问题中的实体与标题-段落”组合的概括向量,进而将该概括向量输入到线性层中,得到每个段落的得分,选择得分最高的3个段落;将选择的3个段落按照得分从高到低的顺序连接为上下文;
其中,[CLS]和[SEP]为人工设定的特殊token,[CLS]用于概括每个“问题-问题中的实体与标题-段落”组合,[SEP]用于分隔问题、问题中的实体和标题、段落;问题中的实体和标题按照它们出现在问题中从左到右的顺序连接。
4.根据权利要求3所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤6中,问题、问题中的关键词、上下文,以“[CLS]问题[SEP]问题中的关键词[SEP]上下文[SEP]”形式连接,输入到BERT模型中编码;问题中的关键词按照它们出现在问题中从左到右的顺序连接;所有单词使用BERT模型采用的WordPiece tokenizer技术处理为token。
5.根据权利要求4所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤9中,token级别的问题表示,具体为:使用问题中的第一个token和最后一个token对应的位置索引,从H中截取出;token级别问题中的关键词表示,具体为:使用第一个关键词的第一个token,和最后一个关键词的最后一个token的位置索引,从H中截取出;每个句子的token级别的表示,具体为:使用每个句子中的第一个token和最后一个token对应的位置索引,从H中截取出;初始查询表示Q具体通过将token级别的问题表示、问题中的关键词表示进行串联得出。
6.根据权利要5所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤10,具体为,句子m和初始查询的sentence级别表示的计算公式分别如(2),(3)所示,上下文中所有句子的sentence级别表示概括为Z=[s1,s2,…,sM];
sm=(softmax(MLP(Sm)))T·Sm (2)
sq=(softmax(MLP(Q)))T·Q (3)
其中,sm为句子m的sentence级别的表示,这里sm中的s为小写字母,Sm为句子m的token级别的表示,这里Sm中的S为大写字母,sq为初始查询q的sentence级别的表示,MLP为多层感知机;s1为句子1的sentence级别的表示,sM为句子M的sentence级别的表示,M为上下文中所有句子的个数。
7.根据权利要求6所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤13,具体为:在使用GAT模型进行传输前,所有句子节点的表示为Z=[s1,s2,…,sM],该表示来自步骤10,推理图来自步骤12,句子节点m从t-1到t次传输的表示如公式(5)-(8)所示,所有句子节点在经过l次传输后最终的句子表示为
其中,U(t),b(t),均为线性映射参数;LeakyReLU,ReLU分别为激活函数;为句子节点m在经过t-1次传输后的表示,为句子节点m在第t次传输中的表示;为推理图中句子节点m和其邻居句子节点n在第t次传输中经过等式右边计算得到的向量表示,为句子节点m的邻居句子节点n在第t次传输中的表示,代表将和进行连接;为句子节点m的邻居句子节点n在第t次传输中相对于句子节点m包括自身和所有邻居节点的attention权重,k为句子节点m的邻居句子节点k,的意思是将句子节点m自身以及所有邻居节点的表示进行累加求和,exp为指数函数;Bm为句子节点m包括自身以及其邻居节点的集合,的意思是对句子节点m自身表示以及所有邻居节点表示进行加权求和,为句子节点m在经过t次传输后的表示;为句子节点1在经过l次传输后的表示,为句子节点M在经过l次传输后的表示。
8.根据权利要求7所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤16,具体为:将步骤8中带有边界意识的答案跨度的损失和步骤15中证据句的损失相加,联合计算答案跨度预测任务和证据句预测任务的损失,公式如(10)所示;
Loss=Lossspan+γesLosses (10)
其中,γes为平衡不同损失之间的差异而添加的系数。
9.根据权利要求8所述的一种以关键词为驱动的动态图神经网络多跳阅读理解方法,其特征在于:步骤17,具体为:使用答案跨度开始位置和结束位置的索引在上下文中提取出答案,使用证据句索引从上下文中提取证据句;先计算提取出的答案与给定的真实答案间的EM值,和F1值,以及提取出的证据句与给定的所有证据句的EM值,和F1值,其次分别计算两个EM值和两个F1值的调和平均值,得到联合任务的EM值,和F1值;
其中,EM值为精确匹配值;答案跨度预测任务中,精确匹配的意思是,提取出的答案和给定的真实答案要完全一样,F1值是精确率和召回率的调和平均值,精确率是指:在提取出答案的所有单词中,包含在给定的真实答案中的比例,召回率是指:在给定的真实答案的所有单词中,包含在提取出的答案中的比例;证据句预测任务中,精确匹配的意思是,提取出的证据句和给定的所有证据句应完全一致,F1值同样是精确率和召回率的调和平均数,此时的精确率指的是,在提取出的证据句中,包含在给定的所有证据句中的比例,召回率是指:在给定的所有证据句中,包含在提取出的证据句中的比例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810163.6A CN114490959B (zh) | 2021-07-18 | 2021-07-18 | 一种以关键词为驱动的动态图神经网络多跳阅读理解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110810163.6A CN114490959B (zh) | 2021-07-18 | 2021-07-18 | 一种以关键词为驱动的动态图神经网络多跳阅读理解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490959A true CN114490959A (zh) | 2022-05-13 |
CN114490959B CN114490959B (zh) | 2024-07-16 |
Family
ID=81491552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110810163.6A Active CN114490959B (zh) | 2021-07-18 | 2021-07-18 | 一种以关键词为驱动的动态图神经网络多跳阅读理解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490959B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230123026A1 (en) * | 2021-10-18 | 2023-04-20 | Yandex Europe Ag | Two-phase neural network architecture for user-specific search ranking |
CN117892331A (zh) * | 2024-03-14 | 2024-04-16 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047550A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 一种p2p网络的组内结构及其组网方法 |
KR20190118744A (ko) * | 2018-04-11 | 2019-10-21 | 한국과학기술원 | 딥러닝 기반의 지식 구조 생성 방법을 활용한 의료 문헌 구절 검색 방법 및 시스템 |
CN110688491A (zh) * | 2019-09-25 | 2020-01-14 | 暨南大学 | 基于深度学习的机器阅读理解方法、系统、设备及介质 |
US20200134263A1 (en) * | 2017-07-13 | 2020-04-30 | National Institute Of Information And Communications Technology | Non-factoid question-answering device |
CN111274800A (zh) * | 2020-01-19 | 2020-06-12 | 浙江大学 | 基于关系图卷积网络的推理型阅读理解方法 |
CN111538819A (zh) * | 2020-03-27 | 2020-08-14 | 北京工商大学 | 一种基于文档集多跳推理的问答系统的构建方法 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111814982A (zh) * | 2020-07-15 | 2020-10-23 | 四川大学 | 面向多跳问答的动态推理网络及方法 |
CN112347756A (zh) * | 2020-09-29 | 2021-02-09 | 中国科学院信息工程研究所 | 一种基于序列化证据抽取的推理阅读理解方法及系统 |
CN112380835A (zh) * | 2020-10-10 | 2021-02-19 | 中国科学院信息工程研究所 | 融合实体和句子推理信息的问题答案提取方法及电子装置 |
CN112417104A (zh) * | 2020-12-04 | 2021-02-26 | 山西大学 | 一种句法关系增强的机器阅读理解多跳推理模型及方法 |
CN113076431A (zh) * | 2021-04-28 | 2021-07-06 | 平安科技(深圳)有限公司 | 机器阅读理解的问答方法、装置、计算机设备及存储介质 |
US20210209139A1 (en) * | 2020-01-02 | 2021-07-08 | International Business Machines Corporation | Natural question generation via reinforcement learning based graph-to-sequence model |
-
2021
- 2021-07-18 CN CN202110810163.6A patent/CN114490959B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047550A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 一种p2p网络的组内结构及其组网方法 |
US20200134263A1 (en) * | 2017-07-13 | 2020-04-30 | National Institute Of Information And Communications Technology | Non-factoid question-answering device |
KR20190118744A (ko) * | 2018-04-11 | 2019-10-21 | 한국과학기술원 | 딥러닝 기반의 지식 구조 생성 방법을 활용한 의료 문헌 구절 검색 방법 및 시스템 |
CN110688491A (zh) * | 2019-09-25 | 2020-01-14 | 暨南大学 | 基于深度学习的机器阅读理解方法、系统、设备及介质 |
US20210209139A1 (en) * | 2020-01-02 | 2021-07-08 | International Business Machines Corporation | Natural question generation via reinforcement learning based graph-to-sequence model |
CN111274800A (zh) * | 2020-01-19 | 2020-06-12 | 浙江大学 | 基于关系图卷积网络的推理型阅读理解方法 |
CN111538819A (zh) * | 2020-03-27 | 2020-08-14 | 北京工商大学 | 一种基于文档集多跳推理的问答系统的构建方法 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111814982A (zh) * | 2020-07-15 | 2020-10-23 | 四川大学 | 面向多跳问答的动态推理网络及方法 |
CN112347756A (zh) * | 2020-09-29 | 2021-02-09 | 中国科学院信息工程研究所 | 一种基于序列化证据抽取的推理阅读理解方法及系统 |
CN112380835A (zh) * | 2020-10-10 | 2021-02-19 | 中国科学院信息工程研究所 | 融合实体和句子推理信息的问题答案提取方法及电子装置 |
CN112417104A (zh) * | 2020-12-04 | 2021-02-26 | 山西大学 | 一种句法关系增强的机器阅读理解多跳推理模型及方法 |
CN113076431A (zh) * | 2021-04-28 | 2021-07-06 | 平安科技(深圳)有限公司 | 机器阅读理解的问答方法、装置、计算机设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230123026A1 (en) * | 2021-10-18 | 2023-04-20 | Yandex Europe Ag | Two-phase neural network architecture for user-specific search ranking |
CN117892331A (zh) * | 2024-03-14 | 2024-04-16 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
CN117892331B (zh) * | 2024-03-14 | 2024-05-24 | 山东仁正认证技术有限公司 | 一种科技成果共享平台的数据安全存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114490959B (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lan et al. | Albert: A lite bert for self-supervised learning of language representations | |
CN108733742B (zh) | 全局归一化阅读器系统和方法 | |
CN110083705A (zh) | 一种用于目标情感分类的多跳注意力深度模型、方法、存储介质和终端 | |
Jafarpour et al. | Filter, rank, and transfer the knowledge: Learning to chat | |
CN111814982B (zh) | 面向多跳问答的动态推理网络系统及方法 | |
CN111274794B (zh) | 一种基于传递的同义词扩展方法 | |
CN112650840A (zh) | 一种基于知识图谱推理的医疗智能问答处理方法及系统 | |
CN110222163A (zh) | 一种融合cnn与双向lstm的智能问答方法及系统 | |
CN111914556B (zh) | 基于情感语义转移图谱的情感引导方法及系统 | |
CN110232113B (zh) | 一种提高知识库问答准确度的方法及系统 | |
CN113297364A (zh) | 一种面向对话系统中的自然语言理解方法及装置 | |
CN110083824A (zh) | 一种基于多模型组合神经网络的老挝语分词方法 | |
CN112818106A (zh) | 一种生成式问答的评价方法 | |
CN114490959A (zh) | 一种以关键词为驱动的动态图神经网络多跳阅读理解方法 | |
CN114428850B (zh) | 一种文本检索匹配方法和系统 | |
CN111639254A (zh) | 一种医疗领域的sparql查询语句的生成系统和方法 | |
Xiong et al. | DGI: recognition of textual entailment via dynamic gate matching | |
CN114077673A (zh) | 一种基于btbc模型的知识图谱构建方法 | |
CN115017279A (zh) | 基于文本语义匹配的Stack Overflow相关问答检索方法 | |
CN113239666A (zh) | 一种文本相似度计算方法及系统 | |
CN113204970A (zh) | 一种BERT-BiLSTM-CRF命名实体检测模型及装置 | |
CN113407697A (zh) | 深度百科学习的中文医疗问句分类系统 | |
CN115510814A (zh) | 一种基于双重规划的篇章级复杂问题生成方法 | |
Ahmad et al. | A novel hybrid methodology for computing semantic similarity between sentences through various word senses | |
CN116403231A (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 |