Zoeken…


Invoering

Bot Framework ondersteunt Recognizers . Een herkenner wordt gebruikt om te herkennen wat te doen wanneer een gebruiker de bot een bericht stuurt. Daarom kunt u uw bot ontwerpen om intenties te herkennen op basis van de gebruikersinvoer. De herkenner kan worden gebruikt met de LUIS API om natuurlijk taalbegrip voor de bot toe te voegen.

Syntaxis

  • var herkenner = nieuwbouwer.LUISRecognizer ('URL van uw model');

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

LUISRecognizer initialiseren en toevoegen

Zodra u klaar bent met een nieuw project met de basissjabloon in de Inleiding, zou u een LUISRecognizer als volgt moeten kunnen toevoegen -

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

Nu is recognizer een LUISRecognizer en kan het intenties doorgeven op basis van uw gedefinieerde LUIS-model. U kunt de recognizer aan uw intenties door

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

Je bot kan nu intenties van LUIS verwerken. Elke naam intenties op LUIS kan worden gedetecteerd met behulp van de matches eigendom van IntentDialog klasse. Stel dat een intentie met de naam hi is gedefinieerd in het LUIS-model, om de intentie op de bot te herkennen,

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

Een LUIS-model met intenties definiëren

Het creëren van een LUIS-model vereist weinig tot geen programmeerervaring. U moet echter bekend zijn met 2 belangrijke termen die uitgebreid zullen worden gebruikt.

  1. Intenties - Zo identificeert u functies die moeten worden uitgevoerd wanneer de gebruiker iets invoert. Bijv. Een intentie met de naam Hi identificeert een functie die moet worden uitgevoerd wanneer de gebruiker "Hi" verzendt. Intenties worden uniek genoemd in uw programma / model.
  2. Entiteiten - Deze identificeren de zelfstandige naamwoorden in een verklaring. Bijvoorbeeld: "Stel een alarm in voor 13:00", hier is 1:00 pm een entiteit die moet worden herkend door de chat-bot om een alarm in te stellen.

Opmerking: afbeeldingen van de website worden niet verstrekt als de front-end van mijn wijziging, maar het kernconcept blijft hetzelfde.

Om een nieuw model te maken, gaat u naar LUIS.ai en logt u in met uw Microsoft-account om naar de pagina voor het maken van apps te gaan. Waar een leeg project kan worden gemaakt.

Intenties definiëren:

Intenties kunnen worden gedefinieerd op het tabblad Intents . Ze identificeren welke functie u moet uitvoeren wanneer de gebruiker iets invoert.

Alle applicaties hebben de standaard None intentie, die wordt geactiveerd wanneer de gebruikersinvoer overeenkomt met geen andere intentie.

Om een intentie te definiëren,

  1. Geef het een unieke naam die relevant is voor de functie die u wilt uitvoeren.
  2. Zodra de naamgeving is voltooid, moet u utterances aan de intentie toevoegen. Uitingen zijn wat u wilt dat de gebruiker verzendt om de intentie die u definieert te activeren. Probeer zoveel mogelijk verschillende utterances in te voeren zodat LUIS intents en utterances juiste manier kan associëren.
  3. Train je LUIS Model, door te klikken op de Train knop op Train and Test Tab. Na de training kan de app worden getest in het onderstaande paneel.
  4. Publiceer ten slotte uw app op het tabblad Publish App . U zou nu een eindpunt-URL moeten krijgen die moet worden ingevoerd tijdens het definiëren van LUISRecognizer in uw LUISRecognizer .

Entiteiten toevoegen aan het LUIS-model

Een entiteit is de informatie die je bot haalt uit een bepaalde uiting die overeenkomt met een intentie.

Bijv. Laat My name is John Doe behoren tot een intentie genaamd introduction . Om je bot de naam John Doe uit de zin te laten begrijpen en eruit te halen, moet je een entiteit definiëren die dit doet. U kunt de entiteit een naam geven wat u maar wilt, maar het is het beste om het te noemen als iets dat betrekking heeft op wat het extraheert. In ons voorbeeld kunnen we de name onze entiteit name .

Entiteiten kunnen worden hergebruikt tussen verschillende intenties, om verschillende dingen te extraheren. Het beste principe zou dus zijn om een entiteit te maken die alleen het soort gegevens extraheert en deze voor verschillende doeleinden gebruikt. Daarom, in ons bovenstaande voorbeeld, zeg Book a flight on Emirates behoort tot de beoogde booking , dan kan dezelfde entiteit, name , worden gebruikt om de vluchtnaam emirates te extraheren.

