Естественный язык командный язык
-
05-07-2019 - |
Вопрос
Я заинтересован в разработке командного языка на естественном языке для домена с существующими правилами. Я был очень впечатлен, когда SHRDLU Терри Винограда показал путь (беседе ниже 40 лет! Удивительно ). Можем ли мы сделать лучше сейчас, и если да, то где я могу получить примеры?
Человек: возьмите большой красный блок.
Компьютер: ОК.
Человек: Возьмитесь за пирамиду.
Компьютер: я не понимаю, какую пирамиду вы имеете в виду.
Человек (передумывает): найдите блок, который выше, чем тот, который вы держите, и поместите его в коробку.
Компьютер: под "это" я предполагаю, что вы имеете в виду блок, который выше, чем тот, который я держу.
Компьютер: ОК.
Человек: Что содержится в коробке?
Компьютер: голубая пирамида и синий блок.
Человек: Чем поддерживается пирамида?
Компьютер: Коробка.
Человек: Сколько блоков не в коробке?
Компьютер: четыре из них.
Человек: По крайней мере, один из них уже, чем тот, который я сказал вам подобрать?
Компьютер: да, красный куб.
У меня есть онтология для домена, поэтому я могу рассуждать о распространенных проблемах.
Решение 3
Я также недавно столкнулся с Регулусом ( http://en.wikipedia.org/wiki/Regulus_Grammar_Compiler ), который широко использовался НАСА.
Другие советы
Взгляните на OpenCyc , общую базу знаний и механизм рассуждений здравого смысла.
Взгляните на контролируемый английский (ACE), разработанный в проекте Attempto . Кажется, он обладает необходимой выразительностью и гибкостью. Анализатор ACE анализирует предложения ACE в логическую формулу первого порядка (вариант, называемый DRS), который затем может использоваться для дальнейшей обработки, например, автоматическое рассуждение. Синтаксический анализатор доступен в LGPL, ознакомьтесь с демонстрацией здесь .