Przeznaczenie

Intencje reprezentują zadanie, które ma zostać wykonane przez Asystenta. Mogą to być na przykład dane wejściowe użytkownika, które wymagają przetwarzania, lub zdarzenie systemowe, którym musisz się zająć. Intencje pomagają w tworzeniu wywołań i modeli rozmów. Gdy występują takie zdarzenia, środowisko wykonawcze Asystenta dopasowuje je do odpowiedniej intencji i wysyła intencję do akcji w celu jej przetworzenia. Istnieją 2 główne typy intencji, które zostały opisane na tej liście:

  • Intencje użytkowników pozwalają zwiększyć możliwości Asystenta w zakresie rozumienia próśb użytkowników związanych z Twoją marką i usługami. Definiujesz w intencji niestandardowe wyrażenia do trenowania, co z kolei generuje model językowy intencji. Ten model językowy rozszerza język NLU Asystenta, zwiększając jego zdolność rozumienia.

  • Intencje systemowe mają określone przez Asystenta dane treningowe lub inne niekonwencyjne sygnały wejściowe. Oznacza to, że nie musisz definiować wyrażeń do trenowania dla tych intencji. Asystent dopasowuje te intencje w standardowy sposób, podczas znanych zdarzeń systemowych, takich jak wywołanie główne, lub gdy użytkownicy nie podają żadnych danych wejściowych.

Rysunek 1. Typowy scenariusz dopasowywania intencji. Użytkownik mówi coś, co pasuje do intencji globalnej. Odpowiednia scena się aktywuje i ostatecznie zużywa więcej danych wejściowych użytkownika. Dopasowywany jest inny intencja, która przechodzi do kolejnej sceny i ją aktywuje.

Zamiary użytkownika

Podczas tworzenia akcji tworzysz intencje użytkowników zawierające wyrażenia na potrzeby nauki, które rozszerzają możliwości Asystenta w zakresie rozumienia treści. Asystent używa Twoich wyrażeń treningowych, aby wzbogacać NLU, gdy przekazuje żądania użytkowników do akcji.

W takim przypadku Asystent pośredniczy w komunikacji między użytkownikiem a działaniami, mapując dane wejściowe użytkownika na intencję mającą pasujący model językowy. Następnie Asystent powiadamia o Twoich działaniach związanych z dopasowaną intencją, możesz więc przetworzyć je w scenie.

Podczas tworzenia intencji użytkownika określasz te elementy:

  • Oznaczenie intencji globalnej określa, czy środowisko wykonawcze Asystenta może pasować do określonej intencji użytkownika w czasie wywołania i w trakcie rozmowy. Domyślnie Asystent może dopasowywać intencje użytkownika tylko podczas rozmowy. Wywoływanie precyzyjnych linków jest możliwe tylko w przypadku intencji oznaczonych jako globalne.

  • Wyrażenia na potrzeby trenowania to przykłady tego, co użytkownik może powiedzieć, jeśli pasuje do zamiaru użytkownika. Mechanizm NLU Asystenta (NLU) w naturalny sposób rozszerza te frazy treningowe, aby uwzględnić inne, podobne wyrażenia. Udostępnienie dużego zestawu przykładów wysokiej jakości poprawia jakość intencji i dokładność dopasowania.

  • Parametry to dane typu, które chcesz wyodrębnić z danych wejściowych użytkownika. Aby utworzyć parametr, dodaj do wyrażeń do trenowania adnotacje o typach. W ten sposób powiadomisz mechanizm NLU, że chcesz wyodrębnić fragmenty danych wejściowych użytkownika. Możesz użyć typów systemów lub utworzyć własne typy niestandardowe parametrów.

Gdy mechanizm NLU wykryje dopasowanie parametru w danych wejściowych użytkownika, wyodrębnia wartość jako typ wpisanego parametru, dzięki czemu możesz realizować za jego pomocą logikę w scenie. Jeśli parametr intencji ma taką samą nazwę jak boks sceny, środowisko wykonawcze Asystenta automatycznie wypełnia boks sceny wartością z parametru intencji. Więcej informacji znajdziesz w dokumentacji mapowania wartości przedziałów.

Parametry intencji obsługują też dopasowania „częściowe”. Jeśli np. podasz typ DateTime, a użytkownik poda tylko datę, NLU nadal wyodrębni częściową wartość jako parametr.

Możesz użyć własnego NLU do obsługi wszystkich danych wejściowych użytkownika w przypadku danej akcji. Na przykład akcja może reagować na wszystkie niezgodne scenariusze podczas rozmowy. Aby mieć pewność, że rejestrujesz wszystkie dane wejściowe użytkownika, utwórz intencję z opcją Tekst swobodny. Nie należy jednak używać intencji niestandardowych do globalnego zastępowania domyślnego braku dopasowania Asystenta, ponieważ może to negatywnie wpłynąć na możliwość przełączania się między Działaniami.

Gdy tworzysz intencję niestandardową w Konsoli Actions, kreator w Actions Builder sugeruje intencje systemowe, które mogą wypełniać tę samą rolę co intencje użytkownika. Więcej informacji o intencjach systemowych znajdziesz w tej sekcji.

Intencje systemowe

Asystent dopasowuje intencje systemowe na podstawie standardowych zdarzeń systemowych. Zdarzenia te mogą mieć zdefiniowany przez system model językowy (np. użytkownicy mówiący „wstrzymaj”, aby wstrzymać odtwarzacz), lub mogą nie mieć modelu językowego (np. użytkownicy w ogóle nie wprowadzają żadnych danych). Intencje te są dostarczane przez Asystenta, więc nie musisz się martwić o ich dopasowywanie, a jedynie sposób ich obsługi, gdy są one dopasowane.

