A State-transition Framework to Answer Complex Questions over Knowledge Base
ACL 2018
提出一个基于状态转移的方法把一个复杂的自然语言问题转化为一个查询图,通过匹配潜在的知识图谱获得问题的答案。为了生成查询图,我们提出了四种基本操作(展开、折叠、连接和合并)和一种基于学习的状态转换方法。
复杂问题的属性和挑战
多元或者隐式关系
多元或者零元实体
变量和共同引用
组合
语意查询图生成
语意查询图是一个连通图,其中每一个节点对应于问题当中一个语意短语,关联一个实体/类型/文本候选集列表,每条边对应于一个关系候选集列表。
节点识别
通常节点识别认为被看作序列标注任务通过BLSTM-CRF模型解决。然而当实体短语太长太复杂的时候,模型表现并不是很好。
我们首先利用现有的特定的实体链接算法来检测实体和类型节点,在通过BLSTM-CRF模型。
查询图结构生成
我们的查询图结构由状态转移范式生成。初始时候这个状态只包含一些由第一步识别出的孤独节点。为了实习状态转移,我们提出4个主要的操作。
为了减少状态转换过程的搜索空间,我们还对每个操作提出了几个约束条件。只有当条件满足时,才可以进行相应的操作被执行。实验表明,这些条件不仅加快了质量保证过程,而且提高了质量保证的效率提高精度。
查找实体/关系候选集,查询图匹配
实体识别:S-MART
关系提取:提出了一种Multi-Channel Convolutional Neural Network(MCCNN)
学习反馈函数
给定SQG生成过程中的一个中间状态s,我们可以通过应用不同的操作转换到多个后续状态s。
因此,我们贪婪地选择一个后续状态拥有最大的γ(s),在γ()是一个奖励函数,根据状态特性和输出相应的奖励。在这部作品中,奖励γ()函数是一个线性模型与支持向量机训练排名的损失。
特征
学习:
任务的奖励功能可以看作是一个排序问题,其中有适当的SQGs应该排在前面。在这项工作中,我们使用SVM排序分类器对它们进行排序。