Sprache
Diese Komponenten sind in der Kategorie "Sprache" des YAML-basierten Dialogablaufeditors verfügbar.
System.Intent
Diese Komponente ist nicht für Skills verfügbar, die mit dem Visual Flow Designer entwickelt wurden. Stattdessen werden Intents automatisch aufgelöst, wenn kein aktiver Ablauf vorhanden ist. Siehe Intent-Erkennung und -Auflösung.
Eigenschaft | Beschreibung | Erforderlich? |
---|---|---|
variable |
Enthält den Wert, den das Sprachverarbeitungs-Framework aus der Benutzereingabe auflöst. Beispiel: Unsere Beispielskillbots definieren diese Eigenschaft als variable=iResult (wobei iResult: "nlpResult" als eine der context -Variablen definiert ist). Sie müssen die Variable iResult nicht benennen. Dieser Name ist eine Konvention, die in unserem Beispielcode und den Beispielskills verwendet wird. Unabhängig davon, welchen Variablennamen Sie für nlpResult verwenden, müssen Sie diesen im Dialogablauf konsistent verwenden.
|
Ja |
optionsPrompt |
Der Titel für die Liste der Intents, wenn Sie einen Wert für die Option Gewinnmarge festlegen. Standardmäßig lautet dieser Zeichenfolgenwert Möchten Sie .
Der Standardwert für diese Eigenschaft wird im Resource Bundle des Skills gespeichert. Um ihn zu ändern, klicken Sie auf |
Nein |
botName |
Der Name (nicht der Anzeigename) des Skills, der das Intent auflöst. Verwenden Sie diese Eigenschaft, wenn Sie die Benutzereingabe anhand des Modells eines separaten Skills und nicht anhand des aktuellen Skills auflösen möchten. Dieser Ansatz kann nützlich sein, wenn Sie das Intent basierend auf einem Modell mit einer enger definierten Domain auflösen möchten als die für Ihren primären Anwendungsfall erforderliche Domain. | Nein |
botVersion |
Gibt die Version des Skills an. Der Standardwert ist 1.0 (wenn Sie die Versionsnummer nicht angeben).
|
Nein |
sourceVariable |
Das Sprachverarbeitungs-Framework löst das Intent mit sourceVariable als Eingabe auf.
Wichtig: Sie können diese Eigenschaft nicht in Kombination mit der Eigenschaft |
Nein |
daIntercept |
Bestimmt bei Aufrufen von System.Intent , ob der digitale Assistent die Benutzereingabe abfangen und an andere Skills weiterleiten kann. Mögliche Werte:
|
Nein |
translate |
Setzt hier das Werteset für die Kontextvariable autoTranslate außer Kraft. Wenn autoTranslate nicht festgelegt oder auf false gesetzt ist, können Sie diese Eigenschaft auf true setzen, um die automatische Übersetzung nur für diese Komponente zu aktivieren. Wenn die Kontextvariable autotranslate auf true gesetzt ist, können Sie diese Eigenschaft auf false setzen, um diese Komponente aus der automatischen Übersetzung auszuschließen.
Wichtig: Sie können diese Eigenschaft nicht in Kombination mit der Eigenschaft |
Nein |
Fragen-und-Antworten-Eigenschaften für die Komponente "System.Intent"
Eigenschaft | Beschreibung | Datentyp | Standardwert |
---|---|---|---|
qnaEnable |
Aktiviert das Routing zum Modul "Fragen und Antworten". Wenn Sie diesen Wert auf true (Routing aktiviert) setzen, müssen Sie auch die Fragen-und-Antworten-Übergangsaktion (none oder exit ) definieren. Siehe Fragen-und-Antworten-Übergänge.
|
boolean | false |
qnaBotName |
Der Name (nicht der Anzeigename) des Skills mit dem Modul "Fragen und Antworten". Wenn Sie diese Eigenschaft nicht definieren, wird stattdessen der Wert verwendet, der für die Eigenschaft botName der Komponente System.QnA definiert wurde.
|
Zeichenfolge | N/V |
qnaBotVersion |
Die Version des Skills mit dem Modul "Fragen und Antworten". Standardmäßig ist dies 1.0. Dieser Wert ist optional | Int | N/V |
qnaTimeout |
Die Zeit in Millisekunden, die der Skill auf den Fragen-und-Antworten-Server wartet, um auf die Benutzereingabe zu reagieren. | Lang | 5000 |
qnaUseResult |
Wenn Sie diese Option auf true (Standard) setzen, kann der Skill den Fragen-und-Antworten-Server mit der Benutzereingabe abfragen. Der Skill verwendet dann die Ergebnisse dieser Abfrage (die Übereinstimmungen), um das Routing festzulegen. Wenn Sie diese Eigenschaft auf true setzen, zeigt der Skill den Link Antworten anzeigen nur an, wenn Übereinstimmungen vorhanden sind. Wenn Sie den Wert auf false setzen, wird der Link "Antworten anzeigen" immer angezeigt.
|
boolean | true |
qnaSkipIfIntentFound |
Wenn dies auf true gesetzt ist, umgeht der Skill das Modul "Fragen und Antworten", wenn eine Intent-Übereinstimmung vorliegt. Mit dem Standardwert (false ) kann der Skill den Fragen-und-Antworten-Server mit Benutzeräußerungen abfragen und auch das Modul "Fragen und Antworten" als Option anbieten.
|
boolean | false |
optionsPrompt |
Das Modul "Fragen und Antworten" wird angezeigt, wenn es für die Komponente Tipp: Verweisen Sie für ausländische (nicht-englische) Sprachen auf ein Resource Bundle. Informationen hierzu finden Sie unter Resource Bundles im Dialogablauf referenzieren. |
Zeichenfolge | Möchten Sie |
optionsQnaLabel |
Ein Label für eine Aktion in den Optionen ( Tipp: Verweisen Sie für ausländische (nicht-englische) Sprachen auf ein Resource Bundle. Informationen hierzu finden Sie unter Resource Bundles im Dialogablauf referenzieren. |
Zeichenfolge | Questions |
qnaMatchFields |
Legt die Felder für das Modul "Fragen und Antworten" fest, mit denen die Benutzernachricht abgeglichen wird. Gültige Werte umfassen:
|
Zeichenfolge | all |
qnaMinimumMatch |
Legt den Mindest- und Höchstprozentsatz von Token fest, die ein beliebiges Fragen-und-Antworten-Paar enthalten muss, um als Übereinstimmung zu gelten. Um die besten Übereinstimmungen zurückzugeben, versehen wir die Äußerungen mit Token, die die Intent Engine als Fragen auflöst. Diese Token werden aus Wortstämmen und aus verschiedenen Wortkombinationen gebildet. Daher kann eine große Tokengruppe aus einer Äußerung generiert werden. Aus diesem Grund ist es unwahrscheinlich, dass jedes Fragen-und-Antworten-Paar alle wichtigen Wörter und Varianten enthalten könnte. Daher wird nicht empfohlen, die Standardeinstellung Wenn 50 % der generierten Token (standardmäßig die höchste Stufe) vorhanden sind, kann das Fragen-und-Antworten-Paar als relevante Übereinstimmung betrachtet werden, wenn es alle Schlüsselwörter aus der Äußerung enthält. Wenn diese Höchststufe nicht erfüllt werden kann, reicht eine Mindeststufe von 25 % aus. Wenn Sie diese Einstellungen ändern, indem Sie den Höchstwert auf mehr als 50 % erhöhen, müsste das Fragen-und-Antworten-Paar nicht nur alle Schlüsselwörter enthalten, sondern auch mit zusätzlichen Token übereinstimmen. Das heißt, wenn Sie die Wahrscheinlichkeit verringern möchten, dass eine relevante Übereinstimmung fehlt, und bei der Verarbeitung die Rückgabe irrelevanter Übereinstimmungen tolerierbar ist, können Sie einen niedrigeren Schwellenwert hinzufügen. Beispiel: Wenn Sie irrelevante Übereinstimmungen minimieren möchten, können Sie die Stufen erhöhen (z.B. Wichtig: Wenn Sie die Standardstufen nicht verwenden möchten, müssen Sie die Eigenschaft |
Zeichenfolge | 50%,25% |
qnaUseSourceVariable |
Wenn dies auf true gesetzt ist, basiert der Fragen-und-Antworten-Abgleich auf dem Wert, der in der Eigenschaft sourceVariable von System.Qna gespeichert ist, nicht auf der Benutzereingabe.
|
boolean | false |
System.MatchEntity
In diesem Thema wird die Verwendung dieser Komponente im YAML-Modus behandelt. Informationen zur Verwendung im Visual Flow Designer finden Sie unter Entity abgleichen.
System.MatchEntity
ruft die Intent Engine auf, um Entityinformationen aus dem in der Eigenschaft sourceVariable
gespeicherten Text zu extrahieren. Wenn für den Entitytyp der Variable eine Übereinstimmung vorhanden ist, wird die Variable mit diesem Entitywert festgelegt.
Eigenschaft | Beschreibung | Erforderlich? |
---|---|---|
sourceVariable |
Die Variable, die den Eingabewert enthält. | Ja |
variable |
Der Name der Kontextvariablen. Der Wert dieser Variablen kann in einer nachfolgenden Komponente System.SetVariable verwendet werden, um mittels eines FreeMarker-Ausdrucks eine bestimmte Entity zu extrahieren. Beispiel: So extrahieren Sie einen EMAIL -Entitywert: ${userInputEntities.value.entityMatches['EMAIL'][0]} |
Ja |
Diese Komponente hat außerdem zwei vordefinierte Übergänge: match
und nomatch
.
Übergang | Beschreibung |
---|---|
match |
Weist die Dialog-Engine an, bei der Übereinstimmung von Entitys in einen Status zu wechseln. |
nomatch |
Weist die Dialog-Engine an, in einen Status zu wechseln, wenn die Entitys nicht übereinstimmen. |
System.MatchEntity
mit dem vom Benutzer angegebenen Wert überein, der in der Variablen mailInput
für den EMAIL-Entitytyp gespeichert ist, der für die Variable mailEntity
definiert wurde. Wenn die Benutzereingabe eine E-Mail-Adresse ist und somit dem Entitytyp entspricht, schreibt die Komponente System.MatchEntity
diesen Wert in die Variable mailEntity
, die wieder an den Botbenutzer weitergeleitet wird ("You entered ${mailEntity.value.email}"
). Wenn die Werte nicht übereinstimmen, wechselt die Dialog-Engine in den Status nomatch
.
Die Komponente
System.MatchEntity
löst einen einzelnen Wert auf.
context:
variables:
iResult: "nlpresult"
mailInput: "string"
mailEntity: "EMAIL"
states:
intent:
component: "System.Intent"
properties:
variable: "iResult"
transitions:
actions:
displayMailAdresses: "askMail"
unresolvedIntent: "dunno"
askMail:
component: "System.Text"
properties:
prompt: "Please provide a valid email address"
variable: "mailInput"
transitions:
next: "matchEntity"
matchEntity:
component: "System.MatchEntity"
properties:
sourceVariable: "mailInput"
variable: "mailEntity"
transitions:
actions:
match: "print"
nomatch: "nomatch"
print:
component: "System.Output"
properties:
text: "You entered ${mailEntity.value.email}"
transitions:
return: "done"
nomatch:
component: "System.Output"
properties:
text: "All I wanted was a valid email address."
transitions:
return: "done"
dunno:
component: "System.Output"
properties:
text: "I don't know what you want"
transitions:
return: "done"
System.DetectLanguage
In diesem Thema wird die Verwendung dieser Komponente im YAML-Modus behandelt. Informationen zur Verwendung im Visual Flow Designer finden Sie unter Sprache ermitteln.
source
referenziert wird:
context:
variables:
autoTranslate: "boolean"
translated: "string"
someTranslatedText: "string"
states:
setAutoTranslate:
component: "System.SetVariable"
properties:
variable: "autoTranslate"
value: true
transitions:
next: "detect"
detect:
component: "System.DetectLanguage"
properties:
source: "someTranslatedText"
useExistingProfileLanguageTag: true
transitions:
...
Die Komponente System.DetectLanguage
legt eine Variable mit dem Namen profile.languageTag
mit der Gebietsschema-Zeichenfolge fest. Sie können Variablen mit der aktuellen Sprache festlegen, wenn Sie diese Variable in einem Wertausdruck (${profile.languageTag}
) verwenden.
profile.languageTag
hat Vorrang vor der Variablen profile.locale
, die vom Messenger-Client festgelegt wird.
Die Eigenschaft useExistingProfileLanguageTag
wird verwendet, wenn ein Skill Teil eines digitalen Assistenten ist, der einen Übersetzungsservice hat. Dadurch kann der Skill umgehend die Sprache verwenden, die vom digitalen Assistenten erkannt wird. Andernfalls kann der Skill eine Nachricht oder Eingabeaufforderung auf Englisch bereitstellen, bevor die Sprache (neu) erkannt wird. Wenn sich der Skill nicht in einem übersetzungsfähigen digitalen Assistenten befindet, wird die Eigenschaft ignoriert.
Die Variablen "profile.locale" und "profile.languageTag"
Die Verwendung eines bestimmten Resource Bundles und die Übersetzungen sowohl der Benutzeroberflächenlabels als auch der Komponentennachrichten hängen von der Sprache des Benutzers ab, die in den Variablen profile.locale
und profile.languageTag
gespeichert ist.
Die Art und Weise, wie diese Variablen festgelegt werden, hängt vom Sprachmodus des Skills ab:
- Bei Skills, die native Sprachunterstützung verwenden, wird die Sprache automatisch erkannt, und die Variablen werden mit dem entsprechenden Wert aufgefüllt, es sei denn, den Variablen wurden bereits Werte zugewiesen.
- Für Skills, die einen Übersetzungsservice verwenden:
- Der Wert für die Variable
profile.locale
wird vom Messenger-Client des Benutzers abgeleitet.Hinweis
profile.locale
unterstützt Werte im ISO-Format "Sprache - Land" oder "ISO language_country". - Der Wert für die Variable
profile.languageTag
wird von der Komponente System.DetectLanguage angegeben.
- Der Wert für die Variable
Der für die Variable
profile.locale
festgelegte Wert kann die gebietsschemaspezifischen Formate für die Entitys DATE, CURRENCY und NUMBER bestimmen, selbst wenn ein Wert für die Variable profile.languageTag
festgelegt wurde.
-
setLocaleToGerman: component: "System.SetVariable" properties: variable: "profile.locale" value: "de"
-
setLanguageTagToGerman: component: "System.SetVariable" properties: variable: "profile.languageTag" value: "de"
-
setLanguageToVariableValue: component: "System.SetVariable" properties: variable: "profile.languageTag" value: "${language_preference_var.value}"
-
setLocaleToLanguageTag: component: "System.SetVariable" properties: variable: "profile.locale" value: "${profile.languageTag}"
-
setTagToLocale: component: "System.SetVariable" properties: variable: "profile.languageTag" value: "${profile.locale}"
Tipp:
Sie können eine Auswahlliste mit Sprachen implementieren, indem Sie den in diesen Variablen oder in einer benutzerdefinierten Benutzerdatenbanktabelle gespeicherten Gebietsschemawert mit einer Liste unterstützter Sprachen vergleichen. Wenn die erkannte Sprache nicht in dieser Liste enthalten ist, können Sie den Benutzer zur Auswahl einer Sprache auffordern und dannprofile.languageTag
auf diesen Wert setzen.
System.TranslateInput
In diesem Thema wird die Verwendung dieser Komponente im YAML-Modus behandelt. Informationen zur Verwendung im Visual Flow Designer finden Sie unter Eingabe übersetzen.
Diese Komponente sendet den angegebenen Text an den Übersetzungsservice des Skills und speichert dann die englische Übersetzung. Dieser Skill basiert auf dem Skill, der mit einem Übersetzungsservice konfiguriert wird. Er erkennt die Sprache aus der Eingabe des Benutzers und übersetzt sie in Englisch. Diese Komponente funktioniert nicht mit Skills, die den Sprachmodus "Nativ unterstützt" verwenden.
Verwenden Sie diese Komponente, wenn Sie den Roheingabetext vor der Übersetzung verarbeiten müssen. Beispiel: Sie möchten einige personenbezogene Daten aus der Benutzereingabe entfernen, bevor Sie sie an den Übersetzungsservice senden.
Eigenschaft | Beschreibung | Erforderlich? |
---|---|---|
source |
Gibt die Textwerte an, die ins Englische übersetzt werden sollen. | Nein |
variable |
Die Variable, die die englische Übersetzung des Textes enthält. | Ja |
Da die Komponente System.TranslateInput
den Übersetzungsservice nutzt, der bereits die Sprache des Benutzers ermittelt, muss diese Komponente keinen Status folgen, die die Sprache ermitteln oder festlegen, wie unter Übersetzungsservice zu Ihrem Skill hinzufügen beschrieben. Deshalb können Sie die englische Übersetzung aus der direkten Benutzereingabe oder aus einer Variablen source
speichern.
Direkte Eingabeübersetzung
System.TranslateInput
speichert die englische Übersetzung der direkten Benutzereingabe in ihrer Eigenschaft variable
. Das folgende Code-Snippet zeigt, wie eine Benutzereingabe wie "Hallo, ich bin ein Mensch" in der Variable translatedString
als "Hello, I am a human" gespeichert wird.context:
variables:
translatedString: “string”
sourceString: “string”
...
states:
...
translateInput:
component: "System.TranslateInput"
properties:
variable: "translatedString"
Die Variable "source"
sourceString
die Benutzereingabe. (Diese Eingabe wurde beispielsweise von einer Komponente "Allgemeine Antwort" erfasst.) Nach Abschluss der Verarbeitung von System.TranslateInput
wird die englische Übersetzung in der Variablen translatedString
gespeichert.context:
variables:
autoTranslate: "boolean"
translatedString: "string"
sourceString: "string"
...
states:
...
translateInputString:
component: "System.TranslateInput"
properties:
source: "sourceString"
variable: "translatedString"
transitions:
...
Die Komponente
System.TranslateInput
kann keine Datenobjekte oder Arrays übersetzen, die in einer Kontextvariablen von einer benutzerdefinierten Komponente gespeichert sind. Dieser Inhalt kann nur übersetzt werden, wenn die Variable von einer Komponente referenziert wird, die die automatische Übersetzung verwendet. Beispiel: Die Komponente System.TranslateInput
kann ein Datenobjekt wie {”product”: “scissors”, “color”: “silver”}
nicht als scissors und silver übersetzen.
Die Eigenschaft sourceVariable
sourceVariable
von System.Intent
den von der Komponente verarbeiteten Wert enthält, können Sie diesen mit der Komponente System.TranslateInput
verwenden, um übersetzten Text einzufügen. Das folgende Snippet zeigt die Zuweisung des Wertes der Variablen translated
, sodass er von der NLP-Engine verarbeitet werden kann.
translate:
component: "System.TranslateInput"
properties:
variable: "translated"
transitions:
next: "intent"
intent:
component: "System.Intent"
properties:
variable: "iResult"
sourceVariable: "translated"
...
System.TranslateOutput
In diesem Thema wird die Verwendung dieser Komponente im YAML-Modus behandelt. Informationen zur Verwendung im Visual Flow Designer finden Sie unter Ausgabe übersetzen.
System.TranslateOutput
können Sie Text in die Sprache des Benutzers übersetzen. Die Komponente übernimmt den für die Eigenschaft source
definierten Wert. Der Text wird in die Sprache übersetzt, die von der Komponente System.DetectLanguage
oder von der Variablen profile.locale
ermittelt wurde, und speichert ihn dann in der Eigenschaft variable
.
Eigenschaften | Beschreibung | Erforderlich? |
---|---|---|
source |
Der zu übersetzende Text oder ein FreeMarker-Ausdruck, der eine Variable referenziert, deren Wert übersetzt werden muss. | Ja |
variable |
Enthält den übersetzten Text. | Ja |
System.Output
, die ansonsten automatisch übersetzten Text anzeigt, dennoch übersetzten Text aus. Hier wird jedoch die Übersetzung des Textes ausgegeben, der für die Eigenschaft source
definiert ist. unresolvedTranslate:
component: "System.TranslateOutput"
properties:
source: "Sorry I don't understand"
variable: "someTranslatedText"
transitions:
next: "unresolved"
unresolved:
component: "System.Output"
properties:
text: "${someTranslatedText}"
transitions:
return: "unresolved"
System.Qna
System.Qna
.
Name | Beschreibung | Erforderlich? | Standardwert | |
---|---|---|---|---|
botName |
Der Name (nicht der Anzeigename) des Skills mit dem Modul "Fragen und Antworten". | Nein | N/V | |
botVersion |
Die Version des Skills, der mit der Eigenschaft botName identifiziert wird. Sie können die Eigenschaft botName definieren, ohne die Eigenschaft botVersion zu definieren. Sie können jedoch botVersion nicht definieren, ohne auch botName zu definieren: botVersion wird ignoriert, wenn Sie die Eigenschaft botName nicht definieren. Daher gilt die Standardversion (1.0 ) nur, wenn Sie auch die Eigenschaft botName definieren. Um zu einer anderen Version des Skills zu wechseln, müssen Sie die Eigenschaft botName definieren und die Eigenschaft botVersion auf die Zielversion setzen.
|
Nein | 1 | |
highlighter |
Die Methode, mit der der relevante Text in jeder Antwort hervorgehoben wird. Die gültigen Werte sind:
|
Nein | system |
|
highlightLength |
Die Anzahl der Zeichen, die in jeder Antwort hervorgehoben werden sollen. | Nein | 100 | |
sourceVariable |
Das Sprachverarbeitungs-Framework löst den Fragen-und-Antworten-Abgleich anhand des durch sourceVariable gespeicherten Wertes auf, nicht mit der Benutzereingabe. Aktivieren Sie diesen Abgleich, indem Sie qnaUseSourceVariable: true für die Komponente System.Intent festlegen. Beispiel:
|
Nein | N/V | |
transitionOnTextReceived |
Wechselt aus dem Status, der mit der Komponente
System.QnA definiert ist, wenn der Benutzer freien Text eingibt.
|
Nein | true |
|
keepTurn |
Die Eigenschaft |
Nein | false (bei Konfiguration als boolescher Wert)
|
|
matchListLimit |
Begrenzt die Paginierung für die Antworten | Nein | 5 | |
categoryListLimit |
Begrenzt die Paginierung der Kategorien | Nein | 5 | |
resultLayout |
Das Layout für die übereinstimmenden Antworten. Gültige Werte: horizontal und vertical .
|
Nein | horizontal | |
minimumMatch |
Legt den Mindest- und Höchstprozentsatz von Token fest, die ein beliebiges Fragen-und-Antworten-Paar enthalten muss, um als Übereinstimmung zu gelten. Um die besten Übereinstimmungen zurückzugeben, versehen wir die Äußerungen mit Token, die die Intent Engine als Fragen auflöst. Diese Token werden aus Wortstämmen und aus verschiedenen Wortkombinationen gebildet. Je nach Länge der Benutzernachricht kann der Prozess zahlreiche Tokengruppen generieren. Da es unwahrscheinlich ist, dass ein Fragen-und-Antworten-Paar mit allen Gruppen übereinstimmt, wird empfohlen, den Übereinstimmungsgrad auf Bei dieser Einstellung kann das Fragen-und-Antworten-Paar als relevant betrachtet werden, wenn es mit 50 % der Token übereinstimmt. Wenn diese Höchststufe nicht erfüllt werden kann, reicht eine Mindeststufe von 25 % aus. Wenn Sie die Wahrscheinlichkeit verringern möchten, dass eine relevante Übereinstimmung fehlt, und bei der Verarbeitung die Rückgabe irrelevanter Übereinstimmungen tolerierbar ist, können Sie einen niedrigeren Schwellenwert als Fallback hinzufügen. Beispiel: Wenn Sie irrelevante Übereinstimmungen minimieren möchten, können Sie den Prozentsatz erhöhen (z.B. Wichtig: Wenn Sie die Standardstufen beim Testen nicht verwenden möchten, müssen Sie die Eigenschaft |
Nein | 50%25% | |
matchfields |
Legt die Felder für das Modul "Fragen und Antworten" fest, mit denen die Benutzernachricht abgeglichen wird. Gültige Werte umfassen:
|
Nein | all |
|
enableCategoryDrilldown |
Setzen Sie diese Eigenschaft auf true , um einen Drilldown nach Kategorie anzuzeigen.
|
Nein | true |
|
exitLabel |
Der Labeltext für das Beenden des Moduls "Fragen und Antworten". | Nein | Exit Questions |
|
viewAnswerLabel |
Der Labeltext für die Ansichtsaktion für ein Antwortdetail. | Nein | View |
|
moreAnswersLabel |
Der Labeltext für die Ansichtsaktion für weitere Antworten. | Nein | More Answers |
|
answersLabel |
Der Labeltext für die Ansichtsaktionen für Antworten in einer bestimmten Kategorie. | Nein | Answers |
|
categoriesLabel |
Der Labeltext für die Kategorien, die der Äußerung entsprechen. | Nein | Categories |
|
subCategoriesLabel |
Der Labeltext für die Ansichtsaktion der Unterkategorien. | Nein | Sub-Categories |
|
moreCategoriesLabel |
Der Labeltext für die Ansichtsaktion für weitere Kategorien. | Nein | More Categories |
Genauigkeit der zurückgegebenen Fragen und Antworten mit minimumMatch erhöhen
Die Standardeinstellung 50%,25%
gibt zwar korrekte Fragen-und-Antworten-Paare zurück, aber Ihr Skill kann weniger und genauere Ergebnisse zurückgeben, indem der Prozentsatz erhöht wird. Beispiel: Ihr Skill soll nur ein Fragen-und-Antworten-Paar zurückgeben, wenn es mit einem hohen Prozentsatz an Token übereinstimmt, oder stattdessen den Benutzer an einen Live-Agent weiterleitet.
In einem solchen Szenario kann durch eine Erhöhung des Prozentsatzes für die Eigenschaft minimumMatch
auf 80 % eine genauere Fragen-und-Antworten-Übereinstimmung zurückgegeben werden, insbesondere für längere Nachrichten. Bei kürzeren Nachrichten, die normalerweise aus drei bis sieben Wörtern bestehen, ist dies möglicherweise nicht der Fall, wobei ca. 50 % davon ignorierte Wörter (Stoppwörter) sind. Beispiel: Für die Benutzerfrage Was ist Accountsicherheit? ermittelt das System zwei Token, "Account" und "Sicherheit". Wenn minimumMatch
auf 80 % gesetzt ist, wird nur eines dieser Token zurückgegeben (80 % von 2 ist 1,6, was auf 1 abgerundet wird). Im Idealfall sollten aber beide Token zurückgegeben werden. In diesem Fall könnte der Skill Fragen-und-Antworten-Paare zurückgeben, die im Allgemeinen "Accounts" beschreiben, was eine zu breit gefasste Antwort ergibt. Der Skill sollte nur Fragen-und-Antworten-Paare zu "Accountsicherheit" oder gar nichts zurückgeben.
minimumMatch
so zu konfigurieren, dass korrekte Fragen-und-Antworten-Paare für kurze Nachrichten zurückgegeben werden, geben Sie die Anzahl der Token ein, die übereinstimmen müssen, einen Operator "Kleiner als" (<) und den erforderlichen Übereinstimmungsgrad, wenn die Nachricht eine höhere Tokenanzahl enthält. Beispiel: qna:
component: "System.QnA"
properties:
minimumMatch: "3<80%"
transitions:
actions:
none: "unresolved"
next: "intent"
Wenn in diesem Snippet eine Nachricht 1 bis 3 Token enthält, muss das Fragen-und-Antworten-Paar mit allen Token übereinstimmen, damit der Skill sie an den Benutzer zurückgibt. In Bezug auf das Szenario gibt diese Einstellung nur ein Fragen-und-Antworten-Paar zurück, das mit "Accountsicherheit" übereinstimmt. Wenn die Nachricht vier oder mehr Token enthält, muss das Fragen-und-Antworten-Paar nur mit 80 % davon übereinstimmen. qna:
component: "System.QnA"
properties:
minimumMatch: "3<80% 8<70% 12<65%"
transitions:
actions:
none: "unresolved"
next: "intent"
Gemäß der Einstellung für minimumMatch
in diesem Snippet gibt der Skill nur dann Fragen-und-Antworten-Paare zurück, wenn die folgenden Token übereinstimmen.
Anzahl Token in der Nachricht | Die Anzahl der Token, die übereinstimmen müssen |
---|---|
1 | 1 |
2 | 2 |
3 | 3 |
4 (80% Übereinstimmung) | 3 (3,2, auf 3 abgerundet) |
5 (80% Übereinstimmung) | 4 |
6 (80% Übereinstimmung) | 4 (4,8, auf 4 abgerundet |
7 (80% Übereinstimmung) | 5 (5,6, auf 5 abgerundet) |
8 (80% Übereinstimmung) | 6 (6,4 auf 6 abgerundet) |
9 (70% Übereinstimmung) | 6 (6,3, auf 5 abgerundet) |
10 (70% Übereinstimmung) | 7 |
11 (70% Übereinstimmung) | 7 (7,7, auf 7 abgerundet) |
12 (70% Übereinstimmung) | 8 (8,4, auf 8 abgerundet) |
13 (65% Übereinstimmung) | 8 (8,45, auf 8 abgerundet) |
keepTurn-Schlüssel/Wert-Zuordnungen und Übergangsaktionen
keepTurn
als Zuordnung definieren, deren Schlüssel die Übergänge beschreiben.
Taste | Beschreibung | Standardwert |
---|---|---|
next |
Wenn dies auf false gesetzt ist, gibt der Skill die Kontrolle ab, wenn die Unterhaltung in den nächsten Status übergeht. Der Skill verarbeitet keine Benutzereingaben, bis die Dialog-Engine in den nächsten Status übergeht.
|
false |
none |
Wenn dies auf true gesetzt ist, behält der Skill die Kontrolle, wenn eine Übergangsaktion none ausgelöst wird, da keine Frage für die Benutzereingabe zurückgegeben werden kann.
|
true |
exit |
Wenn dies auf true gesetzt ist, behält der Skill die Kontrolle, wenn eine Übergangsaktion exit ausgelöst wurde.
|
true |
textReceived |
Wenn dies auf true gesetzt ist, behält der Skill die Kontrolle über die Unterhaltung, wenn transitionOnTextReceived auf true gesetzt ist, was die Dialog-Engine anweist, den Status zu wechseln.
|
true |
Fragen-und-Antworten-Übergänge
Name | Beschreibung | Erforderlich? |
---|---|---|
none |
Für die Benutzereingabe wurde keine Übereinstimmung gefunden (dies bedeutet normalerweise, dass der Ablauf in einen Status wechselt, der den Benutzer darüber informiert, dass keine derartige Übereinstimmung gefunden wurde). | Ja |
exit |
Der Benutzer beendet das Modul "Fragen und Antworten". Standardmäßig ist keepTurn für diese Aktion auf true gesetzt.
|
Nein |