人工無脳って知ってる?

2019/02/16
藤田昭人

 

今回は僕の思い出話から…

人生初の人工知能

かつてパソコン(パーソナル・コンピュータ)がマイコン(マイクロ・コンピュータ)と呼ばれていた時代、もちろん任天堂ファミコン(ファミリ・コンピュータ)もまだ販売されてなかったので、多分1970年代末あたりの話だと思います。電子工作のオタク界隈では、数年前からブームだった社会人や大学生向けの「ワンボードマイコン組み立て講習会」を経て、もう少し低年齢層も取り込む「ケース入り完動品」が流通し、シャープやNECが家庭用マイコン(とは言っても価格は家庭用ではなかったので、お父さんがオタクでないと家にはやってこない)の製品化に踏み切ったあたり…だったはず?

マイコン少年だった僕はご多聞に漏れず、日々は創刊されて間もないマイコン専門月刊誌を隅から隅まで読み漁り、毎週末のように秋葉原に出向いては、店頭に陳列されているマイコンをいじくり倒すような日々を送ってました。その当時の秋葉原といえばマイコンが静かなブームで、その筋の店舗ではMZ80だとかPC-8001だとかがズラーっと陳列されていて、そこで動いているゲームの類(と言っても本当に陳腐なグラフィックスだったんですが)にはいつ行っても人集りをしている有様でした。そのなかに混じって英文字が数行のみ表示された地味なマイコンが置いてあったので、店員さんに「これ、何ですか?」と聞いたところ「英語で話をするゲーム」とぶっきら棒な返事が帰ってきました。当時「英語が破滅的にダメだったので理系」だった僕には "This is a pen." 以外に思いつくフレーズもなく、まごついていると、明らかに学生バイトのその店員さんの横から手が出てきてパタパタと英語のフレーズをいくつか打って「ほらね、こっちの入力にちゃんと返事するでしょ?」と得意げに語る。「これ、人工無脳って言うんですよ」と店員さんの超上から目線の解説に若干(いや、結構)イラっとしながら僕はその場を退散しました。

日頃、マイコン雑誌で(無駄に)勉強していた甲斐があって、当時の僕は秋葉原で見かける多くのゲームの仕組みは大変ざっくりと理解できていたのですが、この時ばかりは「あれ、どう言う仕掛けで動いているんだろう?」と帰りの電車の中で相当深く考え込んだ事を今でもよく覚えています。それが BASIC版ELIZAで、そして第1次AIブームでもっとも有名になった自然言語処理プログラムであった事を知ったのは、それからズーッと後の第2次AIブームのころなんですが、兎にも角にも、それが僕の人工知能の(ちょっと不愉快な)処女体験だったことは間違いありません。

人工無脳の歴史

 その後、僕は職業プログラマーとなったのですが、以来30年あまり、人工無脳とお近づきになるようなことはありませんでした。特にファミコン世代からギリギリ外れてしまって日常的にゲームをする習慣がなかった僕には、ゲームAIにおける人工無脳に関する知識は全くの皆無。と言うことで参考文献を漁ってみたのですが…ありました。

www.rutles.net

 

著者の加藤さんは1999年から20年間もプライベートで人工無脳の研究を続けておられるツワモノとか…

同書によると人工無能はEliza型、選択肢型、辞書型、ログ型の4つに分類できるそうです。Eliza型は「Rogersの心理カウンセリング技法を起源に持ち、傾聴が得意」、一方の選択肢型は「コンピュータゲームを始祖とし、柔軟性・即興性は低いもののキャラクター性やストーリー性が特徴」とするそうです。残る辞書型とログ型は両者の中間に位置するとのこと。また(日本国内では)年代的に次のような5つの時代に分けられるそうです。

1950〜1980

汎用コンピュータの時代

1980〜1995

スタンドアローンPCの時代

1995〜2005 ネットワーク化時代
2005〜2010 SNS・クラウドの時代
2011〜現在 人工知能商業化の時代

 

確かに1980〜1995はPCの技術革新と低価格化を背景に、コンピュータ・ゲームの需要拡大に伴い、選択肢型(当時流行ったドラクエのように次の選択肢を選ぶ?)の方式が急速に発展したことや、その後の1995〜2005はインターネットとウェブ・サービスの登場により、人工無能がゲームソフトから独立して単独のウェブ・サービスとして不特定多数に提供されるようになったことなど、僕の記憶や印象とも合致します。

また、選択肢型の始祖としてコロッサル・ケーブ・アドベンチャー(Colossal Cave Adventure)が紹介されていた事も収穫でした。BBNのIMP開発チームに所属していたウィル・クラウザーは洞窟探検が趣味だったで、PDP-10の上で動くこのソフトウェアはその体験をコンピュータ・ゲーム化したものなんだそうです。このゲームはアドベンチャー・ゲームの代名詞なんだそうです。そういえば1980年代に月刊アスキー(の別冊)が「表参道アドベンチャー」ゲームや「南青山アドベンチャー」ゲームをなど掲載していたこともありましたねぇ。選択肢型のキャラクター性やストーリー性が何となく理解できました。Eliza型とは「対話」のイメージがかなり違いますよね。

同書では、辞書型とログ型を組み合わせた Perl スクリプトによる人工無脳の実装解説も掲載されています。おそらく上記の「ネットワーク化時代」の実装なんだと思いますが、今日のPython, JavaScript あるいは PHP に慣れた若者には敷居が高いかもね(笑)

その反面、2005年以降の情報はあまり多くありません。利用者間のコミュニケーションを促進するSNSの環境にあって「人工無脳のプレゼンスは希薄化した」との指摘は正しいと思います。そもそも今日、SNSは共感を獲得するための媒体と見なされています。もちろん Twitter などではbotと思しきアカウントも多数見受けられるので「対話するプログラム」の需要そのものが低下したわけでは無いでしょうが、そこで人工無脳が期待される役割はチャットボットとしての側面が中心になっているような気がします。対話そのものを楽しむ状況がなければ、人工無脳の特徴が生かされることは少ないのでしょう。

ともあれ、同書は人工無脳の奥深い世界について具体的説明してくれる類書が少ない書籍です。僕個人的には知見が大きく欠落している技術領域の話が中心なので、大いに勉強になってます。実装解説もしっかり読まなくっちゃ。

人工無脳スマートスピーカー

と、まぁズーっと人工無脳とは全く無縁だった僕が、突如、人工無脳に執着し始めた理由はスマートスピーカーの登場でした。当初は「アマゾンで買い物するのにクリックの代わりに音声なんて…アホすぎる」と思ってたのですが、非常に低価格で購入できる事もあって、次第に「もうちょっと賢い使い方ができないの?」と考えるに至りました。

 スマートスピーカーのアプリ(スキルって言うのかな?)の開発者の世代では「対話」と言うとチャットボットのイメージが立ち上がるのでしょうか?スマートスピーカーであっても人工無脳の「対話そのものを楽しむ状況」が提供されても良いのでは無いかとフツフツと思ったりしています。

あの人工無脳は何処?

…と言う事で、冒頭でお話したように40年ぶりに人工無脳を思い出している次第です。取り敢えず、手っ取り早く動かせる実装については次の記事に書いたのですが…

akito-fujita.hatenablog.com

 

やはり40年前に僕が秋葉原で見たはずのスタンドアローンBASICのバージョンが気になり…調べてみました。Jeff Shrager がメンテナンスをしている The Genealogy of Eliza(http://elizagen.org/)よれば、彼が1973年に作った BASIC 版 Eliza は1977年にコンピュータ雑誌にソースが掲載されたとのこと。で、Internet Archive を探しまくったところ…ありました。

archive.org

 

この号の100ページから4ページに渡って、Eliza のソースコードと短い解説が掲載されています。僕と同世代のオールドファンには懐かしいですが、この当時ソフトウェアの著作権はあまり問題にされず、雑誌記事には読者から投稿のあったプログラムなどのソースコードがドーンと掲載されてました。当時のマイコン・オタクは雑誌が発売されると買って帰って、欲しいプログラムのソースコードをひたすら打ち込む。入力が終わってようやく動き始めた頃には雑誌の次の号が発売される…といったヘビーローテションを繰り返してました。

なお、BASIC版Elizaの動作環境はなんと "MITS 8K BASIC" です!! マイクロソフトが下記の MITS Altair のために作った最初のBASICインタープリターですが、シリコンバレーマイコンオタクたちの間で勝手にコピーされまくって、ビル・ゲイツが激怒したと言ういわく付きのアレですね(笑)

en.wikipedia.org


しかし、今思い返してみると1977年と言えば新作の洋画や洋楽の新譜が本国で発売されてから日本で発売されるまでに半年から1年も待たされる時代でした。もちろんインターネットもその前身のARPANETがNCPで動いていた時代(TCP/IPは開発中だったはず)。さらにマイコンはごく限られた一部のオタクのホビーでしかなかった時代に、1977年にアメリカの雑誌で掲載されたソフトウェアが、その1年あまり後には東京の秋葉原で日本の高校生の目に触れるところで動いていたと言う事実にはちょっと驚かされます。1970年代までのアメリカはそのくらい遠いところにあったし、にも関わらず、その距離を一気に飛び越えようとする当時のオタクの渇望にも似た熱量の高さを示しているエピソードかな?当時のコンピュータに関わる状況は今よりずーっとスリリングでした。

 

  

PS ちなみにBASIC版Elizaの作者であるJeff Shragerは過去のElizaの実装のコレクターとしても有名です。下記の彼の Githubリポジトリには様々な言語で書かれたEliza の実装が置かれているので、是非チェックしてみてください。

github.com