2017-04-24 5 views
0

Ich versuche, Benutzer Antwort mit der Option eines b c d oder e zu bekommen. Ich habe einen Slot mit diesen möglichen Werten konfiguriert und den Slot in meinen Nodejs gelesen. Wenn ein Benutzer mit der Option a, c, d, e antwortet, wird ok in intent.slots.Answer.value zurückgegeben (obwohl die Option "a" als kleingeschriebener Wert im Slot zurückgegeben wird und C, D und E in Großbuchstaben zurückkehrt). Aber das größere Problem ist, dass die Option "b" mit einem zusätzlichen Punkt (.) wie diesem "b" angehängt wird. Während ich es analysieren kann, hasse ich es zu patchen, bevor ich weiß, was es verursacht. Ich habe console.log Slot Werte vor jeder Manipulation gemacht und es ist wie oben beschrieben. Hat jemand das erlebt?Alexa Hinzufügen von zusätzlichen Zeichen zu Steckplatz Wert

+1

Willkommen bei SO! Weitere Informationen finden Sie unter [How to Ask] (http://stackoverflow.com/help/how-to-ask) und Anleitungen zum Erstellen eines [minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/). mcve). – thewaywewere

Antwort

0

Die von Ihnen angegebenen Slot-Werte werden verwendet, wenn das Sprachmodell erstellt wird. Es kann jedoch nicht garantiert werden, dass diese Werte von alexa erkannt und an Ihre Absicht weitergeleitet werden. Es könnte bei allem, was Alexa versteht. Ich nehme an, dass Alexa a, c, d und e als Wörter betrachtet, aber im Fall von b versteht sie, dass es ein einzelner Buchstabe ist (der als "B." zurückgegeben wird). Warum? Willkommen in die Geheimnisse der Blackbox Alexa :)

ich den Wert wie folgt reinigen würde:

value.toLowerCase().replace(/\./, '') 
+0

Ja, es ist sicher ein Geheimnis. Backend-Patch-Job funktionierte für jetzt. – Kumar

+0

@Kumar Wenn die Antwort Ihre Frage beantworten würde, würde ich mich freuen, wenn Sie die Antwort akzeptieren würden. – unnu

0

Aufbauend auf unnu's answer ... würde ich ganze Wort Optionen wie Eins, Zwei, Drei benutzen Sie einfach ..

Verwandte Themen