0

Wir arbeiten an einem Watson Conversation-Projekt für ein Einzelhandelsunternehmen und möchten Benutzern der Unternehmens-App ermöglichen, Produkte über Sprache in ihre Einkaufsliste aufzunehmen.Wie können wir Entitäten und Systemnummern aus Benutzereingaben kombinieren, um die gewünschte Ausgabe (Antwort) zu erstellen?

Wir möchten, dass der Benutzer mehrere Artikel zum Warenkorb hinzufügen kann. Unsere Beispiel-Benutzereingabe: "Ich möchte 2 Äpfel und 1 Kiste Bier hinzufügen" Das würde die Antwort zurückgeben: "Natürlich haben wir Äpfel, Kiste, Bier, 2, 1 in Ihre Liste aufgenommen." Unser Wunsch Antwort ist: "Natürlich haben wir 2 Äpfel und 1 Kiste Bier zu Ihrer Liste hinzugefügt".

Wir haben versucht, indem Benutzereingaben (input.text) extrahieren, aber das packt den ganzen Satz und nicht unsere gewünschten Entitäten. Wir haben auch in unserer gewünschten Antwort versucht, aber die Reihenfolge der Entitäten ist nicht die gleiche wie die Bestellung des Benutzers eingegeben. Dies gibt uns die Ausgabe, die wir im obigen Beispiel erwähnt haben.

Anbei ein Screenshot unseres Beispieleintrags (auf Niederländisch): "Ich möchte 2 Äpfel und 1 Kiste Bier hinzufügen" ist "Ik wil graag 2 appels en 1 krat bier toevoegen" Die Absicht ist "add zum Warenkorb "-" #toevoegen_aan_boodschappenlijst "

Frage: Wie greifen wir die Entitäten von unseren Benutzereingaben, und antworten mit ihnen in der richtigen Reihenfolge und haben sie mit den Mengen" sys-Nummer "ausgerichtet? Wir haben auch eine "Mengen" -Einheit (@Kwantiteit) mit den Werten auf Niederländisch wie "Krat" - "Kiste" und wir möchten dies so kombinieren, dass die erforderliche Benutzereingabe in der richtigen Reihenfolge in den Einkaufskorb hinzugefügt wird .

Watson Gespräch, in den Warenkorb legen:

enter image description here

Antwort

1

Im Allgemeinen ist es möglich, die Zahlen auf die entsprechenden Elemente zuweisen. Die Metadaten für jede Entität enthalten Standortinformationen über ihr Auftreten in der Eingabezeichenfolge. Auf diese Weise können Gegenstände in der Nähe verwandt werden.

Die Verarbeitung kann mit embedded expressions using the Spring Expression Language (SpEL) erfolgen. Dies sind die über <? ?> eingebetteten Ausdrücke. Einige erweiterte Beispiele finden Sie in meiner "conversation variables" repository on GitHub. Eine andere Möglichkeit besteht darin, die Verarbeitung in der Anwendung durchzuführen, die die Integration von STT und Conversation vorantreibt.

+0

Wir verwendeten , um Entitäten zu erfassen und sie als geordnete Produkte in der Äußerung eines Benutzers aufzulisten. Dies listet die Entitäten aus der Eingabe auf, aber nicht in der gleichen Reihenfolge wie der Benutzer. Wir haben über so etwas nachgedacht: so dass wir zumindest die Reihenfolge definieren können. Wenn ein Benutzer "3 Äpfel und 2 Biere" sagt, sollte die Antwort lauten: "Ich habe 3 Äpfel und 2 Biere hinzugefügt". Die aktuelle Antwort lautet: "Ich habe Äpfel, Bier, 3, 2" hinzugefügt. Wir möchten, dass die Reihenfolge der Entitäten in der Antwort der Bestellung in der Benutzereingabe entspricht. Wie können wir das machen? –

+0

Siehe meine Antwort, es gibt Standortinformationen in den Metadaten. Sie können das in der Verarbeitung verwenden. –

Verwandte Themen