第34卷第3期2021年3月
模式识别与人工智能
Pattern Recognition and Artificial Intelligence
Vol.34No.3
Mar.2021融合事实文本的知识库问答方法
王广祥1,2何世柱3刘康3余正涛1,2高盛祥1,2郭军军1,2
摘要在自然语言问题中,由于知识库中关系表达的多样化,通过表示学习匹配知识库问答的答案仍是一项艰巨任务.为了弥补上述不足,文中提出融合事实文本的知识库问答方法,将知识库中的实体、实体类型和关系转换为事实文本,并使用双向Transformer编码器(BERT)进行表示,利用BERT丰富的语义模式得到问题和答案在低维语义空间中的数值向量,通过数值计算匹配与问题语义最相近的答案.实验表明,文中方法在回答常见的简单问题时效果较优,鲁棒性较强.
关键词问答系统,知识库,表示学习,深度学习
引用格式王广祥,何世柱,刘康,余正涛,高盛祥,郭军军.融合事实文本的知识库问答方法.模式识别与人工智能,2021,34(3):267-274.
DOI10.16451/jki.issn1003-6059.202103008中图法分类号TP391
Knowledge Ba Question Answering Method Incorporating Fact Text WANG Guangxiang1,2,HE Shizhu1,2,LIU Kang1,2,YU Zhengtao1,2,GAO Shengxiang1,2,GUO Junjun1,2
ABSTRACT In natural language problems,the relationship expression in the knowledge ba is diversified.Therefore,matching the answers of the knowledge ba question and answer through reprentation learning is still a challenge.To make up the shortcomings,a knowledge ba question answering method incorporating fact text is propod.Entities,entity types and relationships in the knowledge ba are converted into fact text.A pre-trained language model(BERT)is employed for reprentation.The vector of question and answers in low dimensional mantic space is obtained using the rich mantic mode of BERT.The answer with the clost mantic similarity to the question is matched by calculation.Experiments show that the propod method is effective and robust in answering common simple questions.
Key Words Question Answering System,Knowledge Ba,Reprentation Learning,Deep Learning C
itation WANG G X,HE S Z,LIU K,YU Z T,GAO S X,GUO J J.Knowledge Ba Question Answering Method Incorporating Fact Text.Pattern Recognition and Artificial Intelligence,
2021,34(3):267-274.
收稿日期:2021-01-27;录用日期:2021-03-11
Manuscript received January27,2021;
accepted March11,2021
国家重点研发计划项目(No.2018YFC0830101,2018YFC0830 105,2018YFC0830100)、国家自然科学基金项目(No.615330 18,61972186,61762056,61472168,61702512)、云南省高新技术产业专项(No.201606)资助
Supported by National Key Rearch and Development Program of China(No.2018YFC0830101,2018YFC0830105,2018YFC08 30100),National Natural Science Foundation of China(No.615 33018,61972186,61762056,61472168,61702512),Yunnan High-tech Industry Development Project(No.201606)
本文责任编委林鸿飞马达加斯加1
Recommended by Associate Editor LIN Hongfei
1.昆明理工大学信息工程与自动化学院昆明650504
2.昆明理工大学云南省人工智能重点实验室昆明650500
3.中国科学院自动化研究所模式识别国家重点实验室北
京100190
1.Faculty of Information Engineering and Automation,Kunming
University of Science and Technology,Kunming650504
2.Yunnan Key Laboratory of Artificial Intelligence,Kunming Uni
versity of Science and Technology,Kunming650500
3.National Laboratory of Pattern Recognition,Institute of Auto
mation,Chine Academy of Sciences,Beijing 100190
英文单词
268模式识别与人工智能(PR&AI)第34卷
随着Freeba[1]、DBpedia[2]和YAGO[3]等大规模知识库的快速发展,知识库问答受到越来越多研究者的关注.典型的知识库多采用“头实体-关系-尾实体”三元组为基本单元,组成图结构,每个三元组称为一个事实.知识库中三元组数以千计,用户难以获得有价值的信息.知识库问答可根据知识库中的事实直接给出自然语言问题答案,提供直接访问知识库的方式.知识库问答按照技术方法大致可分为两类:基于语义解析的方法和基于检索排序的方法.
基于语义解析的知识库问答方法首先把自然语言问题转化为可在知识库中检索的结构化查询语句,例如组合范畴文法(Combinatory Categorial Grammar,CCG)[4-5]、依存组合语义(Dependency-Bad Compositional Semantics,DCS)[6]、Lambda表达式,再在知识库中查询得到实体集合作为答案返回.
基于检索排序的知识库问答方法首先根据自然语言问题从知识库中快速找到少量候选答案,再按照与问题的匹配程度对候选答案排序,选择排在前面的候选答案作为答案.Yao等[8]提出基于特征工程的方法,分别从问题和候选答案中提取特征,并利用它们进行匹配程度的计算.随着深度学习的发展,学者们提出更多基于表示学习的神经网络方法. Bordes等[9]在知识库问答中应用神经网络,将问题和知识库中的候选实体及其相关实体、关系和属性都映射到低维空间中,再计算问题和候选答案的匹配
韩语翻译中文
程度.Dong等[10]采用3个不同参数的卷积神经网络(Con-volutional Neural Network,CNN),从答案实体类型、答案实体与主题实体的关联路径及其它相关属性3个维度生成3个不同的答案向量.Hao等[11]提出基于交叉关注机制的神经网络模型,根据不同的答案及其不同侧面动态表示问题的语义.Yin 等[|2]在CNN中融入注意力机制,匹配问题和知识库中关系.Golub等[|3]提出使用字符级别的表示和基于注意力机制的自编码模型,用于学习句子的表示.Lukovnikov等[14]利用字符级门控递归单元神经网络将问题和谓词、实体投影到同个空间中.上述方法的核心是把自然语言问题和知识库中的知识都映射到一个低维向量空间中,可使用向量间的相似度反映问题和知识(三元组)之间的语义相关性.problem什么意思
尽管上述方法已取得较优效果,但知识库问答远未得到解决,最主要的问题是自然语言问题与知识库中的三元组存在语义鸿沟,具体表现为三元组的关系在自然语言中有多种表达.为了改善语义鸿沟,Huang等[15]提出将问题的文本空间向量转化成知识库空间向量,包括实体向量和关系向量,通过这两个向量在预训练的知识表示空间中查找最相似的实体和关系,最终根据该实体和关系得到答案.预训练的知识表示有TransE[l6]、TransH[l7]和TransR[l8].这些方法将问题单独映射成实体表示和关系表示,忽略问题本身的一些语义信息,即实体和关系间的关联信息.这即为问题中的实体和关系存在一定的语义约束,不是任意的实体都可以和任意的关系搭配.
双向 Transformer编码器(Bidirectional Encoder Reprentations from Transformers,BERT)[l9]在文
本表示学习中表现较优,学者们考虑将其用于表示学习,融入知识库问答中,改善文本与三元组间的语义鸿沟.受Berant等[20]通过逻辑形式模板,直接利用知识库中谓词的文本描述生成规范语句的启发,本文提出融合事实文本的知识库问答(Question Answering over Knowledge Ba,KBQA),将三元组中的实体、实体类型及关系通过设计的模式转换为事实文本,转换时融入疑问词和尾实体类型,转换后的文本为自然语言,更适用于知识库问答任务.这样知识库三元组的知识表示学习就转换为文本表示学习.首先将自然语言问题经过文本表示学习映射成一个低维空间中的数值向量,同时将经过转换的三元组通过同样的文本表示学习映射为同一语义空间中的数值向量,本文使用BERT进行文本表示学习.再计算数值向量间的相似度,并取出最相似的三元组作为知识库问答的答案.
在知识库问答中,简单问题,即可通过知识库中单一事实回答的问题,占大部分.在简单问题中,如果正确识别单个头实体和谓词,则机器可直接回答每个问题[|5].本文专注于回答简单问题,在简单问题数据集(SimpleQuestion)[2l]上的实验既表明本文方法取得较优效果,又验证BERT对方法的提升作用.
bluetiger
1融合事实文本的知识库问答方法
知识库问答的目标是给定自然语言问题Q,系统根据知识库返回实体集A作为答案.本文方法主要解决简单问题,基本流程如图l所示.
首先,通过主题实体识别模型识别输入系统自然语言问题中的主题实体.然后,根据主题实体在Freeba[l]中检索候选答案,并将每个候选答案转
第3期王广祥等:融合事实文本的知识库问答方法269
图1本文方法框图
Fig.1Framework of the propod method
换成可进行文本表示的事实文本.最后,采用BERT 将问题和候选答案表示成数值向量,计算向量间的相似度得分,选择得分最高的候选答案作为最终答案.
1.1主题实体识别
主题实体是指自然语言问题Q中提到的知识库实体.例如在问题
Where is Yao Ming's birth-place?
中,“Yao Ming”在知识库中对应的实体是该问题的主题实体.本文方法采用双向长短期记忆网络(Bidirectional Long Short-Term Memory,Bi-LSTM)[l5]执行主题实体识别任务.
模型框图如图2所示,给定一个包含n个单词的自然语言问题Q=w l,w2,…,w”,首先将n个单词经过一个预先训练好的GloVe模型[22]映射成词向量{x,.},j=1,2,”使用BiLSTM学习前向隐状态(寅],/,…,h”)和后向隐状态(饮],饮2,…,饮”)-后向隐状态的计算过程如下:
£=滓+W h,h j+i+
),
f=滓(W f X+wA+i+b f),
o,=滓(+W ho h j+i+b o),
c,=tanh(W xc X,+%斥+|+b c),
C=S莓勺+f莓勺+1,
h,=o,莓tanh(c,).其中:亏为输入门,决定长短期记忆网络(Long ShortTerm Memory,LSTM)存储哪些信息;f为遗忘门,决定LSTM丢失哪些信息;0,为输出门,决定LSTM 单兀需要输出的信息;滓表示sigmoid函数;。表示哈达玛(Hadamard)积.
1(是主题实体)0(不是主题实体)
图2主题实体识别框图
Fig.2Framework of model of subject entity recognition
南安普顿大学官网串联前向隐状态和后向隐状态,得
h j=[h j;h j],
h进入全连接层再经过Softmax后得到一个二维向量V=R2伊1,第1维表示这个单词是一个主题实体单词的概率,第2维表示不是主题实体单词的概率.通过识别的主题实体单词或短语在知识库中进行关
270模式识别与人工智能(PR&AI)第34卷
联,返回知识库中与主题实体单词(短语)相同或包含主题实体单词(短语)的实体作为主题实体.
1.2候选答案生成
直观上,给定一个自然语言问题,知识库中所有的实体都是候选答案.但是,知识库中的实体数量通常较大,如Freeba[1]中的实体有6800万之多,将所有实体作为候选答案既耗费计算资源又使效率低下.在实践中,通常根据主题实体识别模型识别的实体,从知识库中查找满足约束条件的事实作为候选答案.本文方法主要解决的问题是简单问题,所以约束条件为:如果知识库中三元组的头实体属于问题的主题实体,将该三元组列为候选答案.
通过分析三元组的信息可知,头实体、关系及尾实体类型包含的信息和其对应的自然语言问题包含的信息重合度很高.例如:
branding
Where is Yao Ming's birthplace?
中“Yao Ming”对应三元组中头实体“Yao Ming”;"birthplace”对应三元组中的关系“place_of_birth”;“Where is冶是对地点提问,对应三元组中尾实体"Shang Hai冶的类型是"city town冶.所以本文将每个候选三元组经过模式
疑问词+尾实体类型+关系+头实体
构建成一个事实文本,上述例子对应的事实文本为Where city town place of birth Yao Ming?
这样的事实文本从语法看或许是不准确的,但却能很大程度地保留候选三元组包含的信息.
1.3融合事实文本的知识库问答模型
候选答案转换为事实文本后,知识库问答转换成一个句子间的语义匹配问题.把每个事实文本及对应的问题编码成向量表示,对向量间的相似度进行计算并排序,取出相似度最高的事实文本对应的三元组作为问题的最终答案.
本文使用BERT进行句子的表示学习,可更好地获取文本的语义信息,计算过程如下:
X,心=E,,
Q,K,V=Z I kv(E,),
h,=Attention(Q,K,V)=softmax]]V,
其中,肥”为嵌入矩阵,必为K向量的维度,h i为包含上下文信息的特征向量.对BERT的输出层采用平均
策略进行池化[2|],得出固定大小的问题向量V q和事实文本向量V….
使用余弦相似度对问题与事实文本的向量表示进行相似度计算:
S(V q,匕)=cos兹
V q-V
ambassadors
II Vq||||匕椰
移V qi V a,
i=1
n
其中,V q,表示问题向量V q的第i个特征值,表示事实文本向量V。的第i个特征值.
S(V q,V…)的取值范围为[0,1],0表示问题与事实文本语义完全不相关,1表示问题与事实文本语义相同.计算每个事实文本与其对应的问题余弦相似度S(V q,匕)作为候选答案的分数,对分数进行数值排序,分数最高的候选答案就是最终答案.
将自然语言问题和事实文本作为BERT的输入,输出经过平均池化[23]后计算余弦相似度,以此形成端到端的模型以微调所有参数,初始化采用预训练的参数.由于候选的事实文本数量通常较大,在模型中采用挛生网络体系结构[24],使模型可高效进行语义相似性搜索.挛生网络体系结构如图3所示,每个分支网络结构相同,参数更新在2个子BERT上共同进行.使用均方差损失作为训练的目标函数.
t t
|池化|l池化
工
BERT BERT
图3基于孪生网络体系的BERT微调结构图Fig.3BERT fine-tuning structure bad on twin network
2实验及结果分析
2.1实验数据集
在公共简单问题数据集SimpleQuestion[21]上验证本文方法的有效性.数据集包括10万多个与相应事实
相关的简单问题,这些事实都属于Freeba[1]的子集FB2M.数据集分为75910条训练数据, 10845条验证数据,21687条测试数据,涵盖1837个关系,131681个实体,词表大小为61336.SimpleQuestion对应的知识图谱FB2M有14174246个事实,包括6701个关系和1963130个实体,词表大小为73327
8.
第3期王广祥等:融合事实文本的知识库问答方法27l
2.2训练数据设置
在Freeba中,三元组中的关系分为3个层级的,例如关系“people,person.place_of_birth冶.为了有效选择关系层级生成事实文本,本文设置2种策略生成事实文本.
1)Strategyl.只选择关系的最后一个层级,如“Where city town place of birth Yao Ming?”.
2)Strategy2.选择关系的全部层级,如“Where city town people person place of birth Yao Ming?”.
为了更好地选择微调BERT的数据,首先将自然语言问题对应的答案事实转换为事实文本,然后对“自然语言问题-事实文本”对进行0~5分的标注,不需要人工标注,而是对事实文本中“尾实体类型、关系、头实体”的一部分进行随机替换操作,生成不同分数的“自然语言问题-事实文本”对.下文用实例说明.
自然语言问题:Where is Yao Ming's birthplace?
答案事实:(Yao Ming,place of birth,Shang Hai).“Shang Hai”的类型:city town.
每个分数替换的部分如表l所示.
在替换后:5分表示该事实就是问题答案;4分表示该事实头实体、关系正确但尾实体错误;3分表示该事实关系正确但尾实体、头实体错误;2分表示该事实尾实体、头实体正确但关系错误;l分表示该事实头实体正确但尾实体、关系错误;0分表示该事实尾实体、关系、头实体均错误.
最终,通过随机替换操作生成0~5分总共455460条训练数据,65070条验证数据,各分数的数据量相同.
表1“自然语言问题-事实文本”对标注方法示例
Table l Example of annotation methods of"natural language question-fact text"pairs 分数事实文本随机替换部分
5分Where city town place of birth Yao Ming?-
4分Where country place of birth Yao Ming?尾实体类型
3分Where country place of birth Ye Li?尾实体类型、头实体
2分Where city town nationality Yao Ming?关系
l分Where country nationality Yao Ming?尾实体类型、关系
0分Where country nationality Ye Li?尾实体类型、关系、头实体
每条数据表示为
分数自然语言问题事实文本.
0~5分对应的情况在问答过程中均有可能发生,所以设置训练数据比例为
crescendo5分:4分:3分:2分:l分:0分=
l:l:l:l:l:l
的实验,训练的总数据量为455460条,但是通过随机替换生成的数据可能让方法学习到更多的信息,也可能带来噪声影响方法性能.
为了探究如何组合各分数使方法训练效果最佳,本文设置
5分:0分=4:l,5分:0分=2:l,
5分:0分=l:l,
训练的总数据量均为l5l820条.同时在分数比例一致的情况下设置探究两种关系选择策略的实验.本文所有的实验评价指标都采用准确率,当自然语言问题的头实体和关系都预测准确则正确,测试数据包含2l687条,微调BERT的迭代次数设置为4.
训练数据比例不同时的实验结果如表2所示.分析表2可知,当选择Strategy2,即事实文本中选择关系的全部层级,按照
5分:4分:3分:2分:l分:0分=
l:l:l:l:l:l
luminescence组合训练数据时,本文方法性能最佳.
表2训练数据比例不同时的实验结果
Table.2Experimental results of different training data ttings
策略训练数据比例准确率/% Strategyl5分:0分=4:l49.7 Strategyl5分:0分=2:l64.8 Strategyl5分:0分=l:l73.5 Strategyl5分:4分:3分:2分:l分:0分=l:l:l:l:l:l75.2 Strategy25分:4分:3分:2分:l分:0分=l:l:l:l:l:l76.3