Definieren von Absichten, Äußerungen und Entitäten
Äußerungen sind die Ausdrücke, die ein Benutzer eingeben kann, wenn er mit einer Anwendung interagiert, die Ihr Sprachmodell verwendet. Eine Absicht stellt eine Aufgabe oder Aktion dar, die der Benutzer ausführen möchte, oder einfacher ausgedrückt, die Bedeutung einer Äußerung. Sie erstellen ein Modell, indem Sie Absichten definieren und ihnen eine oder mehrere Äußerungen zuordnen.
Sehen Sie sich z. B. die folgende Liste von Absichten und zugehörigen Äußerungen an:
- GetTime:
- „Wie viel Uhr ist es?“
- „Wie spät ist es?“
- „Welche Uhrzeit haben wir?“
- GetWeather:
- „Wie sieht die Wettervorhersage aus?“
- „Brauche ich einen Regenschirm?“
- „Wird es schneien?“
- TurnOnDevice
- „Schalte das Licht ein.“
- „Mach das Licht an.“
- „Schalte den Ventilator ein.“
- Keiner:
- "Hello"
- „Auf Wiedersehen.“
In Ihrem Modell müssen Sie die Absichten definieren, die Ihr Modell verstehen soll. Machen Sie sich also gründlich Gedanken darüber, welche Domäne Ihr Modell unterstützen muss und welche Arten von Aktionen oder Informationen die Benutzer möglicherweise anfordern. Zusätzlich zu den von Ihnen definierten Absichten enthält jedes Modell eine None-Absicht, mit der Sie Äußerungen explizit identifizieren sollten, die ein Benutzer übermitteln könnte, für die aber keine bestimmte Aktion erforderlich ist (z. B. Begrüßungen wie „Hallo“) oder die außerhalb des Domänenbereichs für dieses Modell liegen.
Nachdem Sie die Absichten ermittelt haben, die von Ihrem Modell unterstützt werden sollen, ist es wichtig, viele verschiedene Beispieläußerungen für jede Absicht zu erfassen. Sammeln Sie Äußerungen, die Ihrer Meinung nach von Benutzern eingegeben werden. Dazu gehören auch Äußerungen, die dasselbe bedeuten, aber auf unterschiedliche Weise formuliert sind. Beachten Sie dabei die folgenden Richtlinien:
- Erfassen Sie viele verschiedene Beispiele oder alternative Möglichkeiten, dasselbe auszudrücken.
- Verwenden Sie Äußerungen mit variabler Länge, d. h. kurze, mittellange und lange Äußerungen.
- Verwenden Sie variable Stellen für das Substantiv oder Subjekt der Äußerung. Platzieren Sie es am Anfang, Ende oder mitten im Satz.
- Verwenden Sie richtige und falsche Grammatik in unterschiedlichen Äußerungen, da diese gute Beispiele für Trainingsdaten darstellen.
- Die Genauigkeit, Konsistenz und Vollständigkeit der beschrifteten Daten sind wichtige Faktoren bei der Bestimmung der Modellleistung.
- Bezeichnen Sie genau: Beschriften Sie jede Entität immer mit ihrem richtigen Typ. Schließen Sie nur das ein, was Sie extrahieren möchten, und vermeiden Sie unnötige Daten in Ihren Bezeichnungen.
- Bezeichnen Sie konsistent: Die gleiche Entität sollte in allen Äußerungen die gleiche Bezeichnung haben.
- Bezeichnen Sie vollständig: Beschriften Sie alle Instanzen der Entität in allen Äußerungen.
Entitäten werden verwendet, um Absichten spezifischen Kontext hinzuzufügen. Sie können beispielsweise eine TurnOnDevice-Absicht definieren, die auf mehrere Geräte angewendet werden kann, und Entitäten verwenden, um die verschiedenen Geräte zu definieren.
Sehen Sie sich dazu die folgenden Äußerungen, Absichten und Entitäten an:
Äußerung | Absicht | Entitäten |
---|---|---|
Wie spät ist es? | GetTime | |
Wie spät ist es in London? | GetTime | Standort (London) |
Wie sieht die Wettervorhersage für Paris aus? | GetWeather | Standort (Paris) |
Brauche ich heute Abend einen Regenschirm? | GetWeather | Zeit (heute Abend) |
Wie sieht die Wettervorhersage für Seattle morgen aus? | GetWeather | Standort (Seattle), Zeit (morgen) |
Schalte das Licht ein. | TurnOnDevice | Gerät (Licht) |
Mach den Ventilator an. | TurnOnDevice | Gerät (Ventilator) |
Sie können Entitäten in einige verschiedene Komponententypen teilen:
- Angelernte Entitäten sind die flexibelste Art von Entitäten und sollten in den meisten Fällen verwendet werden. Sie definieren eine maschinell angelernte Komponente mit einem geeigneten Namen und ordnen ihr dann Wörter oder Ausdrücke in Trainingsäußungen zu. Beim Trainieren Ihres Modells lernt es, die entsprechenden Elemente in den Äußerungen mit der Entität abzugleichen.
- Listenentitäten sind nützlich, wenn Sie eine Entität mit einem bestimmten Satz möglicher Werte benötigen, z. B. Wochentage. Sie können Synonyme in eine Listenentitätsdefinition einschließen, sodass Sie eine DayOfWeek-Entität definieren können, die die Werte „Sonntag“, „Montag“, „Dienstag“ usw. jeweils mit Synonymen wie „So“, „Mo“, „Di“ usw. enthält.
- Vorgefertigte Entitäten sind nützlich für allgemeine Typen wie Zahlen, datetime und Namen. Wenn beispielsweise vorgefertigte Komponenten hinzugefügt werden, werden Sie automatisch Werte wie „6“ oder Organisationen wie „Microsoft“ erkennen. In diesem Artikel finden Sie eine Liste der unterstützten vorgefertigten Entitäten.