自然语言转为SPARQL查询
面向知识库的中文自然语言问句的语义理解
目标:将中文的自然语言转化为SPARQL查询
基本方法:
自然语言预处理:分词(ICTCLAS),命名实体识别,句法分析(Standford Parser)得到句法分析树
1、利用句法分析树构建用户的查询语义图(查询语义图是用来描述用户的查询中实体关系的一张图,其中顶点表示命名实体或名词性变量,边表示顶点之间的关系)
2、实体消歧(将查询语义图中顶点对应到知识库中实体)
3、谓词消歧(将查询语义图中的边映射为知识库中的边)
将自然语言中的关键词映射为知识库中的关系
3.1收集与关系相关度较高的关键词(首先为知识库中每个关系收集相关度比较高的动词短语和名词短语)
3.1.1对于任意一种关系a,首先抽取实体对R(a)<s,o>放入实体对集合P(a),收集所有出现P(a)中实体对的句子,放入S(a),对句子进行词性标注,将名词和动词的集合看作单个文档,把文档统一计算每个词tf-idf值,最后进行降序排序。这样就得到与每个关系相关,并且按照相关程度从高到低排序的词的列表。
3.2谓词映射(定义一种计算词语相关度的算法,利用收集到的词将图中的谓词映射到语义上最相关的关系)
4将查询语义图转换成SPARQL语句