Помощь Google против. Апи.ай

Недавно я начал изучать Google Assistance. Я пытаюсь понять, как это работает под капотом, и нашел следующий скриншот из Google i/o 16.

Диаграмма помощи Google

Насколько я понимаю, NLP, который находится в части Google Assistance, обрабатывает естественный язык и понимает, что нужно сделать, чтобы выполнить запрос пользователя.

Но когда я читаю описание на api.ai, оно описывается как «Понимание естественного языка» (NLU). Я считаю, что НЛУ является частью НЛП.

Зачем нам два NLU? Что на самом деле делает api.ai на диаграмме?


person Hikaru Watanabe    schedule 05.01.2018    source источник


Ответы (1)


Вот как я понимаю, как все работает для действий в Google. Принимайте это с любым количеством соли, которое вам нравится.

Во-первых, есть фраза, с которой начинается процесс. Например, «Хорошо, Google поговорите с «моим приложением»» или «Хорошо, Google спросит« мое приложение »« мой запрос »». Очевидно, что платформа Actions — что бы это ни было — должна понимать эту фразу, да? «ОК, Google» может ввести голосовой поиск, предназначенный для самого Google, или он может отправить действие, или это может быть запрос на отправку электронного письма и т. д. Кроме того, если он отправляет действие, его необходимо запустить и передать ему запрос, если он присутствует. Таким образом, AoG требует некоторого понимания, чтобы сдвинуться с мертвой точки.

Но как только действие отправлено, работа AoG больше связана с распознаванием, чем с пониманием. На каждом этапе разговора он отправляет текст услышанного — довольно некритично — в Действие, чтобы оно его поняло. Затем действие возвращает текст и снова, без необходимости понимать ответ, оно передает текст через синтезатор речи (или механизм TTS, если хотите).

Теперь действие должно понимать свою собственную грамматику и обрабатывать фразы так, как ему нужно. Некоторые действия — созданные с помощью SDK действий — самостоятельно понимаются с помощью проприетарных NLU. Другие используют Dialog Flow (ранее известный как API.AI) для понимания текста. Здесь Dialog Flow похож на прокладку или посредника, который находится между сторонним действием и платформой AoG.

person William DePalo    schedule 05.01.2018
comment
Хм, хорошо. Итак, вы говорите, что изначально Google пытается понять намерение запроса. Затем, в зависимости от намерения, он вызывает Dialog Flow для обработки действия? Следовательно, Dialog Flow имеет свой собственный NLU. Это правильно? - person Hikaru Watanabe; 05.01.2018
comment
Да все верно. Просто имейте в виду, что использование Dialog Flow — это выбор, который большинство разработчиков делают во время разработки. Это относительно безболезненный способ заставить код понимать естественный язык. Но если вам нужен полный и тотальный контроль над пониманием естественного языка, вы можете использовать SDK Actions и идти своим путем. Это гораздо больше работы. - person William DePalo; 06.01.2018
comment
Благодарю вас! Мне это сильно помогло! - person Hikaru Watanabe; 08.01.2018