wit.ai erfassen freien Text von dem, was der Benutzer Ihnen gibt

8

Ich habe folgende Probleme. Ich habe mehrere Punkte in der Konversation, wo ich "freien" Text erfassen muss. Ex: Was denken Sie über Xyz? Warum willst du xyz? ... Sie sind offene Fragen und der Benutzer kann antworten, was sie wollen.

Wie kann ich das aktivieren? weil ich verschiedene Kombinationen ausprobiert habe und der Bot entweder einige Fragen wiederholt oder einige überspringt?

Danke

    
OWADVL 27.09.2016, 14:47
quelle

2 Antworten

3

Wenn Sie converse api verwenden, können Sie versuchen, eine entsprechende Kontexteigenschaft festzulegen, bevor Sie die Antwort an wit.ai senden und dann den aktualisierten Kontext in Ihrer Story verwenden.

Ich habe zum Beispiel eine Teststory für dich erstellt (die App ist leer - habe das Ganze von Grund auf neu erstellt):

Als Ergebnis konnte ich während des Gesprächs auf diesen Punkt eingehen:

Sie müssen also in meinem Beispiel eine Aktion wie captureUserInput definieren und Ihren Bot anweisen, auf einen bestimmten Schlüssel in Ihrem Kontext zu warten. In meinem Beispiel wird es durch den Schlüssel user_input dargestellt.

In Ihrer Client-App müssen Sie entsprechend auf eine entsprechende Aktion ( captureUserInput in meinem Beispiel) reagieren. Wenn Sie den POST an wit.ai converse API senden, setzen Sie den entsprechenden Schlüssel. Zum Beispiel:

%Vor%

Die wit.ai-Engine sollte Ihren Kontext erfassen und bei der Rückmeldung berücksichtigen (wie zB This is what you said: {user_input} in meinem Beispiel)

Ich hoffe, das wird für Sie funktionieren. Ich habe meine Ergebnisse auf Folgendes begründet: Ссылка - siehe step 4 und die wit.ai Referenz für die Converse API.

    
Mikhail 05.10.2016 22:24
quelle
2

Ich habe das gleiche Problem und habe es am Client gelöst, indem ich einen bestimmten Kontext gesetzt habe. Ich habe einen älteren Bot, der nicht die "Stories" -Schnittstelle hat, also mag diese Lösung nicht auf Ihren Fall zutreffen, aber vielleicht ist es eine Hilfe.

  1. Wenn der Bot eine offene Frage sendet, sollte er auch einen speziellen Kontext, d. h. open_question_xyz oder etwas Ähnliches, setzen und ihn zurück an die Client-App senden.
  2. Wenn die Client-Anwendung den Kontext empfängt, speichern Sie ihn in einigen Variablen.
  3. Bevor die nächste Benutzereingabe verarbeitet wird, überprüft Ihre App zuerst, ob die Variable open_context_xyz gesetzt ist. Wenn sie die Abfrage nicht direkt an wit.ai sendet, erfasst sie den unformatierten Text und setzt einen Kontext wie resolved_open_question_xyz So weiß der Bot, wo er die Konversation aufheben soll.
scb 04.10.2016 14:32
quelle

Tags und Links