[Alexa] 日本語スキルでも発話プロファイラーを使った対話モデルの確認ができるようになりました

Alexaの開発コンソール上で利用できる発話プロファイラーを使うと、バックエンド実装の前にインテントやスロットのマッピング、マルチターンの会話フローのテストを行うことができます。
2019.02.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Alexaのスキル開発において、日本語環境でも発話プロファイラーの利用が可能となりました!

Alexa Blogs: 発話プロファイラーで対話モデルの検証が簡単になります

発話プロファイラーを使ってコードを実装する前に会話フローをテストする

これにより、日本語スキルの開発時においても、バックエンドの実装前に会話のテストやインテント/スロットの解決結果を確認できるようになります。

発話プロファイラーを使ってみる

それでは、実際に発話プロファイラーを使ってみます。 以下のようなシナリオのホテル予約スキルを例にとってみます。

A: どちらの市区町村のホテルをお探しでしょうか?
U: 大阪です。
A: 何月何日のご予約でしょうか?
U: 3月1日で。
A: 何泊されますか?
U: 3泊でお願いします。
A: お部屋にはシングル、ダブル、ツイン、スイートがございます。ご希望のルームサイズを教えて下さい。
U: ダブルがいいです。

適当にスキルを作成し、ホテルを予約するBookingIntentを準備します。

BookingIntentでは予約に必要な以下のスロット値をAlexaにデリゲートして収集してもらいます。

  • LocationAmazon.City
  • CheckInDate(Amazon.DATE)
  • Nights(Amazon.NUMBER)
  • RoomType(シングル/ダブル/ツイン/スイートからなるカスタムスロット)

対話モデルのビルドを行った後、BookingIntent画面右上の「発話プロファイラー」をクリックします。

画面右側に発話プロファイラーが表示されるので、発話を入力して会話フローのテストを行います。

発話を入力すると、発話に対してAlexaが解決したインテントおよびその他の候補が表示されます。 インテントにおいてスロット値の収集が必要な場合は、各スロット値の収集状況が表示されます。

会話を進めていくと、スロット値が収集できていることがわかります。 (発話プロファイラーでは、各スロットに設定した検証は確認できないので、注意が必要です)

必須のスロット値が全て収集されると、マルチターンの会話が終了しました。 発話プロファイラーを使うことで、ここまでのテストをバックエンドを実装する前に行えます。

おわりに

日本語環境のスキル開発でも、発話プロファイラーが利用可能になりました。 バックエンドを実装する前に、発話がどのインテントやスロットにマッピングされるか、スロットの収集をAlexaにデリゲートしたマルチターンの会話の確認、といったテストを行うことができます。

うまく活用して、よりスムーズなUXとなるようにスキルの改善を繰り返していきましょう!