2017-05-01 5 views
2

Ich versuche, einen Chat-Bot zu erstellen, der Benutzern beim Suchen von Motorrädern hilft.API.AI Intent wird nicht gespeichert, wenn erforderliche Aktion hinzugefügt wird

Ich bin neu in API.AI und habe meine Entitäten und ihre Synonyme, meine Absicht und Benutzerausdrücke, sowie Verweise auf die Entitäten (@engineSize, @make, @bikeType) eingerichtet.

Mein Problem ist, wenn ich versuche, eine erforderliche Aktion und Aufforderung hinzuzufügen, und dann versuchen, die Absicht zu speichern, bekomme ich die folgende Nachricht: "Die folgenden Einheiten verweisen aufeinander und bilden eine Endlosschleife: [EngineSize]. "

Anfangs dachte ich, ich verwende die Referenzen falsch in den Benutzerausdrücken. Ich löschte jede Referenz mit Ausnahme eines Ausdrucks, der alle drei Entitäten verwendet.

Ich kann nicht herausfinden, was ich falsch mache. Jede Hilfe würde sehr geschätzt werden, danke! Pix unten für weitere Details.

BEARBEITEN: Ich habe eines der Probleme beim Versuch, einen Template-Ausdruck als Beispiel zu übergeben, behoben. Ich bekomme jedoch immer noch die gleiche Fehlermeldung. Ich werde meine Bildlinks ersetzen und aktualisieren, um die Bearbeitungen einzuschließen.

Annotated User expressions

Required Actions

Antwort

1

Interessanterweise wäre die Antwort auf diesen Beitrag schwer zu finden gewesen, weil das Problem darin bestand, meine Entitäten zu definieren.

In den Entitätsdefinitionen habe ich eine @ref zu der Entität selbst hinzugefügt. Dh die Entität bikeType enthielt @bikeType als eine ihrer Definitionen.

Dies ist nicht mit den Benutzerausdrücken zu verwechseln. Solange der Benutzerausdruck als Vorlage markiert ist (die gesamte Zeile ist mit einem "@" ganz links gekennzeichnet, im Gegensatz zu einem großen "), sollte es keine Probleme geben.

0

Edited für Klarheit an der Wurzel Problem erhalten

In den mitgelieferten Benutzereingabe Beispiele Sie die Absicht geben, sollen Sie allgemeine Beispiele geben und dann markieren Sie jede Text, der zu einer Entität gehört, um anzuzeigen, wo Entitäten in Benutzeranfragen erscheinen.

In Ihrem Fall haben Sie die tatsächliche Entitätsreferenz '@engineSize' als Beispiel für die Entität engineSize eingegeben und eine Selbstreferenz erstellt.

Ein richtiges bereitgestellt Benutzer Beispiel würde wie folgt aussehen:

enter image description here

Auch wenn beachten, dass, wenn Sie wie Zahlen allgemeine Informationen zu speichern, nur Entitäten verwenden, Adressen, Zeiten, usw. es macht in der Regel weit mehr Sinn, vorgefertigte Systementitäten für diese Kategorien zu verwenden, als eine benutzerdefinierte Entität zu erstellen, zum Beispiel @ sys.number-integer könnte genau das sein, was Sie brauchen

Es sieht so aus, als müssten Sie ein festeres Verständnis von Entitäten bekommen, für die ich würde empfehle die Dokumentation: https://docs.api.ai/docs/concept-entities

+0

Dank Matt, verbrachte ich ziemlich Irgendwann las ich die Dokumentation durch und korrigierte meine Referenzen (so glaube ich). Ich habe auch den ursprünglichen Beitrag bearbeitet, um aktualisierte Screenshots zu enthalten. Ich stehe jedoch immer noch vor dem gleichen Problem. Um es klar zu sagen, ich verwarf alle meine Ausdrücke und machte alle meine Entitäten neu. Dann fügte ich nur einen Ausdruck hinzu, der auf eine Entität verweist. Wenn ich das Kontrollkästchen aktiviert habe, um eine Aktion für diese Entität zu verlangen, habe ich immer noch die Endlosschleife Fehlermeldung erhalten. – 6Nguyen

+0

Es sieht so aus, als ob du mit bikeType immer noch dasselbe machst. Setzen Sie "@bikeType" nicht in das, was der Benutzer sagen würde. Schreiben Sie einen Beispielfahrradtyp und markieren Sie ihn als Beispiel für die Entität bikeType. –

+0

Es versteht sich, dass die Verwendung von @bikeType: bikeType ein akzeptables Format ist, wenn Sie den Ausdruck als Vorlage und nicht als Beispiel angeben. Auch wenn es nicht so wäre, habe ich deinen Vorschlag ausprobiert und nur 1 Ausdruck hinzugefügt, indem ich das Wort "Kreuzer" hervorgehoben habe und ich immer noch in einer Endlosschleife steckte. – 6Nguyen

Verwandte Themen