Intencje wbudowane (Dialogflow)

Intencja wbudowana to unikalny identyfikator, który możesz określić, do Asystenta Google, że akcja może zrealizować konkretną kategorię użytkowników. żądań. Oto kilka przykładów zapytań użytkowników, które które Asystent dopasowuje do intencji wbudowanych:

  • „Zagraj w grę” intencji wbudowanej: „OK Google. Zagraj w grę pamięciową”.
  • „Uzyskaj horoskop” intencji wbudowanej: „OK Google. Pobierz mój horoskop”
.

Podczas wykrywania czynności Asystent może używać tych metod: metadane akcji, w tym określone intencje wbudowane, , aby polecić Twoją akcję użytkownikom. Aby zminimalizować przesyłanie rozmów w obie strony, Asystent próbuje też skanować parametry z zapytań użytkownika, i przekazać je do akcji.

Aby zobaczyć pełną listę intencji wbudowanych obsługiwanych przez Asystenta: ich parametrów i przykładowych zapytań użytkownika, Informacje o intencjach wbudowanych

Zintegruj intencje wbudowane

W zależności od tego, jak kształtujesz akcję, możesz i integracja z wbudowanymi intencjami.

Dialogflow

Jeśli do utworzenia akcji używasz Dialogflow, możesz dołączyć intencję wbudowaną z konsoli Dialogflow.

Aby dołączyć wbudowaną intencję przy użyciu Dialogflow, wykonaj te czynności:

  1. Otwórz konsolę Dialogflow, wybierz agenta, a następnie przejdź do Ekran Intencje.
  2. Utwórz lub wybierz intencję, którą agent wyzwala po otrzymaniu dla konkretnej wbudowanej intencji. Otwórz sekcję Zdarzenia i kliknij Dodaj Wydarzenie.

    Rysunek 1. przez dodanie zdarzenia Dialogflow w konsoli Dialogflow.
    .
  3. W polu Zdarzenia wpisz nazwę wbudowanego zdarzenia intencji (np. actions_intent_PLAY_GAME).

    Rysunek 2. Dołączenie intencji wbudowanej do agenta w konsoli Dialogflow.
    .
  4. Kliknij Zapisz.

Actions SDK

Jeśli do tworzenia akcji używasz pakietu SDK Actions, musisz określić parametr mapowanie między intencjami wbudowanymi a działaniami w pakiecie Action (Działania).

Aby dołączyć intencję wbudowaną za pomocą pakietu Actions SDK, wykonaj te czynności:

  1. Określ intencję wbudowaną w polu name w definicji Action (Działanie).
  2. Prześlij pakiet działań do projektu w Actions za pomocą narzędzia gactions, opisane w omówieniu pakietu SDK Actions.

Na przykład ten fragment kodu pokazuje, jak dodać element CHECK_AIR_QUALITY intencja wbudowana:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

Obsługa wbudowanych parametrów intencji

Gdy akcja jest wywoływana przez intencję wbudowaną, realizacja może uzyskać dodatkowe parametry. Schemat intencji definiuje nazwy parametrów i ich typów jako typów podstawowych lub schema.org. podmiotów. Schemat intencji wbudowanych akcji konwersacyjnych znajdziesz w Informacje o intencjach wbudowanych

Parametry intencji wbudowanych są opcjonalne. Asystent uzupełnia pola z wartościami, jeśli można je wyodrębnić z wywołania przez użytkownika funkcji do intencji wbudowanej.

Na przykład schemat wbudowanego interfejsu actions.intent.CHECK_AIR_QUALITY intencja określa 4 parametry opcjonalne:

Nazwa parametru Typ
attributes Wartość ciągu znaków.
location Obiekt schema.org/Place.
temporalCoverage Obiekt schema.org/Duration.
timeIndicator EnumeratedDuration (rozszerzenie specyficzne dla Google).

Poniższy fragment kodu zawiera przykład webhooka rozmowy (JSON) gdy użytkownik wywoła działanie, mówiąc „Jaka jest jakość powietrza w San Francisco jutro?”:

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

W tym przykładzie parametry przyjmują takie wartości:

  • Parametr location zawiera schema.org/Place „Warszawa”.
  • Parametr temporalCoverage zawiera schema.org/Duration daty jutrzejszej względem czasu wywołania.
  • Brak wartości parametrów attributes i timeIndicator ponieważ wyrażenie wywołania użytkownika nie zawierało takich informacji.

Jeśli używasz biblioteki klienta Actions on Google dla Node.js, możesz pobrać wartości parametrów, tak jak pokazano to w tym fragmencie kodu:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

Testowanie integracji z wbudowanymi intencjami

Aby przetestować integrację, wykonaj te czynności:

  1. Otwórz Symulator akcji z włączoną akcją testową lub otwórz Asystenta na urządzeniu.
  2. Wypowiedz lub wpisz zapytanie powiązane z tą wbudowaną intencją. Przykład: „Chcę w coś zagrać”.
  3. W wyświetlonym oknie wyboru aplikacji znajdź akcję.
  4. Wybierz aplikację, aby wysłać do niej intencję.
Rysunek 3. Okno wyboru działania powstałe na podstawie
wbudowanej wyrażenia intencji
.
Rysunek 4. Wywoływanie działania dołączonego do intencji wbudowanej.

Sprawdzone metody korzystania z intencji wbudowanych

Korzystając z intencji wbudowanych, stosuj te sprawdzone metody:

  • Zmapuj intencje wbudowane na konkretne działania: gdy określona intencja wbudowanej wywołają akcję, kierują użytkownika do konkretnej intencji funkcje w Akcji, z jak najmniejszym wysiłkiem. Dla: na przykład jeśli akcja obsługuje wbudowaną intencję PLAY_GAME, otrzyma tę intencję, natychmiast należy przekierować użytkownika do funkcji gry Akcji. Nie pytaj ponownie użytkownika, czy chce zagrać w grę.
  • Obsługuj wbudowane parametry intencji: pamiętaj, aby używać intencji wbudowanej. wartości parametrów, które Asystent wysyła do Twojej realizacji. Nie proś użytkownika ponownie o te wartości.