Czynności konwersacyjne umożliwiają rozszerzanie możliwości Asystenta Google o własne interfejsy konwersacyjne, które dają użytkownikom dostęp do Twoich produktów i usług. Działania wykorzystują zaawansowany mechanizm rozumienia języka naturalnego (NLU) Asystenta do przetwarzania i interpretowania rozpoznawania języka naturalnego i wykonywania zadań na ich podstawie.
Przegląd
Działanie konwersacyjne to prosty obiekt definiujący punkt wejścia (nazywany wywołaniem) rozmowy:
- Wywołanie określa, jak użytkownicy informują Asystenta, że chcą rozpocząć rozmowę z jedną z Twoich akcji. Wywołanie działania jest określane przez pojedynczy zamiar, który jest dopasowany, gdy użytkownik zażąda działania.
- Rozmowa określa sposób, w jaki użytkownicy wchodzą w interakcję po wywołaniu działania. Rozmowy można tworzyć za pomocą zamiarów, typów, scen i potwierdzeń.
- Oprócz tego Twoje akcje mogą przekazywać dodatkowe zadania do realizacji, czyli usług internetowych komunikujących się z działaniami za pomocą webhooków. Dzięki temu możesz między innymi sprawdzać poprawność danych, wywoływać inne usługi internetowe i logikę biznesową.
Łączysz co najmniej 1 akcję na podstawie przypadków użycia, które są istotne dla Twoich użytkowników, do logicznego kontenera zwanego projektem Actions. Projekt w Actions zawiera cały model wywołania (zbiór wszystkich wywołań), który umożliwia użytkownikom rozpoczęcie w logicznym miejscu w modelu konwersacji (czyli wszystkich możliwych odpowiedzi użytkowników i wszystkich możliwych sposobów odpowiadania użytkownikom).
Wywołanie
Wywołanie jest powiązane z wyświetlaną nazwą, która reprezentuje markę, imię i nazwisko lub profil klienta, dzięki czemu użytkownicy mogą poprosić Asystenta o wykonanie działań. Użytkownicy mogą korzystać z tej wyświetlanej nazwy (zwanej głównym wywołaniem) lub w połączeniu z opcjonalnymi wyrażeniami z precyzyjnymi linkami, aby wywoływać akcje.
Użytkownicy mogą na przykład wywoływać te 3 działania w projekcie o wyświetlanej nazwie „Informacje o Google”:
- „OK Google, porozmawiaj z Google na temat faktów”
- „Ok Google, porozmawiaj z Google na temat faktów, aby poznać fakty o firmie”
- „OK Google, porozmawiaj z Tobą na temat faktów, aby poznać fakty historyczne”
Pierwsze wywołanie w 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 to wywołania precyzyjnych linków, które pozwalają określić dodatkowe wyrażenia, które pozwalają użytkownikom pytać o określone funkcje. Te wywołania odpowiadają intencjom użytkownika, które zostały oznaczone jako globalne. Każde wywołanie w tym przykładzie zapewnia punkt wejścia do rozmowy i odpowiada pojedynczemu działaniu.
Rysunek 2 opisuje typowy główny proces wywołania:
- Gdy użytkownik prosi o działanie, zazwyczaj prosi o nie Asystenta, używając podanej przez Ciebie nazwy.
- Asystent dopasowuje żądanie użytkownika do odpowiedniej intencji pasującej do żądania. W tym przypadku będzie to
actions.intent.MAIN
. - Czynność jest powiadamiana o intencji dopasowania i odpowiada na pytanie o rozpoczęcie rozmowy z użytkownikiem.
Rozmowa
Rozmowa określa sposób interakcji użytkownika z wywołaną akcją. Komunikację tę można nawiązać, definiując prawidłowe dane wejściowe rozmowy, określając metodę logiczną przetwarzania tych danych i odpowiadające im komunikaty zachęcające użytkownika do udzielenia odpowiedzi. Ten rysunek i wyjaśnienie pokazują, jak typowy obrót rozmowy współdziała z niskimi komponentami rozmowy: zamiarami, typami, scenami i potwierdzeniami.
Ilustracja 3 przedstawia typowy scenariusz rozmowy:
- Gdy użytkownik powie coś, Asystent NLU dopasowuje jego dane do odpowiednich intencji. Intencja jest dopasowywana, jeśli model języka dotyczący tego zamiaru może ściśle odpowiadać tekstowi wpisywanemu przez użytkownika. Model języka definiujesz, określając wyrażenia do trenowania lub przykłady wypowiedzi użytkowników. Asystent bierze te wyrażenia treningowe i rozwija je, aby utworzyć model języka intencji.
- Gdy interfejs NLU Asystenta pasuje do intencji, może wyodrębnić potrzebne Ci parametry z wprowadzanych danych. Parametry te mają przypisane typy, np. datę lub liczbę. Dodaj adnotacje do określonych części wyrażeń treningowych intencji, aby określić, które parametry chcesz wyodrębniać.
- Scena potem przetwarza pasującą intencję. Można je sobie wyobrazić jako logiczną komendę w akcji, która polega na prowadzeniu ciężkiej pracy i realizowaniu logiki. Sceny są odtwarzane w pętli, co zapewnia elastyczny cykl życia wykonywania zadań, który pozwala między innymi weryfikować parametry intencji, wypełniać przedziały i wysyłać prośby do użytkownika.
- Gdy scena zostanie zakończona, użytkownik zwykle wysyła do użytkownika prośbę o kontynuowanie rozmowy lub w razie potrzeby może zakończyć rozmowę.
realizację,
Akcja w trakcie wywołania lub rozmowy może aktywować webhooka powiadamiającego usługę o realizacji zamówień o wykonaniu pewnych zadań.
Ilustracja 4 przedstawia, jak za pomocą funkcji realizacji zamówień generować komunikaty. Jest to popularny sposób realizacji zamówień:
- W określonych momentach działania możesz wywołać webhooka, który wysyła żądanie do zarejestrowanego modułu obsługi webhooka (usługi realizacji) z ładunkiem JSON.
- Realizacja przetwarza żądanie, np. wywołuje interfejs API typu REST, aby wyszukać niektóre dane lub zweryfikować niektóre dane z ładunku JSON. Bardzo powszechnym sposobem realizacji zamówień jest generowanie dynamicznych potwierdzeń w czasie działania, które pozwalają lepiej dostosować rozmowy do bieżącego użytkownika.
- Twoja realizacja zwróci odpowiedź na działanie zawierającą ładunek JSON. Może używać danych z ładunku, aby kontynuować wykonywanie kodu i odpowiedzieć użytkownikowi.