Natural Language to Sparql
Asked Answered
U

2

7

I'm building a small prototype of a Movies semantic search engine based on the data of LinkedIMDB

I've defined some Query Types as an example of use cases

  • search by entity name search by
  • entity type
  • search common features between two entities ...etc

So far I've developed a SPARQL engine that takes any type of those Queries and send the Query to the endpoint and preview the result.

The problem here is that I want to make a natural language or semi natural language interface for it in order for users to invoke those sentences using Natural language search Queries. But I don't know from where to start.

I've found some papers that are trying to extract triplets from the text but I don't feel that's the key to the solution.

Also I've found some LSA techniques to interpret Natural language search Queries but I feel it's not applicable to semantic search domain.

Any idea or resources to start reading from? Is there a best practice than the natural language interface?

Urus answered 16/11, 2011 at 6:45 Comment(0)
N
4

A lot of work has been done in the field of natural languge -> SQL conversion. Maybe you should take that as a starting point and see how you can modify the available examples for SPARQL. (Also, designing a controlled natural language could make your task easier.)

Another path to explore can be this article: Supporting Domain Experts to Construct Conceptual Ontologies: A Holistic Approach published at the Journal of Web Semantics, http://www.websemanticsjournal.org/index.php/ps/article/view/189 Even though it is about using natural language for ontology construction, the approach explained there (along with open source code) can turn into a fruitful exploration.

Noah answered 17/11, 2011 at 8:30 Comment(0)
H
1

Have you seen FREya @ https://github.com/nmvijay/freya it is an NLP to SPARQL convertor.

FREyA is an interactive Natural Language Interface for querying ontologies which combines usability enhancement methods such as feedback and clarification dialogs in order to: 1) improve recall by generating the dialog and enriching the domain lexicon from the user's vocabulary, whenever an "unknown" term appears in a question 2) improve precision by resolving ambiguities more effectively through the dialog. The suggestions shown to the user are found through ontology reasoning and are initially ranked using the combination of string similarity and synonym detection. The system then learns from the user's selections, and improves its performance over time.

Hintz answered 16/1, 2017 at 9:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.