22

Alexa スキルの作成は初めてで、話者の言葉を保存するスキルを作成したいと考えています。
たとえば、「Alexa、{whatever i say} を保存して」と言うと、その単語が何らかの文字列に保存されます。
今私が理解していることから、インテントスキーマは次のようになるはずです

{
   intents:[
       "intent" : "SaveIntent"
   ]
}

とのような発話

SaveIntent save
SaveIntent store

この場合、「{whatever I say}」を保存するにはどうすればよいですか?

4

7 に答える 7

15

(可能な値の定義済みリストではなく) 自由形式の音声入力をキャプチャするには、AMAZON.LITERALスロット タイプを使用する必要があります。リテラル スロット タイプに関するAmazon のドキュメントには、あなたと同様のユース ケースが記載されています。そこでは、任意のフレーズを取得してソーシャル メディア サイトに投稿するスキルが作成されます。これは、StatusUpdate インテントを作成することによって行われます。

{
  "intents": [
    {
      "intent": "StatusUpdate",
      "slots": [
        {
          "name": "UpdateText",
          "type": "AMAZON.LITERAL"
        }
      ]
    }
  ]
}

スロット タイプを使用するためAMAZON.LITERAL、このインテントは任意のフレーズをキャプチャできます。ただし、音声認識エンジンが現実世界のフレーズを適切にキャプチャできるようにするには、ユーザーが発話すると予想される内容に似たさまざまな発話の例を提供する必要があります。

説明したシナリオでは、非常に動的なフレーズをキャプチャしようとしていることを考えると、ドキュメントには、さらに考慮したいことがいくつかあります。

AMAZON.LITERAL タイプを使用して、スロットに含まれる可能性のある単語数にさまざまなバリエーションがある自由形式のテキストを収集する場合は、次の点に注意してください。

  • この全範囲 (最小、最大、およびその間のすべて) をカバーするには、非常に大きなサンプル セットが必要になります。上記のように、スロット値ワードのすべてのバリエーションに対処するために、数百以上のサンプルを提供するようにしてください。
  • ユーザーが一時停止することなくフレーズ全体を発話できるように、スロット内のフレーズを十分に短くしてください。

音声入力が長いと、エクスペリエンスの精度が低下する可能性があるため、スロット値に数単語以上を必要とする音声言語インターフェイスの設計は避けてください。ユーザーが一時停止しないと話せないフレーズは、スロット値に対して長すぎます。

そうは言っても、ドキュメントのサンプル発話の例をもう一度示します。

StatusUpdate 更新を投稿 {arrived|UpdateText}

StatusUpdate 更新を投稿 {夕食時間|UpdateText}

StatusUpdate 更新を投稿 {out at lunch|UpdateText}

...(4 ~ 10 語のフレーズを示すその他のサンプル)

StatusUpdate が更新を投稿 {今晩食料品店に立ち寄る予定|UpdateText}

予想されるユーザーの発話の範囲を正確に把握するために、さまざまな長さの例を十分に提供すれば、インテントは、UpdateTextスロットでアクセスできる実際のユース ケースで動的なフレーズを正確にキャプチャできます。これに基づいて、ニーズに固有のインテントを実装できるはずです。

于 2016-05-16T22:17:03.953 に答える