2017-06-07 3 views
0

Den Versuch, eine Menge von Entitäten & Absichten für Dinge des ILK zu schaffen „beschreibt <etwas>“ oder „sagen Sie mir über <etwas>“ oder „Liste Instanzen <etwas>“. Die <etwas> s sind nicht im Voraus bekannt. Folglich kann ich die möglichen Werte für das Unternehmen nicht erschöpfend aufführen.Watson generisches Wort aus Äußerung

Mein Eindruck von (wenn auch sehr wenig) Verwendung und von der Dokumentation ist, dass die Konversations-API ist nicht gut in dieser Art von Sache. Die Erfahrung, so spricht weit, dass sie die Dinge erkennen, die den Beispielen entsprechen für einige Unternehmen gegeben, aber ich habe nicht gesehen, dass es so etwas wie

  • beschreiben @Target
  • zeigen mir Instanzen @Target verallgemeinern kann

ohne die Menge der Werte für @target zu kennen.

Was fehlt mir?

Antwort

1

Über welche Dienste sprechen Sie? NLC ist in der Lage, dies zu tun, und auch Conversation, indem Wildcards verwendet werden. Beide können trainiert werden, Intents mit Platzhalterwerten in ihren Trainingsdaten zu erkennen. Verwenden Sie einfach einen Stern (wie diesen - "*") für den Platzhalter.

Sie müssen Konversation nicht mit jeder möglichen Äußerung trainieren, sie lernt aus ihren Trainingsdaten. Wenn Sie also dem Dienst eine Reihe von Äußerungen wie "Äpfel beschreiben", "Orangen beschreiben", "Glühwürmchen beschreiben" und "Astrophysik beschreiben" geben und dann alle mit der Absicht "provide_description" assoziieren, dann das Gespräch Service würde diese Absicht für Anfragen wie "beschreiben Mathe" anzeigen.

Bitte versuchen Sie auch echte Äußerungen für Ihr Training zu verwenden. Ich bin mir nicht sicher, ob Ihre Benutzer die ganze Zeit in Zwei-Wort-Sätzen sprechen werden. Stellen Sie genügend Trainingsdaten für jede Absicht bereit, damit der Service die verschiedenen Arten lernen kann, wie Menschen die gleichen Absichten ausdrücken.

+0

Danke. Ich werde versuchen, die Informationen über die Wildcards zu finden. In Bezug auf Trainingsdaten gibt es viele verschiedene Ausdrucke in den Trainingsdaten. Ich habe das alles einfach nicht in die Frage aufgenommen. – fred

+0

Ich habe keine wirkliche Beschreibung davon gefunden. Wenn Sie Beispiele wie "Erzählen Sie mir über" * sagen, trainiert die Absicht gut. Es erkennt die Absicht an. Die Entität für \ * wird jedoch nicht zurückgegeben. Ich möchte eine Entität "Ziel" definieren und lassen Sie die API den Entity-Wert bestimmen. Das heißt, "erzähl mir von Eichhörnchen" sollte die Absicht zurückgeben (was gut funktioniert) und "Eichhörnchen" als Zieleinheit zurückgeben. Dieser letzte Teil funktioniert nicht. Wenn Sie \ * als Wert für die Entität eingeben (mit oder ohne aktivierte Fuzzy-Anpassung), wird nur der Wert "\ *" als Entität erkannt. – fred

2

Anhand Ihres Beispiels können Sie die Intents und Entities für Ihren Zweck kombinieren.

Es ist eine gute Praxis, denke ich.

  • über
  • Können Sie bitte beschreiben Beschreiben
  • Können Sie bitte erklären:

    Wie Daniel sagte, können Sie eine Absicht mit Beispielen für die Frage über etwas, wie diese Beispiele in Ihrem #describeAbout erstellen über

  • Liste Instanzen

etc ...

Und erstellen Sie eine Einheit wie @typesDescribe, mit Ihren Werten.Ähnliche Werte:

  • Papier
  • Liebe
  • Früchte

Nach Watson Ihre Beispielen trainiert, mit Ihrem Dialog, erstellen Sie einen Fluss mit der Bedingung

if #describeAbout AND @typesDescribe:Paper 

enter image description here

Reaktion:

enter image description here

  • @typesDescribe (zeigt den Wert: Papier) ist ein dünnes Material durch Zusammenpressen feuchten Fasern aus Cellulose Zellstoff aus Holz, Lumpen oder Gräsern stammen erzeugt, und Trocknen sie in flexible Blätter.

Und in der Regel, wenn Ihr Vertrauen über Intent und Entity klein sind, können Sie eine weitere Bedingung für die Intent mit dem Konfidenzniveau hinzufügen, die Sie wollen. Check.

Obs .: Sie können eine Absicht allein mit der Bedingung #describeAbout erstellen, und die Antwort wird Ihren Benutzer fragen "Sie können was?", Und erstellen Sie einen Fluss mit verschiedenen @typesDescribe:value, zum Beispiel.