Freigeben über


Entitätskomponenten

Bei Conversational Language Understanding sind Entitäten relevante Informationselemente, die aus Ihren Äußerungen extrahiert werden. Eine Entität kann mit verschiedenen Methoden extrahiert werden. Sie kann über den Kontext gelernt, aus einer Liste abgeglichen oder von einer vordefinierten erkannten Entität erkannt werden. Jede Entität in Ihrem Projekt besteht aus einer oder mehreren dieser Methoden, die als Komponenten Ihrer Entität definiert sind.

Wenn eine Entität von mehreren Komponenten definiert wird, können sich ihre Vorhersagen überlappen. Sie können das Verhalten einer Entitätsvorhersage bei Überschneidung ihrer Komponenten steuern, indem Sie einen festen Satz von Optionen in den Entitätsoptionen verwenden.

Komponententypen

Eine Entitätskomponente bestimmt, wie Sie die Entität extrahieren können. Eine Entität kann eine Komponente enthalten, die die einzige Methode bestimmt, die zum Extrahieren der Entität verwendet werden soll. Eine Entität kann auch mehrere Komponenten enthalten, um die Möglichkeiten zu erweitern, wie die Entität definiert und extrahiert wird.

„Gelernt“-Komponente

Die „Gelernt“-Komponente verwendet die Entitätstags, mit der Sie Ihre Äußerungen bezeichnen, um ein durch maschinelles Lernen trainiertes Modell zu trainieren. Das Modell lernt, anhand des Kontexts der Äußerung vorherzusagen, wo sich die Entität befindet. Ihre Etiketten enthalten Beispiele dafür, wo die Entität in einer Äußerung vorhanden sein sollte, basierend auf der Bedeutung der Wörter um sie herum und als die Wörter, die etikettiert wurden.

Diese Komponente wird nur definiert, wenn Sie Etiketten hinzufügen, indem Sie Äußerungen für die Entität markieren. Wenn Sie keine Äußerungen mit der Entität markieren, so erhält sie nicht die „Gelernt“-Komponente.

Screenshot, der ein Beispiel für „Gelernt“-Komponenten für Entitäten zeigt.

Listenkomponente

Die Listenkomponente stellt einen festen, abgeschlossenen Satz verwandter Wörter zusammen mit ihren Synonymen dar. Die Komponente führt einen genauen Textabgleich mit der Liste der Werte aus, die Sie als Synonyme angeben. Jedes Synonym gehört zu einem Listenschlüssel, der als normalisierter Standardwert für das Synonym verwendet werden kann, der in der Ausgabe zurückgegeben wird, wenn die Listenkomponente abgeglichen wird. Listenschlüssel werden nicht für den Abgleich verwendet.

In mehrsprachigen Projekten kann für die einzelnen Sprachen jeweils eine andere Gruppe von Synonymen angegeben werden. Wenn Sie die Vorhersage-API verwenden, können Sie die Sprache in der Eingabeanforderung angeben, sodass nur die Synonyme abgeglichen werden, die dieser Sprache zugeordnet sind.

Screenshot, der ein Beispiel für Listenkomponenten für Entitäten zeigt.

Vordefinierte Komponente

Mit der vordefinierten Komponente können Sie aus einer Bibliothek allgemeiner Typen wie Zahlen, Datetimes und Namen auswählen. Beim Hinzufügen wird automatisch eine vordefinierte Komponente erkannt. Pro Entität können bis zu fünf vordefinierte Komponenten vorhanden sein. Weitere Informationen finden Sie in der Liste mit den unterstützten vordefinierten Komponenten.

Screenshot, der ein Beispiel für vordefinierte Komponenten für Entitäten zeigt.

RegEx-Komponente

Die RegEx-Komponente gleicht reguläre Ausdrücke ab, um konsistente Muster zu erfassen. Wird sie hinzugefügt, wird Text extrahiert, der dem regulären Ausdruck entspricht. Sie können innerhalb derselben Entität mehrere reguläre Ausdrücke verwenden, jeweils mit einem anderen Schlüsselbezeichner. Ein übereinstimmender Ausdruck gibt den Schlüssel als Teil der Vorhersageantwort zurück.

