今日(日本時間の2018/5/9)、Googleが美容院やレストランの電話予約をとる、音声対話型の人工知能(AI)を発表しました。

そのスゴさは、この動画を見れば一目瞭然です。字幕も出ますが、ぜひとも、音声で聞いていただきたいと思います。

動画を見て、あまりの自然さに驚き、AIであることが信じられませんでした。Alexaをはじめとするスマートスピーカーなど、つい最近まで最先端だと思っていた音声対話アシスタントに対してすら、隔世の感があります。

では、何がこの会話を「自然」たらしめているのでしょうか?過去に少し、音声対話技術を調査したことがあり、その立場から、今回のGoogle Duplexを分析してみます。

あらゆる状況を想定した対話管理

自分が一番感動したのは、2番目のレストラン予約における、次のやりとりです。

AI: こんにちは。7日の水曜日に4人で予約したいのですが。

店員(人): …7人ですか?

AI: いえ、4人です。

店員: 4人ですか?いつですか?今日ですか?

AI: 水曜日の午後6時です。

店員: 5人以上の場合のみ、予約が必要です。

AI: 待ち時間はどれくらいですか?

ここには、2つの凄さが隠れています。

  1. 店員の聞き間違いや聞き漏らし(7人→4人、今日ではなく水曜日)に、適切に対応している
  2. 店独自の予約ポリシー(4人以下の予約は不要)を理解した上で、予約をしない場合のリスク(店がいっぱいで入れない)を最小化するための適切な対応(待ち時間を尋ねる)が取れている

1も、勿論すごい技術だと思うのですが、自分が感動したのは2です。

従来のゴールベースの予約AIなら、店独特のポリシーを理解することなく、何としても「予約を取る」というゴールを達成しようとして

AI: 4人で予約をしてください。

といったことを、繰り返し言い続けたのではないかと思います。

でもこのAIは、「店を予約する」背景に、「クライアントが所望する店にスムーズに入れる」という、より上位の目的があることを理解し、それを達成するように設計されているのではないかと思います。

よって、AIはまず、店が予約を受け入れない理由を理解しました。それも、店員が「予約がいっぱい」とか「営業時間外だ」といった理由で却下したのではなく、「空いているだろうから予約するまでもない」という意図で、予約を断ったのだということを理解します。

一方、予約をしなかった場合の最大のリスクは、待ち時間です。そこでAIは「どれくらい待つのか?」と聞きました。もしここで、店員が「2時間待ちです」などと回答したら、「いつなら空いているか?」とか、「何とか4人で予約してくれないか」と説得し、ダメなら諦めるというように動作したかもしれません。

クライアントが店に行って、長い待ち行列に不快な思いをすることを、未然に防いだわけです。この気遣いたるや人間並み、いや、人間以上ではないでしょうか。少なくとも、新人だった頃の私(今でもか!)は、こんな気配りができなかったと思います。

自然な音声合成

もちろん、ノンネイティブの英語が理解できる音声認識の精度も極めて高いと思います。また、uh-huhやgotchaといったフレーズ(こんなものを発話するAIなんて見たことない)を発話し、時には人間の発話に被せて応答するなど、適切な間合いやリズムが取れる音声合成も驚異的です。なお技術の詳細は、今日公開の下記Google AI Blogの記事にありそうです。Google I/Oで発表されたもの以外にも、いくつか会話のサンプルがあります。こうして聞くと、極めて自然なものから、やや間合いが不自然なやり取りまで、いろいろありますね。

Google Duplex: An AI System for Accomplishing Real World Tasks Over the Phone

音声合成は、少し前に話題になったWaveNetに進化を加えた、Tactron 2などに基づいていそうです。このTactron 2も音声サンプルがあります。人間と機械の区別がつかない。。arXiv論文も下記から読めます。

Audio samples from “Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions”

少し久々に、イノベーションだ!と感じる人工知能技術を見ました。音声対話研究の可能性が広がり、これを機に、研究コミュニティも活性化するような気がします。

Google Duplexはいつ実用化されるのか

この技術は、数週間後には実証実験され、早ければ2018年内にも実用化されるそうです。そして、ただ電話予約をするだけでなく、店の情報(例:営業時間など)を、定期的かつ自動的に問い合わせて収集し、Google Mapなどのデータベースを更新するといった用途にも使われるようです。現在、Google Mapのデータベースには、誤った営業時間や住所、閉店した店舗の情報がけっこう載っており、Googleローカルガイドによる人手の修正に頼っています。こうした技術があれば、自動的にデータベースをフレッシュな状態に保つことができ、有効だと思います。Googleにはホントに驚かされます。

参考記事

  • https://iphone-mania.jp/news-211645/
  • https://ai.googleblog.com/2018/05/duplex-ai-system-for-natural-conversation.html