Alexa Live 2020のまとめの続き。前回に続き「Conversational Interfaces Faster with Alexa Conversations」のPart2です。
前回でだいたい実装イメージのところまで終わってますが、裏側でどんなことをやっているかのところをまとめたいと思います。
目次
Conversational Interfaces Faster with Alexa Conversations
Technical deep dive
- dialogue simulator
- フレームワーク
- 実際の動き
- ハッピーパスの場合。
- ユーザが自分のゴールを伝える(inform)ところからスタートする
- 「天気を教えて」
- Alexaは天気を取得するAPIを要求しているように見える
- 天気を取得するAPIは、都市名と日時の2つの引数が必要
- これらのスロットを要求、ユーザに都市と日付を尋ねる
- ユーザがスロットの値を伝える(inform)
- 都市名と日時
- Alexaがスロット値をユーザに確認(confirm)
- ユーザが肯定(affirm)する
- 全否定するかもしれない
- 複数のスロットのうち、1つは肯定、もう1つは否定するかもしれない
- 確認に対しユーザが肯定すれば、Alexaは・・・
- スロット値を引数としてAPIに渡して結果を受け取る
- ユーザが指定した場所・日時の天気を発話レスポンスとして返す
- ユーザが自分のゴールを伝える(inform)ところからスタートする
- ハッピーパス以外の、異なるパスや、異なるユーザの挙動についてもシミュレーションを行う
- ユーザが想定よりも協力的
- 「天気が知りたい」に対して「まず」場所を聞いたら、場所だけでなく日時も返してきた
- 必要な情報はもう揃っているので追加質問せずに回答を返す
- ユーザが途中で気が変わる
- 「(シアトルの)天気が知りたい」に対して日付を聞いたら、ユーザの気が変わって「ボストン」という新しい場所が返ってきた。
- 場所が変わったことを理解した上で、再度日付を聞く
- ユーザが非協力的
- 「天気が知りたい」に対して場所・日付を聞いたら、日付だけが返ってきた。
- 場所だけが足りないので場所を再度聞く
- ユーザが想定よりも協力的
- ユーザの挙動をシミュレートするだけでなく、Alexaの挙動もシミュレート
- ユーザの現在行っていることから、Alexaが積極的にスキルの機能を提供する
- Alexaがスロットの値やAPIを確認する
- ハッピーパスの場合。
- 異なる対話パスをシミュレートすることが重要
- 会話にはノンリニアな対話パスが多数あり、実際にスキルのユーザが異なる振る舞いをして異なるパスを通るかもしれない。
- 事前にシミュレートすることで・・・
- 堅牢な対話モデルを作ることができる
- 開発者が余計な努力をしなくて住む
- Alexa Conversationにおける対話モデル
- 最新のディープラーニング技術によって、最先端のパフォーマンスを提供する
- 1. Named Entity Recognition model (NER)
- スロット
- 開発者によって定義され、スロット値の一覧を含む
- APIやレスポンステンプレートに渡す必要がある情報の単位
- NERにより、ユーザの発言から抽出される
- スロット
- 2. Action Prediction model(AP)
- Alexaが取るべき最適な次のアクションを予測
- ユーザの発言をインプットとして使う
- これまでの全体の会話も考慮
- 取りうる別のアクション候補も予測する
- APIレスポンスの結果を返して次に最適なものを選択
- Alexaが取るべき最適な次のアクションを予測
- 3. Argument Filling model(AF)
その他
Arriveの事例
- 駐車場を音声で探すサービス
- Alexa Conversationsにより、すべての会話の定義をすることなく、複雑なユースケースに対応
- ユーザの訂正をかんたんに取得できる
- バックエンドの修正を最小限にして既存スキルへの拡張が可能
- スロットを多数用意したり、スロットを確認したり、せずに済むのでコードが減った
- 大変な入力処理をAlexa Conversationsに任せて、スキル内の意味あるコンテンツによりフォーカスできる
- Alexa Conversationsにより、すべての会話の定義をすることなく、複雑なユースケースに対応
Voiceflow
- Alexa Conversationsが劇的な新しい音声開発技術を表している
個人的まとめ(後半)
- ディープラーニングで生成されるバリエーションの量がものすごい・・・本当にいろんな言い方に対応できるのか楽しみ
- ゴールオリエンテッド、ってところを踏まえると、やっぱりダイアログモデル的な印象
- Voiceflowがどういうふうに取り込んでくるかはちょっと楽しみ
前半でほとんどまとめていたので後半は少し短めなんですが、テクニカルな話なので中身が濃くて結構まとめるのは大変でした。。。
まとめてみてだいぶ雰囲気はわかってきたんだけど、これはちょっと触ってみないとわからない、ということで、後日Alexa Conversationsやってみた、をまとめる予定です。