2016-04-07 9 views
7

Ich schreibe eine Alexa Skill, und ich kann nur einzelne Wortparameter in meinen Code bekommen. HierNur einzelne Wortparameter von Alexa Skills Kit erhalten

ist die Absicht Schema:

{ 
    "intents": [ 
    { 
     "intent": "HeroQuizIntent", 
     "slots": [ 
     { 
      "name": "SearchTerm", 
      "type": "SEARCH_TERMS" 
     } 
     ] 
    }, 
    { 
     "intent": "HeroAnswerIntent", 
     "slots": [ 
     { 
      "name": "SearchTerm", 
      "type": "SEARCH_TERMS" 
     } 
     ] 
    }, 
    { 
     "intent": "AMAZON.HelpIntent" 
    } 
    ] 
} 

und meine Probe Äußerungen sind:

HeroQuizIntent quiz me 
HeroAnswerIntent is it {SearchTerm} 

Für das HeroAnswerIntent, ich bin mit dem Suchbegriff Slot Überprüfung, und ich bin immer nur einzelne Worte da drin.

Also, "Peter Parker" gibt "Parker", "Steve Rogers" gibt "Rogers" und "Tony Stark" gibt "Stark".

Wie akzeptiere ich mehrere Wörter in einem Steckplatz?

+0

Irgendwelche Hinweise in der JSON-Struktur erhalten Sie? Nichts ist offensichtlich. Es könnte sich lohnen, die Struktur zu veröffentlichen. –

+0

Guter Punkt. Hier ist der relevante Teil der Anfrage an Lamda gesendet. – Xanxir

+0

' "Anfrage": { "type": "IntentRequest", "requestId": "EdwRequestId.da0c74ea-15bd-45b9-a69e-76c523f08195", "Zeitstempel":„2016-04-08T18: 04: 45Z “ "Absicht": { "name": "HeroAnswerIntent" "Slots": { "Suchbegriff": { "name": "Suchbegriff", "Wert": "Parker" } } } }, ' – Xanxir

Antwort

2

ich gleiche Problem mit meinem Geschick gehabt haben und das ist die einzige Lösung, die für meine Fähigkeiten mehrere Wörter zu verwenden, aber Sie müssen überprüfen, sind diese Schlitze nicht leer gearbeitet wird und verketten sie

Intent Schema:

{ 
    "intent": "HeroAnswerIntent", 
    "slots": [ 
    { 
     "name": "SearchTermFirst", 
     "type": "SEARCH_TERMS" 
    }, 
    { 
     "name": "SearchTermSecond", 
     "type": "SEARCH_TERMS" 
    }, 
    { 
     "name": "SearchTermThird", 
     "type": "SEARCH_TERMS" 
    } 
    ] 
}, 

Probe Äußerung

HeroAnswerIntent is it {SearchTermFirst} HeroAnswerIntent is it {SearchTermFirst} {SearchTermSecond} HeroAnswerIntent is it {SearchTermFirst} {SearchTermSecond} {SearchTermThird}

Und zuletzt müssen Sie jedes Ihrer Worte in separaten Zeile in SEARCH_TERMS Slot Definition passieren

mit AMAZON.LITERAL auch manchmal nicht in Geschick überhaupt noch variabel setzen, wenn Sie es testen Service-Simulator (Skill Konsole, Test Tab)

0

Die angegebene Lösung @Xanxir funktioniert äquivalent mit dem neueren Format custom slots. In diesem Fall fügen Sie einfach mehrere Längenbeispiele in Ihre benutzerdefinierte Werteliste für Ihren Slot-Typ ein.

Verwandte Themen