Sök…


Introduktion

Bot Framework stöder Recognizers . En igenkännare används för att känna igen vad man ska göra när en användare skickar botten meddelandet. Därför kan du designa din bot för att känna igen avsikter baserat på användarinmatningen. Genkännaren kan användas med LUIS API för att lägga till naturlig språkförståelse för botten.

Syntax

  • var igenkännare = ny byggare.LUISRecognizer ('Din modells URL');

  • var intents = new builder.IntentDialog ({kännare: [igenkännare]});

Initiera och lägga till LUISRecognizer

När du har kommit med ett nytt projekt med den grundläggande mallen som anges i introduktionen bör du kunna lägga till en LUISRecognizer som så -

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

Nu är recognizer en LUISRecognizer och kan passera avsikter baserat på din definierade LUIS-modell. Du kan lägga till recognizer till dina avsikter från

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

Din bot kan nu hantera avsikter från LUIS. Alla namngivna avsikter på LUIS kan upptäckas genom att använda matches i IntentDialog klassen. Så säg, en avsikt som heter hi definieras i LUIS-modellen för att erkänna avsikten med bot,

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

Definiera en LUIS-modell med avsikter

Att skapa en LUIS-modell kräver liten eller ingen programmeringsupplevelse. Du måste dock vara bekant med två viktiga termer som kommer att användas mycket.

  1. Avsikter - Så här identifierar du funktioner som måste köras när användaren skriver in något. Exempelvis - En avsikt med namnet Hi kommer att identifiera en funktion som måste utföras varje gång användaren skickar "Hej". Avsnitt namnges unikt i ditt program / modell.
  2. Enheter - Dessa identifierar substantiven i ett uttalande. Exempelvis - "Ställ in ett alarm för 13:00", här 1:00 pm är en enhet som måste identifieras av chat-botten för att ställa in ett larm.

Obs! Bilder på webbplatsen tillhandahålls inte som min ändring i front, men kärnkonceptet förblir detsamma.

För att skapa en ny modell, gå till LUIS.ai och logga in med ditt Microsoft-konto för att gå till appen skapande sida. Där ett tomt projekt kan skapas.

Definiera avsikter:

Avsnitt kan definieras på fliken Intents . De identifierar vilken funktion du behöver utföra när användaren anger något.

Alla applikationer har en standard None avsikt, som aktiveras när användarinmatningen matchar ingen annan avsikt.

För att definiera en avsikt,

  1. Ge det ett unikt namn som är relevant för den funktion du vill utföra.
  2. När namnet är klart bör du lägga till utterances till avsikten. Ytringar är vad du vill att användaren ska skicka för att aktivera den avsikt du definierar. Försök mata så många olika utterances som möjligt för att LUIS ska kunna associera intents och utterances ordentligt.
  3. Träna din LUIS modell, genom att klicka på Train knappen på Train and Test Tab. Efter träning kan appen testas i panelen nedan.
  4. Publish App slutligen din app på fliken Publish App . Du bör nu få en endpoint-URL som ska läggas in när du definierar LUISRecognizer i din botkod.

Lägga till enheter till LUIS-modellen

En enhet är den information som din bot extraherar från en viss ytring som överensstämmer med en avsikt.

Eg- Låt My name is John Doe tillhöra en avsikt som kallas introduction . För att din bot ska förstå och extrahera namnet John Doe från meningen, måste du definiera en enhet som gör det. Du kan namnge enheten vad du än vill, men det är bäst att namnge det som något som hör till det den extraherar. I vårt exempel kan vi kallar vår enhet name .

Enheter kan återanvändas mellan olika syften för att extrahera olika saker. Så den bästa principen skulle vara att göra en enhet som extraherar endast typ av data och använder den på olika sätt. Därför, i vårt exempel ovan, säger att Book a flight on Emirates tillhör booking , då kan samma enhet, name , användas för att extrahera emirates .

Du måste komma ihåg två saker innan du fortsätter att definiera enheter -

  1. Enheter bör vara unika per ytring i en avsikt. En enhet kan inte användas två gånger i samma ytring.
  2. LUIS är okänslig för fall. Detta innebär att allt extraherat och mottaget genom utvinning av enheter kommer att vara i små bokstäver. Så extrahering av skiftkänslig information genom enheter är förmodligen en dålig idé.

Lägga till förbyggda enheter

Förbyggda enheter är, som namnet antyder, förbyggda, dvs de är redan konfigurerade för att extrahera en viss typ av data över den avsikt de läggs till. Ett exempel kan vara den enhet number som utvinner nummer från avsikten den är tilldelad. Siffrorna kan antingen vara numeriska eller alfabetiska som 10 eller ten .

För en fullständig lista över alla förbyggda enheter kan du besöka [Förbyggda entitetslista] [1].

För att lägga till förbyggda enheter,

  1. Gå till entities flik.
  2. Klicka på Add pre-built entities och välj enheten som du vill lägga till i modellen och tryck på spara.

Lägga till anpassade enheter Anpassade enheter är av fyra typer,

  1. Enkelt : En enkel enhet extraherar en viss data, name i exemplen ovan är en enkel enhet.
  2. Hierarkisk : En överordnad enhet med barnenheter (undertyper) som är beroende av föräldern.
  3. Komposit : En grupp av två eller flera enheter oberoende tillsammans.
  4. Lista : En enhet som bara känner igen ord från en given lista.

Definiera enkla enheter

  1. Gå på entities flik.
  2. Klicka på Add Custom Entities
  3. Namnge din enhet, kontrollera önskad entitetstyp och tryck på Save .

Alla andra typer av enheter kan läggas till på samma sätt genom att bara ändra Entity Type till en av ovanstående typer. I hierarkiska och sammansatta entitetstyper måste du också ge barnen namn tillsammans med moderföretagets namn. Att definiera Lista-enheter är lite annorlunda än resten.

Definiera listor

När du följer ovanstående steg för att skapa en List Entity genom att sätta th Entity Type som List, kommer du att hänvisas till informationssidan för den enhet du just definierats.

  1. Definiera ett kanoniskt värde. Detta är ett standardvärde som botten kommer att få när användaren skriver in någon av synonymerna.
  2. Definiera synonymer till det kanoniska värdet. De konverteras till det kanoniska värdet när de möts av enheten.

Du kan också importera hela listor med hjälp av en matris med JSON-objekt, i formen:

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

Att associera en enhet med en avsikt

Pre-built och list enheter har redan en uppsättning värden definierade som kan extraheras från alla yttranden, men Simple , Hierarchical och Composite yttranden måste tränas för att ta upp värden.

Detta kan göras av

  1. Gå till intents fliken och välj avsikten du vill lägga till enheten till.
  2. Lägg till en ytring med ett dummyvärde som du vill extraheras. Säg, du kan lägga till My name is John Doe som en ytring.
  3. Klicka och dra musen över orden du vill att enheten ska extrahera. Du måste markera john doe i exemplet ovan.
  4. En listruta öppnas med en lista över alla tillgängliga enheter i ditt projekt. Välj motsvarande efter behov. Name är den enhet som valts i exemplet ovan.
  5. Lägg till fler yttranden med olika dummyvärden varje gång och alla möjliga strukturer du kan tänka på.
  6. Träna och publicera din LUIS-modell.


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow