Fragen und Antworten
Ab Release 22.04 wird das Feature "Fragen und Antworten" eingestellt und durch das Knowledge-Feature ersetzt. Das Knowledge-Feature hat gegenüber dem Q&A-Feature erhebliche Vorteile, nämlich:
- Sie können Antwort-Intents in Ihrem Skill direkt aus vorhandenen häufig gestellten Fragen oder Knowledge Base-Dokumenten generieren. Sie müssen diese Dokumente nicht manuell formatieren, bevor Sie sie in Ihren Skill importieren. Darüber hinaus werden Beispieläußerungen für jedes Intent generiert.
- In Unterhaltungen mit dem Skill werden die generierten Antwort-Intents wie normale Intents mit NLP aufgelöst. Sie benötigen keine Q&A-spezifischen Eigenschaften oder Komponenten, um diese Intents zu verarbeiten.
Darüber hinaus funktioniert die Funktion "Fragen und Antworten" nicht in Dialogabläufen, die im visuellen Modus entwickelt wurden.
Wenn Sie über einen vorhandenen Skill mit einem Frage-und-Antwort-Modul verfügen, können Sie dieses Frage-und-Antwort-Modul in zukünftigen Versionen des Skills weiterhin verwenden. Es wird jedoch empfohlen, zu Antwort-Intents zu wechseln (entweder mit Hilfe der Knowledge-Funktion oder durch manuelles Erstellen von Antwort-Intents). Siehe Antwort-Intents.
Mit dem Feature "Fragen und Antworten" kann Ihr Skill Fragen von allgemeinem Interesse beantworten, indem mindestens ein Fragen- und Antwortpaar zurückgegeben wird. Mit einem Skill können Sie häufig gestellte Fragen oder andere Knowledge-Base-Dokumente anzeigen.
Wenn Sie Ihrem Skill ein Modul "Fragen und Antworten" hinzufügen, kann der Skill bewerten, ob die Benutzereingabe für eine Transaktion bestimmt ist ("Was ist mein Saldo?") oder eine Frage beantworten ("An welche Adresse der Bank?") und entsprechend antworten.
Fragen und Antworten zu einem Skill hinzufügen
-
Aktivieren Sie die Frage-und-Antwort-Funktion, indem Sie in der linken Navigationsleiste auf Frage und Antwort (
) klicken. Klicken Sie anschließend auf Fragen und Antworten hinzufügen.
Hinweis
Dies ist nur in Skills möglich, die im YAML-Dialogmodus erstellt wurden. -
Laden Sie die Quelldateien (im CSV-Format), die die kategorisierten Fragen- und Antwortpaare enthalten. Unter Datei mit Datenquelle erstellen wird das Format beschrieben.
Beschreibung der Abbildung add-qna-source.png -
Bei Bedarf können Sie die Fragen und Antworten bearbeiten. Sie können auch Fragen und Antworten hinzufügen oder löschen.
-
Trainieren Sie den Skill mit dem Fragen- und Antworttrainer.
Beschreibung der Abbildung train-w-qna.png -
Testen Sie die neue Fragen-und-Antworten-Funktion, indem Sie Fragen in den Fragen-und-Antworten-Tester eingeben. Im Rahmen des Testprozesses müssen Sie der Datenquelle alternative Fragen hinzufügen, um die Fragenerkennung zu verbessern. Wenn Sie Elemente der Datenquelle hinzufügen oder ändern, müssen Sie den Skill nachtrainieren.
-
Um Fragen und Antworten im Dialogablauf eines Skills zu verwenden, müssen Sie die Komponente
System.Qna
konfigurieren. Außerdem müssen Sie einen neuen Übergang an die KomponenteSystem.Intent
anhängen, die auf diese neue Komponente verweist, sodass Fragen an die Fragen-und-Antworten-Komponente weitergeleitet werden. Weitere Informationen finden Sie unter Wie konfiguriere ich den Dialogablauf für Fragen und Antworten?. -
Fügen Sie einen Status für die Aktion
none
hinzu, und setzen Sie den Übergang zurück auf die Fragen-und-Antworten-Komponente, wenn die Frage beantwortet wurde, indem Sieqna
für dennext
-Übergang hinzufügen:qna: component: "System.QnA" transitions: actions: none: "unresolved" next: "qna" unresolved: component: "System.Output" properties: text: "Sorry, I did not find any match. Can you rephrase the question?" transitions: return: "done"
-
Testen Sie den Skill.
Datenquellendatei erstellen
category_path
, questions
und content
lauten.
Spalte | Inhalt |
---|---|
category_path |
Die Kategorie (oder Kategorien) für ein bestimmtes Fragen- und Antwortpaar. Wenn ein Fragen- und Antwortpaar zu mehreren Kategorien gehört, fügen Sie pro Kategorie eine neue Zeile hinzu. Verwenden Sie einen Schrägstrich (/), um eine Hierarchie anzugeben. Beispiel: |
questions |
Die Fragen, die für den Benutzer angezeigt werden. Fügen Sie pro alternativer Version dieser Frage eine neue Zeile hinzu. Die erste Frage (als kanonische Frage bezeichnet) ist die Frage, die standardmäßig in der Skillnachricht angezeigt wird. Die nachfolgenden Fragen in der Spalte sind alternative Versionen. |
content |
Die Antworten. |
Richtlinien für Datenquellen
-
Durch das Hinzufügen mehrerer Fragen für jede Antwort wird die Wahrscheinlichkeit erhöht, dass relevante Fragen- und Antwortpaare an Benutzer zurückgegeben werden. Erstellen Sie 2 bis 5 Fragen pro Antwort. Stellen Sie genügend Fragen bereit, um verschiedene Möglichkeiten abzudecken, wie der Benutzer Ihrer Meinung nach Fragen zu einem Thema stellt. Sie sollten das Subjekt (bei gleichbleibendem Thema der Antwort), das Verb und die Fragewörter wie "wie", "was", "wobei" usw. variieren. Beispiel: Wie finde ich heraus, wie viel Geld ich habe? kann umformuliert werden in:
-
Wie erfahre ich meinen Kontostand?
-
Wo wird mein Kontostand angezeigt?
-
Kann ich meinen Kontostand abrufen?
-
-
Denken Sie daran, dass die Fragen zwar anders formuliert werden, aber zu den gleichen Antworten führen sollen.
-
Sie müssen keine alternativen Fragen erstellen, um häufig verwendete Wörter, Synonyme oder Tippfehler zu berücksichtigen. Auf der Seite "Sprachkonfiguration" können Sie Synonyme oder Abkürzungen hinzufügen. Tippfehler werden automatisch berücksichtigt.
-
Halten Sie die Antworten möglichst kurz. Geben Sie einen Link für weitere Informationen an. Links zu Fragen und Antworten können nicht ausgeblendet werden, d.h. Sie können
<a href>
nicht zur Angabe eines Sitenamens verwenden. Die Links müssen explizit sein (Beispiel:http://www.myanswers.com/answer/topic1.html
). -
Verwenden Sie ausschließlich Klartext.
-
Benutzer sind an den ersten drei Übereinstimmungen interessiert, um die gewünschten Informationen abzurufen. Sie sollten sich zwar auf den ersten Treffer konzentrieren, aber das Ziel sollte sein, die angeforderten und zugehörigen Informationen in den ersten drei Treffern zu finden.
-
Erstellen Sie eine Batchtestdatei, wenn Sie Ihre Datenquelle aktualisieren. Diese Batchdatei enthält alle Fragen, bei denen Sie sicherstellen möchten, dass sie von Ihrem Skill richtig beantwortet werden. Weitere Informationen zu dieser Datei finden Sie unter CSV-Datei für Batchtest erstellen.
Module "Fragen und Antworten" und Datenquellenmanagement
Weitere Datenquellen hinzufügen
-
Klicken Sie in der linken Navigationsleiste auf Fragen und Antworten (
).
-
Wählen Sie die Registerkarte "Datenquellen" aus, und klicken Sie auf Quelle für Fragen und Antworten hinzufügen.
-
Füllen Sie das Dialogfeld aus, indem Sie eine Sprache, ein Gebietsschema (falls erforderlich) und die Datenquellendatei eingeben.
-
Sie können Batches von Datenquellen hinzufügen, indem Sie Weitere erstellen auswählen.
-
Standardmäßig ist die Datenquelle aktiviert. Wenn Sie Fragen- und Antwortpaare aus der Datenquelle vorübergehend entfernen müssen, können Sie Deaktiviert auswählen, anstatt die Datenquelle zu löschen.
-
Klicken Sie auf Erstellen.
-
Trainieren Sie die Fragen und Antworten nach.
Konfigurationsparameter der Fragen-und-Antworten-Datenquelle bearbeiten
-
Klicken Sie in der linken Navigationsleiste auf Fragen und Antworten (
).
-
Wählen Sie die Registerkarte "Datenquellen" aus.
-
Zeigen Sie mit der Maus auf die Datenquelle, um die Symbole Bearbeiten und Löschen aufzurufen.
-
Klicken Sie auf Bearbeiten.
-
Führen Sie einen der folgenden Schritte aus, und klicken Sie dann auf Speichern.
-
Ändern Sie Sprache und Gebiet.
-
Benennen Sie die Quelle um.
-
Überschreiben Sie die vorhandene Quelldatei, indem Sie auf Ersetzen klicken und eine neue Datei auswählen.
-
Aktivieren oder deaktivieren Sie die Quelle.
-
-
Trainieren Sie das Modul "Fragen und Antworten" nach.
Fragen und Antworten einzeln hinzufügen
-
Klicken Sie in der Registerkarte "Datenquellen" auf die Datenquelle.
-
Klicken Sie auf Alle Fragen und Antworten anzeigen.
-
Klicken Sie auf Frage hinzufügen.
-
Füllen Sie das Dialogfeld wie folgt aus, und klicken Sie dann auf Erstellen.
-
Kanonische Frage: Geben Sie die Frage ein, die standardmäßig im Chat angezeigt wird.
-
Alternative: Fügen Sie eine oder mehrere Varianten der kanonischen Frage hinzu. Beachten Sie, dass Sie sich nur darauf konzentrieren müssen, wie Benutzer die gleiche Frage auf unterschiedliche Weise stellen können, jedoch nicht auf Synonyme oder häufige Schreibfehler achten müssen.
-
Antwort: Fügen Sie eine präzise Antwort hinzu. Fügen Sie anstelle einer längeren Erklärung eine URL hinzu, die Benutzer zu detaillierteren Informationen führt. Diese URL wird im Testfenster als einfacher Text angezeigt, jedoch als Hyperlink, wenn der Skill auf einer tatsächlichen Messagingplattform ausgeführt wird.
-
Kategorien: Geben Sie ggf. eine Kategorie ein, oder wählen Sie eine Kategorie im Menü aus. (Das Menü wird mit den Kategorien der Datenquellendatei aufgefüllt.)
-
Geben Sie für Hierarchien eine Zeichenfolge mit Schrägstrichen (/) ein.
-
Weitere erstellen: Wählen Sie diese Option aus, um nach dem Klicken auf Erstellen ein neues Dialogfeld zu öffnen.
-
-
Trainieren Sie die Fragen und Antworten nach.
-
Klicken Sie in der Registerkarte "Datenquellen" auf Schließen.
Beachten Sie, dass diese Fragen- und Antwortpaare innerhalb der Grenzen eines Chatfensters angezeigt werden und deshalb kurz gehalten werden müssen. Weitere Informationen finden Sie unter Richtlinien für Datenquellen.
Fragen und Antworten einzeln bearbeiten
-
Gehen Sie in der Registerkarte "Datenquellen" zu der gewünschten Frage, oder suchen Sie sie mithilfe eines der Suchfelder (Kategorien und Fragen und Antworten).
-
Zeigen Sie mit dem Mauszeiger auf die Frage, und klicken Sie auf Bearbeiten.
-
Im Dialogfeld "Frage bearbeiten" können Sie folgende Aktionen ausführen:
-
Die kanonische Frage ändern.
-
Weitere alternative Fragen hinzufügen.
-
Die Antwort bearbeiten.
-
Kategorien hinzufügen oder entfernen.
-
-
Klicken Sie auf Speichern.
-
Trainieren Sie das Modul "Fragen und Antworten" nach.
-
Klicken Sie in der Registerkarte "Datenquellen" auf Schließen.
Sie können alternative Fragen auch mit dem Tester hinzufügen.
Fragen-und-Antworten-Datensatz exportieren
-
Klicken Sie in der Registerkarte "Datenquellen" auf Alle Fragen und Antworten anzeigen.
-
Wählen Sie im linken Fensterbereich die Datenquellendatei aus.
-
Klicken Sie auf Exportieren, und speichern Sie die Datei in Ihrem System.
-
Klicken Sie auf Schließen.
Verbesserte Genauigkeit mit Abkürzungen und ignorierten Wörtern
Zur Verbesserung der Genauigkeit der Fragen-und-Antworten-Funktion werden integrierte Sets von ignorierten Wörtern, Abkürzungen und Synonymen aufgenommen. Ignorierte Wörter werden aus dem Übereinstimmungsalgorithmus ausgeschlossen, sodass sie die Genauigkeit nicht reduzieren. Anhand der Abkürzungs- und Synonymlisten werden Benutzerfragen mit den entsprechenden Wörtern abgeglichen. Die integrierten Sets können zwar für viele Skills ausreichen, Sie können jedoch für bestimmte Situationen Begriffe hinzufügen.
Über die Seite "Sprachkonfiguration" können Sie diesen Sets weitere Begriffe hinzufügen. Auf dieser Seite können Sie die Listen mit ignorierten Wörtern, Abkürzungen und Synonymen bearbeiten.
Ignorierte Wörter, Synonyme und Abkürzungen hinzufügen
-
Wählen Sie die Registerkarte "Sprachkonfiguration" aus.
-
Klicken Sie auf Konfigurationseintrag hinzufügen.
-
Nehmen Sie die gewünschten Änderungen im Dialogfeld vor:
-
Sprache: Wählen Sie aus den verfügbaren Sprachen (die von Ihren Datenquellen zur Verfügung gestellt werden) die gewünschte Sprache aus.
-
Typ:
-
Ignorierte Wörter: Fügen Sie Wörter hinzu, die keine genauere Einengung der Fragen bieten. Die Wörter müssen kleingeschrieben werden.
-
Synonyme: Umfassen Umgangssprache und alternative Wörter für jedes Schlüsselwort in der Datenquelle. Erstellen Sie einen separaten Eintrag pro Synonymset. Beispiel: "Geld", "Moolah", "Grün" ist ein anderer Eintrag als der Ehepartner, die Frau, der Ehemann, der Partner.
Beschreibung der Abbildung Synonym-entries.png -
Abkürzungen: Beachten Sie, dass bei kanonischen Fragen möglicherweise keine Abkürzungen erwartet werden.
-
-
Definition: Geben Sie Begriffe ein, die für den Typ spezifisch sind (Synonyme, ignorierte Wörter oder Abkürzungen).
-
Aktiviert: Aktiviert (bzw. deaktiviert) die zu den Sets aus ignorierten Wörtern, Abkürzungen oder Synonymen hinzugefügten Elemente. Verwenden Sie diese Option, wenn Sie Sprachkonfigurationen testen.
-
Weitere erstellen: Wählen Sie diese Option aus, um nach dem Klicken auf Erstellen zu diesem Dialogfeld zurückzukehren.
-
-
Klicken Sie auf Erstellen.
-
Trainieren Sie das Modul "Fragen und Antworten" nach.
Fragen-und-Antworten-Tests
Im Fenster "Fragen und Antworten" des Testers können Sie die Fragen einzeln oder als Batch testen.
Nachdem Sie das Modul "Fragen und Antworten" trainiert haben, können Sie es mit dem Tester "Intents/Fragen und Antworten ausprobieren" testen (durch Klicken auf Testen). Die Antwort des Skills kann ein Karussell mit mehreren Antworten enthalten. Im Gegensatz zu Tests von Intents sind Antworten auf Fragen keine Intent-Kategorien (Beispiel: Salden), sondern Textantworten, die von der Zeile content
in der CSV-Datei bereitgestellt werden.
Die Funktion "Fragen und Antworten" (nicht die Intent Engine) verarbeitet die Antworten auf die von Ihnen eingegebenen Äußerungen. Diese Antworten bestehen aus einem Set kanonischer Fragen, die die am besten passenden Themen darstellen (die Antworten, die aus der Spalte content
in der CSV-Datei stammen). Diese kanonischen Fragen sind die ersten Fragen, die in das Feld questions
der CSV-Datei eingegeben wurden und den einzelnen Themen zugeordnet sind (d.h. die Antwort im Feld content
in der CSV-Datei).
Beschreibung der Abbildung qna-tester-w-precision.png
Fragen-und-Antworten-Übereinstimmung testen
-
Trainieren Sie das Modul "Fragen und Antworten".
-
Öffnen Sie den Tester, indem Sie auf die Option Testen klicken und dann Fragen und Antworten auswählen.
-
Klicken Sie auf Fragen und Antworten.
-
Klicken Sie optional auf
, um die Optionen für Sprache und Abgleichsgenauigkeit festzulegen:
- Sprache: Wählen Sie eine Sprache aus (sofern mehrsprachige Datenquellen vorhanden sind).
- Übereinstimmungsschwellenwerte: Klicken Sie auf Bearbeiten, um den Mindest- und Höchstprozentsatz von Token festzulegen, die ein Frage- und Antwortpaar enthalten muss, um als Übereinstimmung zu gelten (also eine Fragen-und-Antworten-Übereinstimmung).
- Felder abgleichen: Klicken Sie auf Bearbeiten, um die Felder des Moduls "Fragen und Antworten" auszuwählen, die mit der Benutzernachricht übereinstimmen müssen. Folgende Optionen stehen zur Verfügung:
- Alle: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit einer der Kategorien, Fragen oder Antworten des Moduls "Fragen und Antworten" übereinstimmen.
- Fragen: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit den Fragen des Moduls "Fragen und Antworten" übereinstimmen.
- Antworten: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit der Antwort des Moduls "Fragen und Antworten" übereinstimmen.
- Kategorien: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit einer Kategorie des Moduls "Fragen und Antworten" übereinstimmen.
- Fragen und Kategorien: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit der Kategorie oder der Antwort des Moduls "Fragen und Antworten" übereinstimmen.
-
Geben Sie eine Äußerung ein, und klicken Sie auf Senden.
-
Klicken Sie bei Bedarf auf Zu Frage hinzufügen, und trainieren Sie das Modul "Fragen und Antworten" nach.
CSV-Datei für Batchtests erstellen
languageTag
, question
, match-1
, match-2
, match-3
usw.
-
languageTag
: Ein Code aus fünf Buchstaben, der die Sprache und das Gebietsschema für die Testfrage und die Übereinstimmungsfragen repräsentiert. Beispiel:en-US
. -
question
: Die Testfrage. Diese Frage muss mit keiner der Trainingsfragen übereinstimmen, sollte jedoch eine typische Frage darstellen, die ein Benutzer zu dem angegebenen Thema stellen kann. -
match-1
match-2 …
: Die erste der kanonischen Fragen, welche die Testfrage Ihrer Meinung nach abrufen sollte. Angezeigt werden die kanonischen Fragen für alle Übereinstimmungen mit Fragen und Antworten. Wenn die Testfrage nur eine einzelne Fragen-und-Antworten-Übereinstimmung zurückgeben muss, geben Sie die Frage in die Spalte "match-1" ein, und lassen Sie die verbleibenden Übereinstimmungsspalten leer. -
queryInfo
: Ein JSON-Objekt, dasoffset
undcategoryPath
für eine Kategorieaufgliederung sowie ein Offset und einen Grenzwert für die Paginierung verwendet."{""offset"":0,""categoryPath"":[""General Account Information""],""limit"":3}"
Batchtest des Moduls "Fragen und Antworten"
-
Fügen Sie die Komponente System.Qna im Dialogablauf hinzu, konfigurieren Sie sie, und chatten Sie dann mit dem Skill, um eine Unterhaltungshistorie zu erstellen.
-
Chatten Sie mit dem Skill, um die Unterhaltungshistorie zu erstellen.
-
Exportieren Sie das Fragen-und-Antworten-Unterhaltungslog über das Menü in der Kachel des Skills, indem Sie im Dialogfeld "Unterhaltungslog exportieren" die Option Fragen-und-Antworten-Unterhaltungslog auswählen.
-
Aktivieren Sie im Fragen-und-Antworten-Testfenster den Schalter Batch.
-
Wählen Sie die Sprache aus.
-
Klicken Sie auf Laden.
-
Legen Sie die Testoptionen im Dialogfeld "Fragen und Antworten laden" fest, und klicken Sie auf Test.
-
Maximale Anzahl parallele Tests: Die Anzahl der parallel ausgeführten Tests. Eine Erhöhung der Anzahl an parallelen Tests kann die Tests beschleunigen, aber auch das System belasten.
-
Aufzunehmende Übereinstimmungen: Legt die Anzahl der Fragen-und-Antworten-Übereinstimmungen fest, die in den Test einbezogen werden.
-
Übereinstimmungen in derselben Reihenfolge erforderlich: Mit dieser Option können Sie eine Übereinstimmung je nach Inklusion oder Position innerhalb der Topübereinstimmungen als erfolgreich oder nicht erfolgreich deklarieren.
-
Wenn diese Option deaktiviert ist, können Sie Übereinstimmungen prüfen, wenn Benutzer Stichwörter anstelle von vollständigen Fragen eingeben.
-
Übereinstimmungsschwellenwerte: Klicken Sie auf Bearbeiten, um den Mindest- und Höchstprozentsatz von Token festzulegen, die ein Frage- und Antwortpaar enthalten muss, um als Übereinstimmung zu gelten (also eine Fragen-und-Antworten-Übereinstimmung).
Tipp:
Legen Sie hier denselben Wert wie für die EigenschaftenqnaMiniumumMatch
undminimumMatch
fest. Weitere Informationen zum Festlegen der verschiedenen Ebenen finden Sie unter System.Intent und System.Qna. - Felder abgleichen: Klicken Sie auf Bearbeiten, um die Felder des Moduls "Fragen und Antworten" auszuwählen, die mit der Benutzernachricht übereinstimmen müssen. Folgende Optionen stehen zur Verfügung:
- Alle: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit einer der Kategorien, Fragen oder Antworten des Moduls "Fragen und Antworten" übereinstimmen.
- Fragen: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit den Fragen des Moduls "Fragen und Antworten" übereinstimmen.
- Antworten: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit der Antwort des Moduls "Fragen und Antworten" übereinstimmen.
- Kategorien: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit einer Kategorie des Moduls "Fragen und Antworten" übereinstimmen.
- Fragen und Kategorien: Gibt die Fragen und Antworten zurück, bei denen die Schlüsselwörter aus der Benutzereingabe mit der Kategorie oder der Antwort des Moduls "Fragen und Antworten" übereinstimmen.
Die nicht erfolgreichen Tests werden oben in den Ergebnissen angezeigt.
-
-
Bei erfolgreichen Übereinstimmungen mit Fragen und Antworten können Sie einen Drilldown ausführen und alternative Fragen hinzufügen, die Antworten ändern und anschließend das Modul "Fragen und Antworten" nachtrainieren. Diese Elemente werden der Datenquelle hinzugefügt, die die Seed-Daten für den Skill bereitstellt, nicht jedoch den Testdaten.
Wie konfiguriere ich den Dialogablauf für Fragen und Antworten?
-
Intent und Fragen und Antworten: Fügt die Komponente
System.Intent
hinzu, jedoch mit Eigenschaften, die ein Übergangsrouting zur Fragen-und-Antworten-Komponente festlegen, wenn es sich bei der Äußerung um eine Frage und nicht um eine Transaktionsanforderung handelt. Unter Eigenschaften von Fragen und Antworten für die System.Intent-Komponente werden diese Eigenschaften beschrieben. Unter Skill mit Intent- und Fragen-und-Antworten-Abläufen erstellen wird der Gesamtprozess zum Erstellen eines Skills mit Intent- und Fragen-und-Antworten-Funktionen erläutert. -
Fragen und Antworten: Fügt eine minimal konfigurierte Vorlage für eine System.Intent-Komponente hinzu.
-
Erweiterte Fragen und Antworten: Identisch mit der Vorlage für Fragen und Antworten, bietet jedoch optionale Eigenschaften für eine feiner granulierte Kontrolle:
-
keepTurn
: Konfiguration zur Aufhebung oder Beibehaltung der Kontrolle des Skills über den Dialogablauf. -
Modularität (Aufruf eines bestimmten Skills für Fragen und Antworten). Siehe Wiederverwendbare Skills für Fragen und Antworten.
-
Skalierung und Paginierung von Fragen und Antworten.
-
-
Klicken Sie in der linken Navigationsleiste auf Abläufe.
-
Klicken Sie in der oberen linken Ecke der Seite auf Komponenten hinzufügen. (Sie müssen möglicherweise nach oben scrollen, wenn diese Schaltfläche nicht sichtbar ist.)
-
Wählen Sie die Komponentenpalette Sprache aus.
-
Wählen Sie eine der drei Fragen-und-Antworten-Vorlagen aus, und positionieren Sie sie dann mit dem Menü Einfügen nach in der Definition des Dialogablaufs. Klicken Sie auf Anwenden.Hinweis
Um die Unterstützung für Fragen und Antworten zu implementieren, müssen Sie entweder eine neueSystem.Intent
-Komponente (mit der Vorlage Intent und Fragen und Antworten) zur Definition des Dialogablaufs hinzufügen oder eine vorhandeneSystem.Intent
-Komponente ändern, um Übergänge zur Komponente "Fragen und Antworten" zu ermöglichen.
Skill mit Intent- und Fragen-und-Antworten-Abläufen erstellen
-
Fügen Sie die Vorlage Intent mit Fragen und Antworten zum Dialogablauf hinzu (Zugriff über Sprache).
-
Definieren Sie für die Komponente
System.Intent
Folgendes:-
Fügen Sie
qnaEnable: true
hinzu, um den Router zu aktivieren:intent: component: "System.Intent" properties: variable: "iResult" qnaEnable: true
-
Legen Sie eine Übergangsaktion für den Fragen-und-Antworten-Status fest:
Wenn die Intent-Auflösung unter dem Konfidenzschwellenwert liegt, löst der Skill die Aktiontransitions: actions: Balances: "startBalances" Transactions: "startTxns" Send Money: "startPayments" Track Spending: "startTrackSpending" Dispute: "setDate" unresolvedIntent: "unresolved" qna: "qna"
qna
aus, die die Dialog-Engine in den Statusqna
versetzt. In diesem Fall enthält die Skillnachricht nur den Link "Antworten anzeigen".
Wenn die Intent Engine hingegen die Nachricht oberhalb des Konfidenzschwellenwerts auflösen und eine Fragen-und-Antworten-Übereinstimmung finden kann, enthält die Nachricht des Skills Links zum Intent und zur Antwort auf die Frage.Wenn die Intent Engine die Nachricht jedoch als Anforderung und nicht als Frage klassifiziert, umgeht der Skill die Fragen und Antworten und leitet die Nachricht an den Intent-Ablauf weiter. In diesem Fall enthält die Nachricht nur die Intent-Option.qna: component: "System.QnA" transitions: actions: none: "unresolved" next: "intent" unresolved: component: "System.Output" properties: text: "Sorry I don't understand that question!" transitions: return: "unresolved"
Sie können dieses Verhalten ändern, indem Sie Wörter und Wortgruppen hinzufügen, die das Intent-Routing klären und indem Sie die System.Intent-Eigenschaft
qnaSkipIfIntentFound
festlegen.
-
Beispiele für den Fragen-und-Antworten-Dialog
Fragen-und-Antworten-Routing für die System.Intent-Komponente
qnaEnable
der System.Intent
-Komponente aktiviert wird. Außerdem werden der Übergang zum Status mit dem Modul "Fragen und Antworten" und der Status des Moduls "Fragen und Antworten" selbst angezeigt.
...
mainIntent:
component: "System.Intent"
properties:
variable: "userInput"
sourceVariable: "translated"
qnaEnable: true
qnaMatchFields: "categories+questions"
transitions:
actions:
Greeting: "greeting"
Inspire Me: "recommendCategories"
Returns: "startReturn"
qna: "qna"
View Reports: "setMobilePhone"
TrackOrders: "showOrderStatus"
unresolvedIntent: "unresolved"
Vision: "visionBasedProducts"
Shipping: "startShipping"
...
qna:
component: "System.QnA"
Unterstützung von Fremdsprachen und mehreren Sprachen für die Fragen und Antworten
-
Erstellen Sie eine für die Zielsprache spezifische Datenquellendatei.Hinweis
Es werden keine Datenquellen in chinesischer Sprache unterstützt. -
Fügen Sie gegebenenfalls Synonyme hinzu, oder aktualisieren Sie die ignorierten Wörter.
-
Konfigurieren Sie einen Übersetzungsservice. Weitere Informationen finden Sie unter Übersetzungsservice zu Ihrem Skill hinzufügen.
-
Wenn der Skill auch Transaktionsfunktionen enthält, müssen Sie die Routingkonfiguration anpassen.
-
Konfigurieren Sie den Dialogablauf für die Unterstützung mehrerer Sprachen. Beispiel:
metadata: platformVersion: "1.0" main: true name: "ChipCardMultipleLingualQnA" context: variables: greeting: "string" name: "string" cancelChoice: "string" rb: "resourcebundle" states: detect: component: "System.DetectLanguage" properties: ... transitions: ... qna: component: "System.QnA" properties: botName: "ChipCardMultipleLingualQnA" matchFields: "categories+questions" viewAnswerLabel: "${rb.viewAnswerLabel}" moreAnswersLabel: "${rb.moreAnswersLabel}" transitions: actions: none: "unresolved" next: "detect" unresolved: component: "System.Output" properties: text: "${rb.NoMatch}" transitions: return: "done"
Wiederverwendbare Skills für Fragen und Antworten
Sie können die Definitionen Ihres Dialogablaufs modularisieren, indem Sie wiederverwendbare Skills für Fragen und Antworten erstellen, die mit den Eigenschaften botName
und QnaBotName
aufgerufen werden können und zu den Komponenten System.Intent
und System.QnA
gehören.
Beispiel: botName-Eigenschaft
...
states:
qna:
component: "System.QnA"
properties:
botName: "FinancialQnABot"
transitions:
actions:
none: "unresolved"
next: "qna"
unresolved:
component: "System.Output"
properties:
text: "Sorry, I did not find any match. Can you rephrase the question?"
transitions:
return: "done"
Beispiel: botName und QnABotName
botName
und QnABotName
beide denselben Wert.states:
intent:
component: "System.Intent"
properties:
botName: "FinancialQnABot"
qnaMatchFields: "categories+questions"
variable: "iResult"
qnaEnable: true
transitions:
actions:
Balances: "startBalances"
Transactions: "startTxns"
Send Money: "startPayments"
Track Spending: "startTrackSpending"
Dispute: "setDate"
unresolvedIntent: "unresolved"
qna: "qna"
...
qna:
component: "System.QnA"
properties:
botName: "FinancialQnABot"
matchFields: "categories+questions"
transitions:
actions:
none: "unresolved"
next: "intent"
Beispiel: botName und qnaBotName in System.Intent
botName
in zwei verschiedenen Kontexten: in der Komponente System.Intent
, wo sie einen Transaktionsskill aufruft, und in der Komponente System.Qna
, in der sie einen Skill für Fragen und Antworten aufruft.states:
intent:
component: "System.Intent"
properties:
botName: "FinancialBot"
qnaBotName: "FinancialQnABot"
variable: "iResult"
qnaEnable: true
transitions:
actions:
Balances: "startBalances"
Transactions: "startTxns"
Send Money: "startPayments"
Track Spending: "startTrackSpending"
Dispute: "setDate"
unresolvedIntent: "unresolved"
qna: "qna"
...
qna:
component: "System.QnA"
properties:
botName: "FinancialQnABot"
transitions:
actions:
none: "unresolved"
next: "intent"
Intent- und Fragen-und-Antworten-Routing konfigurieren
Auf der Seite "Fragen-und-Antworten-Routingkonfiguration" werden häufig verwendete Wörter und Satzanfänge bereitgestellt, die Befehle oder Fragen angeben. Sie können den domainspezifischen Inhalt zu dieser Seite hinzufügen, mit dem der Router zwischen Fragen und Antworten und Intents unterscheiden kann. Gehen Sie dazu wie folgt vor:
-
Klicken Sie in der linken Navigationsleiste auf Einstellungen (
).
-
Klicken Sie auf Fragen-und-Antworten-Routingkonfiguration.
-
Wählen Sie eine Sprache aus.
-
Fügen Sie Wörter und Wortgruppen in den folgenden Kategorien hinzu, die sich auf das Routing von Intents auswirken, oder entfernen Sie sie.
-
Transaktionskonfiguration: Sie können Verben und Wortgruppen hinzufügen, mit denen die Intent Engine eine Nachricht als Transaktion identifizieren kann.
-
Zusätzliche Anforderungsverben: Nachrichten, die mit Anforderungen oder Befehlen wie Kaufen, Prüfen oder Abbrechen beginnen, gelten als Transaktion und werden an ein Intent weitergeleitet. Diese Wörter im Imperativ weisen auf eine Transaktion und nicht auf eine Frage hin.
Für jede unterstützte Sprache wird eine Bibliothek mit häufig verwendeten Verben im Imperativ bereitgestellt. Dazu zählen Wörter wie "zahlen", "entfernen" und "beenden". Sie können firmen- oder zielgruppenspezifische Anforderungsverben hinzufügen.
-
Erweiterung von Anforderungsverben: Ein Set von Präfixen (un, deent), die bei Anwendung auf Anforderungsverben, die Sie im Feld "Zusätzliche Anforderungsverben" hinzugefügt haben, das Vokabular vergrößern, mit dem eine Nachricht als intent-gebunden identifiziert wird.
-
Anforderungssatzpräfix: Wörter und Wortgruppen, die Anforderungen zugeordnet sind, wie Können Sie und Bitte nicht. Nachrichten, die mit diesen Wörtern beginnen, werden als Intents weitergeleitet. Es wird eine Bibliothek dieser transaktionsorientierten Wörter und Wortgruppen bereitgestellt, die Sie aktualisieren können.
-
-
Fragenkonfiguration: Ein Set mit häufig verwendeten Wörtern und Wortgruppen, die normalerweise in Fragen verwendet werden. Dies umfasst Wortgruppen wie wie mache ich und Ich möchte wissen. Diese Wortgruppen zeigen an, dass ein Benutzer eine Frage stellt und keine Transaktion anfordert. Wenn ein Skill eine Nachricht empfängt, die mit einer dieser Wortgruppen beginnt, optimiert er seine Antwort, indem er den Link für die Fragen-und-Antworten-Antwort gegenüber dem Link für die Intent-Antwort priorisiert. In der Regel ist das Verhalten genau umgekehrt: Der Skill priorisiert Intents, deren Score über dem konfigurierten Konfidenzschwellenwert liegt. Beispiel: Wenn ein Skill Wie kündige ich meine Policy? empfängt, ist leicht zu erkennen, dass der Benutzer nach Informationen sucht. Der Skill priorisiert daher den Link "Antworten anzeigen".
Wenn die Benutzereingabe mehrdeutig ist, erhält der Link "Fragen und Antworten" möglicherweise nicht die ranghöchste Position. Beispiel: Der Router kann möglicherweise Kann ich meine Policy kündigen nicht als Intent oder Frage und Antwort identifizieren. Der Skill zeigt beide Optionen an, da ein Intent mit einem Vertrauensscore über dem Vertrauensschwellenwert und eine übereinstimmende Frage vorliegen. Das Intent wird jedoch zuerst eingestuft.
Beschreibung der Abbildung priorisiert-zweck-response.png
-