Alexa Skill KitでAmazonEchoのスキルを自作する方法(1)の続きになります。
だらだら書いているうちに、日本語スキル開発環境がリリースされてしまい、そちらの記事を書こうとしています。
なので、この記事は少し中途半端でインテントのSlotとLambdaには触れていません。。(言い訳)
スキル作成の続き
Intentとその発話サンプルをひととおり登録し終えたら、画面上部の[Build Model]をクリックし、入力した情報で対話モデルをビルドします。この処理は少し時間がかかります。ビルド処理はバックグラウンドで実行されるので、[Configuration]をクリックして設定画面に移動します。
すでにconfiguration画面で設定ができている場合は、ここから[Test]でスキルのテスト画面に移動することも出来ます。
[Configuration]をクリックすると、Builderが終了してもとの画面のUIに戻ります。いずれは、設定やテストなどすべてBuilderのUIに統合されるのだと思いますが、今は対話モデル作成部分のみがベータ版として対応しているようです。
ここでは、Alexaから処理要求を受け取り具体的なスキルを実装するLambdaのARNを指定します。先にLambdaファンクションを作成しておき、そのARNを指定することになります。スキル本体の処理は、Lambdaを使わず自分でスクラッチしても良いです。その場合は[HTTPS]にチェックを入れ、エンドポイントを入力します。
その他の項目はデフォルトのまま[次へ]をクリックします。
LambdaのARNなどのチェックが行われ、エラーが無ければこの画面に遷移します。
スキル情報〜テストまでの4つにグリーンチェックが入っていれば、スキルがテスト実行可能です。この時点で、Amazon Developerと同じアカウントを使っているEcho端末からもテストが可能です。公開するまでは、他のユーザーアカウントから呼び出すことはできません。
画面中ほどに、サービスシミュレーターがあります。EchoやEchosim.ioからもテストできますが、この画面からだとしゃべるかわりに、文字を入力してテスト実行できます。
Alexa Skill Testing Tool - Echosim.io
発音の認識間違いなどに苦労せずにすむので、まずはこの画面からテストすることをおすすめします。
しゃべる内容を文字で入力し、XXXを呼び出すボタンをクリックすると、Alexaと会話したことになって処理が実行されます。
左下に、Alexaからスキルへのリクエスト内容が、右下にはスキルからのレスポンスが表示されるので、うまく動かないときはここを見ると良いです。
上の例では「i wanna start meeting」と入力してみました。実はIntent作成時のサンプル発話としては登録していない表現ですが、Alexaがよきにはからってくれて、ちゃんと"StartMeetingIntent"と判定されています。
まとめ
今回はスキル本体となるLambdaと、IntentのSlotについてはすっ飛ばしました。すみません。
Intentのサンプル発話をどれだけ網羅して設定しておく必要があるかは、正直なんとも言えません。Alexaはどんどん賢くなっているので、わりと適当に設定しても大丈夫な気がします。少なめに定義しておいて、うまく意図解釈してくれない(=Intent判定を誤る)ときに追加していけば良いかなぁという印象です。