Tipi

I tipi ti consentono di configurare la comprensione del linguaggio naturale (NLU) dell'assistente di ricerca per estrarre dati strutturati dall'input dell'utente. Tu possono utilizzare i tipi nelle seguenti situazioni:

  • Negli intent, puoi annotare le frasi di addestramento con tipi per e creare slot. Quando gli utenti dicono qualcosa che corrisponde a uno slot, il motore NLU lo estrae come parametro digitato, in modo da poterlo elaborare in una scena.

  • All'interno della fase di riempimento degli spazi di una scena, puoi specificare più slot che l'utente deve fornire prima di poter una transizione o uscire dalla scena.

  • All'interno della fase relativa alle condizioni di una scena, puoi basare indica se un parametro ha un valore specifico definito in un tipo.

Tipi personalizzati

I tipi personalizzati consentono di creare la tua specifica del tipo per notificare all'NLU e assegnare un insieme di valori a una singola chiave. Puoi specificare i tipi in diverse modi:

  • Parole e sinonimi ti consentono di mappare più valori a una singola chiave. che prendono il nome di voci. Il tipo può contenere una o più voci. Se Scegli questa opzione, puoi anche abilitare le seguenti impostazioni NLU:
    • Attiva corrispondenza parziale: questa funzionalità consente le voci con più di una parole da abbinare, anche quando le parole vengono pronunciate in un ordine diverso.
    • Accetta valori sconosciuti: quando non puoi specificare tutti i valori possibili, processore di linguaggio può accettare parole o frasi sconosciute in base ai di input e dati di addestramento per intent, ad esempio gli articoli che potrebbero essere aggiunti a un dall'elenco di lettura.
  • Le espressioni regolari consentono al tipo di trovare corrispondenze con i valori utilizzando di espressione in base a Standard RE2 di Google.
  • Testo in formato libero consente la corrispondenza del tipo di qualsiasi cosa dica un utente. Annotazione un intent con questo tipo ti consente di utilizzare tutti gli input come parametro che può indirizzare alla tua NLU.

Tipi di sistema

I tipi di sistema ti consentono di annotare ed estrarre dati noti dall'input utente utilizzando dati e valori di addestramento forniti dal sistema. I seguenti tipi di impianto sono supportati:

Tipo Descrizione
actions.type.DateTime Contiene data, ora e fuso orario in base alle impostazioni del dispositivo dell'utente. Disponibile per la compilazione degli slot e l'annotazione della frase di addestramento.
actions.type.Date Contiene solo la data. Disponibile solo per la compilazione degli slot.
actions.type.Time Contiene solo il tempo. Disponibile solo per la compilazione degli slot.
actions.type.Number Il tipo Number corrisponde a ordinale e cardinale numeri.

Utilizzo di DateTime, Date e Time

Questi tipi si comportano diversamente a seconda di dove utilizzi il tipo e input utente corrispondente al tipo.

Utilizzo con intent

L'annotazione delle frasi di addestramento negli intent supporta solo il tipo DateTime. Utente l'input non deve necessariamente corrispondere a un intero valore DateTime. Ad esempio, se un utente indica solo l'anno, il parametro di sessione potrebbe avere il seguente aspetto:

"date_time": {
  "year": 2019
}

Utilizzo con riempimento degli slot

La compilazione degli slot supporta DateTime, Date e Time.

  • Se il tipo di slot è DateTime, l'assistente chiede all'utente fino a quando viene specificato.
  • Se il tipo di slot è Date, l'assistente chiede all'utente fino a una data viene specificato. Una volta raccolto, il parametro ricevuto è DateTime con l'ora impostata su 00:00.
  • Se il tipo di slot è Time, l'assistente chiede all'utente fino a un momento viene specificato. Una volta raccolto, il parametro ricevuto è DateTime oggetto con data impostata sulla data corrente.

Ad esempio, supponiamo che un utente a Roma abbia detto "Hey Google, crea un promemoria" per il 15 gennaio 2024 alle 20:00". Quando DateTime viene estratto all'interno di un'area di riempimento, il parametro completo potrebbe avere il seguente aspetto:

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

Utilizzo con condizioni

Le condizioni consentono solo l'utilizzo di numeri e stringhe, quindi utilizzando le condizioni Il parametro DateTime restituisce un risultato False per la condizione. Ad esempio:

  • $session.params.my_dateTime.day > 5 è una condizione valida, perché Il valore di day è un numero ed è supportato.
  • $session.params.my_dateTime > "01-01-2010" è una condizione non valida perché il parametro "DateTime" di primo livello non è un numero o una stringa.

Override dei tipi di runtime

Gli override dei tipi di runtime consentono di creare o modificare dinamicamente i tipi in fulfillment. Questa funzionalità ti consente di aggiungere o sostituire le specifiche di un tipo in runtime. Ad esempio, puoi controllare un'origine dati di backend per caricare il menu Giornaliero articoli in un tipo nel tuo fulfillment.

Per ulteriori informazioni, consulta la guida relativa ai webhook su come eseguire gli override dei tipi di build.