Разбиение команды на компоненты с использованием обработки естественного языка - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу преобразовать команду назначения переменной в код.Например: «создать переменную альфа, равную числу 7» или «определить новую переменную альфа и установить ее на 7», и любой из них должен преобразоваться в:

int alpha = 7;

Как я планирую выполнить эту задачуищет определенные компоненты в строке (например, имя переменной и значение переменной).Как только я выясню, что имя переменной - «альфа», а значение переменной - «7», я могу создать код, показанный выше.Но как мне найти имя и значение переменной с помощью обработки на естественном языке?Пользователь может добавить дополнительные слова или пропустить некоторые слова (или, возможно, даже инвертировать порядок).

1 Ответ

0 голосов
/ 11 апреля 2019

Это очень сложная проблема. Вы можете попробовать некоторые правила, основанные на синтаксисе зависимостей, которые вы можете получить, например, из spacy , но правила, вероятно, будут охватывать лишь небольшую часть того, что люди действительно могут сказать.

Исследователи из CMU недавно опубликовали набор данных и объявили вызов именно для этой задачи. Соревнование выполняется на CodaLab , и согласно таблице лидеров, похоже, что во всех работах используются нейронные сети, обученные на нескольких тысячах примеров, предоставленных организаторами.

...