Амазонка Alexa , Nuance в Mix и Facebook, Wit.ai все используют подобную систему , чтобы указать , как преобразовать текстовую команду в умысел - то есть что - то компьютер поймет. Я не уверен, что это за «официальное» название, но я называю это «признание намерений». В основном путь от «пожалуйста , установите мои огни на 50% яркости» в lights.setBrightness(0.50)
.
Способ, которым они указаны, заключается в том, что разработчик должен предоставить список «типовых высказываний», которые связаны с намерением и, необязательно, помечены местоположениями «сущностей» (в основном параметров). Вот пример из Wit.ai:
Мой вопрос: как сделать эти системы? Поскольку все они очень похожи , я полагаю , есть некоторая плодотворная работа , что все они используют. Кто-нибудь знает, что это?
Интересно Houndify использует другую систему , которая больше похожа регулярных выражений: ["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]
. Я предполагаю, что это интегрировано в поиск луча в их системе распознавания голоса, тогда как у Alexa, Wit.ai и Mix, кажется, есть отдельные системы Speech-> Text и Text-> Intent.
Изменить: Я нашел отправную точку - механизм для человека - робот Interaction через Неофициальные голосовые команды . Для сравнения высказываний используется метод скрытого семантического анализа. Я собираюсь прочитать об этом. По крайней мере , он дал мне отправную точку в сети цитируемости.
Edit 2: LSA, по существу , сравнивая слова , используемые (мешок слов) в каждом абзаце текста. Я не вижу , как это может работать очень хорошо для этого случая , как он полностью теряет порядок слов. Хотя , может быть , порядок слов не имеет большого значения для этих видов команд.
Редактировать 3: Скрытая тема Марковские модели выглядят так, как будто они могут быть интересными.
источник
Ответы:
Хотя вы и не отвечаете непосредственно на ваш вопрос, вас может заинтересовать область автоматического ответа на вопрос . Чтобы ответить на текстовые вопросы на естественном языке, их сначала нужно понять, что совпадает с вашей проблемой.
Хороший ресурс - это курс Юрафского и Мэннинга . В частности, разделы по семантике и ответам на вопросы могут помочь с тем, что вы ищете. Есть сопровождающих лекция видео доступно на YouTube здесь .
источник
Этот пост имеет подход. В основном они используют пакет слов - они преобразовывают слова в разреженные векторы, а затем складывают их.
Кажется, он работает довольно хорошо, но один существенный недостаток заключается в том, что ответ не зависит от порядка слов, поэтому вы не можете выполнять запросы типа «Сколько килограммов в фунте», если только вы не используете их в особых случаях.
Однако я сделал текст с Alexa, и он довольно нечувствителен к изменениям порядка слов, поэтому, возможно, они используют нечто подобное.
источник