知识图谱上的自然语言查询

问题描述 投票:0回答:1

我刚刚进入知识图谱/本体领域,有一个问题需要查询。

知识图谱/本体是用RDF构建的,RDF上的查询是通过SPARQL语言完成的。例如,“查找具有给定对象属性的所有主题”

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bc: <http://www.base22.com/ontologies/2010/5/bc.owl#>
SELECT ?subject
WHERE { ?subject bc:hasEmployer <http://www.base22.com/ontologies/2010/5/my-contacts.owl#IBM> } LIMIT 100

我想在此示例中的最终应用程序中,用户会查询“谁在 IBM 工作”?如何将这样的 NL 查询转换为 SPARQL 查询?

在Google的知识图谱查询API中,给出了一个例子:

https://kgsearch.googleapis.com/v1/entities:search?query=taylor+swift&key=API_KEY&limit=1&indent=True

此查询返回 Swift Taylor 的详细信息。我不确定 Google Knowledge 是否也存储为 RDF 三元组,因此需要 SPARQL 转换。另外,它没有给出如何查询属性限制(关系)的示例,这似乎是更典型的 RDF 数据查询类型。

一般来说,如何由最终用户而不是系统开发人员使用自然语言查询 RDF 数据?

mysql sparql ontology google-knowledge-graph
1个回答
0
投票

您的问题属于非常活跃的研究领域,称为知识图问答(QAKG),它利用自然语言处理(NLP)方法和技术来实现这一目标。

这是一个非常庞大的研究领域,但简单地重新分级你的问题,为了将 NL 转换为 SPAQRL 查询,你需要让机器理解问题,首先标记每个单词识别实体和关系(使用 NLP 任务,如 NER、NED问题中的词性标记等)并将它们映射到 KG/本体使用的词汇。然后根据问题类型生成SPARQL查询。

© www.soinside.com 2019 - 2024. All rights reserved.