第5回 会話する人工知能

「ただいま」
家に帰った私は、そう言いながら靴を脱いだ。

「おかえり。今日はどうだった?」
「まあまあってところかな。今日の合コンは流れたよ」
「ふーん」

私は留守番をしていた黒いロボットを見下ろす。どうせなにも分かっていやしない。合コンがなんなのかもロボットに分かるわけがない。それでもこのロボットはそれっぽく答えを返す。まるで全部分かってるかのように。

第4回「AIによってコンピュータ翻訳の世界がガラリと変わった」を読む

「人工無能」と呼ばれるプログラム

市販品のロボットに搭載された会話AIというのは、今のところこの程度である。「ただいま」と言えば「おかえり」と返し、適当なタイミングで相槌を打つ。IBMが誇るワトソンの会話エンジンも、一皮むけば大差ない。

こうした会話AIの出現は深層学習(ディープラーニング)よりもずっと古い。最初に広く知られた例は1964年にMITのワイゼンバウムが開発した「イライザ」だろう。イライザは精神科医のように振る舞うソフトで、ユーザーは患者として接することになる。たとえばこんな会話が可能だ。

――私は精神科医のイライザです。あなたの病状を詳しく教えてください

ひどく頭が痛むんです

――あなたは薬剤師に相談すべきです。私はあくまでも精神科医なのですから(A)

実は母に嫌われているんです

――あなたの家族で他にあなたを嫌っている人は?(B)

わかりません。たぶん母だけです

――お母さんはあなたのことをどう思っていると思いますか?(C)

私が無職なのに腹を立てているのだと思います。

――もっとあなたのことについて話してください(D)

もちろん原文は英語だが、これは一見とてもまともな会話に見える。だが実際には、単純なパターンマッチと決まり文句を言っているだけだ。たとえばこの会話では、「頭痛(headache)」というパターンに対して(A)の決まり文句を返し、「母(Mom)」に「嫌われている(Hates)」というパターンに対し、(B)を返し、「母だけです」に対して(C)、「私(I)」に対して(D)を返しているだけだ。とても単純なトリックだが、それだけに一度ハマると効果的である。

日本ではこうしたプログラムは人工無能と呼ばれている。マイクロソフトの「りんな」もシャープの「ロボホン」もソフトバンクの「ペッパー」もジャンル的には人工無能だ。

シナリオベースの会話AIの仕組み

IBMのワトソンはさらに融通のきかない原始的なシナリオベースの会話システムを搭載している。

たとえばこんな感じだ。

音楽が聞きたい

――どの音楽ですか?(A)

マイケル・ジャクソンがいいな

――マイケル・ジャクソンはありません(B)

マイルス・デイビスでもいい

――マイルス・デイビスで検索しますか?(C)

ああ頼む

――マイルス・デイビスで検索した結果、16万件がヒットしました(D)

よし、再生してくれ

――どの音楽ですか?(E)

なんて間の抜けた会話だろう。しかしこれがワトソンの会話エンジンでごく普通に起きることの全てだ。どういう仕組みになっているのかというと、まず、ワトソンは起動時にはデフォルトのモードになる。デフォルトのモードとは、要は何もしていない状態のことだ。

そこで「音楽が聞きたい」というコマンドに反応して、音楽モードへ移行し、「どの音楽ですか?(A)」という質問が行われる。ここで「マイケル・ジャクソン」をリクエストするが、ライブラリにないので「マイケル・ジャクソンはありません(B)」と答え、デフォルトのモードに戻る。ユーザーはそれに気づかず「マイルス・デイビス」をリクエストすると、未知語の検索モードに入って(C)、Web検索結果の件数を伝える(D)、そこで再生を依頼すると再び音楽モードに移行して、「どの音楽ですか?(E)」と聞き返すという具合だ。

この、融通がきかない会話AIを構築するためには、気の遠くなるような会話パターンをあらかじめシナリオ構造として持っておく必要がある。それは文字通り天文学的な規模であり、21世紀にこんなものでまともな会話エンジンが作れると信じているのはごく一部の人たちだけだ。アップルのSiriも同様のアプローチになっている。だからSiriと会話していても知性を感じることはほとんどない。

