題名:Java Diary-51章

五郎の入り口に戻る

日付:2004/10/2

目次に戻る


Goromi-Part2(Ver0.2,0.3)

さて、Goromi Ver0.1を公開した後やることは決まっていた。英語対応である。何故英語に対応したかったかと言えばちゃんと理由はある。詳細は後述するが英語圏に向けてこのプログラムを発信したい、という理不尽な願望に燃えていたからだ。英語圏の人に向かって

「75と入力するとG-メン75がでてきます。面白いでしょう」

とはさすがに言えまい。

細かい話は別として、何が必要かと言えば英語の形態素解析プログラムである。文を単語にちょんぎって品詞を識別してくれるフリーのソフト。できればJavaで書いてあるといいなあなどと思いながらあれこれ探す。英語は今や世界共通言語だから山のようにみつかるだろう、と思ってみればこれが思ったほどみつからない。形態素解析は大変だということなのか私の探し方が悪いのか。

一つ見つかったソフトを試験してみたがあまりにも調子が悪い。もうちょっとましなのはないかと探してみれば望んでいた機能に近い物が見つかった。Javaで書かれており単語を区切って品詞に分解するだけではなく、原型に戻す処理までやってくれる。これを作ったのは誰だ、、と観ていくと見覚えのある髪型が。

2004年の一月のことだが、私は大西洋の某所に出張していた。そこでこの男を見かけたのである。ものすごい早口でしゃべりまくるアジア系アメリカ人とおぼしきその男の姿はあまりに印象的だったので、何者かと思い帰ってからネットで調べてみる。すると

「大学での全教科の平均点は5.0だよーん」(満点ということだ)

とか自分のProfileに載せている。あまり私生活ではお友達になりたくないような気もするが、そんなことはどうでもよい。とにかくそのモジュールを有り難く使わせて頂く。

あれこれやっているうちに英語対応が可能となった。その途端私の作業効率ががた落ちになった。もともと現実逃避にしか使えないプログラムだから、私の作業効率が落ちるということはGoromiの性能が上がったということである。日本語は全てのサイトで2番目か3番目かに使われている言語だというデータを観たことがあるような気がする(嘘かもしれないが、結構上位だったことは確かである)しかしやはり英語の圧倒的な情報量にはかなうべくもない。をを、こんな情報があったか。何、アメリカに潜水艦を地中に埋めたようなモニュメントがあるだと?などと無駄な知識ばかりがたまり仕事は進まない。

では公開してしまえ、とはならない。どうにも気になる点がいくつかある。たとえば表示されるイメージの数だ。検索結果が返ってくるとその中からイメージを取り出しダウンロードしているはずなのだがどうにもその数が少ない様な気がする。それまでは一URLあたり画像2枚にしていたのだが、4枚ダウンロードも選択できるようにする。しかしそれでも画像がちゃんと表示されている気がしない。

どうもへんだなあ、、と思いコードを見ていると何かとても妙なことをやっていることに気がつく。妙というか正確に言えば間違ったことをやっている。これじゃあちゃんと画像が表示されるわけがない。では直そう、と思うのだが、ただ上から落ちてきた画像が下に行くと消える、というのを順繰りに行うだけなのだが私の頭が雑なせいか結構面倒なのである。うーんうーんとうなりながらもなんとか動くようになる。

ほかにもいくつかバグをつぶしたのだと思うが覚えていない。かくしてVer0.2を公開したのは連休明けとなった。そこから私は二つの妄想にとりつかれ出したのである。

1月に行った学会でMITにHenry Liebermanという変な格好をした教授が居ることを知った。この男が担当している学生が発表をしたのだが、その最初は寸劇仕立てになっていて、休憩時間にそのリハーサルを一生懸命やっていたのである。

変なおっさんだなあと思っていたのだが後で聞けばその業界ではとても有名な人とのこと。あれあれ、と思っている間にその人の講演を聴く機会が訪れる。話を聞いてみるととても分かりやすく面白い。妙なおっさんだと思っていたのもどこへやら。すっかりファンになった私は彼が講演の中でしゃべっていたOpen Mind Databaseというものを調べ始める。これはいわゆる「常識」をやたらめったらかき集めた物だ。たとえば