In mehrsprachigen Projekten kann für die einzelnen Sprachen jeweils ein anderer Ausdruck angegeben werden. Wenn Sie die Vorhersage-API verwenden, können Sie die Sprache in der Eingabeanforderung angeben, sodass nur der reguläre Ausdruck abgeglichen wird, der dieser Sprache zugeordnet ist.

Screenshot, der ein Beispiel für RegEx-Komponenten für Entitäten zeigt.

Entitätsoptionen

Wenn mehrere Komponenten für eine Entität definiert sind, können sich ihre Vorhersagen überlappen. Wenn eine Überschneidung auftritt, wird die endgültige Vorhersage jeder Entität durch eine der folgenden Optionen bestimmt.

Komponenten kombinieren

Kombinieren Sie Komponenten als eine Entität, wenn sie sich überschneiden, indem Sie die Vereinigung aller Komponenten übernehmen.

Verwenden Sie diese Option, um alle Komponenten zu kombinieren, wenn sie sich überschneiden. Bei kombinierten Komponenten erhalten Sie sämtliche Zusatzinformationen, die an eine Liste oder vordefinierte Komponente gebunden sind (sofern vorhanden).

Beispiel

Angenommen, Sie verfügen über eine Entität namens Software, die eine Listenkomponente mit dem Eintrag „Proseware OS“ enthält. In Ihren Äußerungsdaten haben Sie „I want to buy Proseware OS 9“ (Ich möchte Proseware OS 9 kaufen) mit „Proseware OS 9“ als Software gekennzeichnet:

Screenshot mit Überlappung einer „Gelernt“- und einer Listenentität.

Dank des Kombinierens von Komponenten wird die Entität mit dem vollständigen Kontext als „Proseware OS 9“ zurückgegeben – zusammen mit dem Schlüssel aus der Listenkomponente:

Screenshot des Ergebnisses einer kombinierten Komponente.

Angenommen, bei der gleichen Äußerung wurde von der gelernten Komponente nur „OS 9“ vorhergesagt:

Screenshot einer Äußerung mit der Vorhersage „OS9“ von der „Gelernt“-Komponente.

Mit kombinierten Komponenten wird die Entität trotzdem als „Proseware OS 9“ mit dem Schlüssel aus der Listenkomponente zurückgegeben:

Screenshot der zurückgegebenen Software-Entität.

Komponenten nicht kombinieren

Jede Komponente mit Überschneidung wird als separate Instanz der Entität zurückgegeben. Wenden Sie Ihre eigene Logik nach der Vorhersage mit dieser Option an.

Beispiel

Angenommen, Sie verfügen über eine Entität namens Software, die eine Listenkomponente mit dem Eintrag „Proseware Desktop“ enthält. In Ihren Äußerungsdaten haben Sie „I want to buy Proseware Desktop Pro“ (Ich möchte Proseware Desktop Pro kaufen) mit „Proseware Desktop Pro“ als Software gekennzeichnet:

Screenshot mit einem Beispiel für Überlappung einer „Gelernt“-und einer Listenentität.

Wenn Sie Komponenten nicht kombinieren, wird die Entität zweimal zurückgegeben:

Screenshot der zweimal zurückgegebenen Entität.

Erforderliche Komponenten

Eine Entität kann manchmal durch mehrere Komponenten definiert werden, aber erfordern, dass mindestens eine davon vorhanden sein muss. Jede Komponente kann als erforderlich festgelegt werden, was bedeutet, dass die Entität nicht zurückgegeben wird, wenn diese Komponente nicht vorhanden war. Wenn Sie beispielsweise über eine Entität mit einer Listenkomponente und einer erforderlichen erlernten Komponente verfügen, wird sichergestellt, dass jede zurückgegebene Entität eine erlernte Komponente enthält. Andernfalls wird die betreffende Entität nicht zurückgegeben.

Erforderliche Komponenten werden am häufigsten mit erlernten Komponenten verwendet, da diese die anderen Komponententypen auf einen bestimmten Kontext beschränken können, der in der Regel Rollen zugeordnet ist. Sie können auch alle Komponenten anfordern, um sicherzustellen, dass jede Komponente für eine Entität vorhanden ist.

