ドラフト
Amazon Echoに搭載されてるAmazon Alexaは、スキルという仕組みを使うことで、自前のプログラムをEcho上で走らすことができます。
AWS/Amazon Developer Servicesアカウント作成メモ で作成したアカウントで https://developer.amazon.com/ からログインし、右上のDeveloper Consoleを選択。Devloper Consoleが表示されたら上部メニューの「ALEXA」を選択します。
Alexa Skills Kit を選択。
右上の「新しいスキルを追加する」を選択
言語やスキル名、呼び出し名を指定して、保存をクリック。
スキル名: HelloWorld 呼び出し名: うちゅうのまめちしき
としました。これで「アレクサ、宇宙の豆知識を開いて」みたいにアプリを起動することができるようになります。
いわゆる呼び出すメソッドを定義します。 下記のように「GetNewFactIntent?」というメソッドを定義してみます。
{ "intents": [ { "intent": "GetNewFactIntent" }, { "intent": "AMAZON.HelpIntent" }, { "intent": "AMAZON.StopIntent" }, { "intent": "AMAZON.CancelIntent" } ] }
って定義しました。インテント名: GetNewFactIntent? ってのはこのあと出てくる「サンプル発話」で日本語に関連付けられます。 インテント名には引数とかその他の設定もあるのですが、今回はこのままで。
ちなみにインテントスキーマについては https://developer.amazon.com/ja/docs/custom-skills/define-the-interaction-model-in-json-and-text.html#h2_sample_utterances
この辺に整理されていて、そこには
{ "intents": [ { "intent": "GetHoroscope", "slots": [ ↓ GetHoroscope ってインテントはSignとDateっていう引数を持つって意味 { "name": "Sign", "type": "LIST_OF_SIGNS" }, ←型が LIST_OF_SIGNS っていうカスタム型 { "name": "Date", "type": "AMAZON.DATE" } ←型が ビルトインのAMAZON.DATE 型 ] }, { "intent": "GetLuckyNumbers" } ] }
こんな感じのサンプルがあります
サンプル発話に以下のように定義します。サンプル発話を指定することで、先のインテント名を日本語に関連付けます。
GetNewFactIntent 豆知識 GetNewFactIntent 豆知識を教えて GetNewFactIntent 他の豆知識 GetNewFactIntent 雑学 GetNewFactIntent 雑学を教えて GetNewFactIntent 他の雑学 GetNewFactIntent 知識 GetNewFactIntent 何か GetNewFactIntent 何か教えて
としました。
サンプル発話の仕様についても、先とおなじサイトに説明があって https://developer.amazon.com/ja/docs/custom-skills/define-the-interaction-model-in-json-and-text.html#h2_sample_utterances
ココをみると
GetHoroscope {Sign} の運勢を教えて GetHoroscope {Sign} の {Date} の運勢を教えて
というようにインテントの定義で定義したSign/Date などをプレースホルダとして指定することが出来るようですね。
まだ書き途中。。
この記事は
現在のアクセス:1854