论文来自 Chinese Computational Linguistics
以下笔记只记录部分内容
大多数现有的方法都是基于模板的,或者是在特定任务的数据集上进行训练的。然而,手工制作的模板设计起来既费时又高度形式化,没有推广能力。(这段不敢苟同,目前发表过的问答系统的论文,已经很少基于模板了,不过在工业运用当中似乎还是模板方法居多)。同时,BiLSTMs和CNNs需要大规模的训练数据,这在大多数情况下是不切实际的。为了解决这些问题,我们利用流行的预先训练的BERT模型。
近年来,随着大规模知识库的快速发展,出现了开放领域知识库问答(KBQA),如DBpedia、Freebase、Yago2和NLPCC中文知识库[1,2]。知识库问题回答的目标是生成给定自然语言问题的相关答案,这是一项挑战,因为它需要对问题的高度语义理解。主流的方法可以分为两种范式。一条研究路线建立在基于语义分析的方法[3–5]上,另一条使用基于信息提取的方法。更详细地说,前者首先将自然语言问题转换成结构化表示,如逻辑形式或SPARQL.然后查询知识库以获得答案。后者是基于信息提取的,首先检索一组候选三元组,然后提取特征对这些候选进行排序。在本文中,我们将重点放在语义分析方法,因为它更流行和普遍。
候选实体很可能出现歧义的现象,为了消除歧义,有人提出了使用模板的方法,这篇论文认为手工直作的模板粒度比较大,容易造成异常,损害模型的泛化能力。总的来说,在说目前的方法都没有实用性。
这篇论文集中于利用预先训练的语言模型来缓解上述问题。BERT [23]被有效地结合到基于语义分析的KBQA框架中。针对KBQA中的不同子任务,设计了两种不同的组合模型。提出了用于mention detection 的BERT-CRF(条件随机场[25])模型,同时提出了用于实体消歧和谓词映射的BERT-Softmax模型
作者们的贡献主要如下:
我们提出了集bert-crf两者优点于一身的mention detection 训练模型,除此之外,提出了基于BERT-CRF和BERT-Softmax的BBKBQA模型,该模型利用外部知识产生问题、实体和谓词的深层语义表示。实验结果表明,该方法能够在NLPCC-ICCPOL 2016 KBQA数据集上实现。由于BERT强大的特征提取能力,我们的方法可以为给定的问题提供更精确和相关的答案。由于bert强大的特征提取能力,这篇文章认为他们的方法可以为给定问题提供更精准和相关的答案。
如下面的图片1所显示,问答系统通常包括三个模块,第一个实体链接(包括实体检测和实体歧义消除),谓词映射和答案选择。其中BERT-CRF用来做实体检测BERT-Softmax 用来做实体消歧和为此映射。论文会首先阐述他们设计的基于bert的模型,然后在kbqa模块中介绍这些模型。
bert 的输入是字符级别的序列,对于输入序列的每个标记,输入表示是相应的标记嵌入、段嵌入和位置嵌入的总和。接下来基本就是介绍bert模型是什么之类的。
bert-sorftmax:
这里把bert-softmax看作是二元序列分类任务,对于序列分类任务,他们只使用第一个令牌(特殊符号CLS)的最终隐藏状态进行softmax分类,这在 实体检测 和谓词映射 中使用。
bert-crf:
模型结构如图2(b)所示。在序列标记任务中,BERT的输入序列是x = {x1,xN},最终隐藏状态序列的定义与等式相同。(1),其进一步通过CRF [25]层,则最终输出是对应于每个令牌的预测标签Y。
实体链接部分包括实体检测和实体消歧,前者将提取问题中的实体,后者则将实体链接到知识库中相应的实体。这篇文章将实体检测当作序列标注问题,这篇文章构建了一个BERT-CRF模型作为输入序列在问题q中检测实体。
候选实体集合E,通过mention2id词典获取,其中T是候选集合的实体的数量,实体消歧可以看作是一个二元序列分类任务,本文将候选实体和问题Q连接起来,作为输入序列 【 Q , e i 】 【Q,e_i】 【Q,ei】并将其输入BERT-Softmax模型中,输出概率分布 P i e P_i^e Pie, P i e = B E R T _ S o f t m a x ( [ Q ; e i ] ) P_i^e= BERT\_Softmax([Q;e_i]) Pie=BERT_Softmax([Q;ei])。
从实体连接的模块,我们从实体ei得到了谓词集合R,L是候选谓词的数量,谓词映射模块根据问题与每个候选谓词的语义相似度对所有候选谓词进行评分。问题Q与候选谓词rijto连接以形成输入序列[Q;rij]。类似于实体消歧,BERT-Softmax模型被用来为候选谓词产生分数Sr。
在答案选择模块,我们计算候选实体和谓词的加权综合得分。
使用 NLPCC-ICCPOL 2016 KBQA 数据集
由于提及检测、实体链接和谓词映射模块需要各自的数据集,我们以自己的方式创建这三个数据集。具体来说,我们通过黄金答案获得问题的“实体-谓词”对。对于提及检测任务,我们手动标记问题中的提及。对于实体消歧任务,我们收集正确提及对应的所有实体,并将正确的实体标记为正例,其他实体标记为负例。对于谓词映射数据集,我们从知识库中收集与正确实体对应的所有谓词,并将正确的谓词标记为正例,其他谓词标记为负例。
一些实验细节就不再上面阐述了
Mention Detection. 表3总结了我们模型的实验结果和几个关于提及检测任务的基线。BERT-Softmax是具有线性和软最大分类层的BERT模型,BERT-BiLSTM-CRF结合了BERT和BiLSTM-CRF模型[27],BERT-CRF只是在BERT的基础上增加了一个CRF层。微调后的BERT-Softmax模型相比传统的BiLSTM-CRF有明显的提升,其中F1评分相对提高了6.33%。BERT-BiLSTM-CRF比BERT-Softmax高0.29%,仅使用CRF层的BERTCRF的性能又提高了0.44%。CRF层可以获得全局最优的序列标签,而不是局部最优的,并且预先训练的BERT模型可以对序列的词序信息和语义信息进行建模。增加一个BiLSTM层可能会干扰BERT提取的有效信息。
从表4可以看出,BERT-Softmax模型的性能平均比所有基线模型高出约2%,这表明微调后的BERT模型比其他浅层神经网络模型(如CNN和BiLSTM模型)能够提取更全面的深层语义信息。
谓词映射。
表5展示了谓词映射任务的实验结果。问题中提到的实体可能会带来有用的信息和无用的噪音。因此,根据问题中提到的实体是否被特殊标记替代,进行一组对比实验
用大规模语料库预训练的BERT模型覆盖了大量的常识,问题中提到的信息有助于谓词映射任务。
通过将提及检测建模为序列标记任务,而不是使用硬匹配方法,我们的模型即使在问题中有错别字也能检测到提及。例如,问题中正确书写的提及,泡泡小兵中文版游戏目标是什么?当我们的模型工作时,硬匹配方法无法检测到它。通过使用BERT-CRF,我们可以检测出基线模型做错的正确提及对于问题“我要拼是哪个国家的啊?”但是基线模型的结果是我,类似地,BERT-Softmax能够在基线模型中错误解决的一些问题中获得正确的结果。我们还随机抽样了一些我们的模型不能产生正确答案的例子。我们发现一些错误是由数据集本身造成的,主要包括:(1)存在未澄清的问题实体。比如,东山村,有人知道东山村的位置吗?答案有很多个,我想知道官方语言是什么这种模糊的问题。我们提出了一个基于BERT的知识库问答模型BBKBQA。与以前的模型相比,我们的模型捕获了问题、实体和谓词的深层语义信息,在NLPCC-ICCPOL 2016 KBQA数据集上实现了84.12%的新的最先进的结果。将来,我们计划在其他数据集上评估我们的模型,并尝试联合建模实体链接和谓词映射,以进一步提高性能。