Suche…


Einführung

Bot Framework unterstützt Recognizers . Ein Erkenner erkennt, was zu tun ist, wenn ein Benutzer dem Bot eine Nachricht sendet. Daher können Sie Ihren Bot so entwerfen, dass er Intents anhand der Benutzereingaben erkennt. Der Recognizer kann mit der LUIS-API verwendet werden, um dem Bot ein natürlicheres Sprachverständnis zu verleihen.

Syntax

  • var detectizer = new builder.LUISRecognizer ('URL Ihres Modells');

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

LUISRecognizer initialisieren und hinzufügen

Sobald Sie mit einem neuen Projekt mit der in der Einführung bereitgestellten Basisvorlage fertig sind, sollten Sie einen LUISRecognizer wie

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

Nun recognizer ist ein LUISRecognizer und Absichten anhand Ihrem LUIS Modell übergeben. Sie können den recognizer zu Ihren Absichten hinzufügen, indem Sie

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

Ihr Bot kann jetzt Absichten von LUIS verarbeiten. Alle benannten Absichten in LUIS können mithilfe der matches Eigenschaft der IntentDialog Klasse ermittelt werden. Eine Absicht namens hi ist also im LUIS-Modell definiert, um die Absicht des Bots zu erkennen.

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

Definieren eines LUIS-Modells mit Absichten

Das Erstellen eines LUIS-Modells erfordert wenig bis keine Programmiererfahrung. Sie müssen jedoch mit 2 wichtigen Begriffen vertraut sein, die ausführlich verwendet werden.

  1. Absichten - So identifizieren Sie Funktionen, die ausgeführt werden müssen, wenn der Benutzer etwas eingibt. ZB - Ein Intent namens Hi identifiziert eine Funktion, die ausgeführt werden muss, wenn der Benutzer "Hi" sendet. Absichten sind in Ihrem Programm / Modell eindeutig benannt.
  2. Entitäten - Diese identifizieren die Substantive in einer Anweisung. ZB - "Alarm für 13:00 Uhr einstellen", hier ist 1:00 pm eine Entität, die vom Chat-Bot erkannt werden muss, um einen Alarm einzustellen.

Hinweis: Bilder der Website werden nicht als Frontend für meine Änderung bereitgestellt, das Kernkonzept bleibt jedoch gleich.

Um ein neues Modell zu erstellen, rufen Sie LUIS.ai auf und melden Sie sich mit Ihrem Microsoft-Konto an, um zur Seite zum Erstellen von Apps zu gelangen. Wo ein leeres Projekt erstellt werden kann.

Absichten definieren:

Intents auf der definiert werden Intents Registerkarte. Sie geben an, welche Funktion Sie ausführen müssen, wenn der Benutzer etwas eingibt.

Alle Anwendungen haben die Standardeinstellung None Absicht, die aktiviert wird, wenn die Benutzereingabe keiner anderen Absicht entspricht.

Um eine Absicht zu definieren,

  1. Vergeben Sie einen eindeutigen Namen für die Funktion, die Sie ausführen möchten.
  2. Wenn die Benennung abgeschlossen ist, sollten Sie der Absicht utterances hinzufügen. Äußerungen sind das, was der Benutzer senden soll, um die von Ihnen definierte Absicht zu aktivieren. Versuchen Sie, so viele verschiedene utterances wie möglich einzugeben, damit LUIS intents und utterances richtig intents kann.
  3. Trainieren Sie Ihr LUIS Modell, indem Sie auf den Train - Taste auf Train and Test - Tab. Nach dem Training kann die App im untenstehenden Panel getestet werden.
  4. Veröffentlichen Sie Ihre App schließlich auf der Registerkarte Publish App . Sie sollten jetzt eine Endpunkt-URL erhalten, die bei der Definition von LUISRecognizer in Ihrem Bot-Code LUISRecognizer werden sollte.

Entitäten zum LUIS-Modell hinzufügen

Eine Entität ist die Information, die Ihr Bot aus einer bestimmten Äußerung extrahiert, die einer Absicht entspricht.

Zum Beispiel: My name is John Doe gehört zu einer Intention, die introduction . Damit Ihr Bot den Namen John Doe verstehen und aus dem Satz extrahieren kann, müssen Sie eine Entität definieren, die dies tut. Sie können die Entität beliebig benennen, aber es ist am besten, sie als etwas zu bezeichnen, das sich auf das bezieht, was sie extrahiert. In unserem Beispiel können wir unsere Einheit nennen name .

Entitäten können zwischen verschiedenen Absichten wiederverwendet werden, um verschiedene Dinge zu extrahieren. Das beste Prinzip wäre also, eine Entität zu erstellen, die nur Datentypen extrahiert und diese in verschiedenen Absichten verwendet. Wenn also in unserem obigen Beispiel gesagt wird, dass Book a flight on Emirates booking zu der beabsichtigten booking gehört, kann dieselbe Entität, der name , verwendet werden, um den Namen der emirates .

