Definire finalità, espressioni ed entità
Le espressioni sono le frasi che un utente può immettere durante l'interazione con un'applicazione che usa il modello linguistico. Una finalità rappresenta un'attività o un'azione che l'utente vuole eseguire o più semplicemente il significato di un'espressione. Per creare un modello, definire le finalità e associarle a una o più espressioni.
Si consideri ad esempio l'elenco seguente di finalità e espressioni associate:
-
GetTime:
- "Che ora è?"
- Che ore sono?
- "Dimmi il tempo"
-
GetWeather:
- "Che cos'è la previsione meteo?"
- "Ho bisogno di un ombrello?"
- "Ci sarà neve?"
-
Dispositivo di attivazione
- "Accendere la luce."
- "Accendere la luce."
- Accendi la ventola
-
Nessuno:
- "Hello"
- "Arrivederci"
Nel modello è necessario definire le finalità che il modello deve comprendere, quindi dedicare del tempo a considerare il dominio che il modello deve supportare e i tipi di azioni o informazioni che gli utenti potrebbero richiedere. Oltre alle finalità definite dall'utente, ogni modello include una finalità None che è consigliabile usare per identificare in modo esplicito le espressioni che un utente potrebbe inviare, ma per cui non è necessaria alcuna azione specifica (ad esempio, messaggi di saluto conversazionali come "hello") o che non rientrano nell'ambito del dominio per questo modello.
Dopo aver identificato le finalità che il modello deve supportare, è importante acquisire diverse espressioni di esempio per ogni finalità. Raccogliere espressioni che si ritiene che gli utenti immetteranno; incluse espressioni che significano la stessa cosa, ma che vengono costruite in modi diversi. Tenere presenti queste linee guida:
- Acquisire più esempi diversi o modi alternativi di dire la stessa cosa
- Variare la lunghezza delle espressioni da breve, a media, a lunga
- Variare la posizione del sostantivo o dell'oggetto dell'espressione. Posizionarlo all'inizio, alla fine o da qualche parte tra
- Usare la grammatica corretta e la grammatica errata in espressioni diverse per offrire esempi di dati di training validi
- La precisione, la coerenza e la completezza dei dati etichettati sono fattori chiave per le prestazioni del modello.
- Etichettare con precisione: etichettare ogni entità al tipo corretto sempre. Includere solo gli elementi da estrarre, evitando dati non necessari nelle etichette.
- Etichetta in modo coerente: la stessa entità deve avere la stessa etichetta in tutte le espressioni.
- Etichettare completamente: etichettare tutte le istanze dell'entità in tutte le espressioni.
Le entità vengono usate per aggiungere contesto specifico alle finalità. Ad esempio, è possibile definire una finalità TurnOnDevice che può essere applicata a più dispositivi e usare le entità per definire i diversi dispositivi.
Si considerino le espressioni, le finalità e le entità seguenti:
Espressione | Intenzione | Entità |
---|---|---|
Che ore sono? | OttieniTempo | |
Che ora è a Londra? | OttieniTempo | Località (Londra) |
Qual è la previsione meteo per Parigi? | GetWeather | Località (Parigi) |
Ho bisogno di un ombrello stasera? | GetWeather | Orario (stasera) |
Qual è la previsione per Seattle domani? | GetWeather | Località (Seattle), Ora (domani) |
Accendere la luce . | Dispositivo di attivazione | Dispositivo (luce) |
Accendere la ventola. | Dispositivo di attivazione | Dispositivo (ventola) |
È possibile suddividere le entità in diversi tipi di componenti:
- Le entità apprese sono il tipo di entità più flessibile e devono essere usate nella maggior parte dei casi. È possibile definire un componente appreso con un nome adeguato e quindi associarvi parole o frasi nelle affermazioni di addestramento. Quando si addestra il modello, impara a trovare la corrispondenza tra gli elementi appropriati nelle frasi e l'entità.
- Le entità elenco sono utili quando è necessaria un'entità con un set specifico di valori possibili, ad esempio giorni della settimana. È possibile includere sinonimi in una definizione di entità elenco, quindi è possibile definire un'entità DayOfWeek che include i valori "Sunday", "Monday", "Tuesday" e così via; ognuno con sinonimi come "Sun", "Mon", "Tue" e così via.
- Le entità predefinite sono utili per tipi comuni, ad esempio numeri, datetime e nomi. Ad esempio, quando vengono aggiunti componenti predefiniti, si rileveranno automaticamente valori come "6" o organizzazioni come "Microsoft". È possibile visualizzare questo articolo per un elenco di entità predefinite supportate.