7

私は Alexa スキルを書いていますが、コードに単一の単語パラメーターしか取得できません。

インテント スキーマは次のとおりです。

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

私のサンプル発話は次のとおりです。

HeroQuizIntent quiz me
HeroAnswerIntent is it {SearchTerm}

HeroAnswerIntent については、SearchTerm スロットをチェックしていますが、そこには 1 つの単語しか入っていません。

つまり、「ピーター・パーカー」は「パーカー」、「スティーブ・ロジャース」は「ロジャース」、「トニー・スターク」は「スターク」です。

スロットに複数の単語を受け入れるにはどうすればよいですか?

4

4 に答える 4

3

スキルで同じ問題が発生しました。スキルで複数の単語を使用するために機能する唯一の解決策ですが、これらのスロットが空ではないことを確認し、それらを連結する必要があります

インテント スキーマ:

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

サンプル発話

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

最後に、すべての単語を SEARCH_TERMS スロット定義の別々の行に入れる必要があります

また、AMAZON.LITERAL を使用すると、サービス シミュレーター (スキル コンソール、テスト タブ) を使用してテストしても、変数がスキルにまったく渡されないことがあります。

于 2016-06-07T05:56:19.123 に答える
0

スロット タイプを AMAZON.LITERAL に変更する必要がありました。

サンプルの発話では、複数の発話を提供して、Alexa が解釈するリテラルの最小サイズと最大サイズを示す必要がありました。それは不安定ですが、動作します。

リファレンスは次のとおりです: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interaction-model-reference

于 2016-04-11T02:58:48.300 に答える