昨年末ぐらいから、Voiceflowのテスト機能が大幅に強化されています。優れた会話設計は机上の設計だけで完結することはほとんどありません。実際に音声でテストを行ってみて、その結果をフィードバックして、さらに改善を繰り返していくことが必要になります。
Voiceflowにはビルトインのテストツールが用意されており、作成した会話フローをその場ですぐにテストすることができ、さらに共有可能なURLを発行して遠く離れたユーザやクライアントにも実際に体験してもらうことが可能になっています。ただし、そのフィードバックは、(例えばメールやチャットなど)Voiceflowの外で行う必要がありました。
今回リリースされた「Transcript」機能を使うと、ユーザやクライアントに行ってもらったテスト結果を、開発者やデザイナーがVoiceflowのインタフェースの中で直接確認することができます。
では早速見てみましょう。
目次
前提条件
- 現状はカスタムアシスタントプロジェクトのみと思います。
- Voiceflowのテストツールは、Alexa/Google向けプロジェクトのビルトインのスロットタイプを認識できません(正しいスロット値を入力しても認識されない。)カスタムアシスタントプロジェクトでのみ利用可能な機能と考えてください。
- 現状はベータリリースです。
- ただし、全てのユーザが利用可能です。
デモはよくあるコーヒーショップの注文をするやつをカスタムアシスタントプロジェクトで作成してます。
インテントやスロットもごくごくシンプルです。
以下にインポート可能なカスタムアシスタントプロジェクトを用意してますので、お試しいただけます。(右クリックでダウンロードした.vfファイルをVoiceflowでインポートしてください。)
https://raw.githubusercontent.com/kun432/voiceflow-line/main/coffeeshop.vf
準備
Transcriptは、キャンバス画面左の4つのアイコンの上から2番めのアイコンになります。これをクリックします。
おっと、うまくいきません・・・
Trasnscriptは、いきなり使えるわけではなく、
- 一度テストを実行してトレーニングを行う
- テストの共有を行って、テストを行ってもらう
という事前準備が必要になります。まずは、テスト画面を開いてテストとトレーニングを行いましょう。"Go to Test"をクリックします。
テスト画面が開いたら、右の方にある"Train Assistant"をクリックして、会話モデルのトレーニングを行います。
数分程度、トレーニングが行われます。
Trainedが100%になればトレーニングが完了しています。テストしてみましょう。下の方にある”Run Test”をクリックします。
会話のテストを行います。ちゃんと動いてますね。
次にテストを共有しましょう。右上の”Share Prototype”をクリックします。
テストのタイプは今回は"Chat Input"を使います。その他はデフォルトで。"Copy Link"をクリックすると、共有可能なテスト用URLがクリップボードにコピーされます。
本来はこのURLを別の人に送ってテストしてもらうことになりますが、今回は擬似的に一人でやります。Chromeのシークレットウインドウを別に開いて、さきほどのURLにアクセスします。以下のような画面が表示されたら、"Start Conversation"をクリックします。
テストします。
ちゃんと動いてますね。
Transcriptを使ってみる
では、Transcriptを見てみましょう。元のウインドウに戻って、キャンバス画面からTranscriptのアイコンをクリックします。
さきほど行ったテストが記録されているのがわかりますね。
このテストに、次にやるべきアクションを記録しておいたり、
タグを付けたり、
メモを残しておいたりできます。
また、テストを行ったユーザや時間なども記録されています。Voiceflowにログインできるユーザでテストするとユーザ名もちゃんと表示されるようですね。
"Add filters"をクリックすると、特定の期間や特定のタグでフィルタを掛けることもできます。
ダイナミックなサンプル発話の追加
Transcriptで一番凄い機能をご紹介しましょう。
会話のやり取りの一番上の三点リーダーをクリックすると、インテントの信頼率とデバッグメッセージを表示することができます。
こんな感じで、デバッグメッセージやインテントの信頼度が表示されます。そして、インテントにマッチしないような発話の場合、"No Match"と表示され、"Add utterance to Intent"をクリックすると・・・
その場でインテントのサンプル発話として追加できます!
もちろん新しいインテントを作成してサンプル発話として追加することも可能です!
ユーザからのフィードバックを直接反映することができてとても便利ですね!これは正直すごいなと思います。
既存のインテントへのサンプル発話の追加はこれだけでOKです。新しいインテントとして登録する場合は、会話フローに直接反映されるわけではありませんので、フローの修正が必要です。ここは、フロー内の分岐として登録する(Choice Step)か、グローバルなインテントとして登録する(Commandなど)か、などコンテキストによって判断が必要なので、開発者・デザイナーが判断するということですね。
まとめ
Voiceflowのテストツールは、ユーザの実際の体験に近い形でのテストができ、しかもそれを気軽に共有できます。ここに今回のTranscript機能が追加されたことにより、ユーザのテスト結果の集約とより迅速なフィードバックも可能になったのといえるのではないでしょうか?音声アプリではこのフィードバックループを効率的・継続的に行う事が重要なので、非常に良いアップデートだと思います。
あえて要望を出すならば、
- 集まったテスト結果を何らかの統計的なデータとして見れると良さそう。
- インテントだけじゃなく、スロット値もダイナミックに反映できると嬉しい。
- AlexaやGoogleでもできると最高!
あたりでしょうか。この辺は今後の改善にも期待ですね!