Tworzenie modeli rozmów

Model rozmowy określa, co użytkownicy mogą mówić do Twoich akcji i jak Działania są dostępne dla użytkowników. Główne elementy modelu rozmowy to zamiary, typy, sceny oraz powiadomień. Po wywołaniu jednej z akcji Asystent Google przekazuje użytkownikowi tę Akcję, a akcja rozpoczyna rozmowę z użytkownika na podstawie modelu rozmowy, na który składają się:

  • Prawidłowe prośby użytkowników – aby określić, co użytkownicy mogą przekazywać do akcji, i tworzą zbiór intencji, które rozszerzają funkcje NLU Asystenta, rozumie prośby związane z Twoimi Akcjami. Każda intencja określa wyrażenia na potrzeby trenowania, które opisują, co użytkownicy mogą powiedzieć, aby dopasować się do danego zamiaru. Asystent NLU dodaje wyrażenia na potrzeby nauki, dodając do nich podobne wyrażenia. agregacja tych wyrażeń tworzy model językowy intencji.

  • Logika działania i odpowiedzi – sceny przetwarzają intencje, przeprowadzają wymaganą logikę i generują prompty, które wracają do użytkownika.

.
Rysunek 1. Model rozmowy obejmuje intencje, typy scen i promptów, które definiują wrażenia użytkownika. Intencje, które są kwalifikujące się do wywołań, będą też uwzględniane w rozmowach.

Definiowanie prawidłowych żądań użytkowników

Aby określić, co użytkownicy mogą powiedzieć do Twoich akcji, musisz użyć kombinacji intencji i typów plików. Intencje i typy użytkowników pozwalają dodać do NLU Asystenta własne modele językowe. Dzięki intencjom i typom systemu możesz wykorzystać wbudowane funkcje modeli językowych i wykrywaniu zdarzeń, takich jak Asystent w ogóle nie wykrył żadnego sygnału wejściowego.

Utwórz intencje użytkownika

Intencje użytkowników pozwalają definiować własne wyrażenia treningowe, które określają, co można powiedzieć do Akcji. NLU Asystenta używa tych wyrażeń do trenowania się na poznawanie opinii użytkowników. Gdy użytkownicy wypowiedzą coś, co pasuje do modelu językowego intencji użytkownika, Asystent pasuje do intencji i powiadomi Cię dzięki której możesz przeprowadzić logikę i odpowiadać użytkownikom.

Rysunek 1. Przykład zamiaru użytkownika
.

Aby utworzyć intencję użytkownika:

  1. Na karcie Programowanie kliknij Intencje użytkowników > ⊕ (nowa intencja), wpisz nazwę i naciśnij Enter, aby utworzyć intencję.
  2. W menu po lewej stronie kliknij nowo utworzoną intencję. edytor intencji,
  3. Dodaj do intencji wyrażenia wyrażenia na potrzeby trenowania. Dodaj jak najwięcej wyrażeń na potrzeby trenowania jak to tylko możliwe, aby wytrenować asystenta NLU.
  4. Opcjonalnie: dodaj adnotacje do wyrażeń na potrzeby trenowania, aby instruować Asystenta NLU, które ma go przeanalizować i wyodrębnianie wpisywanych parametrów z danych wejściowych użytkownika, które pasują do określonego typu:
    1. Wpisz nazwę parametru w polu Dodaj nowy parametr.
    2. Wybierz typ systemu z menu lub utwórz typ niestandardowy.
    3. Określ, czy parametr jest listą. Dzięki temu parametr może zbierać dane wiele wartości tego samego typu.
    4. W sekcji Dodaj wyrażenia na potrzeby trenowania zaznacz tekst, który chcesz powtórzyć. wybierz typ zastosowania. Poinformuje Asystenta NLU, że ma potraktować podświetlony tekst tekst. Jeśli użytkownicy wypowiedzą coś, co pasuje do ich typu, NLU wyodrębnia tę wartość jako parametr.

Utwórz intencje systemowe

Intencje systemowe pozwalają wykorzystać intencje za pomocą wstępnie zdefiniowanego języka modele dla typowych zdarzeń, takich jak chęć zakończenia działania przez użytkownika lub limit czasu wprowadzania danych. Aby utworzyć intencje systemowe:

  1. Na karcie Programowanie kliknij Intencje systemowe. Zbiór intencji systemowych to takie jak NO_MATCH, NO_INPUT i CANCEL.
  2. Każda intencja systemowa zawiera własne moduły obsługi, które możesz dostosować dla każdego typu intencji systemowej. Na przykład intencje systemowe umożliwiają i wysyłania statycznych promptów po ich wystąpieniu.