Intencje systemowe zastępują też potrzebę tworzenia intencji użytkownika dotyczących często wymaganych działań, np. YES czy NO. Intencje systemowe są trenowane we wszystkich językach, co ułatwia wdrożenie spójnego środowiska dla użytkowników w różnych językach. Intencje systemowe można też ustawić jako intencje globalne.

Intencje systemowe są objęte obsługą wersji. Możesz używać konkretnej wersji intencji systemowej tak długo, jak długo jest ona obsługiwana przez Asystenta. Jeśli akcja używa nieobsługiwanej wersji intencji systemowej, intencja systemowa zostanie automatycznie zaktualizowana do obsługiwanej wersji.

Lista intencji

Podobne zamiary Opis
actions.intent.MAIN Każdy projekt w Actions musi zawierać to domyślne wywołanie główne powiązane z Twoją wyświetlaną nazwą. Aby wywołać akcję, użytkownicy mówią polecenia takie jak „OK Google, talk to <display name>”.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Te intencje są dopasowywane, gdy użytkownik wypowiada coś, czego nie można dopasować do intencji w akcji. W ostatecznej intencji możesz ustawić indywidualne przypomnienia i wiadomość wyjściową.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Te intencje są dopasowywane, gdy po 8 sekundach nie ma żadnych danych wejściowych użytkownika. Możesz ustawić osobne powtórzenia dla każdej intencji i wiadomość wyjściową w ostatecznej intencji.

actions.intent.CANCEL Intencja jest dopasowana do sytuacji, gdy użytkownik chce zakończyć akcję podczas rozmowy – np. mówi: „Chcę zakończyć”.
actions.intent.MEDIA_STATUS_FINISHED Intencja ta jest dopasowywana i wysyłana do akcji, gdy użytkownik zakończy odtwarzanie multimediów lub przejdzie do następnego elementu.
actions.intent.MEDIA_STATUS_PAUSED Ta intencja jest dopasowana i wysyłana do akcji, gdy użytkownik wstrzyma odtwarzanie multimediów w odpowiedzi multimedialnej.
actions.intent.MEDIA_STATUS_STOPPED Intencja ta jest dopasowywana i wysyłana do akcji, gdy użytkownik zatrzyma lub zamknie odtwarzanie multimediów po otrzymaniu odpowiedzi multimedialnej.
actions.intent.MEDIA_STATUS_FAILED Intencja jest dopasowana i wysyłana do akcji, gdy odtwarzacz odpowiedzi multimedialnej nie chce się odtworzyć.
actions.intent.YES

Ta intencja jest dopasowywana, gdy użytkownik udzieli odpowiedzi na akcję.

actions.intent.NO

Ta intencja jest dopasowana, gdy użytkownik udzieli negatywnej odpowiedzi na akcję.

actions.intent.REPEAT

Ta intencja jest wybierana, gdy użytkownik prosi akcję o powtórzenie ostatniej odpowiedzi. Jeśli intencja systemowa nie jest włączona w agencie, Asystent obsługuje prośby o powtarzanie automatycznie. Włączenie tej intencji systemowej pozwoli Ci zmienić sposób obsługi powtarzających się żądań, a także odpowiedzi.

actions.intent.PLAY_GAME Intencja jest dopasowana do sytuacji, gdy użytkownik prosi o zagranie w grę. Ta intencja pozwala włączyć domyślne wywołanie (wywoływanie bez używania wyświetlanej nazwy) udostępnianej przez Actions on Google.

Dodanie obsługi innych języków

Niektóre intencje systemowe, takie jak YES, NO i NO_MATCH, są obsługiwane tylko w języku angielskim.Aby dodać obsługę innych języków, musisz utworzyć intencje użytkownika pasujące do tych intencji systemowych. Nowe intencje muszą być obsługiwane w kodzie w taki sam sposób jak intencje systemowe.

Załóżmy np., że tworzysz nowe działanie i implementujesz intencję systemową YES. Intencja systemowa YES jest obsługiwana tylko w języku angielskim, ale chcesz też, aby aplikacja obsługiwała interakcje w języku niemieckim i japońskim. Aby obsługiwać dodatkowe języki, tworzysz intencję zawierającą wyrażenia do trenowania dla języka niemieckiego i japońskiego, a potem implementujesz sposób obsługi intencji systemowej YES.

Dowiedz się więcej o tworzeniu intencji użytkownika.

Dowiedz się więcej o lokalizowaniu zamiarów użytkowników.

Brak wyników

Gdy odpowiedź użytkownika nie jest zgodna z jednym z intencji, Asystent próbuje przetworzyć dane wejściowe. Ułatwia to użytkownikom zmienianie działań w trakcie rozmowy. Na przykład użytkownik pyta: „Jakie filmy grają w tym tygodniu?”, a potem zmienia kontekst w trakcie rozmowy: „Jaka ma być jutro pogoda?”. W tym przykładzie „Jaka będzie jutro pogoda?” nie jest prawidłową odpowiedzią na rozmowę wywołaną początkowym promptem, dlatego Asystent automatycznie próbuje dopasować reklamę i przekierować użytkownika do odpowiedniej rozmowy.

Jeśli Asystent nie znajdzie odpowiedniej akcji, która pasuje do danych wejściowych użytkownika, kontynuuje korzystanie z kontekstu.

Asystent może przerwać akcję, aby zareagować na prawidłowy scenariusz braku dopasowania, więc nie używaj intencji systemowej NO_MATCH do wypełniania zapytań użytkowników. Do ponownego żądania użytkownika należy używać tylko intencji NO_MATCH.