3. 知识库问答的主流方法
关于 KB-QA 的方法,个人认为,传统的主流方法可以分为三类:
语义解析(Semantic Parsing):该方法是一种偏linguistic的方法,主体思想是将自然语言转化为一系列形式化的逻辑形式(logic form),通过对逻辑形式进行自底向上的解析,得到一种可以表达整个问题语义的逻辑形式,通过相应的查询语句(类似 lambda-Caculus)在知识库中进行查询,从而得出答案。下图红色部分即逻辑形式,绿色部分 where was Obama born 为自然语言问题,蓝色部分为语义解析进行的相关操作,而形成的语义解析树的根节点则是最终的语义解析结果,可以通过查询语句直接在知识库中查询最终答案。
注:该图片来自 Semantic Parsing on Freebase from Question-Answer Pairs
这里给出语义解析方法的一些代表论文:
Berant J, Chou A, Frostig R, et al. Semantic Parsing on Freebase from Question-Answer Pairs[C]//EMNLP. 2013, 2(5): 6.
Cai Q, Yates A. Large-scale Semantic Parsing via Schema Matching and Lexicon Extension[C]//ACL (1). 2013: 423-433.
Kwiatkowski T, Choi E, Artzi Y, et al. Scaling semantic parsers with on-the-fly ontology matching[C]//In Proceedings of EMNLP. Percy. 2013.
Fader A, Zettlemoyer L, Etzioni O. Open question answering over curated and extracted knowledge bases[C]//Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014: 1156-1165.
信息抽取(Information Extraction):该类方法通过提取问题中的实体,通过在知识库中查询该实体可以得到以该实体节点为中心的知识库子图,子图中的每一个节点或边都可以作为候选答案,通过观察问题依据某些规则或模板进行信息抽取,得到问题特征向量,建立分类器通过输入问题特征向量对候选答案进行筛选,从而得出最终答案。信息抽取的代表论文 Yao X, Van Durme B. Information Extraction over Structured Data: Question Answering with Freebase[C]//ACL (1). 2014: 956-966。
向量建模(Vector Modeling):该方法思想和信息抽取的思想比较接近,根据问题得出候选答案,把问题和候选答案都映射为分布式表达(Distributed Embedding),通过训练数据对该分布式表达进行训练,使得问题和正确答案的向量表达的得分(通常以点乘为形式)尽量高,如下图所示。模型训练完成后则可根据候选答案的向量表达和问题表达的得分进行筛选,得出最终答案。
注:该图片来自论文 Question answering with subgraph embeddings
向量建模方法的代表论文:
Bordes A, Chopra S, Weston J. Question answering with subgraph embeddings[J]. arXiv preprint arXiv:1406.3676, 2014.
Yang M C, Duan N, Zhou M, et al. Joint Relational Embeddings for Knowledge-based Question Answering[C]//EMNLP. 2014, 14: 645-650.
Bordes A, Weston J, Usunier N. Open question answering with weakly supervised embedding models[C]//Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer Berlin Heidelberg, 2014: 165-180.
细心的朋友已经发现了,以上三种方法的代表论文都集中在13-14年。那么 14 年之后 KB-QA 的主流方法是什么呢?
随着深度学习(Deep Learning)在自然语言处理领域的飞速发展,从 15 年开始,开始涌现出一系列基于深度学习的 KB-QA 文章,通过深度学习对传统的方法进行提升,取得了较好的效果,比如:
使用卷积神经网络对向量建模方法进行提升:
Dong L, Wei F, Zhou M, et al. Question Answering over Freebase with Multi-Column Convolutional Neural Networks[C]//ACL (1). 2015: 260-269.
使用卷积神经网络对语义解析方法进行提升:
Yih S W, Chang M W, He X, et al. Semantic parsing via staged query graph generation: Question answering with knowledge base[J]. 2015.
注:该 paper 来自微软,是 ACL 2015 年的 Outstanding paper,也是目前 KB-QA 效果最好的 paper 之一。
使用长短时记忆网络(Long Short-Term Memory,LSTM),卷积神经网络(Convolutional Neural Networks,CNNs)进行实体关系分类:
Xu Y, Mou L, Li G, et al. Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths[C]//EMNLP. 2015: 1785-1794.
Zeng D, Liu K, Lai S, et al. Relation Classification via Convolutional Deep Neural Network[C]//COLING. 2014: 2335-2344.(Best paper)
Zeng D, Liu K, Chen Y, et al. Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks[C]//EMNLP. 2015: 1753-1762.
使用记忆网络(Memory Networks),注意力机制(Attention Mechanism)进行 KB-QA:
Bordes A, Usunier N, Chopra S, et al. Large-scale simple question answering with memory networks[J]. arXiv preprint arXiv:1506.02075, 2015.
Zhang Y, Liu K, He S, et al. Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Information[J]. arXiv preprint arXiv:1606.00979, 2016.
以上论文几乎都使用了 Freebase 作为 knowledge base,并且在 WebQuestion 数据集上进行过测试,这里给出各种方法的效果对比图,给大家一个更加直观的感受。
注:该图片来自中科院刘康老师在知识图谱与问答系统前沿技术研讨会中的报告
以上论文几乎都使用了 Freebase 作为 knowledge base,并且在 WebQuestion 数据集上进行过测试,这里给出各种方法的效果对比图,给大家一个更加直观的感受。
4. 知识库问答的数据集
最后,我们再简单地介绍一下 KB-QA 问题的 Benchmark 数据集——WebQuestion。
该数据集由 Berant J, Chou A, Frostig R, et al.在 13 年的论文 Semantic Parsing on Freebase from Question-Answer Pairs 中公开。
作者首先使用 Google Suggest API 获取以 wh-word(what,who,why,where,whose...)为开头且只包含一个实体的问题,以“where was Barack Obama born?”作为问题图谱的起始节点,以 Google Suggest API 给出的建议作为新的问题,通过宽度优先搜索获取问题。具体来讲,对于每一个队列中的问题,通过对它删去实体,删去实体之前的短语,删去实体之后的短语形成 3 个新的 query,将这三个新 query 放到 google suggest 中,每个 query 将生成 5 个候选问题,加入搜索队列,直到 1M 个问题被访问完。如下图所示:
注:该图片来自Google Suggest
获取完问题后,随机选取 100K 个问题交给 Amazon Mechanical Turk (AMT) 的工人,让工人回答答案。注意,这里对答案进行了限制,让 AMT 的工人只能把答案设置为 Freebase 上的实体(entity),实体列表,值(value)或者 no-answer。
最终,得到了 5,810 组问题答案对,其词汇表包含了 4,525 个词。并且,WebQuestion 还提供了每个答案对应知识库的主题节点(topic node)。
可以看出 WebQuestion 的问题与 freebase 是不相关的,更加偏向自然语言,也更多样化。这里给出一些例子:
“What is James Madison most famous for?”
“What movies does Taylor Lautner play in?”
“What music did Beethoven compose?”
“What kind of system of government does the United States have?”
除了该数据集,这里再补充一些其他数据集的信息,如下图所示:
注:该图片来自中科院刘康老师在知识图谱与问答系统前沿技术研讨会中的报告
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。