In Language Studio befindet sich neben jeder Komponente in einer Entität eine Umschaltfläche, mit der Sie sie als erforderlich festlegen können.

Beispiel

Angenommen, Sie verwenden eine Entität namens Ticketanzahl, die versucht, die Anzahl der Tickets zu extrahieren, die für Flüge reserviert werden sollen, beispielsweise für Äußerungen wie „Für morgen zwei Tickets nach Kairo buchen“.

In der Regel würden Sie eine vordefinierte Komponente für Quantity.Number hinzufügen, die bereits alle Zahlen extrahiert. Wenn Sie Ihre Entität nur mit der vordefinierten Komponente definieren, extrahiert sie auch andere Zahlen als Teil der Entität Ticketanzahl, z. B. „Buche für morgen um 15 Uhr zwei Tickets nach Kairo.“

Um dieses Problem zu beheben, beschriften Sie in Ihren Trainingsdaten eine gelernte Komponente für alle Zahlen, die auf eine Ticketanzahl hinweisen. Die Entität verfügt jetzt über zwei Komponenten, die vordefinierte Komponente, die alle Zahlen kennt, und die erlernte, die vorhersagt, an welcher Stelle im Satz sich die Ticketanzahl befindet. Indem Sie die erlernte Komponente als erforderlich festlegen, stellen Sie sicher, dass die Ticketanzahl nur zurückgegeben wird, wenn die erlernte Komponente sie im richtigen Kontext vorhersagt. Wenn Sie auch die vordefinierte Komponente anfordern, können Sie garantieren, dass die zurückgegebene Entität für die Ticketanzahl sowohl eine Zahl ist als auch an der richtigen Position steht.

Verwenden von Komponenten und Optionen

Mit Komponenten können Sie Ihre Entität flexibel auf mehrere Arten definieren. Durch Kombinieren von Komponenten stellen Sie sicher, dass jede Komponente dargestellt wird, und Sie verringern die Anzahl von Entitäten, die in Ihren Vorhersagen zurückgegeben werden.

Eine gängige Methode besteht darin, eine vordefinierte Komponente mit einer Liste von Werten zu erweitern, die von der vordefinierten Komponente möglicherweise nicht unterstützt werden. Wenn Sie beispielsweise über eine Entität vom Typ Organization verfügen, der die vordefinierte Komponente General.Organization hinzugefügt wurde, werden von der Entität möglicherweise nicht alle spezifischen Organisationen für Ihre Domäne vorhergesagt. Sie können die Werte der Entität Organisation mithilfe einer Listenkomponente erweitern und so die vordefinierte Komponente mit Ihren eigenen Organisationen erweitern.

In anderen Fällen möchten Sie möglicherweise eine Entität mittels Kontext extrahieren – beispielsweise ein Produkt in einem Einzelhandelsprojekt. In diesem Fall verwenden Sie eine Bezeichnung für die gelernte Komponente des Produkts, um zu ermitteln, wo sich ein Produkt befindet (auf der Grundlage der Position innerhalb des Satzes). Möglicherweise verfügen Sie auch über eine Liste vorab bekannter Produkte, die immer extrahiert werden sollen. Wenn Sie beide Komponenten in einer Entität kombinieren, können Sie beide Optionen für die Entität erhalten.

Wenn Sie keine Komponenten kombinieren, kann jede Komponente als unabhängiger Entitätsextraktor fungieren. Diese Option ermöglicht es beispielsweise, die aus einer Liste extrahierten Entitäten von den Entitäten zu trennen, die über die gelernten oder vordefinierten Komponenten extrahiert werden, um sie unterschiedlich zu behandeln.

Hinweis

Während der öffentlichen Vorschauphase des Diensts waren vier Optionen verfügbar: Längste Überlappung, Genaue Überlappung, Vereinigungsüberlappung und Alle separat zurückgeben. Längste Überlappung und Genaue Überlappung sind veraltet und werden nur für Projekte unterstützt, bei denen diese Optionen bereits ausgewählt wurden. Vereinigungsüberlappung wurde in Komponenten kombinieren und Alle separat zurückgeben in Komponenten nicht kombinieren umbenannt.