Как семантически разрешить английские глаголы предложений

Я пытаюсь преобразовать английские операторы в запросы SQL.
Например, сколько продуктов было создано в прошлом году?

Это должно быть преобразовано в
select count(*) from products where manufacturing date between 1/1/2015 and 31/12/2015

Я не могу понять, как сопоставить глагол "создан" с атрибутом "дата изготовления" в моей таблице. Я использую Stanford Core NLP Suite для анализа моего заявления. Я также использую таксономии Wordnet с каркасом JWI.

Я попытался сопоставить глаголы с атрибутами, определив простые правила. Но это не очень общий подход, так как я не могу знать все глаголы заранее. Есть ли лучший способ добиться этого?

Буду признателен за любую помощь в этом отношении.

1 ответ

Я знаю, что это потребует смены инструмента, но я бы рекомендовал проверить Adapt от Mycroft AI.

Это очень простой синтаксический анализатор намерений, который преобразует вводимые пользователем данные в семантическое представление 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.

Другие вопросы по тегам