论文部分内容阅读
随着结构化知识数量不断的增长,以RDF格式存储的知识库也被广泛应用于不同的领域,导致终端用户对于访问这些知识的需求也在不断增长。同时问答系统也正受到越来越多的关注,比起传统的搜索引擎检索,问答系统通过自然语言提供对数据的直接访问,并且能够保证终端用户不受数据建模、词汇表和查询语言技术方面的影响。终端用户与问答系统的交互通过输入自然问句获取精确且简洁的答案,比访问网页进行寻找答案更加方便。但是对利用知识库作为底层数据存储的问答系统无法通过关键字匹配的方式访问数据,而是需通过结构化查询语言访问获取对应的数据。而这一类查询语言需要专业人士才能正确地编写,因此在面向知识库的问答系统中解析自然语言并生成结构化查询语言成为了一个热点。本文提出了语义解析的深度问答和面向自然问句的SPARQL查询生成方法,结合问句分析技术包括句法结构分析和依存关系分析,获取问句中词语之间的语义关系。通过提出语义查询图模型标注问句的主题词语、识别问句的实体词语和类别词语和抽取问句中的语义单元以及构建关系三元组结构。为了将自然语言映射到知识库资源,提高实体链接的准确率,本文采用了基于知识库的实体链接方法,使用Wikipedia构造外部实体指称字典和关系指称字典,最后结合知识库进行实体和谓词路径的匹配,优化语义查询图。为了匹配问句对应的SPARQL查询模式,采用基于Bi-LSTM的问句分类的方法获取问句的类别,在SPARQL查询生成阶段选择正确的查询模式。针对目前问答系统存在对复杂问句的准确率不高的问题,本文使用问句分解技术对复杂可分解的问句进行分解并重写子问句,然后对子问句进行分析处理,简化复杂问句的处理过程,从而提高解析复杂问句的准确率。最后,根据上述的解决方案本文设计并实现一个面向知识库的问答系统,实现了对问句的语义解析、问句分类和问句分解等问句分析功能,获取用户的查询意图。然后基于依存分析的结构定义语义查询图模型,并实现自然问句到语义查询图的转换。最后通过遍历语义查询图和SPARQL查询定义实现基于语义查询图的SPARQL查询生成,然后利用SPARQL查询引擎对生成的SPARQL查询语句进行检索并返回答案,最后通过一个可视化界面完成与用户的交互。该问答系统在QALD和WebQuestion数据集中的F值能达到83%,相比于AskHow、ONIL、QuerioDaLI和Xser这些面向自然语言问句查询生成方法性能有较大提升。