Tworzenie typów niestandardowych

Typy niestandardowe pozwalają utworzyć własną specyfikację typu na potrzeby trenowania NLU. zbiór wartości, które powinny być zmapowane na pojedynczy klucz.

Rysunek 2. Przykład typu niestandardowego
.

Aby utworzyć typ niestandardowy:

  1. Na karcie Programowanie kliknij Typy > ⊕ (Nowy typ).
  2. Wybierz sposób podawania wartości typu w polu Jakiego rodzaju wartości z tym wpisz „support?”:

    • Słowa i synonimy pozwalają zmapować wiele wartości na jeden klucz, nazywamy wpisem. Typ może zawierać jeden lub wiele wpisów. Jeśli wybierz tę opcję, możesz też włączyć te ustawienia NLU:
      • Włącz dopasowanie przybliżone – umożliwia wyświetlanie wpisów z więcej niż jednym słowem. muszą zostać dopasowane, nawet jeśli słowa są wypowiadane w innej kolejności.
      • Akceptuj nieznane wartości – jeśli nie możesz określić wszystkich możliwych wartości, Akceptuje nieznane słowa lub wyrażenia na podstawie otaczających je danych wejściowych dane treningowe dotyczące zamiarów, takie jak produkty, które można dodać do sklepu spożywczego z listy.
    • Wyrażenia regularne umożliwiają dopasowanie typu do wzorców wyrażeń regularnych. oparte na standardzie Google RE2.
    • W przypadku tekstu swobodnego typ dopasowania pasuje do wypowiedzi użytkownika.
  3. Wartości typów określ w sekcji Dodaj wpisy. Jeśli wybierzesz opcję Eksploracja swobodna text, typ zostanie dopasowany do dowolnego tekstu, więc nie musisz niczego wpisywać.

Tworzenie logiki działań i reakcji

NLU Asystenta dopasowuje żądania użytkowników do intencji, tak aby akcja mogła jak je zrozumieć. Sceny to potężne narzędzia logiczne, które pozwalają przetwarzania zdarzeń podczas rozmowy.

Rysunek 3. Przykład sceny niestandardowej
.

Tworzenie sceny

W sekcjach poniżej opisujemy, jak tworzyć sceny i definiować funkcje dla każdego etapu cyklu życia sceny.

Aby utworzyć scenę:

  1. Na karcie Programowanie kliknij Sceny > ⊕ (Nowa scena), wpisz nazwę i naciśnij Enter, aby utworzyć scenę.
  2. Kliknij nowo utworzoną scenę w menu po lewej stronie. edytora Scene,

Zdefiniuj konfigurację jednorazową

Gdy scena po raz pierwszy stanie się aktywna, możesz wykonać jednorazowe zadania Po wejściu. Etap „Wejście” jest wykonywany tylko raz i jest jedyną który nie jest uruchamiany w pętli wykonywania sceny.

  1. W danej scenie kliknij scenę Po wejściu, aby określić jej funkcje. Na tym etapie możesz określić te funkcje:

    • Wywołaj webhooka – aktywuje webhooka. Zobacz webhooki dokumentacji z dodatkowymi informacjami o webhookach.
    • Wysyłaj prompty – możesz określić statyczne prompty dla użytkownika, aby wiedział, jak kontynuować rozmowę. Patrz dokumentacja promptów .
    .
    Rysunek 4. Przykład sceny wejścia na scenę
    .

Sprawdź warunki

Warunki umożliwiają sprawdzanie wypełnienia przedziałów, pamięci sesji, miejsca na dane użytkownika parametry pamięci domowej do sterowania procesem wykonywania sceny.

  1. Na scenie kliknij ikonę +, aby przejść do etapu Warunek. Edytor warunków jest widoczny po prawej stronie. Możesz określić następujące elementy funkcje na tym etapie:

    • Warunek – określ rzeczywistą instrukcję warunkową, która spowoduje wyłączenie logiki. Składnię znajdziesz w dokumentacji warunków. i informacjami o nich.
    .
    • Wywołaj webhooka – aktywuje webhooka. Zobacz webhooki dokumentacji z dodatkowymi informacjami o webhookach.
    • Wysyłaj prompty – określa statyczne prompty, które mają być wysyłane do użytkownika, aby dowiedzieć się, jak kontynuować rozmowę. Zobacz komunikaty dokumentacji, aby dowiedzieć się więcej o określaniu promptów.
    • Przejście – określa scenę, do której następuje przejście, gdy zdarzenie warunkowe jest prawdziwe.
.
. Rysunek 5. Przykład etapu warunków sceny
.
.

Zdefiniuj wypełnianie przedziałów