dogs are mammals(犬はほ乳類である)

とかそんな文章が30万以上(だったと思うが)おさめられている。そんな切れ切れの文章を集めたところで何ができる、と思っていたのだがLiebermanはそうした限界を知った上で「それでも役に立つ場面はあるはずだ」と主張している。これをどうにか、、と思っている内

「Goromiを使っていて面白い、と思うのは意外な発見をしたときだ。意外な発見というのは常識でおしはかれないところにあるものだから、Open Mind Databaseを使い、「常識的なキーワード」を除けば面白い発見が出やすいのではないか」

と思いつく。例えば「共産」といれて「主義」がでてきても何とも思わないが「趣味」がでてくれば「これは何だ?」と思うわけだ。

となると私はあれこれやり始める。まずはこのデータベースをプログラムから利用できるようにせねばならん。いや、ちゃんとそのためのプログラムも用意されているのだが、なぜか動かない。正確に言えばJava版とPython版が用意されているのだが、私にとって必要なJava版が動かない。というわけでしょうがないから自分であれこれやり出す。この言葉とこの言葉は一つの常識の中で関係づけられているから、、とかなんとか。

最終的にはこのデータをGoromiに組み込み、ちょこっとは動かしたのである。しかしそのバージョン-Ver0.3としていたが-を結局公開することはなかった。理由は二つある。一つはGoromiが出してくるキーワードのうち、Open Mind Databaseで記述されている物があまり多くなかったこと。よく使われる単語はあらかたカバーされているのだが、単語というのは本当にたくさんあるのだなあ、と阿呆の如く感心する。

もっと本質的な問題として、いまいち「常識的なキーワードとそうでないもの」を区別することが有り難く思えなかったのである。いや、最初はなんだかいいんじゃないかな、と思って始めたことだができてみるとたいして面白くもない。実はこの頃もう一つの妄想にかまけてプログラムをいじる意欲が失せていたこともあり、結局そのままにしてしまった。ではもうひとつの妄想とは何か。

UISTというConferenceがあり、そこではユーザーインタフェースに関して新しい試みがたくさん発表される。去年は同じグループに所属する別の人間が参加した。この仕事をするようになってから知ったのだが、Conferenceにはあれこれ特質があるらしい。でもってある教授が書いていることによれば「UISTはノリがWISSに似ている。WISSで発表される内容はUISTにひけをとらないので、是非発表してほしい」と。

それを読んだ瞬間私の頭の中ではおなじみ短絡思考の火花が散る。よし、このプログラムをここで発表してやるぞ、と。とは思った物の論文の期限は過ぎているからDemo発表になる。WISSではただ手を挙げさえすれば良かったが、UISTでは2枚ばかりExtended Abstractを書く必要がある。名前は違うが短い論文のようなものだ。そして(決心した後気がつくのもなんだが)私は論文なるものを書いたことがなかったのである。(正確に言えば20年ほど前に卒業論文を書いているが)

でもまあ先の話だからのんびりやればよかっぺ、と意識の外に置いては来たがそろそろそんなことを言ってもいられなくなってきた。私が勝手に決めた自分なりのルールによれば、締め切りの一月前にはFirst Draftができていなければならない。さて、そろそろなんとかするか、と去年UISTで行われたデモ発表についてあれこれ調べ出す。

しばらく論文集というかそういうものをパラパラめくるとぱたんと閉じ、観なかったことにする。去年WISSに出したときも「ああ、こんなすごい発表の中で私のを発表してよいものだろうか」と思った物だが、今度はそれどころではない。この業界(何のことだか自分で書いていても分かっていないが)では名だたる存在のSony Computer Science Laboratoryの力作が2件ほど発表されている。Canadaの大学教授の発表もある。私が作ったのは依然として通勤電車プロジェクトである。

なもん通るわけないじゃないか、と出しもしない内からしょんぼりする。いや、ここでめげていてはいけない。ととにかく英文で書き出すのだが、(例によって)道のりは遠いのだった。

前の章 | 次の章


注釈