Chatterbot is Thinking | BBS | Materials | JAPANESE

last update: Sep 29,2003

Strategy to create chatterbot

next:History of Chatterbot >> Next Session:Learn from AI

Our mind is a highly developed system that we indeed know very few about it. However, developer of the chatterbots are tring to represent it by means of random. Can we construct a meaningful program of these quite complicated system by the quite random system? And can we regard chatterbots to have a mind in it? These could be the most frequently-asked-question associated with the chatterbots. In this section we will discuss about a point of view as a developer of the chatterbot and realize the strategy to create bots. The points are: WHO recognizes the mind and WHAT makes it a mind.

The place of the mind

The question "Where is the mind?" usually makes you feel puzzled. As a matter of course, there is a mind in yourself and in others... Is it true, ever? Now let's observate a dream you see asleep. Many people agree that there appers other person in the dream, and we recognize they have their own personality and intelligence to speak with them just like as normal. In this very moment, Who create the replies from the charactors in the dream?. No existance could make replies other than dreamer himself, of course, but we never feel we take over other people's thought, while we frequently feel suprising and sadness in the dream. That could mean at least we don't use usual thinking routine under our consciousness control. Talking in the dream, and dream itselg are easily drift through emerging images. よく考えてみると夢の中では他人の思考を肩代わりしている意識はないし我々が彼らの意外な行動に驚いたり悲しんだりするということは、少なくとも自分のコントロール下にある思考ルーチンは使っていないといえるだろう。夢の中で繰り広げられる会話も夢それ自体も、次々と連想されるイメージに流されて滑ってゆく。本当に夢の中の他者は思考しているのだろうか?脳の勝手な連想と、自意識による勝手な解釈のコラボレーションによって会話が成立している気がしているだけではないのか?実は、我々は相手には心があると勝手に思い込んでいるだけなのではないだろうか。

上述のシチュエーションをまとめると夢の中の登場人物をA、夢を見ている本人をBとする場合、Aに心があるかどうかを規定しているのはAではなくBであるということがわかる。ペットロボットでいえば、AIBOに心を認める人もいるし、心を認めない人もいる。AIBOがどう思っているかは関係ないのである。人間対人間の場合であっても本質的には変わらない。今までの人生経験から、人間と思われる風貌をしているから心を持つ可能性が高いとしているだけのことである11それで我々はアスペルガー症候群のように我々と少し違う精神の持ち主と接したときに、予定していた人間としてのレスポンスが返ってこないのでフラストレーションを感じるのかもしれない。 そもそも他者に心があるという信念はかなり広いストライクゾーンを持っている。犬や猫に心があること、ゲームや小説に登場するキャラクタが心をもっていることを我々は容易に信じる。ぬいぐるみや自動車に心を見出す人もいる。無生物に心が宿るくらいである。人工無脳に心が宿ったとしても何の不思議もないのではないだろうか。ここに、「人工無脳が心をもつかどうかを規定するのはその受け手であり、人工無脳の構造とは関係がない」と結論できる。人工無脳との会話が成立するのが不思議ならば、人との会話が成立するのも不思議なのだ。人との会話が成立するのがあたりまえならば人工無脳との会話が成立するのもまたあたりまえなのだ。

心らしさと乱数性

人工無脳では「心の追求」を目標としている。ではそれをどうやってアルゴリズム化すればよいのだろうか。人工無脳と同様に心や会話への計算論的アプローチを(まじめに)試みている分野としては、行動心理学、認知心理学、知能工学、があり、さらに会話に特化したものとしてはエスノメソドロジー22例えば 石崎雅人,伝康晴「言語と計算3 談話と対話」 東京大学出版 (2002) ISBN 4-13-065403-9などが挙げられる。それらの文献を読めばいくつもの有用に感じられる理論に接することができる。実際には個々の理論が述べている内容全てを実装するのは大変なので、単純化したアルゴリズムを考え出すことになる。このアプローチは人工知能および英語圏の人工無脳で採用されているもので、意味の理解や自然な会話をストレートに目指す方法といえよう。どの理論も理論であるからには理路整然としており、結果出来上がる人工無脳や人工知能も理路整然とした存在となる傾向がある。

それでは逆に、全くの無秩序による言語の構成は可能だろうか。羽尻33羽尻公一郎, "極北的文学テクストとその計算による生成の不可能性について", 認知科学, 8[4] (2001)は、古くから知られている「人間の言語は人間の認知構造を必ず反映し、認知には循環性が含まれているため結果無限に計算が終了しない」という指摘を取り上げた。すなわち、計算によっては言語を生成することが不可能であり、たとえW. S. BurroughsのSF小説に見られるような文字列の無秩序な切り貼りによったとしても言葉は自動生成できないのである。

さて、論理と乱数の両極の主張を踏まえて、ここからが日本語版人工無脳のオリジナリティーである。人工無脳理論の観点からは、我々が求めている会話は必ずしも理路整然としている必要はなく、むしろ論理を微妙に逸脱したところにあるジョーク、ナンセンス、毒といった会話における香辛料が重要であると考えている。従来の人工無脳は乱数をつかった自由度の高い文章生成やキーが不完全であることによる意外な発言などによってそれらを行なってきた。ただし乱数を使いすぎていたために会話の構造が散逸し、人間にとってはつまらなくなってしまっていたのである。人工無脳が目指すべき領域は、この秩序と無秩序の間のグレーゾーンに存在するのである。具体的には次のような例で示される。

あるユーザが前回ログアウトしてから次にログインするまでの時間を計測し、その期間によって挨拶を変える人工無脳Aを考えたとしよう。すなわち「始めまして」「またきたの?」「こんにちは」「久しぶり」というような挨拶を適切なタイミングで適切な相手に言うわけである。彼と比較するのは久しぶりに来たはずの相手に「また来たの?」、すぐに戻ってきた相手に「久しぶり〜」と答える人工無脳Bである。AとBとではどちらが面白いだろうか?

面白さという観点からは、Aは単にあたりまえというだけである。Bではなにか挨拶以外に含むところがあるような口ぶりが感じられて面白い。ここから発展する会話もいろいろ想像できそうである。この乱数と比べてどちらが面白いかという観点が人工知能にはない考え方である。人工無脳の製作者は一生懸命文献を調査して見つけてきた有用な理論を頑張ってアルゴリズム化するのだが、最後になって放棄してしまうわけである。しかしこれは理論を持ち込む前の状態に戻ることを意味するわけではない。なぜならそのアルゴリズムは乱数だけを使ってある程度エミュレートできるからである。そのヒントはモンテカルロシミュレーションにある44モンテカルロシミュレーション例:円周率を参照。前述の挨拶の例をとって説明しよう。チャットに人が訪れる頻度を時間ごとに計測すると、多くの場合Fig.1のようなヒストグラムが描ける。
Fig. 1 時間帯別ログイン数
これをやや強引に分類すれば、夜間に訪れる人7割、朝方1割、昼間2割となる。したがって、挨拶メッセージ$GREETING$を定義するならば、

$GREETING$ 今晩は,今晩は,今晩は,今晩は,今晩は,今晩は,今晩は,おはよう,こんにちは,こんにちは

となる。ここで辞書に複数の候補がある場合はその中からランダムに一つを選んで発言するため、$GREETING$を展開した結果は70%の確率で「今晩は」、10%の確率で「おはよう」、20%の確率で「こんにちは」となるのである。したがって、統計的に見れば最も頻度の高いユーザに最も確かな返事を返す仕掛けができ、そのうえたまには違った返答もするというアルゴリズムらしきものが実装できるわけである。ただし昼にくるユーザにはほとんどの場合間違った挨拶を返してしまうという問題点もあって、それらを解決する仕掛けを考案するのが今後の課題である。

もう一つの例として、体調の変化を考えてみよう。人間の体調はバイオリズムといわれるように何らかの周期性を持って変化していると考えられている。しかし本来はそのリズムは健康管理や季節の変化によって変動が生じ、フラクタル性を帯びることになる。ここでいうフラクタル性とは短い周期の変動ほど小さく,長い周期の変動ほど大きくなるようなパワースペクトルを示す信号のことを指している。人工無脳の体調もフラクタルに変化すればより自然なふるまいをすると考えられるが、フラクタルで単調でない信号を数学的に作るのは難しい。ところが人工無脳はそれを何の苦労も無く実行できる。たとえば、体調が次に変化するタイミング$NEXT$を前述のからくりを使って定義するとこのようになる。

$NEXT$ 100,10,10,10,1,1,1,1,1,1

要するに長い変化はたまにしか起こらず、短い変化は頻発するように出現確率をいじってやるわけである。以上示したように、乱数を用いた人工無脳はまだまだ研究が充分とはいえず、利用されていない潜在能力が眠っていると考えられる。

実装の観点から見ても、理論に基づいたロジックを構築するのは迂遠な作業で、それが完成に近づくほど人工無脳は退屈な存在になってしまう。乱数を基幹とする単純なシステムが生み出す、予想を超えた複雑な世界を引き出すのが、人工無脳開発の醍醐味といえよう。

もう少し現実的に

さて人工無脳の開発では人工知能のように脳のモデル化にこだわる必要はないため、人工知能技術を都合のいいように解釈して使うことができる。むしろ脳のモデル化というこれまでの方法論は心の表現に近づかないことが明らかとなっているので、逆に人工知能技術をその本来の目的に則して使うことはそのアプローチがすでにデッドエンドに向かっていることを示している。すなわち、技術は利用、方針は拒絶というのが人工無脳開発における原則といえよう。ここで技術とは人工知能技術にとどまらず、会話の方向性を暗黙のうちに操作してしまうような心理学的な技術、アクションやキャラクタ性、笑いなどを追求した演劇/演出の技術、そしてパロディやサブカルチャーなどの人の心を捕らえるあざといスパイスなども貪欲に取り込めばよいのである。

つぎに拒絶すべき方針とは何かを考えてみよう。人工知能の研究アプローチにはいくつも種類があるが、その中でニューロンモデルを使ったものを Fig. 2a に、言語機能に注目したアプローチを Fig. 2b に示す。

Fig. 2a. ニューロンモデルのピラミッド

Fig. 2b. 言語機能のピラミッド
Fig. 2a は基本の構成要素として脳の神経細胞をモデル化したニューロンを用い、脳が神経細胞から構成されているからそれらを並列・階層的に接続して高度なネットワークを構築してゆけば、いずれ脳の高度な機能が発現するだろうとする考えである。ニューラルネットワークでは文字や画像の認識などが可能であるが、今のところそれをいくら積み重ねても知性が発現しそうな様子はない。これは言語機能(Fig. 2b)についても同じような状況で、形態素解析による文節、品詞分け→構文木の生成→意味の理解と、それぞれ巨大なプログラムであるがまだまだ未完成の技術である。さらに膨大なパワーをかけて限定的な構文だけについて意味の理解が何とかできたとしても、わかったところでそれをもとに人工知能がどう行動すればいいのかについてはほとんど研究されておらず、発話の実現には遠い。

そこで人工無脳では人工知能の研究者が目指すようなボトムアップ型の考えをやめ、発話自体にルールを見出して実装し、それを補強するためにエゴや学習を取り入れるといった、トップダウン指向で会話の実現を目指す。開き直って知能の獲得を目指さず、逆にまったく意味を理解していないはずのプログラムが時折見せる鋭い発言を楽しむともいえる。Gomi55五味隆志,"新AIと介護ロボット", 日本ファジィ学会誌 13 [1] 28-39 (2001)はサブサンプションアーキテクチャーによる創発的動作、すなわち非知能的な単機能の集合こそが次世代のAIの姿であるとした。知能によらない知能的表現という意味では人工無脳と通じる部分があるといえよう。 Next Session:人工知能に学ぶ では人工知能業界で作り上げられた興味深いシステムを概観し、人工無脳にとってそれらがどんな役に立つのかを考えてゆく。 <

next:History of Chatterbot >> Next Session:Learn from AI