naritoブログ

【お知らせ】
・コメントで質問等をしたが返事が返ってこない場合、私はそれを見落としています。
その場合は再度コメントをするかメールをしてください(toritoritorina@gmail.com)。

・近いうちに新しいブログが作成されます。わーお!

Alexa Skills Kit入門①(Python、AWS Lambda使用)

約208日前 2018年2月27日15:55
プログラミング関連
Python Alexa Skills Kit
「Alexa Skills Kit入門シリーズ(Python、AWS Lambda使用)」の1つです。
https://torina.top/detail/441/

まず、「Amazon Developerアカウント」が必要です。以下から無料で行えます。登録は特に迷わないはずです。
https://developer.amazon.com/ja/

登録が終われば、トップページからメニューの「ALEXA」を押します。


左側の「Alexa Skills Kit」を始めます。


右上のボタン、「新しいスキルを追加する」を押しましょう。作り終わったスキルなんかもここに表示されていきます。



すると、スキルの情報入力画面です。 スキルの種類をカスタム対話モデルに、言語をJapanese、スキル名は「TestHelloWorld」、呼び出し名は「ハローワールド」としました。説明も日本語化されているので概ねわかると思いますが、スキル名はAlexa アプリでユーザーに表示されるスキルの名称で、呼び出し名は「アレクサ、ハローワールドを開いて」という呼び出しをしたいならば「ハローワールド」となります。


できたら、「保存」を押して「次へ」を押します。

対話モデルの構築ページですが、「スキルビルダーを起動する」ボタンを押しましょう。初めはこちらが楽です。慣れたら、直接JSONで記述できるようになります。



上にある、「Intents」の「Add an Intent + 」を押します。


ここでインテントを追加しますが...Intentは「目的」「意図」といった意味を持つ単語です。とりあえず、「Greet」と入れて「Create Intent」としてください。


「Sample Utterances」という下にまた入力欄がありますね。ここに、「挨拶をして」「挨拶しろ」「挨拶を」「お辞儀をするのだ」とそれぞれ入力し、エンターを押して下さい。



問題なく入力できれば、以下のようになります。
挨拶だとかお辞儀だとかは、ユーザーがAlexaに喋る内容で、これらの言葉を「Greet」という機能と結びつけていると考えてください。とりあえず4つ登録しましたが、もっと登録してもよいです。Greetというインテントは、後でプログラム側で利用します。Greetならば、専用の内容をAlexaに喋らせて、別のインテントならば違う内容を喋らせる...といった具合ですね。



画面上に「Save Model」を押して、その後に「Build Model」を押し、少し待ちます。
そしたら、左側メニューの「DashBoard」をクリックし、一番下の「Leave Skill Builder」ボタンを押して、元のページに戻りましょう。

インテントスキーマに、JSONでのデータが作られていることがおわかりでしょうか。Amazon Skills KitではJSONを使ったデータのやり取りが頻繁ですので、JSONでのデータがどう作られるかも簡単に見ておくと良いです。
サンプル発話も、かなりシンプルですね。




左側メニューの「設定」をクリックし、設定ページに移動しますが...次はAWS Lambda を使います。