Worum handelt es sich bei Language Understanding (LUIS)?What is Language Understanding (LUIS)?

Language Understanding (LUIS) ist ein cloudbasierter API-Dienst, der benutzerdefiniertes maschinelles Lernen auf natürliche Sprachtexte anwendet, um die allgemeine Bedeutung vorherzusagen sowie relevante und detaillierte Informationen zu extrahieren.Language Understanding (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to natural language text to predict overall meaning, and pull out relevant, detailed information.

Wenn z. B. eine Clientanwendung den Text find me a wireless keyboard for $30 sendet, antwortet LUIS mit dem folgenden JSON-Objekt.For example, when a client application sends the text, find me a wireless keyboard for $30, LUIS responds with the following JSON object.

{
    "query": "find me a wireless keyboard for $30",
    "prediction": {
        "topIntent": "Finditem",
        "intents": {
            "Finditem": {
                "score": 0.934672
            }
        },
        "entities": {
            "item": [
                "wireless keyboard"
            ],
            "money": [
        {
            "number": 30,
            "units": "Dollar"
        }
           ]
        }
        
    }
}

Im obigen Beispiel ist die Absicht oder die allgemeine Bedeutung des Ausdrucks, dass der Benutzer einen Artikel sucht.In the example above, the intent, or overall meaning of the phrase is that the user is trying to find an item. Die detaillierten Informationen, die LUIS extrahiert, werden als Entitäten bezeichnet.The detailed pieces of information that LUIS extracts are called entities. In diesem Fall sind die Entitäten der Name des Artikels, nach dem der Benutzer sucht, und der Geldbetrag, den er ausgeben möchte.In this case, the entities are the name of the item the user is looking for and the amount of money they want to spend.

Clientanwendungen verwenden die von LUIS zurückgegebenen JSON-Daten, die Absicht (Kategorie) und die Entitäten (extrahierte Informationen), um Aktionen in der Clientanwendung zu steuern.Client applications use LUIS's returned JSON, the intent (category), and entities (extracted detailed information), to drive actions in the client application. Bei einer Clientanwendung für LUIS handelt es sich häufig um eine beliebige Konversationsanwendung, die zum Durchführen einer Aufgabe in natürlicher Sprache mit einem Benutzer kommuniziert.A client application for LUIS is often a conversational application that communicates with a user in natural language to complete a task. Beispiele für Clientanwendungen sind Social Media Apps, Chatbots und sprachfähige Desktopanwendungen.Examples of client applications include social media apps, chat bots, and speech-enabled desktop applications.

Konzeptionelle Abbildung dreier Clientanwendungen, die mit Cognitive Services Language Understanding (LUIS) arbeitenConceptual image of 3 client applications working with Cognitive Services Language Understanding (LUIS)

Beispiel für die Verwendung von LUIS in einen ChatbotExample use LUIS in a chat bot

Eine Clientanwendung sendet Äußerungen (Text) an die veröffentlichte LUIS-Endpunkt-API für die Verarbeitung von natürlicher Sprache und empfängt die Ergebnisse als JSON-Antworten.A client application sends utterances (text) to the published LUIS natural language processing endpoint API and receives the results as JSON responses. Eine gängige Clientanwendung für LUIS ist ein Chatbot.A common client application for LUIS is a chat bot.

Konzeptionelle Abbildungen von LUIS in Zusammenarbeit mit dem Chatbot zur Vorhersage von Benutzertext mithilfe des Verstehens natürlicher SpracheConceptual imagery of LUIS working with Chat bot to predict user text with natural language understanding (NLP)

SchrittStep AktionAction
11 Die Clientanwendung sendet die Benutzeräußerung (Text in den Worten des Benutzers) „Ich möchte meinen Personalverantwortlichen anrufen“The client application sends the user utterance (text in their own words), "I want to call my HR rep." als HTTP-Anforderung an den LUIS-Endpunkt.to the LUIS endpoint as an HTTP request.
22 LUIS wendet maschinell erlernte Sprachmodelle auf den unstrukturierten Eingabetext des Benutzers an und gibt eine Antwort im JSON-Format mit der wichtigsten Absicht, HRContact, zurück.LUIS applies machine learned language models to the user's unstructured input text and returns a JSON-formatted response, with a top intent, HRContact. Die JSON-Endpunktantwort enthält mindestens die Abfrageäußerung und die Absicht mit der höchsten Bewertung.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Sie kann auch Daten wie die Entität Kontakttyp extrahieren.It can also extract data such as the Contact Type entity.
33 Die Clientanwendung verwendet die JSON-Antwort für Entscheidungen darüber, wie die Anforderungen des Benutzer erfüllt werden.The client application uses the JSON response to make decisions about how to fulfill the user's requests. Diese Entscheidungen können eine Entscheidungsstruktur im Bot und Aufrufe anderer Dienste umfassen.These decisions can include a decision tree in the bot and calls to other services.

Die LUIS-App stellt Intelligenz bereit, damit die Clientanwendung intelligente Entscheidungen treffen kann.The LUIS app provides intelligence so the client application can make smart choices. Die Auswahlmöglichkeiten werden nicht von LUIS bereitgestellt.LUIS doesn't provide those choices.

Verarbeitung natürlicher SpracheNatural language processing

Ihre LUIS-App enthält domänenspezifische Modelle für natürliche Sprache, die miteinander interagieren.Your LUIS app contains domain-specific natural language models, which work together. Sie können die LUIS-App mit vordefinierten Domänenmodellen beginnen, ein eigenes Modell erstellen oder vordefinierte Modelle mit Ihren eigenen benutzerdefinierten Informationen kombinieren.You can start the LUIS app with one or more prebuilt models, build your own model, or blend prebuilt models with your own custom information.

  • Vordefiniertes Modell: LUIS verfügt über viele vordefinierte Domänen mit Absichten und Entitätsmodellen, die zusammen gängige Verwendungsszenarien abschließen.Prebuilt model LUIS has many prebuilt domains that include intent and entity models that work together to complete common usage scenarios. Diese Domänen enthalten bezeichnete Äußerungen, die überprüft und bearbeitet werden können, um sie anzupassen.These domains include labeled utterances that can be inspected and edited, allowing you to customize them. Vordefinierte Domänenmodelle enthalten den gesamten Entwurf und bieten eine hervorragende Möglichkeit für ein schnelle Verwendung von LUIS.Prebuilt domain models include the entire design for you and are a great way to start using LUIS quickly. Darüber hinaus gibt es vordefinierte Entitäten wie Währungen und Zahlen, die Sie unabhängig von den vordefinierten Domänen verwenden können.In addition, there are prebuilt entities such as currency and number that you can use independently from the prebuilt domains.

  • Benutzerdefiniertes Modell: LUIS bietet Ihnen mehrere Möglichkeiten, eigene benutzerdefinierte Modelle zu erstellen, einschließlich Absichten und Entitäten.Custom model LUIS gives you several ways to build your own custom models including intents, and entities. Entitäten umfassen durch maschinelles Lernen erworbene Entitäten, Musterabgleichsentitäten sowie eine Kombination dieser beiden Entitätstypen.Entities include machine-learned entities, pattern matching entities, and a combination of machine-learned and pattern matching.

Erstellen der LUIS-AppBuild the LUIS app

Erstellen Sie die App mit den Dokumenterstellungs-APIs oder über das LUIS-Portal.Build the app with the authoring APIs or with the LUIS portal.

Die LUIS-App beginnt mit Kategorien von Eingabetext, die als Absichten bezeichnet werden.The LUIS app begins with categories of input text called intents. Jede Absicht erfordert Beispiele für Äußerungen von Benutzern.Each intent needs examples of user utterances. Jede Äußerung kann Daten liefern, die extrahiert werden müssen.Each utterance can provide data that needs to be extracted.

Beispieläußerung eines BenutzersExample user utterance AbsichtIntent Extrahierte DatenExtracted data
Book a flight to __Seattle__? FlugBuchenBookFlight SeattleSeattle
When does your store __open__? GeschäftszeitenUndStandorteStoreHoursAndLocation öffnenopen
Schedule a meeting at __1pm__ with __Bob__ in Distribution BesprechungPlanenScheduleMeeting 13 Uhr, Robert1pm, Bob

Abfragen eines VorhersageendpunktsQuery prediction endpoint

Nachdem Ihre App trainiert und für den Endpunkt veröffentlicht wurde, sendet die Clientanwendung Äußerungen an die API des Vorhersageendpunkts.After your app is trained and published to the endpoint, the client application sends utterances to the prediction endpoint API. Die API wendet zu Analysezwecken die App auf die Äußerung an und liefert Vorhersageergebnisse in einem JSON-Format zurück.The API applies the app to the utterance for analysis and responds with the prediction results in a JSON format.

Die JSON-Endpunktantwort enthält mindestens die Abfrageäußerung und die Absicht mit der höchsten Bewertung.The minimum JSON endpoint response contains the query utterance, and the top scoring intent. Sie kann auch Daten wie die folgende Entität Kontakttyp und die allgemeine Stimmung extrahieren.It can also extract data such as the following Contact Type entity and overall sentiment.

{
    "query": "I want to call my HR rep",
    "prediction": {
        "normalizedQuery": "i want to call my hr rep",
        "topIntent": "HRContact",
        "intents": {
            "HRContact": {
                "score": 0.8582669
            }
        },
        "entities": {
            "Contact Type": [
                "call"
            ]
        },
        "sentiment": {
            "label": "negative",
            "score": 0.103343368
        }
    }
}

Verbessern der ModellvorhersageImprove model prediction

Nachdem die LUIS-App veröffentlicht wurde und echte Benutzeräußerungen empfängt, ermöglicht LUIS zum Verbessern der Vorhersagegenauigkeit aktives Lernen anhand von Endpunktäußerungen.After your LUIS app is published and receives real user utterances, LUIS provides active learning of endpoint utterances to improve prediction accuracy.

Lebenszyklus bei der iterativen EntwicklungIterative development lifecycle

LUIS bietet Tools, eine Versionsverwaltung und die Zusammenarbeit mit anderen LUIS-Autoren für die Integration in den vollständigen, iterativen Entwicklungslebenszyklus.LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full iterative development life cycle.

Implementieren von LUISImplementing LUIS

LUIS (Language Understanding ) kann als REST-API mithilfe einer HTTP-Anforderung mit allen Produkten, Diensten oder Frameworks eingesetzt werden.Language Understanding (LUIS), as a REST API, can be used with any product, service, or framework with an HTTP request. Die folgende Liste enthält die am häufigsten mit LUIS verwendeten Microsoft-Produkte und -Dienste.The following list contains the top Microsoft products and services used with LUIS.

Die am häufigsten verwendete Clientanwendung für LUIS ist:The top client application for LUIS is:

  • Web-App-Bot erstellt schnell einen LUIS-fähigen Chatbot für die Kommunikation mit einem Benutzer über die Texteingabe.Web app bot quickly creates a LUIS-enabled chat bot to talk with a user via text input. Verwendet Bot Framework Version 4.x für eine vollständige Bot-Erfahrung.Uses Bot Framework version 4.x for a complete bot experience.

Tools zum schnellen und einfachen Nutzen von LUIS mit einem Bot:Tools to quickly and easily use LUIS with a bot:

  • LUIS-CLI Mit dem NPM-Paket sind Erstellungen und Vorhersagen entweder mit einem eigenständigen Befehlszeilentool oder als Import möglich.LUIS CLI The NPM package provides authoring and prediction with as either a stand-alone command line tool or as import.
  • LUISGen LUISGen ist ein Tool zum Generieren von stark typisiertem C#- und TypeScript-Quellcode aus einem exportierten LUIS-Modell.LUISGen LUISGen is a tool for generating strongly typed C# and typescript source code from an exported LUIS model.
  • Dispatch ermöglicht die Verwendung mehrerer LUIS- und QnA Maker-Apps aus einer übergeordneten App mithilfe eines Verteilermodells.Dispatch allows several LUIS and QnA Maker apps to be used from a parent app using dispatcher model.
  • LUDown LUDown ist ein Befehlszeilentool, mit dem Sprachmodelle für Ihren Bot verwaltet werden können.LUDown LUDown is a command line tool that helps manage language models for your bot.
  • Bot Framework: Composer: Ein integriertes Entwicklungstool für Entwickler und bereichsübergreifende Teams zum Erstellen von Bots und Konversationsumgebungen mit Microsoft Bot FrameworkBot framework - Composer - an integrated development tool for developers and multi-disciplinary teams to build bots and conversational experiences with the Microsoft Bot Framework

Weitere Cognitive Services, die mit LUIS verwendet werden:Other Cognitive Services used with LUIS:

  • QnA Maker ermöglicht die Kombination mehrerer Texttypen in einer Wissensdatenbank für Fragen und Antworten.QnA Maker allows several types of text to combine into a question and answer knowledge base.
  • Der Spracherkennungsdienst konvertiert Anforderungen in gesprochener Sprache in Text.Speech service converts spoken language requests into text.
  • Das Unterhaltungslernmodul ermöglicht Ihnen mit LUIS ein schnelleres Erstellen von Bot-Konversationen.Conversation learner allows you to build bot conversations quicker with LUIS.

Beispiele mit LUIS:Samples using LUIS:

Nächste SchritteNext steps