Sie müssen zwei Dinge beachten, bevor Sie Entitäten definieren -

  1. Entitäten sollten pro Äußerung in einer Absicht eindeutig sein. Eine Entität kann nicht zweimal in derselben Äußerung verwendet werden.
  2. LUIS unterscheidet nicht zwischen Groß- und Kleinschreibung. Dies bedeutet, dass alles, was durch Entitätsextraktion extrahiert und empfangen wird, in Kleinbuchstaben dargestellt wird. Daher ist das Extrahieren von Groß- / Kleinschreibung durch Entitäten wahrscheinlich eine schlechte Idee.

Hinzufügen vorgefertigter Entitäten

Vorgefertigte Entitäten sind, wie der Name schon sagt, vorgefertigt, dh sie sind bereits so konfiguriert, dass sie einen bestimmten Datentyp über die Absicht extrahieren, zu der sie hinzugefügt werden. Ein Beispiel kann das Unternehmen seiner number , die Zahlen aus der Absicht , extrahiert sie zugeordnet ist. Die Zahlen können entweder numerisch oder alphabetisch wie 10 oder ten .

Eine vollständige Liste aller vorgefertigten Entitäten finden Sie unter [Liste vorgefertigter Entitäten] [1].

Um vorgefertigte Entitäten hinzuzufügen,

  1. Gehen Sie zur Registerkarte entities .
  2. Klicken Add pre-built entities hinzufügen, wählen Sie die Entität aus, die Sie dem Modell hinzufügen möchten, und klicken Add pre-built entities auf Speichern.

Benutzerdefinierte Entitäten hinzufügen Zu den benutzerdefinierten Entitäten gehören 4 Typen:

  1. Einfach : Eine einfache Entität extrahiert bestimmte Daten, der name in den obigen Beispielen ist eine einfache Entität.
  2. Hierarchisch : Eine übergeordnete Entität mit untergeordneten Entitäten (Untertypen), die vom übergeordneten Element abhängig sind.
  3. Composite : Eine Gruppe von 2 oder mehr voneinander unabhängigen Einheiten.
  4. Liste : Eine Entität, die Wörter nur aus einer bestimmten Liste erkennt.

Einfache Entitäten definieren

  1. Gehen Sie auf die Registerkarte entities .
  2. Klicken Sie auf Add Custom Entities
  3. Benennen Sie Ihre Entität, überprüfen Sie den erforderlichen Entitätstyp und klicken Save auf Save .

Alle anderen Entity Type können auf dieselbe Weise hinzugefügt werden, indem Sie einfach den Entity Type in einen der oben genannten Typen ändern. Bei hierarchischen und zusammengesetzten Entitätstypen müssen Sie auch die Namen der untergeordneten Namen zusammen mit dem Namen der übergeordneten Entität angeben. Das Definieren von Listenelementen unterscheidet sich ein wenig vom Rest.

Listenelemente definieren

Nachdem Sie die oben genannten Schritte zum Erstellen einer List Entity durch Einfügen des Entity Type als Liste ausgeführt haben, werden Sie zur Detailseite der soeben definierten Entität weitergeleitet.

  1. Definieren Sie einen kanonischen Wert. Dies ist ein Standardwert, den der Bot erhält, wenn der Benutzer eines der Synonyme eingibt.
  2. Definieren Sie Synonyme für den kanonischen Wert. Sie werden in den kanonischen Wert umgewandelt, sobald sie von der Entität angetroffen werden.

Sie können auch ganze Listen mit einem Array von JSON-Objekten des Formulars importieren:

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

Eine Entität mit einer Absicht verknüpfen

Pre-built vordefinierte Elemente und list bereits eine Reihe von Werten definiert, die aus allen Äußerungen extrahiert werden können. Zur Erfassung von Werten müssen jedoch Simple , Hierarchical und Composite Äußerungen trainiert werden.

Dies kann durch gemacht werden

  1. Gehen Sie zur Registerkarte intents und wählen Sie den Intent aus, zu dem Sie die Entität hinzufügen möchten.
  2. Fügen Sie eine Äußerung mit einem Dummy-Wert hinzu, den Sie extrahieren möchten. Sagen Sie, Sie können hinzufügen My name is John Doe als Äußerung.
  3. Klicken Sie mit der Maus auf die Wörter und ziehen Sie sie mit der Maus. Sie müssen john doe im obigen Beispiel hervorheben.
  4. Ein Dropdown-Menü mit einer Liste aller in Ihrem Projekt verfügbaren Entitäten wird geöffnet. Wählen Sie die entsprechende Option aus. Name ist die im obigen Beispiel ausgewählte Entität.
  5. Fügen Sie jedes Mal mehr Äußerungen mit unterschiedlichen Dummy-Werten und allen möglichen Strukturen hinzu, die Sie sich vorstellen können.
  6. Trainieren und veröffentlichen Sie Ihr LUIS-Modell.


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow