CN114841170B - 融合事实文本的问句分解式语义解析方法 - Google Patents
融合事实文本的问句分解式语义解析方法 Download PDFInfo
- Publication number
- CN114841170B CN114841170B CN202210288047.7A CN202210288047A CN114841170B CN 114841170 B CN114841170 B CN 114841170B CN 202210288047 A CN202210288047 A CN 202210288047A CN 114841170 B CN114841170 B CN 114841170B
- Authority
- CN
- China
- Prior art keywords
- information
- text
- fact text
- fact
- sequence
- 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
- 238000000354 decomposition reaction Methods 0.000 title claims abstract description 41
- 238000004458 analytical method Methods 0.000 title claims abstract description 40
- 230000004927 fusion Effects 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000007246 mechanism Effects 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 52
- 239000002585 base Substances 0.000 claims description 34
- 230000008447 perception Effects 0.000 claims description 22
- 239000012458 free base Substances 0.000 claims description 7
- 238000013461 design Methods 0.000 claims description 6
- 230000006872 improvement Effects 0.000 claims description 5
- 101150047356 dec-1 gene Proteins 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 12
- 238000002474 experimental method Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000009411 base construction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000001272 neurogenic effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及融合事实文本的问句分解式语义解析方法,属于自然语言处理技术领域。本发明包括步骤:分为分解‑抽取‑解析三个阶段,首先把复杂问题分解成简单子问题序列,然后抽取原始问题和子问题中的关键信息,最后通过整合以上信息生成结构化查询语句。同时,为了避免在分解过程中实体判断错误或主题实体缺失的情况,又将知识库中的三元组转化成用自然语言描述的事实文本信息,构造事实文本库,采用注意力机制获取更丰富的知识,旨在增强实体的表示信息,减少错误传播。本发明融合了事实文本信息,采用问句分解的方式对复杂问题进行语义解析,提升了问答模型对复杂问题的理解能力,从而解决了知识库问答技术对复杂问题的处理效果不佳的问题。
Description
技术领域
本发明涉及融合事实文本的问句分解式语义解析方法,属于自然语言处理技术领域。
背景技术
知识库问答技术旨在从预先建立好的结构化知识库中查找问题的答案,因其广泛的应用场景和巨大的应用价值成为学术界和工业界的研究热点之一。随着知识库构建技术的不断发展,知识库的规模越来越大,如Freebase、DBpedia、Wikidata等大型知识库中存储了丰富的关联知识,这为知识库问答提供了数据基础。
然而,目前的问答系统大多只能回答事实型问题,不能很好的处理复杂问题,难以理解问题中的复杂语义。原因在于,回答一个复杂问题通常会涉及知识库中多个关联的三元组信息,三元组需要满足与问题相关的约束条件,再经过一系列多跳推理或数值计算才能得到正确答案。
语义解析作为知识库问答技术的主流方法之一,核心是将非结构化的自然语言问题转化成机器能够理解和执行的形式语言,如SPARQL等,并使用该形式语言作为结构化查询语句对知识库进行查询,从而获取答案。目前,此类方法在解析复杂问题时主要依赖于依存句法等自然语言句法分析方法,为句子中不同的词标记上不同的角色,帮助解析句子的语义。但是,单纯依靠基于句法的模型并不能很好的理解复杂问题中的语义,会导致语义角色标注错误,从而影响后续推理与计算。并且,随着问题复杂度的提高,语义解析的方法几乎失效。因此,如何更好的理解自然语言问句中的复杂语义依旧是一个难点问题。
事实上,当人类在面临复杂问题时,往往先将其简化成若干个简单问题,先逐个回答简单问题,再进行整合和推理获得最终答案。因此,将复杂问题分解为若干简单问题是解决复杂问题语义理解的有效途径。同样地,本发明借鉴这个分治的思想,先把复杂问题分解得到简单问题序列,这些简单问题往往可以直接从知识库中获取答案,再整合简单问题的信息生成查询语句,这也更符合形式语言的逻辑结构,从而更好的生成正确的查询语句。然而,在将复杂问题分解成简单问题序列的过程中,模型往往会错误地判断或丢失问句中的主题实体,如图1(a)所示。这将导致分解后的子问题与原始的复杂问题并不匹配,从而生成错误的查询语句。
针对上述问题,本发明提出了一种融合事实文本的问句分解式语义解析模型。将知识库中的三元组转化成用自然语言描述的事实文本信息,构建了一个事实文本库,采用注意力机制获取更丰富的知识表示作为辅助信息,使生成的子问句与原问题更加切合,提高了子问句的质量,有效减少了错误传播,进而指导模型生成更好的查询语句。本发明将复杂问题的语义解析过程分为三个阶段,如图1(b)所示,首先在问句分解阶段,将复杂问题分解成一系列简单的子问题序列;然后在信息抽取阶段,对原问题和子问题序列进行信息抽取和整合,获取关键信息;最后在语义解析阶段,生成相应的结构化查询语句。
发明内容
本发明要解决的技术问题是:本发明提供了融合事实文本的问句分解式语义解析方法,以用于解决在复杂问题分解成简单问题序列的过程中模型错误地判断或丢失问句中的主题实体的问题;解决了知识库问答技术在面对复杂问题时,模型无法准确解析问句中的复杂语义,导致问答系统性能不佳的问题。
本发明的技术方案是:融合事实文本的问句分解式语义解析方法,首先,本发明将知识库中的三元组转化成用自然语言描述的事实文本信息,构建了一个事实文本库,采用注意力机制获取更丰富的知识表示作为辅助信息。其次,将复杂问题的语义解析过程分为三个阶段,在第一个问句分解阶段,将复杂问题分解成一系列简单的子问题序列;在第二个信息抽取阶段,对原问题和子问题序列进行信息抽取和整合,获取关键信息;在第三个语义解析阶段,生成相应的结构化查询语句。
作为本发明的进一步方案,具体步骤如下:
Step1、构建了一个事实文本库作为知识来源;在知识库中,信息以三元组的形式存在,包括头实体、关系和尾实体,通过<头实体,关系,尾实体>这样的结构构建了一张图网络;将三元组通过人工设计模版转化成用自然语言描述的句子;
Step2、基于Transformer的编码器-解码器框架,在Transformer的基础上利用文本库感知注意力机制融入事实文本信息;
Step3、在编码端和解码端都利用了文本库感知注意力机制动态地关注输入序列中的局部信息,让模型在面对当前输入序列时更专注于与事实文本相关联的实体信息或关系信息。
作为本发明的进一步方案,所述Step1的具体步骤为:
Step1.1、在数据预处理时,首先用斯坦福的命名实体识别工具识别出问句中的实体,得到一个实体集合,以实体集合中的实体作为头实体或尾实体抽取知识库中的三元组;
Step1.2、然后根据人工设计模板将三元组表示为事实文本;
Step1.3、最后利用BERT将问句和事实文本编码成向量,计算问句和事实文本之间的余弦相似度,选取top-n的事实文本句子构建事实文本库。
作为本发明的进一步方案,所述Step1.2中:
基于Freebase知识库,根据Freebase的数据格式,三元组包含头实体,谓词关系和尾实体,其中谓词关系为三段式,通过分析,只保留谓词关系的第三段,设计了通用模版为“头实体+谓词关系+is+尾实体”生成一句事实文本。
作为本发明的进一步方案,所述Step2的具体步骤:
Step2.1、在统一的编码器-解码器框架中,其输入是由输入序列i={i1,…,ii}和附加信息e={e1,…,ee}两部分组成,输出是目标序列o={o1,…,oo},事实文本集合是F=(ft1,…,ftn)。
作为本发明的进一步方案,所述Step3的具体步骤为:
Step3.1、在编码端,首先使用Transformer的编码器对输入序列i={i1,…,ii}进行编码得到向量表示hi,对事实文本集合F=(ft1,…,ftn)中每个事实文本序列进行编码得到向量集合并将其进行拼接,拼接后的向量为hF,然后经过文本库感知注意力机制,计算输入序列对事实文本序列的注意力向量为h;
Step3.2、在解码端,Transformer解码器由Masked Multi-Head Attention和Encoder-Decoder Attention两大机制组成;在解码端主要做了两处改进:(1)在Encoder-Decoder Attention处,用注意力向量h取代原来的输入序列向量hi作为编码器传递到解码器的隐向量,即K=V=h,Q=hV;(2)在解码器中新增了文本库感知注意力机制,输入是事实文本序列的特征向量hF和Encoder-Decoder Attention输出的向量henc-dec,输出是注意力向量ht-aware;解码过程遇到“[BOS]”标签代表解码开始,遇到“[EOS]”标签代表解码结束;使用了基于文本库感知注意力机制的编解码框架,后续用fenc(·)表示模型的编码过程,fdec(·)表示模型的解码过程;
整个过程表示为:
Step3.3、在问句分解模块的学习目标是把复杂问题分解成简单子问题序列:
输入为复杂问题q,事实文本集合为F,输出为分解后的子问题序列dq;首先在编码端,对输入q进行编码得到问题嵌入hi=fenc1(q),对事实文本F进行编码后拼接得到事实文本嵌入hF=fenc1(F),经过文本库感知注意力机制得到一个注意力向量h=Attention(hi,hF);然后在解码端,接收注意力向量h,并通过文本库感知注意力机制预测分解的表示dq=fdec1(h);在每个时间步,先前的输出右移并送入解码器;
Step3.4、在信息抽取模块的学习目标是从原始复杂问题和简单子问题序列中提取语义信息:
输入为子问题序列dq,附加信息为分解阶段的隐层嵌入e=h,事实文本信息为F,输出为语义信息序列ei;首先在编码端,同理得分解嵌入事实文本嵌入注意力向量/>然后将附加信息和隐向量进行拼接[h,hdq];最后在解码端,解码语义信息ei=fdec2([h,hdq]);
Step3.5、在语义解析模块的学习目标是整合信息生成结构化查询语句:
输入为语义信息ei,附加信息为前两阶段的隐层嵌入e=[h,hdq],事实文本信息为F,输出为结构化查询语句lf;同理得语义表示嵌入事实文本嵌入注意力向量/>拼接向量[h,hdq,hei],解码结构化查询语句lf=fdec3([h,hdq,hei])。
所述Step3还包括:
Step3.6、训练目标是生成简单子问题序列,抽取关键谓词和实体信息,最终生成相应的查询语句;设计的联合训练损失函数如下,分别由三个阶段的损失函数l1,l2和l3组成:
L(θ)=λ1l1+λ2l2+l3
其中,三个阶段的任务都使用生成式模型的损失函数:
P(x)=softmax(Wx+b)
Step4、为了验证融合事实文本的问句分解式语义解析方法的有效性和优越性,本发明选取了5个当前主流的方法作为基线模型进行对比实验。对本发明在语义解析任务和问题分解任务中的实验结果都进行了相应的比较和分析,并且直观地给出了相应的实例分析。
Step4.1、实验选取了5个当前主流的方法作为基线模型,分别是PointerGenerator,主要利用数据重组的框架将先验知识注入序列到序列的模型中,并且使用了一种基于注意力的复制机制;Transformer的整个网络结构完全由注意力机制组成,本发明主要利用Transformer做语义解析任务;Coarse2Fine的一个结构感知的神经架构,采用由粗到细的两阶段生成方法,先生成忽略细节的表示,再将细节填充到之前的表示中;PointerNetwork主要通过指针网络生成分割点,对原始复杂问题进行切割和分解,得到一系列简单问题序列;HSP主要针对复杂问题提出基于序列到序列模型的层次语义解析方法,将语义解析任务转化为多层次的生成任务,实验效果显著提高;
Step4.2、本发明的目标是将自然语言描述的复杂问题最终解析为逻辑形式,即SPARQL格式的结构化查询语句。因此语义解析任务的实验效果是验证该方法有效性的重要指标。在该任务中,选取PointerGenerator、Transformer、Coarse2Fine和HSP作为基线模型在验证集和测试集上进行了对比实验。评价指标为EM值,即模型生成SPARQL语句的正确率;
Step4.3、本发明提出的方法旨在缓解问句分解过程中的错误积累问题,减少实体误判和丢失的情况,为后续的语义解析任务提供保障。因此提升问题分解任务的实验效果十分必要,能够充分验证分治思想的有效性。在该任务中,选取PointerNetwork、PointerGenerator和HSP作为基线模型在验证集和测试集上进行了对比实验。评价指标为Bleu-4和Rouge-L得分。对于所有模型,输入是复杂问题,输出是分解的子问题序列;
Step4.4、为了直观的对实验结果进行分析和对比,使本发明的方法具备更高的可解释性,本发明结合测试集中的一个实例来分析模型在每个阶段的实验效果,选取性能较好的HSP作为基线模型,验证以上实验结果的准确性。
本发明的有益效果是:
1、本发明借鉴了分治的思路对复杂问题进行语义解析,使模型能够更充分的理解自然语言问句中的复杂语义;
2、本发明融合了三元组中的事实信息,增强了主题实体的识别准确率,降低了主题实体的错误丢失率,减少了错误传播;
3、本发明在语义解析任务和问句分解任务中的实验性能相较基线模型均有明显的提升,验证了方法的合理性和有效性。
附图说明
图1为本发明中的示例图;
图2为本发明中的融合事实文本的问句分解式语义解析模型的整体结构图;
图3为本发明中的基于文本库感知注意力机制的编码器-解码器结构图。
具体实施方式
实施例1:如图1-3所示,融合事实文本的问句分解式语义解析方法,首先,本发明将知识库中的三元组转化成用自然语言描述的事实文本信息,构建了一个事实文本库,采用注意力机制获取更丰富的知识表示作为辅助信息。其次,将复杂问题的语义解析过程分为三个阶段,在第一个问句分解阶段,将复杂问题分解成一系列简单的子问题序列;在第二个信息抽取阶段,对原问题和子问题序列进行信息抽取和整合,获取关键信息;在第三个语义解析阶段,生成相应的结构化查询语句。
作为本发明的进一步方案,具体步骤如下:
Step1、构建了一个事实文本库作为知识来源;在知识库中,信息以三元组的形式存在,包括头实体、关系和尾实体,通过<头实体,关系,尾实体>这样的结构构建了一张图网络;但是不同的知识图谱中三元组的表述形式也不相同,本发明将知识库的信息与自然语言的问题在形式上保持一致,方便后续的序列建模,本发明将三元组通过人工设计模版转化成用自然语言描述的句子;
Step2、本发明的语义解析过程主要包括三个模块:问句分解模块、信息抽取模块和语义解析模块。三个模块都是基于Transformer的编码器-解码器框架,在Transformer的基础上利用文本库感知注意力机制融入事实文本信息;
Step3、为获取更丰富的知识信息,本发明在每个模块的编码端和解码端都利用了文本库感知注意力机制动态地关注输入序列中的局部信息,让模型在面对当前输入序列时更专注于与事实文本相关联的实体信息或关系信息,有效地缓解了主题实体残缺或错误的问题。
作为本发明的进一步方案,所述Step1的具体步骤为:
Step1.1、在数据预处理时,首先用斯坦福的命名实体识别工具识别出问句中的实体,得到一个实体集合,以实体集合中的实体作为头实体或尾实体抽取知识库中的三元组;
Step1.2、然后根据人工设计模板将三元组表示为事实文本;
Step1.3、最后利用BERT将问句和事实文本编码成向量,计算问句和事实文本之间的余弦相似度,选取top-n的事实文本句子构建事实文本库。
作为本发明的进一步方案,所述Step1.2中:
基于Freebase知识库,根据Freebase的数据格式,三元组包含头实体,谓词关系和尾实体,其中谓词关系为三段式,通过分析,只保留谓词关系的第三段,设计了通用模版为“头实体+谓词关系+is+尾实体”生成一句事实文本。
作为本发明的进一步方案,所述Step2的具体步骤:
Step2.1、在统一的编码器-解码器框架中,其输入是由输入序列i={i1,…,ii}和附加信息e={e1,…,ee}两部分组成,输出是目标序列o={o1,…,oo},事实文本集合是F=(ft1,…,ftn)。
作为本发明的进一步方案,所述Step3的具体步骤为:
Step3.1、在编码端,首先使用Transformer的编码器对输入序列i={i1,…,ii}进行编码得到向量表示hi,对事实文本集合F=(ft1,…,ftn)中每个事实文本序列进行编码得到向量集合并将其进行拼接,拼接后的向量为hF,然后经过文本库感知注意力机制,计算输入序列对事实文本序列的注意力向量为h;整个过程表示为:
hi=fenc(i)
hft=fenc(ft))
其中,fenc(·)代表Transformer编码器的编码过程。
Step3.2、在解码端,Transformer解码器由Masked Multi-Head Attention和Encoder-Decoder Attention两大机制组成;在解码端主要做了两处改进:(1)在Encoder-Decoder Attention处,用注意力向量h取代原来的输入序列向量hi作为编码器传递到解码器的隐向量,即K=V=h,Q=hV;(2)在解码器中新增了文本库感知注意力机制,输入是事实文本序列的特征向量hF和Encoder-Decoder Attention输出的向量henc-dec,输出是注意力向量ht-aware;解码过程遇到“[BOS]”标签代表解码开始,遇到“[EOS]”标签代表解码结束;使用了基于文本库感知注意力机制的编解码框架,后续用fenc(·)表示模型的编码过程,fdec(·)表示模型的解码过程;
整个过程表示为:
Step3.3、在问句分解模块的学习目标是把复杂问题分解成简单子问题序列:
输入为复杂问题q,事实文本集合为F,输出为分解后的子问题序列dq;首先在编码端,对输入q进行编码得到问题嵌入hi=fenc1(q),对事实文本F进行编码后拼接得到事实文本嵌入hF=fenc1(F),经过文本库感知注意力机制得到一个注意力向量h=Attention(hi,hF);然后在解码端,接收注意力向量h,并通过文本库感知注意力机制预测分解的表示dq=fdec1(h);在每个时间步,先前的输出右移并送入解码器;
Step3.4、在信息抽取模块的学习目标是从原始复杂问题和简单子问题序列中提取语义信息:
输入为子问题序列dq,附加信息为分解阶段的隐层嵌入e=h,事实文本信息为F,输出为语义信息序列ei;首先在编码端,同理得分解嵌入事实文本嵌入注意力向量/>然后将附加信息和隐向量进行拼接[h,hdq];最后在解码端,解码语义信息ei=fdec2([h,hdq]);
Step3.5、在语义解析模块的学习目标是整合信息生成结构化查询语句:
输入为语义信息ei,附加信息为前两阶段的隐层嵌入e=[h,hdq],事实文本信息为F,输出为结构化查询语句lf;同理得语义表示嵌入事实文本嵌入注意力向量/>拼接向量[h,hdq,hei],解码结构化查询语句lf=fdec3([h,hdq,hei])。
所述Step3还包括:
Step3.6、训练目标是生成简单子问题序列,抽取关键谓词和实体信息,最终生成相应的查询语句;设计的联合训练损失函数如下,分别由三个阶段的损失函数l1,l2和l3组成:
L(θ)=λ1l1+λ2l2+l3
其中,三个阶段的任务都使用生成式模型的损失函数:
P(x)=softmax(Wx+b)
Step4、为了验证融合事实文本的问句分解式语义解析方法的有效性和优越性,本发明选取了5个当前主流的方法作为基线模型进行对比实验。对本发明在语义解析任务和问题分解任务中的实验结果都进行了相应的比较和分析,并且直观地给出了相应的实例分析。
Step4.1、本发明在大规模复杂问题数据集ComplexWebQuestions(version1.0)上进行了实验。该数据集包含27734训练样本、3480验证样本和3475测试样本。每个样本都包含复杂问题、分解的子问题序列、SPARQL格式的结构化查询语句;
Step4.2、本发明的语料库由复杂问题、所有的中间表示、SPARQL查询语句和事实文本构成,构造词表时是由语料库中词频大于3的所有单词构成。本发明使用预训练的词嵌入GloVe,维度为300维。对于没有预训练的词嵌入(包括UNK、BOS和EOS)使用随机初始化。本发明所有的编码器和解码器都是由6个相同层堆叠起来的,隐向量为300维。使用Adam优化器,β1=0.9,β2=0.98,ε=10-9。学习率在训练过程中动态调整。Dropout设置为0.2。标签平滑率设置为0.1。在训练过程中,batchsize=64,训练步长为40000。每1200步验证一次,验证过程的batchsize=160。训练结束后,采用beam size=16的束搜索策略生成SPARQL语句。
Step4.3、实验选取了5个当前主流的方法作为基线模型,分别是PointerGenerator,主要利用数据重组的框架将先验知识注入序列到序列的模型中,并且使用了一种基于注意力的复制机制;Transformer的整个网络结构完全由注意力机制组成,本发明主要利用Transformer做语义解析任务;Coarse2Fine的一个结构感知的神经架构,采用由粗到细的两阶段生成方法,先生成忽略细节的表示,再将细节填充到之前的表示中;PointerNetwork主要通过指针网络生成分割点,对原始复杂问题进行切割和分解,得到一系列简单问题序列;HSP主要针对复杂问题提出基于序列到序列模型的层次语义解析方法,将语义解析任务转化为多层次的生成任务,实验效果显著提高;
Step4.4、本发明的目标是将自然语言描述的复杂问题最终解析为逻辑形式,即SPARQL格式的结构化查询语句。因此语义解析任务的实验效果是验证该方法有效性的重要指标。在该任务中,选取PointerGenerator、Transformer、Coarse2Fine和HSP作为基线模型在验证集和测试集上进行了对比实验。评价指标为EM值,即模型生成SPARQL语句的正确率。实验结果如表1所示;
表1语义解析任务的实验结果
Tab.1 Experimental Results on Semantic Parsing Tasks
模型 | 验证集(%) | 测试集(%) |
PointerGenerator | 53.10 | 51.00 |
Transformer | 56.78 | 53.41 |
Coarse2Fine | 58.59 | 58.07 |
HSP | 68.79 | 66.18 |
本发明 | 70.42(+1.63) | 67.62(+1.44) |
通过分析表中数据可以得出以下三点结论:
(1)Transformer在测试集上的准确率为53.41%,比PointerGenerator高2.41%。这组实验证明,对于传统的序列到序列模型来说,在ComplexWebQuestions数据集上做语义解析任务是比较困难的。因此针对复杂问题的语义解析任务本身是存在难度的;
(2)HSP在测试集上的准确率为66.18%,比Coarse2Fine高8.11%,性能得到很大提升。这组实验证明,与其他的神经语义解析模型相比,HSP的性能提升显著。说明将复杂问题分解成简单问题,采用分治的思想可以简化模型在每个阶段的表示学习,同时通过信息整合可以帮助模型更好的生成结构化查询语句;
(3)本发明的方法在测试集上的准确率为67.62%,比HSP高1.44%。这组实验证明,本发明提出的文本库感知注意力机制能够将知识库中的事实文本信息融入模型的学习过程,使模型在生成任务中获得更高的准确率。
Step4.5、本发明提出的方法旨在缓解问句分解过程中的错误积累问题,减少实体误判和丢失的情况,为后续的语义解析任务提供保障。因此提升问题分解任务的实验效果十分必要,能够充分验证分治思想的有效性。在该任务中,选取PointerNetwork、PointerGenerator和HSP作为基线模型在验证集和测试集上进行了对比实验。评价指标为Bleu-4和Rouge-L得分。对于所有模型,输入是复杂问题,输出是分解的子问题序列。实验结果如表2所示;
表2问题分解任务的实验结果
Tab.2 Experimental Results on Question Decomposition Tasks
通过分析表中数据可以得出以下三点结论:
(1)与PointerNetwork相比,其他两个模型的实验结果更好,说明对于问题分解任务,相比起利用分割的思想在问题中寻找分割点的方法来说,采用神经生成问题的方法更有效。
(2)HSP与其他两个模型相比性能提升显著。说明将复杂问题分解成简单问题的思想能够指导模型更好的理解复杂语义。
(3)本发明的方法与HSP相比,在测试集上Bleu-4值提升了2.2,Rouge-L值提升了0.9。说明在分解任务中,融入事实文本信息能够使模型获取更丰富的知识表示,有效减少错误传播。
Step4.6、为了直观的对实验结果进行分析和对比,使本发明的方法具备更高的可解释性,我们将结合测试集中的一个实例来分析模型在每个阶段的实验效果,选取性能较好的HSP作为基线模型,验证以上实验结果的准确性。
比如输入一个复杂问题”The author of The Art of War lived in whatcity?”,主题实体为”The Art of War”。基线模型HSP在经过每个模块后,输出的序列如表3所示。当输入的复杂问题经过问题分解模块后,分解成两个简单子问题序列,使用”[#]”作为分割符,通常第二个子问题会包含第一个子问题的答案实体,使用”[#entity#]”作为占位符。接下来,信息抽取模块将抽取原始复杂问题和简单子问题的关键信息,包括复杂类型和谓词信息,使用”[#]”作为分割符。最后,语义解析模块生成对应的逻辑形式,使用”[.]”作为分隔符,使用”[#entity#]”作为占位符。
表3基线模型HSP的输出序列
Tab.3 Output Sequence of Baseline Model HSP
复杂问题 | The author of The Art of War lived in what city? |
分解的子问题 | the person who once lived in author?#where did#entity#live? |
抽取的信息 | composition#people.person.places_lived#people.place_lived.location |
逻辑形式 | ?y people.person.places_lived#entity#.?y people.place_lived.location?x. |
对表3中的实例进行分析,可知基线模型HSP中问题分解模块的输出序列是错误的。实现结果表明,问题分解阶段的Bleu-4值为0.35*10-4,Rouge-L值为0.46。因为第一个子问题将”author”解析成一个居住地点,且两个子问题中都不包含主题实体”The Art ofWar”,导致后续信息抽取和语义解析模块的输出序列仍然是错误的。实验结果表明,语义解析阶段的Bleu-4值为0.43*10-3,Rouge-L值为0.54。
所以,本发明的方法将融入事实文本信息以缓解实体识别错误和实体丢失的现象。仍以该复杂问题为例,融入的事实文本如表4所示。这些文本信息虽然在语法上并不符合规范,但却极大程度的保留了三元组的事实信息。
因此,本发明的模型在经过每个模块后,输出的序列如表5所示。可以看出,问题分解模块的输出序列已经被矫正,一定程度上缓解了错误积累的问题。实验结果表明,问题分解阶段和语义解析阶段的的Bleu-4值均为1,Rouge-L值均为1。由此验证了本发明方法的优越性和准确性。
表4融入的事实文本序列
Tab.4 Incorporated Factual Text Sequence
表5本发明方法的输出序列
Tab.5 Output Sequence of the Method of the Invention
复杂问题 | The author of The Art of War lived in what city? |
分解的子问题 | the author of The Art of War?#in what city did#entity#live? |
抽取的信息 | the author of The Art of War?#in what city did#entity#live? |
逻辑形式 | ?y media.dedication.work_author#entity#.?y people.person.places_lived?x. |
实验结果表明,该方法能够提升知识库问答技术面对复杂问题的理解能力,能够更好的对复杂问题作出回答。本发明在语义解析任务和问题分解任务中比较于基线模型均有明显的提升。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (3)
1.融合事实文本的问句分解式语义解析方法,其特征在于:首先,将知识库中的三元组转化成用自然语言描述的事实文本信息,构建了一个事实文本库,采用注意力机制获取更丰富的知识表示作为辅助信息;其次,将复杂问题的语义解析过程分为三个阶段,在第一个问句分解阶段,将复杂问题分解成一系列简单的子问题序列;在第二个信息抽取阶段,对原问题和子问题序列进行信息抽取和整合,获取关键信息;在第三个语义解析阶段,生成相应的结构化查询语句;
具体步骤如下:
Step1、构建了一个事实文本库作为知识来源;在知识库中,信息以三元组的形式存在,包括头实体、关系和尾实体,通过<头实体,关系,尾实体>这样的结构构建了一张图网络;将三元组通过人工设计模版转化成用自然语言描述的句子;
Step2、基于Transformer的编码器-解码器框架,在Transformer的基础上利用文本库感知注意力机制融入事实文本信息;
Step3、在编码端和解码端都利用了文本库感知注意力机制动态地关注输入序列中的局部信息,让模型在面对当前输入序列时更专注于与事实文本相关联的实体信息或关系信息;
所述Step1的具体步骤为:
Step1.1、在数据预处理时,首先用斯坦福的命名实体识别工具识别出问句中的实体,得到一个实体集合,以实体集合中的实体作为头实体或尾实体抽取知识库中的三元组;
Step1.2、然后根据人工设计模板将三元组表示为事实文本;
Step1.3、最后利用BERT将问句和事实文本编码成向量,计算问句和事实文本之间的余弦相似度,选取top-n的事实文本句子构建事实文本库。
2.根据权利要求1所述的融合事实文本的问句分解式语义解析方法,其特征在于:所述Step1.2中:
基于Freebase知识库,根据Freebase的数据格式,三元组包含头实体,谓词关系和尾实体,其中谓词关系为三段式,通过分析,只保留谓词关系的第三段,设计了通用模版为“头实体+谓词关系+is+尾实体”生成一句事实文本。
3.根据权利要求1所述的融合事实文本的问句分解式语义解析方法,其特征在于:所述Step2的具体步骤:
Step2.1、在统一的编码器-解码器框架中,其输入是由输入序列i={i1,…,ii}和附加信息e={e1,…,ee}两部分组成,输出是目标序列o={o1,…,oo},事实文本集合是F=(ft1,…,ftn);
所述Step3的具体步骤为:
Step3.1、在编码端,首先使用Transformer的编码器对输入序列i={i1,…,ii}进行编码得到向量表示hi,对事实文本集合F=(ft1,…,ftn)中每个事实文本序列进行编码得到向量集合并将其进行拼接,拼接后的向量为hF,然后经过文本库感知注意力机制,计算输入序列对事实文本序列的注意力向量为h;
Step3.2、在解码端,Transformer解码器由Masked Multi-Head Attention和Encoder-Decoder Attention两大机制组成;在解码端做了两处改进:(1)在Encoder-DecoderAttention处,用注意力向量h取代原来的输入序列向量hi作为编码器传递到解码器的隐向量,即K=V=h,Q=hV;(2)在解码器中新增了文本库感知注意力机制,输入是事实文本序列的特征向量hF和Encoder-Decoder Attention输出的向量henc-dec,输出是注意力向量ht-aware;解码过程遇到“[BOS]”标签代表解码开始,遇到“[EOS]”标签代表解码结束;使用了基于文本库感知注意力机制的编解码框架,后续用fenc(·)表示模型的编码过程,fdec(·)表示模型的解码过程;
整个过程表示为:
Step3.3、在问句分解模块的学习目标是把复杂问题分解成简单子问题序列:
输入为复杂问题q,事实文本集合为F,输出为分解后的子问题序列dq;首先在编码端,对输入q进行编码得到问题嵌入hi=fenc1(q),对事实文本F进行编码后拼接得到事实文本嵌入hF=fenc1(F),经过文本库感知注意力机制得到一个注意力向量h=Attention(hi,hF);然后在解码端,接收注意力向量h,并通过文本库感知注意力机制预测分解的表示dq=fdec1(h);在每个时间步,先前的输出右移并送入解码器;
Step3.4、在信息抽取模块的学习目标是从原始复杂问题和简单子问题序列中提取语义信息:
输入为子问题序列dq,附加信息为分解阶段的隐层嵌入e=h,事实文本信息为F,输出为语义信息序列ei;首先在编码端,同理得分解嵌入事实文本嵌入注意力向量/>然后将附加信息和隐向量进行拼接[h,hdq];最后在解码端,解码语义信息ei=fdec2([h,hdq]);
Step3.5、在语义解析模块的学习目标是整合信息生成结构化查询语句:
输入为语义信息ei,附加信息为前两阶段的隐层嵌入e=[h,hdq],事实文本信息为F,输出为结构化查询语句lf;同理得语义表示嵌入事实文本嵌入/>注意力向量/>拼接向量[h,hdq,hei],解码结构化查询语句lf=fdec3([h,hdq,hei])。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210288047.7A CN114841170B (zh) | 2022-03-23 | 2022-03-23 | 融合事实文本的问句分解式语义解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210288047.7A CN114841170B (zh) | 2022-03-23 | 2022-03-23 | 融合事实文本的问句分解式语义解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114841170A CN114841170A (zh) | 2022-08-02 |
CN114841170B true CN114841170B (zh) | 2024-06-18 |
Family
ID=82561775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210288047.7A Active CN114841170B (zh) | 2022-03-23 | 2022-03-23 | 融合事实文本的问句分解式语义解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114841170B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115796144B (zh) * | 2023-02-07 | 2023-04-28 | 中国科学技术大学 | 一种基于固定格式的受控文本生成方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934012B (zh) * | 2017-03-10 | 2020-05-08 | 上海数眼科技发展有限公司 | 一种基于知识图谱的自然语言问答实现方法和系统 |
CN112256847B (zh) * | 2020-09-30 | 2023-04-07 | 昆明理工大学 | 融合事实文本的知识库问答方法 |
-
2022
- 2022-03-23 CN CN202210288047.7A patent/CN114841170B/zh active Active
Non-Patent Citations (1)
Title |
---|
融合事实文本的问句分解式语义解析方法;杨玉倩 等;小 型 微 型 计 算 机 系 统;20230930;第44卷(第9期);1932-1939 * |
Also Published As
Publication number | Publication date |
---|---|
CN114841170A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107315737B (zh) | 一种语义逻辑处理方法及系统 | |
CN107798140B (zh) | 一种对话系统构建方法、语义受控应答方法及装置 | |
CN116737759B (zh) | 一种基于关系感知注意力的中文查询生成sql语句方法 | |
CN113505209A (zh) | 一种面向汽车领域的智能问答系统 | |
KR102267561B1 (ko) | 음성 언어 이해 장치 및 방법 | |
CN113032568A (zh) | 一种基于bert+bilstm+crf并融合句型分析的查询意图识别方法 | |
CN112364132A (zh) | 基于依存句法的相似度计算模型和系统及搭建系统的方法 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN111966797B (zh) | 利用引入了语义信息的词向量进行机器阅读理解的方法 | |
CN111382574A (zh) | 一种虚拟现实与增强现实场景下结合句法的语义解析系统 | |
CN116910086B (zh) | 一种基于自注意力句法感知的数据库查询方法和系统 | |
Zhu et al. | Robust spoken language understanding with unsupervised asr-error adaptation | |
CN112632250A (zh) | 一种多文档场景下问答方法及系统 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN114841170B (zh) | 融合事实文本的问句分解式语义解析方法 | |
CN115688784A (zh) | 一种融合字与词语特征的中文命名实体识别方法 | |
CN112447172B (zh) | 一种语音识别文本的质量提升方法和装置 | |
CN115497477A (zh) | 语音交互方法、语音交互装置、电子设备、存储介质 | |
Wang | Short Sequence Chinese‐English Machine Translation Based on Generative Adversarial Networks of Emotion | |
CN115273856A (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN114625759A (zh) | 模型训练方法、智能问答方法、设备、介质及程序产品 | |
CN115203388A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
Seifossadat et al. | Stochastic Data-to-Text Generation Using Syntactic Dependency Information | |
Lv et al. | StyleBERT: Chinese pretraining by font style information | |
CN113743095A (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 |