[Alexa] VUI Testing Toolを試してみました
1 はじめに
Amazonの開発者ページにAmazon Alexa(以下、Alexa)用のVUI Testing Toolというものが紹介されています。
https://developer.amazon.com/alexa-skills-kit/tools/vui-testing-tool
こちらは、作成したスキルの実装をテストすると言うものではなく、スキル開発に先立って、音声のデザインをするためのものです。
魅力的な音声体験のためには、まずは、音声デザインが大事!という事です。
2 概要
VUI Testing Toolを使用したテストの作業は、概ね以下のとおりです。
- Amazon開発者ページでスキルを作成
- 同ページでInteraction Modelを作成
- Githubで公開されているVUI Testing Toolのコードをそのままデプロイ
- スキルのEndpointに上記LambdaのARNを設定する
- シミュレーター等の端末から色々話しかけてみて、Interaction Modelの設定が心地よいものかどうかをテストする
VUI Testing Toolは、Lambdaの簡単なスキルで、どんな入力に対しても、解釈したインテントやスロットの結果を、カードと音声で返すだけのものです。
このスキルを使用することで、Interaction Modelで定義した、sample utteranceが、必要なSlotを適切に誘導できているかどうかを、実際に会話することで試すことができます。
なお、VUI Testing Toolは、Skill Builder(BETA) による Dialogモデルにも対応しています。
https://github.com/alexa/alexa-cookbook/tree/master/tools/VUI Testing Tool
3 やってみた
テスには、下記のplan-my-trip というサンプルを使用させて頂きました。
このサンプルは、Skill Builder (Beta) 用に作成されており /speech-assets/InteractionModel.json をそのまま、Code の所に貼り付けるだけで利用可能です。
ただし、現在(2017/08/03現在)Github上のものは、そのままBuild Modelをすると次の2つのエラーが出ます。
一つ目は、未定義のSlotを使ってしまっているためで、2つ目は、Dialog Modelで、Slotsだけのsample utteranceは定義できないためのエラーです。
とりあえず、エラーの原因となっている2つのsample utteranceは削除して、Buildしました。
plan-my-tripは、旅行に関する情報提供のために、出発地、目的地、出発日などをSlotとして取得します。
Intentのsamplesには、次のようなものが定義されていました。
- "I'm going on a trip {travelData}"
- "i want to visit {toCity}"
- "i want to travel from {fromCity} to {toCity} {travelDate}"
- "go to {toCity}"
- "Plan a trip"
- "I'll go to {toCity} in the {travelDate}"
また、Dialogモデルで、{fromCity}, {toCity}, {travelDate}が必須Slotとなっており、たとえば、{toCity}を要求するsamplesは、こんな感じになっています。
- "Where are you going?"
そして、{toCity}を要求すると同時に、他のSlotも余分にユーザーが話した場合、それも受け取れるように設定されています。
- "i will leave on {travelDate}"
- "i will goto {toCity} on {travelDate}"
これらの設定が、快適なVUIになっているかどうかを確かめていくわけです。
簡単なパターンですが、下記は、シミュレータで動作させてみたようすです。Dialogモデルとなっているため、必須Slotsが全部入った時点で、それを読み上げています。
4 最後に
Skill Builder(beta) + Dialogモデル は、Intentに必要なSlotsを収集するには、非常に強力です。そして、VUI Testing Toolのようなツールは、その作業を効率化するでしょう。
主題とはそれますが・・・VUI Testing ToolのLambdaのコード(alexa-cookbook/tools/VUI Testing Tool/src/index.js)は、非常に単純ですが、Alexa SDKでIntentやSlotsを扱うために必要な処理が全部含まれています。 まだ、Alexa SDKに不慣れだという方は、参考になると思います。
5 参考リンク
https://developer.amazon.com/alexa-skills-kit/tools/vui-testing-tool
https://github.com/alexa/alexa-cookbook/tree/master/tools/VUI Testing Tool
What Is a Voice User Interface (VUI)?