2016-08-01 26 views
2

ich das Gespräch API Service von Watson versucht (die API-Client auf pypi verfügbar Python. watson-developer-cloudErste org.springframework.expression.spel.SpelParseException Fehler von Watson Conversation API

Wenn ich einen Antrag stellen, ich erhalte die folgende Fehlermeldung:

"output": { 
    "text": [], 
    "error": "Error when updating output with output of dialog node id:node_3_1470064336636. Fix the dialog node. Node output was:{\"text\":\"El monto que te puedo adelantar lo define el sistema seg\u00fan el an\u00e1lisis que realiza de tu figura crediticia. El primer adelanto ser\u00e1 de hasta $2000 y mientras vayas cumpliendo en tiempo y forma, se ir\u00e1 aumentando el monto que el sistema te ofrece, siendo $4000 el m\u00e1ximo. Si quer\u00e9s saber el monto exacto que puedo otorgarte, registrate o acced\u00e9 a tu cuenta y hac\u00e9 click en la opci\u00f3n \\\"Ped\u00ed un Adelanto\\\".\"}\n**org.springframework.expression.spel.SpelParseException**: EL1049E:(pos 8): Unexpected data after '.': '2000'\n" 

die Antwort (auf Spanisch) ist die folgende:

{ 
    "output": { 
    "text": "El monto que te puedo adelantar lo define el sistema según el análisis que realiza de tu figura crediticia. El primer adelanto será de hasta $2000 y mientras vayas cumpliendo en tiempo y forma, se irá aumentando el monto que el sistema te ofrece, siendo $4000 el máximo. Si querés saber el monto exacto que puedo otorgarte, registrate o accedé a tu cuenta y hacé click en la opción \"Pedí un Adelanto\"." 
    } 
} 

ich auch den gleichen Fehler, die B-Tests ot im Watson Conversation Workspace (das Dialogfeld in der oberen rechten Ecke). Irgendwelche Ideen, wie das zu beheben ist? Sollte ich einem Teil meiner Eingabe entkommen?

+0

Scheint das Problem ist "$ chars". Ich änderte te Text zu "4000 $", und es funktioniert gut !. Nicht sicher, aber vielleicht (nur raten) ist das sintax $ char, sich auf Variablen zu beziehen, und da $ 2000 (2000) keine Variable ist, bringt es diesen Fehler. –

Antwort

1

Wie in einem Kommentar von Emiliano angedeutet wurde, ist das Dollarzeichen ein Zeichen, das einen Verweis auf eine Kontextvariable einführt. Also versucht Conversation, den Wert von beispielsweise $2000 nachzuschlagen. Sie müssen diesen Referenzen entkommen. Also müssen Sie \\$2000 angeben. Sie benötigen die doppelten umgekehrten Schrägstriche, da sich die Zeichenfolge tatsächlich in Anführungszeichen unter den Covern befindet.

+0

Danke @CharlesRankin –

2

Ich könnte die meisten der Sonderzeichen aus dem Dialog reference mit einem einzigen \ Zeichen entkommen, wenn Sie den Simple Watson Response Editor verwenden. Zum Beispiel \$2000, \#ftw und

Wenn Sie die Advanced Watson Response-Editor verwenden, müssen Sie stattdessen ein doppeltes \\ verwenden. Also für die gleichen Beispiele oben, \\$2000, \\#ftw und \\@8pm

Leider Probleme verursachen ich nicht in der Lage zu entkommen erfolgreich die <? und ?> für komplexere Ausdrücke verwendet, obwohl hoffentlich die weniger wahrscheinlich sind?