Google Duplexのまとめ
Google Duplex
はじめに
ユーザーの代わりに電話予約を行ってくれるというGoogleのAIシステム(Google Duplex)が発表されました。 デモの動画を見て、これはすごそうだと思ってgoogleのブログを読んで見ました。要点をまとめます。
元サイト: ai.googleblog.com
概要(Duplexとは)
- 電話上での現実世界のタスクを実行する技術。
- 可能なかぎり自然に会話することで、人も機械に合わせることなく応答できる。
- 閉じた環境(レストランの予約や散髪の予約等の特定のシチュエーションに絞って)で使用する。
- ヘアーカットの予約・レストランの予約(デモ参照)
- ヘアーカットの例:
(Duplex) 3rd Mayに予約したい。
(店員)何時に?
(Duplex) 12PM
(店員)12PMは無理。最速で1:50PMなら可能
(Duplex)10AM-12PM はどう?
(店員)サービスによるけど何をご希望?
(Duplex)女性のヘアーカット
(店員)10AMならOK
(Duplex)じゃあ10AMでお願い。
(店員)ファーストネームを教えてください。
(Duplex)リサ
(店員)確認のため予約内容を復唱...
- ヘアーカットの例:
(Duplex) 3rd Mayに予約したい。
Duplexの特徴
- 理解、振る舞い、タイミング、発話の工夫でDuplexは自然に聞こえる。
- RNNをベースにしている。TFX(TensorFlow Extend)でハイパーパラメータ最適化を行う。
- 匿名化された電話の会話コーパスをトレーニングに使った。タスクごとに別々のモデルとして学習したが、タスク間でコーパスの共有は行った。
- ASR(automatic speech recognition)を使用(音声、会話履歴、会話のパラメータに関して)
自然に聞こえる
- TacotronとWaveNetを用い、イントネーションを制御するため、TTS(text to speech)と音声合成を行った。
- 相槌(hmmとかuh)を入れて、自然に聞こえるようにした。(処理中であることを自然に伝えることができる)
- 応答までの時間を人の期待に合わせることが重要。 簡単な返答を求められたとき(helloとか)は、高速で低信頼のモデル利用。難しい返答は応答までの時間を置くと より自然に聞こえる。
システムのオペレーション
- 人の介入なしに完全自動で応答することができる。もし自動で応答できないと判断したときは(通常でない複雑なスケジューリングとか)、対応できる人間のオペレータにつなぐ。
- システムを新たな領域で訓練するときは、リアルタイム教師あり学習 を実施した。
- Duplexでは経験のあるオペレータが教師として訓練を行う。応答中都度必要があれば、オペレータがーシステムの振る舞いに干渉する。これを応答が十分なクオリティに達するまで続ける。
Duplex利用のメリット
- 客に予定のリマインドをし、同時にキャンセルやリスケジューリングを簡単にさせることを可能にし、連絡なしキャンセルを防ぐことができる。
- 非同期にビジネス者側とユーザーのコミュニケーションを行うことができるようになる。営業時間外や電話できない時でも予約リクエストを行い、 Duplexが代わりに予約を取ってくれる。耳の不自由な人や現地語を喋れない人でも電話予約が可能になる。
その他
- この夏に「レストランの予約・ヘアサロンの予約・休日の問い合わせ」のタスクに関して、googleAssistantを使ってDuplex技術の実験を開始する。
まとめ
- ヘアーカットやレストランの予約は人間がやってるんじゃないかと疑いたくなるクオリティの高さ。
- 汎用的な応対ができるシステムではなさそう。特定のシチュエーションに特化することで自然な会話感を出している模様。
- 質問の回答難易度でモデルを切り替えるというのは面白い発想。どうやって切り替えるのかの判定が難しそうではあるが...
- リアルタイム教師あり学習のやり方が気になる。誤りをその都度訂正していくとのことだが、効率的にやるのは難しそう。
- この夏はレストランに電話予約が殺到し、電話で散髪のための予約をする人がやたら増え、休日がいつかを問い合わせる電話が殺到しそうw