元茹でガエルなエンジニアの記録

ちょっとやってみたことや考えたことなどを不定期に書き残していきます

Alexa Skill KitでAmazonEchoのスキルを自作する方法(2)

Alexa Skill KitでAmazonEchoのスキルを自作する方法(1)の続きになります。

redorereadblog.hatenablog.jp

 

だらだら書いているうちに、日本語スキル開発環境がリリースされてしまい、そちらの記事を書こうとしています。

なので、この記事は少し中途半端でインテントのSlotとLambdaには触れていません。。(言い訳) 

スキル作成の続き

 Intentとその発話サンプルをひととおり登録し終えたら、画面上部の[Build Model]をクリックし、入力した情報で対話モデルをビルドします。この処理は少し時間がかかります。ビルド処理はバックグラウンドで実行されるので、[Configuration]をクリックして設定画面に移動します。

すでにconfiguration画面で設定ができている場合は、ここから[Test]でスキルのテスト画面に移動することも出来ます。

f:id:jiig999:20171114163229p:plain

 

 

[Configuration]をクリックすると、Builderが終了してもとの画面のUIに戻ります。いずれは、設定やテストなどすべてBuilderのUIに統合されるのだと思いますが、今は対話モデル作成部分のみがベータ版として対応しているようです。

ここでは、Alexaから処理要求を受け取り具体的なスキルを実装するLambdaのARNを指定します。先にLambdaファンクションを作成しておき、そのARNを指定することになります。スキル本体の処理は、Lambdaを使わず自分でスクラッチしても良いです。その場合は[HTTPS]にチェックを入れ、エンドポイントを入力します。

その他の項目はデフォルトのまま[次へ]をクリックします。

f:id:jiig999:20171114163309p:plain

 

 

LambdaのARNなどのチェックが行われ、エラーが無ければこの画面に遷移します。

スキル情報〜テストまでの4つにグリーンチェックが入っていれば、スキルがテスト実行可能です。この時点で、Amazon Developerと同じアカウントを使っているEcho端末からもテストが可能です。公開するまでは、他のユーザーアカウントから呼び出すことはできません。

f:id:jiig999:20171114164505p:plain

 

 

画面中ほどに、サービスシミュレーターがあります。EchoやEchosim.ioからもテストできますが、この画面からだとしゃべるかわりに、文字を入力してテスト実行できます。

Alexa Skill Testing Tool - Echosim.io

 

発音の認識間違いなどに苦労せずにすむので、まずはこの画面からテストすることをおすすめします。

しゃべる内容を文字で入力し、XXXを呼び出すボタンをクリックすると、Alexaと会話したことになって処理が実行されます。

左下に、Alexaからスキルへのリクエスト内容が、右下にはスキルからのレスポンスが表示されるので、うまく動かないときはここを見ると良いです。

f:id:jiig999:20171114164517p:plain

 

上の例では「i wanna start meeting」と入力してみました。実はIntent作成時のサンプル発話としては登録していない表現ですが、Alexaがよきにはからってくれて、ちゃんと"StartMeetingIntent"と判定されています。

  

まとめ

今回はスキル本体となるLambdaと、IntentのSlotについてはすっ飛ばしました。すみません。

Intentのサンプル発話をどれだけ網羅して設定しておく必要があるかは、正直なんとも言えません。Alexaはどんどん賢くなっているので、わりと適当に設定しても大丈夫な気がします。少なめに定義しておいて、うまく意図解釈してくれない(=Intent判定を誤る)ときに追加していけば良いかなぁという印象です。