Działania konwersacyjne zostaną wycofane 13 czerwca 2023 r. Więcej informacji znajdziesz w artykule Wycofanie czynności konwersacyjnych.

Typ

Typy pozwalają skonfigurować silnik NLU Asystenta, aby wyodrębniać uporządkowane dane z danych wejściowych użytkownika. Typy mogą być używane w tych sytuacjach:

  • W intencjach możesz dodawać adnotacje do typów trenowania, aby tworzyć przedziały. Gdy użytkownik powie coś pasującego do boksu, mechanizm NLU wyodrębnia go jako wpisany parametr, dzięki czemu można go przetworzyć w scenie.

  • Na etapie wypełniania boksu w scenie możesz określić wiele przedziałów, które użytkownik ma dostarczyć, zanim będzie mógł przejść na inną scenę lub z niej wyjść.

  • Na etapie warunków sceny możesz ustalić, czy parametr ma konkretną wartość zdefiniowaną w typie.

Typy niestandardowe

Typy niestandardowe pozwalają utworzyć własną specyfikację typu, która powiadomi NLU o przypisaniu zestawu wartości do jednego klucza. Typy możesz określać na różne sposoby:

  • Słowa i synonimy pozwalają zmapować wiele wartości na pojedynczy klucz, który jest nazywany wpisem. Typ może zawierać jeden lub wiele wpisów. Jeśli wybierzesz tę opcję, możesz też włączyć te ustawienia NLU:
    • Włącz dopasowanie przybliżone – ta funkcja umożliwia dopasowanie wpisów z więcej niż jednym słowem nawet wtedy, gdy są one wypowiadane w innej kolejności.
    • Akceptuj nieznane wartości – gdy nie możesz określić wszystkich możliwych wartości, procesor języka może akceptować nieznane słowa lub wyrażenia na podstawie danych wejściowych i danych do trenowania intencji, takich jak produkty, które można dodać do listy zakupów.
  • Wyrażenia regularne pozwalają dopasowywać typ do wyrażeń zgodnie ze standardami Google RE2.
  • Tekst swobodny – umożliwia dopasowanie typu do dowolnej wypowiedzi użytkownika. Dodając do niego intencję, możesz wykorzystać wszystkie dane wejściowe jako parametr, który możesz połączyć z własnym NLU.

Typy systemów

Typy systemów umożliwiają dodawanie adnotacji i wyodrębnianie znanych danych z danych wejściowych użytkownika za pomocą danych i wartości treningowych udostępnionych przez system. Obsługiwane są te typy systemów:

Typ Opis
actions.type.DateTime Zawiera datę, godzinę i strefę czasową określone na podstawie ustawień urządzenia użytkownika. Dostępne do wypełniania wyrażeń i trenowania wyrażeń.
actions.type.Date Zawiera tylko datę. Dostępne tylko do wypełnienia przedziałów.
actions.type.Time Zawiera tylko czas. Dostępne tylko do wypełnienia przedziałów.
actions.type.Number Typ Number odpowiada numerom porządkowym i kardynalnym.

Wykorzystanie: DateTime, Date i Time

Typy te zmieniają się w zależności od tego, gdzie używasz danego typu, i rodzaju danych wejściowych użytkownika.

Korzystanie z intencji

Dodanie adnotacji do trenowania w intencji obsługuje tylko typ DateTime. Dane wejściowe użytkownika nie muszą pasować do całej wartości DateTime. Jeśli np. użytkownik poda tylko rok, parametr sesji może wyglądać tak:

"date_time": {
  "year": 2019
}

Korzystanie z wypełniania przedziałów

Wypełnianie boksów obsługuje DateTime, Date i Time.

  • Jeśli typ boksu to DateTime, Asystent wyświetli użytkownikowi prośbę o podanie pełnej wartości.
  • Jeśli typ boksu to Date, Asystent wyświetli użytkownikowi prośbę o podanie wartości daty. Pobierany parametr ma wartość DateTime i ustawia wartość 00:00.
  • Jeśli typ boksu to Time, Asystent wyświetli użytkownikowi prośbę o podanie wartości czasu. Pobierany parametr to pełny obiekt DateTime z datą ustawioną na bieżącą.

Załóżmy na przykład, że użytkownik w Gdańsku powiedział: „OK Google, utwórz przypomnienie 15 stycznia 2023 roku o 20:00”. Podczas wyodrębniania DateTime w ramach procesu wypełniania boksu pełny parametr może wyglądać tak:

"date_time": {
  "day": 15,
  "hours": 20,
  "minutes": 0,
  "month": 1,
  "nanos": 0,
  "seconds": 0,
  "time_zone": {
    "id": "America/Los_Angeles"
  },
  "year": 2024
}

Używanie z warunkami

Warunki zezwalają na korzystanie tylko z liczb i ciągów znaków, więc użycie parametru DateTime najwyższego poziomu powoduje wyświetlenie warunku False. Przykład:

  • $session.params.my_dateTime.day > 5 jest prawidłowym warunkiem, ponieważ wartość day jest liczbą i jest obsługiwana.
  • $session.params.my_dateTime > "01-01-2010" to nieprawidłowy warunek, ponieważ obiekt najwyższego poziomu „DateTime” nie jest liczbą ani ciągiem znaków.

Zastąpienia typu środowiska wykonawczego

Zastąpienia typu środowiska wykonawczego umożliwiają dynamiczne tworzenie i modyfikowanie typów realizacji. Ta funkcja umożliwia dodawanie lub zastępowanie specyfikacji danego typu w czasie działania. Możesz na przykład sprawdzić źródło danych backendu, aby wczytać codzienne pozycje menu do typu realizacji.

Więcej informacji o tworzeniu zastąpień typów znajdziesz w przewodniku po webhookach.