Przedziały umożliwiają wyodrębnianie wpisywanych parametrów z danych wejściowych użytkownika.

W edytorze sceny kliknij ikonę + odpowiadający etapowi Wypełnianie boksu. dla boksu zostanie wyświetlony po prawej stronie. Możesz określić następujące elementy właściwości boksu:

  • Nazwa boksu: określa nazwę boksu. Jeśli chcesz skorzystać mapowania wartości przedziału, użyj tej samej nazwy odpowiadającego mu parametru intencji.
  • Typ przedziału: określa typ boksu w systemie. lub typ niestandardowy.
  • Ten boks jest wymagany: oznacza ten boks jako wymagany. Jeśli ta opcja jest włączona, przedział czasu wypełnianie nie zostanie ukończone, dopóki ten boks nie zostanie wypełniony.
  • Przypisz wartość domyślną do tego boksu: określa domyślną wartość dla boksu. odczytywany z określonego parametru sesji.
  • Dostosuj zapis zwrotny wartości przedziału: określa parametr sesji, który ma być utrwalony. po zakończeniu wypełniania.
  • Weryfikacja boksu: aktywuj webhooka po wypełnieniu boksu. To ustawienie dotyczy wszystkich przedziałów.
  • Wywołaj webhooka (uruchamia się, gdy wymagany jest boks): aktywuje webhooka. Więcej informacji znajdziesz w dokumentacji webhooków webhooki.
  • Wysyłaj prompty (włączone, gdy przedział jest wymagany): określa prompty statyczne. wysłać użytkownikowi, aby wiedział, co zrobić dalej. Zobacz dokumentów, gdzie znajdziesz więcej informacji o określaniu prompty.

W przypadku niektórych typów przedziałów (np. związanych z transakcjami lub zaangażowaniem użytkowników): pojawi się dodatkowa sekcja, w której możesz skonfigurować przedział. Boks mogą zmienić tryb konwersacyjny u użytkowników w zależności od przez użytkowników.

Aby skonfigurować przedział, podaj właściwości w obiekcie JSON albo w fulfillment (określana jako parametr sesji) lub we wbudowanym edytorze JSON. Właściwości poszczególnych typów boksów znajdziesz w Dokumentacja formatu JSON usługi Actions Builder. Na przykład actions.type.DeliveryAddressValue typ boksu odpowiada treści referencyjnej dla DeliveryAddressValue. gniazdo.

Rysunek 6. Przykład ustawień wypełniania przedziałów w scenie
.

Mapowanie wartości przedziału

W wielu przypadkach wcześniejsze dopasowanie intencji może obejmować parametry, które częściowo lub w całości wypełnić wartości przedziałów odpowiedniej sceny. W takich przypadkach wszystkie przedziały wypełnione przez parametry intencji są mapowane na wypełnienie przedziału sceny, jeśli nazwa boksu pasuje do nazwy parametru intencji.

Jeśli na przykład użytkownik pasuje do zamiaru zamówienia napoju, mówiąc „Chcę aby zamówić dużą kawę waniliową”, czyli istniejące przedziały do wyboru rozmiaru, smaku i napoju są uznawane za wypełnione, jeśli dana scena definiuje tę samą przedziały czasu.

Dane wejściowe procesu

Na tym etapie możesz dopasować NLU Asystenta do intencji użytkownika. Dopasowanie intencji możesz zawęzić do konkretnej sceny, dodając odpowiednie intencje do sceny. Dzięki temu możesz kontrolować przebieg rozmowy, mówiąc do Asystenta aby dopasować je do konkretnych intencji, gdy konkretne sceny są aktywne.

  1. W danej scenie kliknij ikonę +, aby przejść do sekcji Obsługa intencji użytkownika lub Etap obsługi intencji systemowych. Pojawi się edytor modułu obsługi intencji po prawej. Możesz określić te funkcje intencji moduł obsługi:

    • Intencja – określa intencję, która ma być dopasowana do danej sceny.
    • Wywołaj webhooka – aktywuje webhooka. Zobacz webhooki dokumentacji, w której znajdziesz więcej informacji o obsłudze żądań webhooka.
    • Wysyłanie promptów – możesz ustawić statyczne prompty, aby użytkownik wiedział, jak odpowiedzieć. Więcej informacji znajdziesz w dokumentacji dotyczącej próśb. i określania promptów.
    • Przejście (jeśli dotyczy) – określa scenę, na którą następuje przejście, gdy pasują do określonej intencji.
.
Rysunek 7. Przykład modułu obsługi intencji użytkownika sceny
.
Rysunek 8. Przykład modułu obsługi intencji systemowej sceny
.