ElicitSlot nimmt keine neuen Werte entgegen
Verfasst: Di 6. Mär 2018, 10:56
Hallo,
ich habe eine Alexa und eine Raspberry Pi mit PHP und SQL-Datenbank.
Ich verwende absichtlich nicht die AWS-Lambdas und bin bis jetzt sehr gut damit klar gekommen.
Mir ist auch klar, dass ich damit nicht alles (angeblich Notifications) machen kann, aber ich hoffe doch, dass das nicht auch für Dialoge gilt. Sieht zumindest nicht danach aus.
Mein Skill soll eigentlich nur Aufgaben zu bestimmten Personen ausgeben und diese auch abhaken und dann nicht mehr ausgeben.
Das funktioniert schon sehr gut, wenn man einfache Intents verwendet und der Benutzer alle Slots korrekt füllt.
Meine Utterances:
Streiche {task}
Streiche {task} für {name}
{task} = [Aufräumen, Abwaschen]
{name} = [Adam, Eva]
Offene Aufgaben auf der Datenbank:
Adam: Aufräumen
Adam: Abwaschen
Eva: Aufräumen
Mein Problem ist nun, dass ich nicht einfach irgendeine Aufgabe bei "Aufräumen" streichen kann, wenn jemand sagt "Streiche Aufräumen".
Oder wenn jemand sagt "Streiche Abwaschen für Susi", die gibt es nämlich nicht.
Ich will also alle Slots prüfen und ggf. nachfragen.
Ganz zum Schluss noch ne Bestätigung: "Ich soll also Aufräumen für Adam streichen?"
So sieht mein Response aus, wenn den ich zu Alexa zurückschicke.
Ich versuche bekannte Aufgaben und bekannte Benutzer zu sagen, aber mit dem gleichen Resultat.
Wenn ich schließlich nichts mehr sage, erhalte ich einen ENDINTENT.
Ich habe bereits alles nochmal kontrolliert, das Dialogmodel ist für beide Slots und den Intent vollständig ausgefüllt und erwartet {task} bzw. {name}.
Ich bin mit meinem Latein echt am Ende - habt ihr vielleicht noch einen Hinweis oder eine Idee?
Andernfalls muss ich wohl dabei bleiben die Intents immer wieder von vorne füllen zu lassen.
Danke schon mal und LG Sigyn
ich habe eine Alexa und eine Raspberry Pi mit PHP und SQL-Datenbank.
Ich verwende absichtlich nicht die AWS-Lambdas und bin bis jetzt sehr gut damit klar gekommen.
Mir ist auch klar, dass ich damit nicht alles (angeblich Notifications) machen kann, aber ich hoffe doch, dass das nicht auch für Dialoge gilt. Sieht zumindest nicht danach aus.
Mein Skill soll eigentlich nur Aufgaben zu bestimmten Personen ausgeben und diese auch abhaken und dann nicht mehr ausgeben.
Das funktioniert schon sehr gut, wenn man einfache Intents verwendet und der Benutzer alle Slots korrekt füllt.
Meine Utterances:
Streiche {task}
Streiche {task} für {name}
{task} = [Aufräumen, Abwaschen]
{name} = [Adam, Eva]
Offene Aufgaben auf der Datenbank:
Adam: Aufräumen
Adam: Abwaschen
Eva: Aufräumen
Mein Problem ist nun, dass ich nicht einfach irgendeine Aufgabe bei "Aufräumen" streichen kann, wenn jemand sagt "Streiche Aufräumen".
Oder wenn jemand sagt "Streiche Abwaschen für Susi", die gibt es nämlich nicht.
Ich will also alle Slots prüfen und ggf. nachfragen.
Ganz zum Schluss noch ne Bestätigung: "Ich soll also Aufräumen für Adam streichen?"
So sieht mein Response aus, wenn den ich zu Alexa zurückschicke.
{ "version":"1.0", "response":{ "outputSpeech":{ "type":"PlainText", "text":"Welcher Benutzer?", "ssml":null }, "shouldEndSession":false }, "directives":[{ "type":"Dialog.ElicitSlot", "slotToElicit":"name", "updatedIntent":{ "name":"tasksCheck", "confirmationStatus":"NONE", "slots":{ "task":{ "name":"task", "value":"Abwaschen", "confirmationStatus":"NONE" }, "name":{ "name":"name", "value":"", "confirmationStatus":"NONE" } } } }] }Alexa frägt mich tatsächlich: "Welcher Benutzer?" und hört dann, aber egal, was ich sage, es kommt immer nur ein kurzes "dudu"-Geräusch.
Ich versuche bekannte Aufgaben und bekannte Benutzer zu sagen, aber mit dem gleichen Resultat.
Wenn ich schließlich nichts mehr sage, erhalte ich einen ENDINTENT.
Ich habe bereits alles nochmal kontrolliert, das Dialogmodel ist für beide Slots und den Intent vollständig ausgefüllt und erwartet {task} bzw. {name}.
Ich bin mit meinem Latein echt am Ende - habt ihr vielleicht noch einen Hinweis oder eine Idee?
Andernfalls muss ich wohl dabei bleiben die Intents immer wieder von vorne füllen zu lassen.
Danke schon mal und LG Sigyn