Ricerca…


introduzione

Bot Framework supporta i Recognizers . Un riconoscitore è usato per riconoscere cosa fare ogni volta che un utente invia al bot un messaggio. Pertanto puoi progettare il tuo bot in modo che riconosca gli intenti in base all'input dell'utente. Il riconoscimento può essere utilizzato con l'API LUIS per aggiungere la comprensione del linguaggio naturale per il bot.

Sintassi

  • var recognizer = new builder.LUISRecognizer ('L'URL del tuo modello');

  • var intents = new builder.IntentDialog ({recognizers: [recognizer]});

Inizializzazione e aggiunta di LUISRecognizer

Una volta che hai un nuovo progetto con il modello di base fornito nell'Introduzione, dovresti essere in grado di aggiungere un LUISRecognizer in questo modo -

var model = ''    // Your LUIS Endpoint link comes here
var recognizer = new builder.LuisRecognizer(model);

Ora, recognizer è un LUISRecognizer e può passare intenti in base al modello LUIS definito. Puoi aggiungere il recognizer ai tuoi intenti di

var intents = new builder.IntentDialog({recognizers: [recognizer]});

Il tuo bot è ora in grado di gestire gli intenti da LUIS. Eventuali intenti indicato sul LUIS possono essere rilevati utilizzando la matches proprietà di IntentDialog di classe. Quindi dì, un intento chiamato hi è definito nel modello LUIS, per riconoscere l'intento sul bot,

intents.matches('hi', function(session) {
    session.send("Hey :-)");
});

Definizione di un modello LUIS con Intenti

La creazione di un modello LUIS richiede poca o nessuna esperienza di programmazione. Tuttavia, è necessario avere familiarità con 2 termini importanti che verranno utilizzati ampiamente.

  1. Intenti : in questo modo identifichi le funzioni che devono essere eseguite quando l'utente digita qualcosa. Ad esempio: un intento denominato Hi identificherà una funzione che deve essere eseguita ogni volta che l'utente invia "Ciao". Gli intenti sono nominati in modo univoco nel tuo programma / modello.
  2. Entità : identificano i nomi in una dichiarazione. Ad esempio - "Imposta una sveglia per 1:00 pm", qui 1:00 pm è un'entità che deve essere riconosciuta dal chat-bot per impostare un allarme.

Nota: le immagini del sito Web non sono fornite come front-end, ma il concetto di base rimane lo stesso.

Per creare un nuovo modello, vai su LUIS.ai e accedi con il tuo account Microsoft per accedere alla pagina di creazione dell'app. Dove può essere creato un progetto vuoto.

Definire gli Intenti:

Gli intenti possono essere definiti nella scheda Intents . Identificano quale funzione è necessario eseguire quando l'utente inserisce qualcosa.

Tutte le applicazioni hanno un intento None predefinito, che viene attivato ogni volta che l'input dell'utente non corrisponde a nessun altro intento.

Per definire un intento,

  1. Dagli un nome univoco relativo alla funzione che desideri eseguire.
  2. Una volta completata la denominazione, è necessario aggiungere utterances all'intento. Gli enunciati sono ciò che vuoi che l'utente invii per attivare l'intento che stai definendo. Prova a nutrire il maggior numero possibile di utterances possibili affinché LUIS associ correttamente intents e le utterances .
  3. Addestrare il vostro LUIS modello, facendo clic sul Train pulsante sul Train and Test Tab. Dopo l'allenamento, l'app può essere testata nel pannello sottostante.
  4. Infine pubblica la tua app nella scheda Publish App . Dovresti ora ottenere un URL endpoint da inserire durante la definizione di LUISRecognizer nel tuo codice bot.

Aggiunta di entità al modello LUIS

Un'entità è l'informazione che il tuo bot estrae da un particolare enunciato conforme a un intento.

Ad esempio: il My name is John Doe appartiene a un intento chiamato introduction . Perché il tuo robot capisca ed estrae il nome John Doe dalla frase, devi definire un'entità che lo faccia. Puoi nominare l'entità come preferisci, ma è meglio nominarla come qualcosa che riguarda ciò che estrae. Nel nostro esempio, possiamo chiamare il nostro name dell'entità.

Le entità possono essere riutilizzate tra diversi intenti, per estrarre cose diverse. Quindi il miglior principio sarebbe quello di creare un'entità che estrae solo il tipo di dati e li usa attraverso intenti diversi. Pertanto, nell'esempio sopra riportato, ad esempio Book a flight on Emirates fa parte della booking , quindi la stessa entità, name , può essere utilizzata per estrarre gli emirates nome di volo.

Devi tenere a mente due cose prima di definire le entità -

  1. Le entità dovrebbero essere uniche per espressione in un intento. Un'entità non può essere utilizzata due volte nella stessa frase.
  2. LUIS non fa distinzione tra maiuscole e minuscole. Ciò implica che tutto ciò che viene estratto e ricevuto tramite l'estrazione dell'entità sarà in minuscolo. Quindi estrarre dati case-sensitive tramite entità è probabilmente una cattiva idea.

Aggiunta di entità prefabbricate

Le entità prefabbricate sono, come suggerisce il nome, precostruite, ovvero sono già configurate per estrarre un particolare tipo di dati attraverso l'intento a cui sono aggiunti. Un esempio può essere il number entità che estrae i numeri dall'intenzione a cui è assegnato. I numeri possono essere numerici o alfabetici come 10 o ten .

Per un elenco completo di tutte le entità predefinite, è possibile visitare [Elenco delle entità prefabbricate] [1].

Per aggiungere entità prefabbricate,

  1. Vai alla scheda entities .
  2. Fai clic su Add pre-built entities e seleziona l'entità che desideri aggiungere al modello e premi Salva.

Aggiunta di entità personalizzate Le entità personalizzate sono di 4 tipi,

  1. Semplice : una semplice entità estrae un dato particolare, il name negli esempi sopra è una semplice entità.
  2. Gerarchico : un'entità padre con entità figli (sottotipi) che dipendono dal genitore.
  3. Composito : un gruppo di 2 o più entità indipendenti insieme.
  4. Elenco : un'entità che riconosce le parole solo da una determinata lista.

Definizione di entità semplici

  1. Vai alla scheda entities .
  2. Fai clic su Add Custom Entities
  3. Assegna un nome alla tua entità, controlla il tipo di entità richiesta e premi Save .

Tutti gli altri tipi di entità possono essere aggiunti allo stesso modo semplicemente cambiando il Entity Type in uno dei tipi sopra elencati. Nei tipi di entità gerarchiche e composite, dovrai anche fornire i nomi dei figli insieme al nome dell'entità padre. Definire le entità dell'elenco è leggermente diverso dal resto.

Definizione delle entità di lista

Dopo aver seguito i passaggi precedenti per creare List Entity inserendo il Entity Type come lista, verrai indirizzato alla pagina dei dettagli dell'entità appena definita.

  1. Definire un valore canonico. Questo è un valore standard che il bot riceverà quando l'utente digita uno dei sinonimi.
  2. Definisci sinonimi al valore canonico. Saranno convertiti al valore canonico dopo essere stati incontrati dall'entità.

Puoi anche importare interi elenchi usando una serie di oggetti JSON, nella forma:

[
    {
        "canonicalForm": "Hey",
        "list": [
            "Howdy",
            "Hi"
         ]
    },
    .
    .
    .
]

Associare un'entità con un intento

Pre-built entità Pre-built compilate e in list hanno già un insieme di valori definiti che possono essere estratti da tutte le espressioni, tuttavia, le enunciazioni Simple , Hierarchical e Composite devono essere addestrate per raccogliere i valori.

Questo può essere fatto da

  1. Vai alla scheda intents e scegli l'intento a cui desideri aggiungere l'entità.
  2. Aggiungi un enunciato con un valore fittizio che desideri venga estratto. Di ', puoi aggiungere Il My name is John Doe come un enunciato.
  3. Fai clic e trascina il mouse sulle parole che vuoi estrarre dall'entità. Dovrai evidenziare john doe nell'esempio sopra.
  4. Si aprirà un menu a discesa con un elenco di tutte le entità disponibili nel progetto. Seleziona quello corrispondente come meglio credi. Name sarà l'entità selezionata nell'esempio precedente.
  5. Aggiungi più enunciati con diversi valori fittizi ogni volta e tutte le possibili strutture a cui puoi pensare.
  6. Prepara e pubblica il tuo modello LUIS.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow