Akcje dotyczące rozmów

Działania związane z rozmową pozwalają rozszerzyć Asystenta Google o własne interfejsy konwersacyjne, które zapewniają użytkownikom dostęp do Twoich produktów i usług. Akcje wykorzystują potężny mechanizm rozumienia języka naturalnego (NLU) Asystenta, aby przetwarzać i rozumieć dane w języku naturalnym oraz wykonywać zadania na podstawie tych danych.

Opis

Akcja konwersacyjna to prosty obiekt, który określa punkt wejścia (nazywany wywołaniem) do rozmowy:

  • Wywołanie określa, w jaki sposób użytkownicy informują Asystenta, że chcą rozpocząć rozmowę z jedną z Twoich akcji. Wywołanie akcji jest zdefiniowane przez jedną intencję, która jest dopasowywana, gdy użytkownicy wysyłają żądanie akcji.
  • Rozmowa określa sposób interakcji użytkowników z akcją po jej wywołaniu. Rozmowy tworzysz za pomocą zamiarów, typów, scen i promptów.
  • Dodatkowo działania mogą przekazywać dodatkowe zadania realizacji, czyli usługom internetowym komunikującym się z działaniami za pomocą webhooków. Pozwala to między innymi na weryfikację danych, wywoływanie innych usług internetowych czy realizację logiki biznesowej.

Jedno lub wiele akcji możesz połączyć w pakiet logiczny nazywany projektem Actions (na podstawie przypadków użycia ważnych dla użytkowników). Projekt w Actions zawiera cały model wywoływania (zbiór wszystkich wywołań), który umożliwia użytkownikom rozpoczęcie od logicznych miejsc w modelu rozmowy (wszystkie możliwe wypowiedzi i sposoby odpowiadania użytkownikom).

Rysunek 1. Zbiór działań, które służą jako punkty wejścia do modelu rozmowy. Intencje, które kwalifikują się do wywoływania, są uznawane za globalne.

Wywołanie

Wywołanie jest powiązane z wyświetlaną nazwą, która reprezentuje markę, nazwę lub profil klienta, dzięki czemu użytkownicy mogą prosić Asystenta o wywołanie akcji. Użytkownicy mogą używać tej wyświetlanej nazwy oddzielnie (nazywanej wywołaniem głównym) lub w połączeniu z opcjonalnymi wyrażeniami precyzyjnych linków do wywoływania akcji.

Na przykład użytkownicy mogą wypowiedzieć podane niżej wyrażenia, aby wywołać 3 osobne działania w projekcie o wyświetlanej nazwie „Informacje o Google”:

  • „OK Google, porozmawiaj z Faktami o Google”
  • „OK Google, porozmawiaj z informacjami o Google, aby poznać fakty o firmie”
  • „OK Google, porozmawiaj z Faktami o Google, aby poznać fakty z historii”

Pierwsze wywołanie w tym przykładzie to główne wywołanie. To wywołanie jest powiązane ze specjalną intencją systemową o nazwie actions.intent.MAIN. Drugie i trzecie wywołania to wywołania precyzyjnych linków, które umożliwiają określenie dodatkowych wyrażeń umożliwiających użytkownikom poproszenie o określoną funkcję. Te wywołania odpowiadają intencjom użytkownika, które zostały przez Ciebie oznaczone jako globalne. Każde wywołanie w tym przykładzie stanowi punkt wejścia do rozmowy i odpowiada pojedynczej akcji.

Rysunek 2. Przykład wywołania głównego

Rysunek 2 opisuje typowy główny przepływ wywołania:

  1. Gdy użytkownicy proszą o działanie, zazwyczaj proszą Asystenta o nie, używając Twojej wyświetlanej nazwy.
  2. Asystent dopasowuje prośbę użytkownika do odpowiedniej intencji, która pasuje do żądania. W tym przypadku jest to actions.intent.MAIN.
  3. Akcja jest powiadamiana o dopasowaniu intencji i wyświetla odpowiednią prośbę o rozpoczęcie rozmowy z użytkownikiem.

Rozmowa

Rozmowa definiuje sposób interakcji użytkowników z akcją po jej wywołaniu. Interakcje te tworzy się, definiując prawidłowe dane wejściowe użytkownika w rozmowie, logikę przetwarzania tych danych oraz odpowiadające im prompty, które mają odpowiedzieć użytkownikowi. Na ilustracji poniżej widać, jak działa typowy cykl rozmowy w przypadku komponentów niskiego poziomu rozmowy: zamiarów, typów, scen i promptów.

Rysunek 3. Przykład rozmowy

Rysunek 3 przedstawia typowy przebieg rozmowy:

  1. Gdy użytkownicy coś powiedzą, NLU w Asystencie dopasuje te informacje do odpowiednich intencji. Intencja jest dopasowywana, jeśli model językowy związany z tym zamiarem może być dokładny lub dokładny. Definiujesz model językowy, określając wyrażenia na potrzeby trenowania, czyli przykłady treści, które mogą chcieć powiedzieć użytkownicy. Asystent wybiera te wyrażenia na potrzeby trenowania i rozszerza je, by utworzyć model językowy intencji.
  2. Gdy NLU Asystenta pasuje do intencji, może wyodrębnić potrzebne parametry z danych wejściowych. Z tymi parametrami są powiązane typy, np. data lub liczba. Dodajesz adnotacje do konkretnych części wyrażeń treningowych intencji, aby określić, jakie parametry chcesz wyodrębnić.
  3. Następnie scena przetwarza pasującą intencję. Sceny można traktować jako wykonawców logicznych akcji, którzy wykonują najcięższe zadania i przeprowadzają niezbędne działania logiczne niezbędne do prowadzenia rozmowy. Sceny są uruchamiane w pętli, co zapewnia elastyczny cykl życia wykonywania, co pozwala na m.in. weryfikację parametrów intencji, wypełnianie przedziałów, wysyłanie promptów do użytkownika.
  4. Po zakończeniu sceny pojawia się zwykle wiadomość z prośbą o kontynuowanie rozmowy lub jej zakończenie.

realizację,

Podczas wywołania lub rozmowy akcja może aktywować webhooka powiadamiającego usługę realizacji o wykonanie niektórych zadań.

Rysunek 4. Przykład rozmowy

Na Rysunku 4 opisujemy, jak używać realizacji do generowania promptów, co jest popularnym sposobem korzystania z realizacji:

  1. W określonych momentach wykonywania akcji może aktywować webhooka, który wysyła żądanie do zarejestrowanego modułu obsługi webhooka (Twojej usługi realizacji) z ładunkiem JSON.
  2. Realizacja przetwarza żądanie, m.in. wywołuje interfejs API REST w celu wyszukania danych lub weryfikacji niektórych danych z ładunku JSON. Często stosowanym sposobem korzystania z realizacji jest generowanie dynamicznego promptu w czasie działania, aby rozmowy były lepiej dopasowane do bieżącego użytkownika.
  3. Realizacja zwraca odpowiedź na akcję zawierającą ładunek JSON. Może użyć danych z ładunku, aby kontynuować jego wykonywanie i odpowiedzieć użytkownikowi.