私も幼少の頃からこうした人工無能の開発に幾度となく取り組んでいるので、このアプローチがいかに馬鹿馬鹿しいかについては血と汗を通して知っている。当然だが、全ての会話パターンを網羅することは誰にも不可能なのだ。

こうしたパターンマッチやシナリオベースの会話AIは、見かけの派手さと実質が一致しない、まさに「羊頭狗肉」ではあるが一見すると「上手くいっているように見せることができる」ために重宝されてきた。

ハリボテの会話AIとはまったく異なる深層学習

ところが深層学習の驚くべき成果は、こうしたハリボテの会話AIとは別次元の会話を実現することができるところだ。

例えばこんな会話ができる。

モラルとはなんだろうか?

――人間性に意味を与える知的な要素ではないだろうか

では、インモラルとは?

――あなたが子供を持っているという事実

モラル性とはなんだろう?

――利他主義とは?

利他主義の定義は?

――君が神を信じていないのならば、君にはわかるまい

少なくともシナリオベースのエンジンよりはだいぶマシにみえる。どうしてこんなことが可能なのか。難しい技術を使ったわけではない。むしろその反対で、非常に単純な学習を行っただけだ。

前回、英語との対訳をひたすら見せるだけで翻訳が可能になるというSeq2Seqという技術を紹介した。Seq2Seqは非常に単純だが極めて強力なニューラルネットワークである。

この会話を実現したAIの仕組みは、Seq2Seqを用いた翻訳の仕組みと全く同じである。ただし、今回は同じ言語同士で、問いかけに対する答えをひたすら学習させたのだ。

学習データとなったのは膨大なアメリカ映画の英語字幕である。
だから映画に出てきそうなそれっぽい台詞を適当に見繕って返しているだけだ。

シナリオベースの会話AIとSeq2Seqによる会話AIの違いは単純なパターンマッチでもシナリオでもなく、言葉が文字通りニューラルネットから紡ぎ出されていることだ。

深層学習を用いた会話AIの明らかな問題点

しかし明らかな問題がSeq2Seqによる会話AIにはある。意思を持って人格をプログラミングすることができないのだ。

たとえばバーチャルアイドルの会話AIをSeq2Seqで作るとする。バーチャルアイドルの会話AIは当然、アイドルなら守るべきルールを守らなければならない。アイドルにはそれぞれの名前や設定がある。けれども、Seq2SeqではAIがどのように振る舞うべきか、意図的に規定することが難しい。

もしやるならば、現実のアイドルとファンの会話をTwitterから複製し、一人称やアイドルのアダ名の部分を抽象化してSeq2SeqのAIに突っ込むことになる。そうすれば、ある程度はそれっぽい受け答えをしてくれると思うが、それでも細かい設定、たとえば好きな食べ物とか、出身地とかを決めるのは難しく、こうした会話AIを作るとなるとそこがかならずネックになってくる。

そして肝心なことは、仮にこうした深層ニューラルネットワークによって会話しているように人間が感じることができたとしても、AIは単に人間の反応を真似ているに過ぎず、なにも考えていないという点に関しては既存の人工無能とほとんど変わりがないことだ。

しかし会話AIには夢があるのは確かだ。人は誰でも人間のように喋る機械に興味を持たない訳にはいかない。オウムや九官鳥がペットとして愛好されるのと同じように、AIによる会話が期待されるのも無理はない。

こうした、「無益な会話」を実現するAIとは全く別のアプローチとして、「知識を獲得して質問に答えるAI」も研究されている。

次回はそうした「賢い」AIについて紹介しよう。

<今回のまとめ>
●シナリオベースの会話AIは、深層学習よりもだいぶ前から研究されてきたが、日本では人工無能と呼ばれている
●Seq2Seqによる会話AIは、膨大なアメリカ映画の英語字幕をひたすら学習させることによって、既存の人工無能とは別次元の会話を成立させた
●深層学習を用いた会話AIの問題点は、意思を持って人格をプログラミングすることができないこと