以一个经典的语义解析baseline方法为例,介绍语义解析如何进行KB-QA。该方法来自斯坦福Berant J, Chou A, Frostig R, et al. 的Semantic Parsing on Freebase from Question-Answer Pairs,文章发表于2013年的EMNLP会议。
一、语义解析
语义解析KB-QA的思路是通过对自然语言进行语义上的分析,转化成为一种能够让知识库“看懂”的语义表示,进而通过知识库中的知识,进行推理(Inference)查询(Query),得出最终的答案。
简而言之,语义解析要做的事情,就是将自然语言的问题,转化为一种能够让知识库“看懂”的语义表示,这种语义表示即逻辑形式(Logic Form)。
二、逻辑形式
为了能够对知识库进行查询,我们需要一种能够“访问”知识库的逻辑语言,Lambda Dependency-Based Compositional Semantics ==( Lambda-DCS)==是一种经典的逻辑语言,它用于处理逻辑形式(在实际操作中,逻辑形式会转化SPARQL query,可以在Virtuoso engine上对Freebase进行查询)。如果我们把知识库看作是一个数据库,那么逻辑形式(Logic Form)则可以看作是查询语句的表示。
我们用 z 表示一个逻辑形式,用 k 表示知识库,e 表示实体,p 表示实体关系(有的也称谓语或属性)。简单而言,逻辑形式分为一元形式(unary)和二元形式(binary)。对于一个一元实体 e ,我们可以查询出对应知识库中的实体,给定一个二元实体关系 p ,可以查到它在知识库中所有与该实体关系 p 相关的三元组中的实体对。并且,我们可以像数据库语言一样,进行连接Join,求交集Intersection和聚合Aggregate(如计数,求最大值等等)操作。具体来说,逻辑形式有以下形式和操作:

有了上面的定义,就可以把一个自然语言问题表示为一个可以在知识库中进行查询的逻辑形式。
当自然语言问题转化为逻辑形式之后,通过相应的逻辑语言(转化为SPARQL query)查询知识库就可以得到答案。
三、语义解析KB-QA的方法框架
语法解析的过程可以看作是自底向上构造语法树的过程,树的根节点,就是该自然语言问题最终的逻辑形式表达。整个流程可以分为两个步骤:
- 词汇映射:即构造底层的语法树节点。将单个自然语言短语或单词映射到知识库实体或知识库实体关系所对应的逻辑形式。我们可以通过构造一个==词汇表(Lexicon)==来完成这样的映射。
- 构建(Composition):即自底向上对树的节点进行两两合并,最后生成根节点,完成语法树的构建。这一步有很多种方法,诸如构造大量手工规则,组合范畴语法(Combinatory Categorical Grammars,CCG)等等,而我们今天要讲的这篇论文,采用了最暴力的方法,即对于两个节点都可以执行上面所谈到的连接Join,求交Intersection,聚合Aggregate三种操作,以及这篇文章独创的桥接Bridging操作(桥接操作的具体方式稍后会提到)进行结点合并。显然,这种合并方式复杂度是指数级的,最终会生成很多棵语法树,我们需要通过对训练数据进行训练,训练一个分类器,对语法树进行筛选。
自然语言转化为逻辑形式的流程如下图所示:

上图红色部分即逻辑形式,绿色部分where was Obama born 为自然语言问题,蓝色部分为==词汇映射(Lexicon)和构建(Composition)==使用的操作,最终形成的语义解析树的根节点即语义解析结果。
训练分类器
分类器的任务是计算每一种语义解析结果d(Derivation)的概率,作者通过discriminative log-linear model进行modeling,使用Softmax进行概率归一化,公式如下:
p θ ( d i ∣ x ) = exp { ∅ ( x , d i ) T θ } / ∑ d exp { ∅ ( x , d ) T θ } p_{\theta}\left(d_{i} \mid x\right)=\exp \left\{\emptyset\left(x, d_{i}\right)^{T} \theta\right\} / \sum_{d} \exp \left\{\emptyset(x, d)^{T} \theta\right\} pθ(di∣x)=exp{ ∅(x,di)Tθ}/d

本文介绍了语义解析在知识库问答(KB-QA)中的基本框架,包括语义解析、逻辑形式和KB-QA方法。通过将自然语言问题转化为逻辑形式,进而查询知识库获取答案。文中详细阐述了词汇映射、逻辑形式构建、桥接操作等关键技术,并提出了训练分类器筛选有效语义解析路径。尽管这种方法取得了一定成果,但依赖于词汇映射和大量训练数据,对复杂关系的处理和数据稀疏性仍是挑战。
最低0.47元/天 解锁文章
6266

被折叠的 条评论
为什么被折叠?