U moet twee dingen in gedachten houden voordat u entiteiten gaat definiëren:

  1. Entiteiten moeten per uiting uniek zijn in een intentie. Een entiteit kan niet twee keer in dezelfde uiting worden gebruikt.
  2. LUIS is niet hoofdlettergevoelig. Dit houdt in dat alles geëxtraheerd en ontvangen via entiteitsextractie in kleine letters zal zijn. Het is dus waarschijnlijk een slecht idee om hoofdlettergevoelige gegevens via entiteiten te extraheren.

Vooraf gebouwde entiteiten toevoegen

Vooraf gebouwde entiteiten zijn, zoals de naam al doet vermoeden, vooraf gebouwd, dat wil zeggen dat ze al zijn geconfigureerd om een bepaald type gegevens te extraheren via de intentie waaraan ze zijn toegevoegd. Een voorbeeld kan de entiteit zijn number dat uittreksels nummers uit de bedoeling deze is toegewezen aan. De getallen kunnen numeriek of alfabetisch zijn, zoals 10 of ten .

Voor een volledige lijst van alle vooraf gebouwde entiteiten gaat u naar [Pre-built Entities List] [1].

Om vooraf gebouwde entiteiten toe te voegen,

  1. Ga naar het tabblad entities .
  2. Klik op Add pre-built entities en selecteer de entiteit die u aan het model wilt toevoegen en druk op Opslaan.

Aangepaste entiteiten toevoegen Aangepaste entiteiten zijn van 4 soorten,

  1. Eenvoudig : een eenvoudige entiteit extraheert bepaalde gegevens, de name in de bovenstaande voorbeelden is een eenvoudige entiteit.
  2. Hiërarchisch : een bovenliggende entiteit met onderliggende entiteiten (subtypen) die afhankelijk zijn van de bovenliggende.
  3. Composiet : een groep van 2 of meer onafhankelijke entiteiten samen.
  4. Lijst : een entiteit die alleen woorden uit een bepaalde lijst herkent.

Eenvoudige entiteiten definiëren

  1. Ga naar het tabblad entities .
  2. Klik op Add Custom Entities
  3. Geef uw entiteit een naam, vink het gewenste entiteitstype aan en klik op Save .

Alle andere typen entiteiten kunnen op dezelfde manier worden toegevoegd door het Entity Type te wijzigen in een van de bovenstaande typen. In hiërarchische en samengestelde entiteitstypen moet u ook de onderliggende namen opgeven samen met de naam van de bovenliggende entiteit. Lijstentiteiten definiëren is een beetje anders dan de rest.

Lijstentiteiten definiëren

Nadat u de bovenstaande stappen hebt gevolgd om een List Entity door het Entity Type als lijst in te voeren, wordt u doorgestuurd naar de detailpagina van de entiteit die u zojuist hebt gedefinieerd.

  1. Definieer een canonieke waarde. Dit is een standaardwaarde die de bot ontvangt wanneer de gebruiker een van de synoniemen typt.
  2. Definieer synoniemen voor de canonieke waarde. Ze worden omgezet in de canonieke waarde wanneer ze door de entiteit worden aangetroffen.

U kunt ook volledige lijsten importeren met een reeks JSON-objecten, in de vorm:

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

Een entiteit associëren met een intentie

Pre-built en list entiteiten hebben al een reeks waarden gedefinieerd, die kan worden gewonnen uit alle utterences echter Simple , Hierarchical en Composite uitingen moeten worden opgeleid te halen waarden.

Dit kan gedaan worden door

  1. Ga naar het tabblad intents en kies de intentie waaraan u de entiteit wilt toevoegen.
  2. Voeg een uiting toe met een dummy-waarde die u wilt extraheren. Zeg, je kunt toevoegen My name is John Doe als een uiting.
  3. Klik en sleep de muis over de woorden die u de entiteit wilt laten extraheren. Je moet john doe in het bovenstaande voorbeeld markeren.
  4. Er wordt een vervolgkeuzelijst geopend met een lijst van alle beschikbare entiteiten in uw project. Selecteer de bijbehorende naar eigen inzicht. Name is de entiteit die in het bovenstaande voorbeeld is geselecteerd.
  5. Voeg telkens meer uitingen met verschillende dummy-waarden en alle mogelijke structuren toe die je kunt bedenken.
  6. Train en publiceer uw LUIS-model.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow