ELIZA(1)「傾聴」を模倣するプログラムとは?

2019/02/18
藤田昭人

 

自分で言っておいて何なんですが「音声付き人工無脳と会話を楽しむ」のは、会話する当人にとっては何となく気恥ずかしい、傍目にみてると何だか不気味な…街中でイヤホンを付けてスマホで電話しているような…印象があります。それが街中で SIRI を使っている人をあまり見かけない理由かも知れない。

そこへ行くとスマートスピーカーは、家に置いてあって「電気つけて」だとか「テレビ付けて」と言った感じで、機械と対話する心理的ハードルを大きく下げてくれるデバイスのように見えます。ただ、この種の会話は直ぐに慣れちゃって、数ヶ月もすれば逆に電気やテレビが付かないとイラっとするような、印象の薄い会話だったりします。

加藤さんの書籍「夢みるプログラム」で紹介されている事例から想像すると、スマートスピーカーと印象の強い会話を人間にさせる早道はゲームの力を借りるのが最善策のように思います。例えば、スマートスピーカーから制御できるオセロボードがあれば機械との対戦が可能になりますが、スマートスピーカーが単に駒を指すだけでなく「本当にそこで良いのですか?」と揺さぶりをかけてきたり「ちょっと待って」と人間に待ちを懇願したり…人間のプレイヤーのような反応をすると、本当に人間の印象に残るような会話ができるのかも知れません。人間が感じる会話の面白さとは本来こういったことのように僕は思います。(もっとも最近のスマートスピーカーのスキル開発の技術進化を見てると、これは案外近い将来に実現されるかも…)

ともあれ、人工無脳(やチャットボット)にはCGと同じような「不気味の壁」が存在しているらしい。ですが、世界初の人工無脳である ELIZA は、この壁を一瞬で乗り越えたと言います。「夢みるプログラム」ではELIZAについて次のように紹介しています。

ELIZAはクライアント中心療法で用いられる「傾聴」と言う技法を模倣する。その狙いはクライアントが「自分は大切に扱われている」という気持ちになり、心の奥底にある感情を気楽に吐き出せるように促すことである。さらにクライアントの発言を要約して返すことで、実はクライアントが自身ですでに解決策を見出していた、という体験へと導くことで自信と解放につながるという効果をもたらすとされた。

(中略)

これにより、ELIZAに接したユーザーが号泣したり、激しく感銘を受けたり、これまで誰にも言わなかった幼少時のつらい経験などをELIZAに語り始めた。

今の最新の技術、例えば Apple の SIRI と話しても、ここまで感動するような経験はないんじゃないでしょうか?そこで「ELIZAとの会話ってどんなものだったの?」を追うのが、このページのテーマです。 

オリジナルのELIZA

実は今は ELIZA と冠した対話系プログラムは世の中にゴマンとあります。例えば Github で "ELIZA JS" と検索したら JavaScript の実装だけでも25も見つかりました。ですが、そのオリジナル・バージョンのその実装は今は存在しないようです。(いや、僕の探し方が悪いだけかも…)しかし、オリジナルの開発者がその実装について解説した論文は、アメリカの大学のAI関連の授業の教材としてインタネット経由で広く閲覧することができます。

ELIZA -- A Computer Program For the Study of Natural Language Communication Between Man And Machine
Joseph Weizenbaum
Massachusetts Institute of Technology Department of Electrical Engineering
Cambridge, Mass..
Communications of the ACM Volume 9, Number 1 (January 1966): 36-35.

http://web.stanford.edu/class/cs124/p36-weizenabaum.pdf (画像)

https://www.csee.umbc.edu/courses/331/papers/eliza.html (HTML)

オリジナルの開発者は Joseph Weizenbaum です。実は、僕には、この人について書きたいことが山ほどあるのですが、それは後日として、この場はさらっとWikipediaのリンクのみ掲載しておきます。

en.wikipedia.org

この論文の1つの特徴は、全9ページのうち、ほぼ7ページを使って、ELIZA内部での処理を詳細に解説していることです。(もちろん「誰にでも理解しやすい」とは言ってませんよ(笑)) それ故に、当時のELIZAに関心のあるプログラマたちには事実上の開発仕様書のように扱われました。例えばLISP版ELIZAを実装したBernie CosellはELIZAの作成について次のようにコメントしています。(The Genealogy of Eliza(http://elizagen.org/)から引用)

Bernie Cosell's Lisp Eliza @ BBN c. 1966-1972
Bernie writes: "I *never* saw any of the SLIP code and knew nothing about it. I wrote Doctor *completely* working just from the CACM article! In fact, if the SLIP code actually surfaced, it'd be interesting to see how different/similar ours were, since I [really] never saw any of Weizenbaum's code. Truth is that I did Doctor as a learning hack.

*snip*

I knew a little Lisp from a course at MIT, but I figured that the best way to really "get" Lisp was to write something real. I had just joined the ACM [I started at BBN in the fall of '65] and I think Weizenbaum's Eliza article just happened to be in the very first copy of Communications that I received."

 

Bernie は次のように書いている:
私はSLIPのコードを見たことがなく、それについては何も知りませんでした。私はCACMの記事から(だけで)Doctorが完全に機能するように書きました。私は Weizenbaum のコードをまったく見たことがないので、もし(オリジナルの)SLIPコードと実際に対面したとしたら、私たちのコードとどのような点で類似している or 異なることを確認できるので興味深いです。正直なところ、私は学習のためにDoctorをハックしました。

(中略)
私はMITのコースで少しLispを知っていましたが、Lispを本当に「習得する」ための最良の方法は何か本物を書くことであると私は考えてました。(1965年の秋から BBN で働き始めましたから)私はACMに参加したばかりで、WeizenbaumのElizaの記事は、私が受け取った最初のCACMのコピーの中に「たまたま」あっただけだと思います。

Bernie Cosell と言えば初期のARPANETで稼働した IMP(現在のIPルーターの祖先)の ソフトウェアを実装したプログラマのひとりですが、彼が ELIZA を移植(というよりは再実装)したのは LISP を覚えるためだったのはちょっと驚きです。最後の「たまたま」発言は彼流の謙遜なんでしょう。というのも、その後 ELIZA は Weizenbaum が書いたオリジナル・コードよりも、彼が書いた LISP 版の方が普及したからです。

ELIZAでの会話 

この論文の価値の1つはオリジナルELIZA(と人間)による会話が掲載されている事です。 論文を片手にELIZAを実装しているプログラマには「この会話が再現できればELIZAと名乗れる」ある種のテストパターンとしても活用されました。

論文に掲載されている会話は次のようなものです。

(Cは被験者、EはELIZAの発言です)

C: Men are all alike.
E: IN WHAT WAY?
C: They're always bugging us about something or other.
E: CAN YOU THINK OF A SPECIFIC EXAMPLE?
C: Well, my boyfriend made me come here.
E: YOUR BOYFRIEND MADE YOU COME HERE
C: He says I'm depressed much of the time.
E: I AM SORRY TO HEAR YOU ARE DEPRESSED
C: It's true. I am unhappy
E: DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY
C: I need some help, that much seems certain.
E: WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP
C: Perhaps I could learn to get along with my mother.
E: TELL ME MORE ABOUT YOUR FAMILY
C: My mother takes care of me.
E: WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU
C: My father.
E: YOUR FATHER
C: You are like my father in some ways.
E: WHAT RESEMBLANCE DO YOU SEE
C: You are not very aggressive but I think you don't want me to notice that.
E: WHAT MAKES YOU THINK I AM NOT VERY AGGRESSIVE
C: You don't argue with me.
E: WHY DO YOU THINK I DON'T ARGUE WITH YOU
C: You are afraid of me.
E: DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU
C: My father is afraid of everybody.
E: WHAT ELSE COMES TO YOUR MIND WHEN YOU THINK OF YOUR FATHER
C: Bullies.
E: DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND MADE YOU COME HERE

 やはり英語だとピンときませんね。Google翻訳を使って訳すと…

C: 男性はみんな似ている。
E: どうしたの?
C: 彼らはいつも何かについて私たちを悩ませています。
E: 具体的な例を考えられますか?
C: うーん、私のボーイフレンドは私をここに来させました。
E: あなたのボーイフレンドはあなたをここに来させましたか?
C: 彼は、私が長時間が落ち込んでいると言います。
E: 私はあなたが落ち込んでいると聞いて悲しいです。
C: それは本当です。私は幸せではありません。
E: あなたはここに来るとあなたが不幸にならないように助けてくれると思いますか?
C: 私は助けが必要です。
E: あなたが何かの助けを得られることは何を意味するのですか?
C: 多分私は私の母と仲良くすることを学ぶことができました。
E: あなたの家族についてもっと教えてください
C: 私の母は私を心配してくれます。
E: 他にあなたの家族の誰があなたの心配をするのですか?
C: 私のお父さん。
E: あなたのお父さんですか?
C: ある意味ではあなたは私の父のようです。
E: どのようなところが似ていますか?
C: あなたはあまり積極的ではありませんが、私はそれに気付かないようにしています。
E: 何があなたに私があまりに積極的でないと考えさせるのですか?
C: あなたは私と議論しないから。
E: なぜ私はあなたと議論しないと思うのですか?
C: あなたは私を恐れている。
E: 私はあなたを恐れていると信じてください。
C: 私の父はみんなを恐れている。
E: あなたが父親を考えたときに他に何を思い出しますか?
C: いじめ。
E: あなたのボーイフレンドがあなたをここに来させたという事実と何か関係がありますか?

ここでは論文の主題であるELIZAの実装方法の事は忘れて、精神分析医との会話として理解してください。日本語として少々おかしいのは Google 翻訳のせいです(笑)

この会話を辿ると…被験者は女性のようで、ボーイフレンドへの愚痴から始まって、長時間落ち込んでいると言われていること、自分が不幸だと感じていること、その後は自分の母親と父親の話、 特に父親に自分に対して積極的でないネガティブな印象を持っていることなどが読み取れます。さらに会話相手(ELIZA)に対する批判も口にしています。あまり楽しい会話には感じませんが、それでも被験者はこの後、号泣したり、感激したり、辛い経験を語り始めたり…といったことが起こりそうな会話の流れですし、ここまでの会話だけでも被験者がドンドンこの会話にのめり込んで行っていることもよくわかります。

これが ELIZA 型人工無脳の特徴である「傾聴対話」の典型例です。少なくとも被験者はELIZAに対して(相手が人間であることを疑う)不気味さを感じてはいないように見えます。ELIZAが登場した(一般にはコンピュータがまだ謎の巨大機械だった時代の)1966年にこのプログラムと対話した被験者が「相手が機械であることをまったく信じなかった」ということも頷けますよね?

開発者の見解

この論文ではELIZAをどのように作ったか?は詳細まで語られていますが、その結果としての傾聴対話、すわなち「何故、ELIZAには被験者がのめり込むような対話が可能なのか?」についてはあまり語られません。論文全体で眺めると「人間が違和感を感じないように細心の注意を払って作ったら、こうなった」みたいなトーンが支配的だと僕には感じられます。例えばWeizenbaumは「精神科医との会話」という状況設定を用いた理由を次のように述べています。

ELIZA performs best when its human correspondent is initially instructed to "talk" to it, via the typewriter of course, just as one would to a psychiatrist. This mode of conversation was chosen because the psychiatric interview is one of the few examples of categorized dyadic natural language communication in which one of the participating pair is free to assume the pose of knowing almost nothing of the real world.

ELIZAは、人間の対話者が、タイプライターを介して、精神科医と同じように「話す」ように指示されたとき、その初回で最高のパフォーマンスを発揮します。この会話形式は、精神医学的インタビューが、参加しているペアの1人が現実世界についてほとんど何も知らない姿勢を取ることが許される自然言語による2者間コミュニケーションに分類される数少ない例の1つであることから選択されました。 

つまり、現実世界への知識がなくても会話が成立する関係性が重要だったようです。が、Weizenbaumはこの状況設定が幾つかの対話者の貢献をを引き出していると述べています。

It is important to note that this assumption is one made by the speaker. Whether it is realistic or not is art altogether separate question. In any case, it has a crucial psychological utility in that it serves the speaker to maintain his sense of being heard and understood.

(不自然さはないという)この仮定は対話者によってなされたものであることに注意することが重要です。仮定が現実的であるかどうかは、まったく別の問題で、いずれにせよ、対話者が聞き取られ理解される感覚を維持するためには重要な心理的な有用性があります。

  つまり、対話者は「相手に理解されている」と勝手に誤解するわけです。

The Speaker further defends his impression (which even in real life may be illusory) by attributing to his conversation partner all sorts of background knowledge, insights and reasoning ability. But again, these are the speaker's contribution to the conversation.

対話者は、会話相手にあらゆる種類の背景知識、洞察力、推論能力を帰属させることによって(その実生活が幻想であったとしても)彼の印象をさらに擁護します。これもまた、対話者の会話に対する貢献です。

さらに対話者は会話相手の人物像を勝手に作り上げてしまう。上記の会話例ではELIZAを彼女の父親とよく似た人物だと彼女は想像しているのかもしれませんね。

From the purely technical programming point of view then, the psychiatric interview form of an ELIZA script has the advantage that it eliminates the need of storing explicit information about the real world.

純粋に技術的プログラミングの観点から、ELIZAスクリプトの精神医学的インタビュー形式は、現実世界に関する明示的な情報を埋め込む必要性を排除する利点があります。 

穿った見方かもしれませんが、人間の知識をプログラム内で再現する方法が(その時点では)見当たらなかったと言っているようにも聞こえますね。したがって、それを使わなくても自然な会話が成立するような状況がWeizenbaumには必要だったわけです。

このようにしてELIZAが対話者の信頼(言い換えると対話者の思い込み)を獲得できると、対話者はその会話において非常に寛容な態度で最後まで会話相手の発言を肯定的に信じ続ける振る舞いをすることをWeizenbaumはこの論文で指摘しています。

 

 

日本語の「人工無脳」に意味的に対応する英単語は無いように思いますが…

人間の考えや立ち振る舞いを模倣して、人間のように会話相手を理解しようとするのが人工知能なのだとしら、会話において対話者の人間が会話相手を理解しようとする意欲や喚起し努力を引き出して会話を成立させるのが ELIZA のアプローチのようです。このシステムを見て「人工無脳」と名付けた日本人が誰だかわかりませんが、凄いセンスだと思わずにはおられません。

WeizenbaumはELIZAを開発している時のさまざまな制約条件の中にあって、人間とのより自然な対話を目指す過程で偶然このアプローチを見出したのでしょう。故に、彼は自分の研究成果に対する周囲の熱狂的な反応にひどく驚き、困惑したと言います。論文に掲載されている会話例を見ると人間の方が一方的に話していて、その会話に没頭する人間の様は他の対話システムとは異なるある種の様相、すなわち「話をさせられている」感じもします。このシステムをさらに発展させていくとなると、それは様々な心理学的トリックを注ぎ込んでいくことになり、もはや情報工学ではなく実験心理学の研究になってしまうのだろうなぁ…とボンヤリ想像しています。

 

ただ、シンギュラリティなどと言ってなかなか冷めることの無い今のAIブームにあって「人間の完全な模倣・再現を目指す人工知能の研究開発成果を本当に人間社会は受けいれるのだろうか?」などと考えている僕は「人工知能人工無脳、人間が真に欲するのはどっち?」あるいは「ヒューマン・セントリックなのはどっち?」などと悩んでしまうのです(笑)