论文部分内容阅读
随着信息技术的不断发展,互联网上知识库的数量日益增长,给人们提供了高质量的知识内容。但是,知识库通常规模较大,并且使用特定的词汇,可读性差。因此,如何让普通用户更方便地利用这些宝贵的知识资源成为了研究重点。知识库问答系统使用自然语言作为交互工具,为用户提供了一种更加友好的知识库访问方式,在学术界和工业界都成为研究热点。 为了更全面地对知识库问答展开研究,本文首先从任务和技术两个维度对知识库问答进行分类。知识库问答可以根据任务分为三类,即:单关系问题的单知识库问答、复杂问题的单知识库问答和复杂问题的多知识库问答。知识库问答技术可以分为两种:基于符号逻辑的技术和基于数值运算的技术。前者的目标是将用户提出的自然语言问句转化为结构化查询语言,然后通过查询知识库给出问题的答案。这种技术的准确率高,可以处理复杂问句,但是依赖词典,或者人工设定的匹配规则,可扩展性差;后者把知识库问答问题转化为数值运算问题,根据问句和知识库中候选答案的匹配程度给出答案。这种技术不需要人工设计规则或特征,可扩展性强,更适应大规模动态知识库应用,但是难以捕捉复杂问题的语义,并且需要大量的训练数据。本文分析了两种问答技术在三类问答任务上的适用性,选用不同的技术路线对知识库问答做了研究,研究成果如下: 一、针对单关系问题的单知识库问答,本文采用基于数值运算的技术,研究了基于注意力机制神经网络的知识库问答方法。基于神经网络的方法是面向大规模动态知识库问答的一种有潜力的方法,这种方法将自然语言问题和知识库中的候选答案表示为低维空间上的数值向量,从而把问答问题转化为数值运算问题。现有方法大多把重点放在了答案端的表示上,对于问句的表示仍然是单一和固定。本文认为,不同候选答案的不同方面对于问句中不同词的注意力程度是不同的,可以利用这种注意力程度,动态地表示问句。通过这种方式,答案的注意力就会对问句的表示产生影响,使得问句表示更为准确。在此基础上,本文利用知识库表示学习技术,融合了知识库的全局信息,使得知识库资源的表示也更加准确,并且有效缓解了未登录资源问题。在公开数据集WEBQUESTIONS上的实验表明,该方法超过了现有的采用数值运算技术的方法。 二、在复杂问题的多知识库问答方面,本文研究了与之密切相关的知识库对齐问题。多知识库问答任务需要多个知识库之间进行对齐,这也是和单知识库问答最大的不同。本文提出了基于表示学习的两种对齐方法:1)基于词向量的知识库对齐方法。首先利用大规模文本学习词的向量表示以更准确地表示词的含义,然后,将这些词向量用于两个知识库的实体对齐。在OAEI2013数据集上的实验表明了基于词向量的方法优于原有的基于语义词典的方法;2)基于知识库表示学习的知识库实体对齐方法。这种方法利用知识库表示学习模型,通过种子实体对齐,联合学习两个知识库中的实体向量表示,最后通过计算两个知识库实体间的相似度产生新的对齐。在FB15K数据集上的实验表明,联合学习模型的效果优于作为基线的独立模型。 三、针对复杂问题的多知识库问答,本文采用基于符号逻辑的技术,提出基于整数线性规划的多知识库联合问答方法。先对齐知识库再进行问答是一个解决办法,但是,知识库对齐并不是一个容易的过程,而且在这种流水线式过程中,对齐产生的错误也会影响接下来的问答过程。本文认为,知识库之间对齐的建立和最终查询语句的建立并不是独立的,而是可以互相影响和促进的。因此,联合实现这两个过程会比分别实现取得更好的效果。基于这种思想,本文利用整数线性规划模型,将这两个过程纳入到统一的优化框架中。通过这种方式,把对齐和问答这两个过程联合起来,为面向多知识库的问答提供了一种有效的新方法。在两个公开的英文数据集和一个中文数据集上,该方法都取得了最好的效果。