Действие Google Assistant - Опыт неявного вызова - PullRequest
0 голосов
/ 31 января 2020

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

Вот как выглядит этот поток:

User: Ok Google, what's a good recipe I can make?
Google Assistant: Okay. For that, you might like < Your App Here >. Wanna give it a try?
User: Yes
Google Assistant: Opening < Your App Here >
Google Assistant: You should make spaghetti!

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

Почему это не относится к каждому действию? Например, musi c.

User: Ok Google, play blink-182
Google Assistant: Playing blink-182 on Spotify

Хорошо. Я настроил Spotify в качестве моего проигрывателя по умолчанию для musi c, а воспроизведение musi c - это стандартное действие Google из коробки. Я могу понять, почему он пропускает подтверждение и идет прямо в приложение.

Как насчет случайного сервиса, который я загружаю из inte rnet? Как этот .

User: Ok Google, enable study mode
Google Assistant: I'll make sure no one disturbs you

Что?!

Нет подтверждения?

Как помощник Google узнал, что я хочу использовать IFTTT обслуживать и использовать намерение в этой службе для завершения запроса? Совершенно очевидно, что можно улучшить возможности неявного вызова действия Google Assistant, так что если на вашем устройстве не установлена ​​явно конкурирующая служба, она будет go впереди, выберет соответствующую службу и выполнит запрос.

Как в мире вы это делаете?

1 Ответ

0 голосов
/ 02 февраля 2020

Многое происходит с тем, как можно обрабатывать вызовы, поэтому давайте посмотрим на те, которые вы наметили, наряду с несколькими, которые вы не упомянули.

Явные вызовы

You: Ok Google, talk to Shakespearean Insult
GA:  Ok, Here's Shakespearean Insult
SI:  ...

Самый простой способ - вызвать ваше действие по названию, которое вы ему дали. Поскольку это уникальное имя, Google может напрямую выполнять переключение между голосом помощника и голосом вашего действия, хотя, если пользователь использует его достаточно, эта часть передачи становится все короче и короче. Поэтому, если вы достаточно поговорите с «Шекспировским оскорблением» (в нашем примере выше) или достаточно подряд, разговор станет следующим:

You: Hey Google, talk to Shakespearean Insult
SI:  ...

Google неясно, когда это может произойти, или какие обстоятельства вызовут его, но это произойдет для действий, которые вы используете чаще всего.

неявные вызовы

You: Ok Google, I need a chicken soup recipe.
GA:  Sure. For that, you might like Personal Chef. Wanna give it a try?

Они предназначены, чтобы помочь пользователям с " проблема обнаружения "- как найти действия, если вы не знаете, как они называются, а только то, что вы хотите, чтобы они делали. В некотором роде похож на Поисковую оптимизацию (SEO), это позволяет вам добавлять фразы вызова, которые также будут запускать ваше действие. Поскольку многие Действия могут поддерживать эти же фразы, Google будет проверять, какое Действие хочет использовать пользователь.

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

Аналогично явным вызовам, если пользователь выбирает достаточно одно и то же действие, Google может прекратить запрашивать, если это действие, которое они sh использовать. Опять же, точный уровень не ясен, но это возможно.

Встроенные функции

You: Hey Google, I'd like to play a game.
GA:  Alright, I have a few options for that ... Which one would you like to try?

Это похоже на Неявные вызовы, но разница в том, что возможные фразы вызовов были определены Google. Разработчики могут зарегистрировать действия, чтобы принять эти встроенные намерения.

Прямо сейчас, только намерение "играть в игру" является общедоступным, но Google указал, что они хотят развернуть больше по мере их разработки и интернационализации. .

Musi c и Умный дом Команды

You: Ok Google, play blink-182
GA:  Playing blink-182 on Spotify
You: Turn on the living room light
GA:  <rising tone>

Они аналогичны работе встроенных Intents, так как Google определил, какие фразы будут вызывать различные намерения. Разница, однако, заключается в том, что оба требуют немного более тесной интеграции с Google, поскольку пользователь указывает оба элемента управления в приложении Google Home.

IFTTT

IFTTT имеет специальную поддержку, встроенную в Google Assistant, хотя и имеет некоторые ограничения по сравнению с другими диалоговыми действиями. Нет необходимости в явном подтверждении, так как вы уже предприняли явные действия для включения апплета - вам пришлось связать свою учетную запись с IFTTT и настроить апплет. Это также не так необходимо - поскольку все, что может сделать апплет, это сказать что-то одно, а затем закрыть, и эта вещь была установлена ​​пользователем.

Подпрограммы

You: Hey Google, Good Night
GA:  <declining tone>
GA:  Ok, playing relaxing sounds for 30 minutes
You:  Hey Google, record my weight
GA:   Getting Vodo Drive
Vodo: Ok, I've added a row to the spreadsheet named weight. What would you like to set today's weight to?

Одна вещь, которую вы не упомянули в своих примерах об улучшении фраз вызова, заключается в том, что пользователи могут задавать свои собственные фразы так, как они хотят, используя рутины. Это похоже на IFTTT, поскольку он имеет некоторую встроенную интеграцию, но требует, чтобы пользователь явно создал их. Подпрограммы похожи на псевдонимы, где вы можете задать ряд команд, которые помощник будет выполнять, когда вы что-то говорите.

Пользователи могут настраивать подпрограммы с помощью приложения Google Home. Google предлагает некоторые подпрограммы, например «Доброе утро» и «Спокойной ночи», но вы также можете создавать собственные подпрограммы с любым именем. В приведенном выше примере у меня есть подпрограмма под названием «записать мой вес», которая, как я сказал, Google эквивалентна команде ask Vodo Drive to add a row to weight, которая будет вызывать действие Vodo Drive, чтобы открыть электронную таблицу, добавить в нее строку и запросить меня. для информации.

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

Сводка

Разработчики Есть несколько, но не много, способов получить лучшие фразы вызова. Однако, когда пользователи пользуются ими, Google удостоверяется, что ясно, что они не используют что-то от Google, а скорее сторонние действия. Со временем Google делает это немного лучше, поскольку становится ясно, что пользователь принимает это.

У пользователей есть какой-то способ настроить лучшие фразы вызова самостоятельно. В таких случаях, поскольку пользователь явно настраивает действия против третьей стороны, Google в этих случаях немного более гибок, поскольку пользователь уже признал это взаимодействие с третьей стороной.

...