Un modello di conversazione definisce ciò che gli utenti possono dire alle tue Azioni e il modo in cui Le azioni rispondono agli utenti. I componenti di base principali del modello di conversazione sono intent, tipi, scene e messaggi. Dopo che una delle Azioni è stata richiamata, l'Assistente Google passa l'utente a quell'azione, che inizia una conversazione con dell'utente in base al modello di conversazione, che consiste in:
Richieste valide degli utenti: per definire ciò che gli utenti possono dire alle tue azioni, creare una raccolta di intent che migliorano la NLU dell'assistente, in modo che possa a comprendere le richieste specifiche delle tue Azioni. Ogni intent definisce frasi di addestramento che descrivono cosa possono dire gli utenti per rispondere a tale intenzione. La L'assistente NLU espande queste frasi di addestramento per includere frasi simili. l'aggregazione di queste frasi genera il modello linguistico dell'intent.
Logica di azione e risposte: le scene elaborano gli intent, eseguono la logica richiesta e generano prompt da restituire all'utente.
Definisci richieste utente valide
Per definire ciò che gli utenti possono dire alle tue Azioni, utilizza una combinazione di intent e tipi diversi. Gli intent e i tipi degli utenti ti consentono di migliorare la NLU dell'assistente con linguistici di grandi dimensioni. Gli intent e i tipi di sistema consentono di sfruttare modelli linguistici e rilevamento degli eventi, ad esempio gli utenti che vogliono uscire dall'azione o L'assistente non rileva alcun input.
Creare intent dell'utente
Gli intent degli utenti ti consentono di definire frasi di addestramento personalizzate che definiscono ciò che gli utenti potrebbe dire alle tue Azioni. L'assistente NLU utilizza queste frasi per addestrarsi per capire cosa dicono gli utenti. Quando gli utenti dicono qualcosa che corrisponde a una modello linguistico dell'intent dell'utente, l'assistente abbina l'intento e invia una notifica dell'azione, in modo da poter eseguire la logica e rispondere agli utenti.
![](https://developers.google.cn/static/assistant/console/images/builder/new-intent.png?authuser=9&hl=it)
Per creare un intent dell'utente:
- Nella scheda Sviluppo, fai clic su Intenzioni degli utenti > ⊕ (nuovo intent), specifica un nome e premi Invio per creare l'intent.
- Fai clic sull'intent appena creato nel menu a sinistra. L'editor di intent .
- Aggiungi frasi di addestramento all'intent. Devi aggiungere tutte le frasi di addestramento per addestrare la NLU dell'assistente.
- (Facoltativo) Annota le frasi di addestramento per indicare alla NLU dell'assistente di analizzare
ed estrae i parametri digitati dall'input dell'utente che corrisponde a un tipo specificato:
- .
- Inserisci un nome per il parametro nel campo Aggiungi nuovo parametro.
- Seleziona un tipo di sistema dal menu a discesa o crea un tipo personalizzato.
- Specifica se il parametro è un elenco. Questo consente al parametro di raccogliere più valori dello stesso tipo.
- Nella sezione Aggiungi frasi di addestramento, evidenzia il testo che vuoi e applicare il tipo. Questo indica alla NLU dell'assistente di trattare le parti evidenziate come parametro. Se gli utenti dicono qualcosa che corrisponde al tipo, la NLU lo estrae come parametro.
Crea intent di sistema
Gli intent di sistema ti consentono di sfruttare gli intent con un linguaggio predefinito modelli per eventi comuni, come l'uscita dall'azione o il momento in cui l'utente l'input scade. Per creare intent di sistema:
- Nella scheda Sviluppo, fai clic su Intent di sistema. Un insieme di intent di sistema disponibili, ad esempio NO_MATCH, NO_INPUT e CANCEL.
- Ogni intent di sistema contiene i propri gestori, che puoi personalizzare ogni tipo di intent di sistema. Ad esempio, gli intent di sistema ti consentono di attivare gli eventi webhook e inviare prompt statici quando si verifica l'evento.
Crea tipi personalizzati
I tipi personalizzati ti consentono di creare le tue specifiche del tipo per addestrare l'NLU su un insieme di valori che devono essere mappati a una singola chiave.
![](https://developers.google.cn/static/assistant/console/images/builder/type-options.png?authuser=9&hl=it)
Per creare un tipo personalizzato:
- Nella scheda Sviluppo, fai clic su Tipi > ⊕ (Nuovo tipo).
Seleziona come fornire i valori del tipo nella sezione Che tipo di valori con questa tipo di assistenza?:
- 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: consente le voci con più di una parola trovare una corrispondenza, anche quando le parole vengono pronunciate in un ordine diverso.
- Accetta valori sconosciuti: quando non puoi specificare tutti i valori possibili, accetterà parole o frasi sconosciute in base all'input circostante e di addestramento per intent, ad esempio gli articoli che potrebbero essere aggiunti a un supermercato dall'elenco di lettura.
- Espressioni regolari consentono al tipo di trovare corrispondenze con pattern di espressioni regolari in base allo standard RE2 di Google.
- Testo in formato libero consente di trovare una corrispondenza con qualsiasi testo pronunciato da un utente.
- 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:
Specifica i valori di tipo nella sezione Aggiungi voci. Se hai scelto Formato libero , il tipo corrisponde a qualsiasi testo, quindi non è necessario inserire voci.
Logica e risposte dell'azione per la creazione
La NLU dell'assistente abbina le richieste dell'utente agli intent, in modo che l'azione possa e elaborarli in scene. Le scene sono potenti esecutori logici che ti consentono elaborare gli eventi durante una conversazione.
![](https://developers.google.cn/static/assistant/conversational/images/scene.png?authuser=9&hl=it)
Crea una scena
Le sezioni seguenti descrivono come creare scene e definire le funzionalità per la fase del ciclo di vita di ogni scena.
Per creare una scena:
- Nella scheda Sviluppo, fai clic su Scene > ⊕ (Nuova scena), specifica un nome e premi Invio per creare una scena.
- Fai clic sulla scena appena creata nel menu a sinistra. L'editor di scene .
Definisci configurazione una tantum
Quando una scena diventa attiva per la prima volta, puoi eseguire attività una tantum nella All'accesso. La fase di ingresso viene eseguita una sola volta ed è l'unica che non viene eseguita all'interno del loop di esecuzione di una scena.
All'interno di una scena, fai clic sullo stage All'invio per specificarne la funzionalità. In questa fase puoi specificare le seguenti funzionalità:
- Chiama il webhook: attiva un webhook. Vedi i webhook documentazione per ulteriori informazioni sui webhook.
- Invia prompt: specifica prompt statici all'utente in modo che sappia come continua la conversazione. Consulta la documentazione relativa ai messaggi per ulteriori informazioni sulla specifica dei prompt.
Figura 4. Esempio di una scena di ingresso
Controlla le condizioni
Le condizioni consentono di controllare la compilazione degli slot, lo spazio di archiviazione delle sessioni, lo spazio di archiviazione parametri di archiviazione della casa per controllare il flusso di esecuzione della scena.
All'interno di una scena, fai clic sull'icona + per la fase Condizione. La L'editor delle condizioni è visualizzato a destra. Puoi specificare quanto segue: funzionalità in questa fase:
- Condizione: specifica l'effettiva istruzione condizionale per disattivare la logica di base di. Consulta la documentazione relativa alle condizioni per la sintassi informazioni.
- Chiama il webhook: attiva un webhook. Vedi i webhook documentazione per ulteriori informazioni sui webhook.
- Invia prompt: specifica prompt statici da inviare all'utente, in modo che sapere come proseguire la conversazione. Vedi i messaggi documentazione per ulteriori informazioni su come specificare i prompt.
- Transizione: specifica la scena a cui passare quando l'impostazione condizionale è vera.
![](https://developers.google.cn/static/assistant/conversational/images/scene-condition.png?authuser=9&hl=it)
Definisci riempimento degli slot
Gli slot consentono di estrarre i parametri digitati dall'input utente.
Nell'editor delle scene, fai clic sull'icona + per lo stage di Riempimento dell'area. La dell'area annuncio appare sulla destra. Puoi specificare quanto segue: proprietà di uno spazio:
- Nome slot:specifica il nome dell'area. Se vuoi approfittare di di mappatura dei valori degli slot, utilizza lo stesso nome del il parametro di intent corrispondente.
- Tipo di slot: specifica il tipo di slot con un sistema o un tipo personalizzato.
- Questo spazio è obbligatorio: contrassegna questo spazio come obbligatorio. Se abilitato, slot la compilazione non sarà completata finché l'area non sarà riempita.
- Assegna un valore predefinito a questo slot:specifica un valore predefinito per l'area letto dal parametro di sessione specificato.
- Personalizza il writeback del valore dello slot: specifica un parametro di sessione da mantenere il valore dell'area dopo il completamento della compilazione.
- Convalida degli slot:attiva un webhook quando un'area viene riempita. Questa impostazione si applica a tutti gli slot.
- Chiama il webhook (attivato quando è richiesto lo slot): attiva un webhook. Per ulteriori informazioni, consulta la documentazione relativa ai webhook tramite webhook.
- Invia richieste (abilitata quando è richiesto lo slot): specifica prompt statici da inviare all'utente, in modo che sappia come continuare la conversazione. Consulta la documentazione relativa ai prompt per ulteriori informazioni su come specificare personalizzati.
Per alcuni tipi di slot (come quelli relativi alle transazioni o al coinvolgimento degli utenti), viene visualizzata una sezione aggiuntiva dove puoi configurare l'area. Slot di configurazione possono cambiare l'esperienza conversazionale degli utenti in base proprietà che fornisci.
Per configurare uno slot, fornisci le proprietà in un oggetto JSON nel tuo
fulfillment (indicato come parametro di sessione) o nell'editor JSON incorporato.
Puoi trovare le proprietà disponibili per ogni tipo di slot nella
Riferimento JSON Actions Builder. Ad esempio, actions.type.DeliveryAddressValue
di slot corrisponde ai contenuti di riferimento per
DeliveryAddressValue
slot machine.
![](https://developers.google.cn/static/assistant/conversational/images/scene-slot.png?authuser=9&hl=it)
Mappatura dei valori degli slot
In molti casi, una corrispondenza di intent precedente può includere parametri che riempire completamente i valori degli slot di una scena corrispondente. In questi casi, tutti gli slot riempiti da parametri di intent mappati allo slot della scena che riempie se il nome dell'area corrisponde al nome del parametro di intent.
Ad esempio, se un utente corrisponde a un'intenzione di ordinare una bevanda dicendo "Voglio per ordinare un caffè alla vaniglia grande", gli slot esistenti per dimensione, aroma e bevanda vengono considerati "riempiti" nella scena corrispondente se la scena definisce slot machine.
Elabora input
Durante questa fase, puoi fare in modo che la NLU dell'assistente abbini l'input dell'utente agli intent. Puoi definire l'ambito della corrispondenza dell'intent a una scena specifica aggiungendo gli intent desiderati alla scena. In questo modo puoi controllare il flusso della conversazione dicendo all'assistente in base a intent specifici quando sono attive scene specifiche.
All'interno di una scena, fai clic sull'icona + per Gestione dell'intent dell'utente oppure Fase di gestione degli intent di sistema. Viene visualizzato l'editor del gestore di intent a destra. Puoi specificare la seguente funzionalità dell'intent gestore:
- Intent: specifica l'intent che vuoi abbinare all'interno della scena.
- Chiama il webhook: attiva un webhook. Vedi i webhook documentazione per saperne di più su come gestire una richiesta webhook.
- Invia prompt: specifica prompt statici all'utente, in modo che sappia come e rispondere. Per ulteriori informazioni, consulta la documentazione relativa ai messaggi che specifica i prompt.
- Transizione (se applicabile). Consente di specificare la scena a cui eseguire la transizione quando corrisponde all'intent specificato.
![](https://developers.google.cn/static/assistant/conversational/images/scene-customintent.png?authuser=9&hl=it)
![](https://developers.google.cn/static/assistant/conversational/images/scene-systemintent.png?authuser=9&hl=it)