Mendapatkan kesalahan org.springframework.expression.spel.SpelParseException dari Watson Conversation API

Saya mencoba layanan API percakapan dari Watson (menggunakan klien Python API yang tersedia di pypi: watson-developer-cloud.

Ketika saya membuat permintaan, saya mendapatkan kesalahan berikut:

"output": {
    "text": [],
    "error": "Error when updating output with output of dialog node id:node
{
  "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\"."
  }
}
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"

Tanggapannya (dalam bahasa Spanyol) adalah sebagai berikut:

{
  "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\"."
  }
}

Saya juga mendapatkan kesalahan yang sama saat menguji bot di Watson Conversation Workspace (ikon dialog di sudut kanan atas). Ada ide bagaimana cara memperbaikinya? Haruskah saya menghindari sebagian masukan saya?


person Emiliano Dalla Verde Marcozzi    schedule 01.08.2016    source sumber
comment
Sepertinya masalahnya adalah '$chars'. Saya mengubah teks menjadi '$4000', dan berfungsi dengan baik!. Tidak yakin, tapi mungkin (hanya menebak) sintaks $char adalah merujuk ke variabel, dan karena $2000 (2000) bukan variabel, maka kesalahan tersebut muncul.   -  person Emiliano Dalla Verde Marcozzi    schedule 01.08.2016


Jawaban (2)


Seperti yang disinggung dalam komentar Emiliano, tanda dolar adalah karakter yang memperkenalkan referensi ke variabel konteks. Jadi, Percakapan mencoba mencari nilai, misalnya, variabel $2000. Anda harus keluar dari referensi tersebut. Jadi, Anda harus menentukan \\$2000. Anda memerlukan garis miring terbalik ganda karena string sebenarnya berada di dalam tanda kutip di bawah selimut.

person Charles Rankin    schedule 01.08.2016
comment
Terima kasih @CharlesRankin - person Emiliano Dalla Verde Marcozzi; 02.08.2016

Saya dapat menghindari sebagian besar karakter khusus yang dijelaskan dalam Referensi dialog menggunakan satu karakter \ saat menggunakan editor Simple Watson Response. Misalnya, \$2000, \#ftw dan \@8pm

Jika Anda menggunakan editor Advanced Watson Response, Anda perlu menggunakan tanda \\ ganda. Jadi untuk contoh yang sama di atas, \\$2000, \\#ftw dan \\@8pm

Sayangnya saya belum berhasil keluar dari <? dan ?> yang digunakan untuk ekspresi yang lebih kompleks, meskipun mudah-mudahan hal tersebut tidak menimbulkan masalah?

person James Taylor    schedule 02.08.2016