0

我正在尝试将英语语句转换为 SQL 查询。
例如,去年创造了多少产品?

这应该转化为
select count(*) from products where manufacturing date between 1/1/2015 and 31/12/2015

我无法理解如何将动词“创建”映射到表中的“制造日期”属性。我正在使用斯坦福核心 nlp 套件来解析我的陈述。我还在 JWI 框架中使用 wordnet 分类法。

我试图通过定义简单的规则将动词映射到属性。但这不是一个非常通用的方法,因为我无法提前知道所有的动词。有没有更好的方法来实现这一目标?

我将不胜感激在这方面的任何帮助。

4

1 回答 1

0

我知道这需要更改工具,但我建议查看Mycroft AI 的Adapt

它是一个非常简单的意图解析器,将用户输入转换为 json 语义表示。

例如:

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"
}

看起来规则很容易指定和扩展,因此您只需要构建规则,然后使用您想要的任何工具来处理 JSON 并发送 SQL 查询。

于 2016-06-09T16:08:26.607 回答