How to resolve English sentence verbs semantically

169 Views Asked by At

I am trying to transform English statements into SQL queries.
e.g. How many products were created last year?

This should get transformed to
select count(*) from products where manufacturing date between 1/1/2015 and 31/12/2015

I am not able to understand how to map the verb "created" to "manufacturing date" attribute in my table. I am using Stanford core nlp suite to parse my statement. I am also using wordnet taxonomies with JWI framework.

I have tried to map the verbs to the attributes by defining simple rules. But it is not a very generic approach, since I can not know all the verbs in advance. Is there any better way to achieve this?

I would appreciate any help in this regard.

1

There are 1 best solutions below

0
On

I know this would require a tool change, but I would reccommend checking out Adapt by Mycroft AI.

It is a very straightforward intent parser which transforms user input into a json semantic representation.

For example:

Input: "Put on my Joan Jett Pandora station."

JSON:
{
    "confidence": 0.61,
    "target": null,
    "Artist": "joan jett",
    "intent_type": "MusicIntent",
    "MusicVerb": "put on",
    "MusicKeyword": "pandora"
}

It looks like the rules are very easy to specify and expand so you would just need to build out your rules and then have whatever tool you want process the JSON and send the SQL query.