Natural language for Sparql

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

I have identified some types of queries as an example of use cases.

  • search by entity name by
  • entity type
  • search for common functions between two objects ... etc.

So far I have developed a SPARQL mechanism that accepts any type of these queries and sends the query to the endpoint and looks at the result.

The problem is that I want to create a natural language for it or an interface with a semi-natural language so that users can use these sentences using search queries in the natural language. But I don’t know where to start.

I found several articles that try to extract triplets from the text, but I don’t feel that the key is to solve.

I also found some LSA methods for interpreting search queries in a natural language, but I believe that it is not applicable to a semantic search domain.

Any idea or resources to start reading? Is there any better practice than natural language interface?

+6
source share
2 answers

A lot of work has been done in the field of natural language conversion β†’ SQL. Perhaps you should take this as a starting point and see how you can modify the available examples for SPARQL. (In addition, developing a managed natural language can make your task easier.)

Another way to explore this article could be: supporting object experts to create conceptual ontologies: a holistic approach published in the journal of web semantics, http://www.websemanticsjournal.org/index.php/ps/article/view/189 Although we are talking about using natural language to build ontology, the approach explained there (along with open source) can turn into a fruitful study.

+4
source

You saw FREya @ https://github.com/nmvijay/freya , this is NLP for the SPARQL converter.

FREyA is an interactive natural language interface for ontology requests that combines usability-enhancing methods, such as a feedback dialogue and clarifications, to: 1) improve feedback by creating a dialogue and enriching domain vocabulary from the user's dictionary, whenever the question appears "unknown" term 2) to increase accuracy, more effectively resolving ambiguities in the dialogue. The proposals presented to the user can be found based on the ontology and are initially ranked using a combination of string similarity and the definition of synonyms. The system then learns from user settings and improves its performance over time.

0
source

Source: https://habr.com/ru/post/901593/


All Articles