社外の目で一太郎Arkを評価する「Arkレビュー」、今回は、NTT未来研究所 主任研究員 風間一洋さんに評価していただきました。




風間 一洋(NTT未来ねっと研究所 主任研究員)

 学生時代に研究室のソファを寝床に毎晩プログラミングする生活を続け、NTT入社後さらに病状が悪化する。しかし、よる年波には勝てずに体を壊してからは、他のメンバーが腱鞘炎で苦しむのを横目に見ながら、よく健康管理という呪文を唱えて会社をサボって釣りをしている…という噂。現在NTT未来ねっと研究所で分散情報ナビゲーションの研究に従事。情報処理学会情報規格調査会Java Study Group委員。


原田洋子さんのおかげで、私は会社でメールばかり書いていて、ほとんど仕事をしていないだろうと疑っている人も多いようです(笑)。そこで、この誤解(?)を解くために、私の研究テーマを簡単に紹介しておきます。

現在、多くの情報がインターネットで公開されるようになりつつありますが、現在のサーチエンジンでは、インターネットの膨大な情報を収集して検索する基本機能は提供できていても、本当に自分にとって必要な情報を探し出すことは困難です。しかし、インターネット上の人間のネットワーク社会における行動や情報流通の様子は、ハイパーリンクや使用履歴など、さまざまな形で断片的に観測できる情報を整理、統合すれば知ることができますので、これから得られた情報を使ってユーザをサポートすれば、もっと簡単に情報を探す手がかりになると考えられます。私たちは、この考え方をソシオネットワークコンピューティングと呼んでいます。

Jerky(開発コード)という全文検索モジュールを使って運用しているサーチエンジンODINでは、この考えに基づいた技術を適用しています。また、私たちの研究のゴールは、インターネット上の情報を分散したサーバで管理し、効率よく分散情報探索をおこなうことができる新しいインフラストラクチャを世の中に提供することですが、Pinot(開発コード)という分散探索ツールキットでは、この概念を分散協調アルゴリズムにも適用する予定です。


ODINの検索例

なお、現在のメンバーは、元Ingrid研究グループだった佐藤進也と私、そして東京大学でODINを開発・運用していた原田昌紀の3名です。

サーチエンジン運用側としては、HTMLファイルは悩みの種です。たいていは、タグの使い方が間違っていますし、タグの対応が取れていないなどの根本的な問題も想定して処理するのですから、苦労を想像して頂けるでしょう。

また、検索結果表示に必要な題名がないとか、正しく付けられていないことも頻繁にあります。ODINではMETAタグをサポートしていますので、descriptionが定義されていれば要約として表示しますし、keywordsが定義されていれば、そのキーワードでも検索できますが、残念ながらこの機能を使う人は多くはありません。

これらの問題点は、初心者からエキスパートまで使いやすいHTML/XMLエディタが普及すれば軽減されるでしょう。どんな優秀な人でもタグを直接手入力すれば間違いますが、正しく実装されたエディタを使ってくれれば問題は起こりませんし、題名をつけ忘れ防止やMETAタグ入力サポートも簡単におこなえるはずです。さらに将来的にXMLが普及すれば、HTMLより情報を適切に構造化できますので、サーチエンジンもより高度な処理ができるようになるでしょう。

残念ながら、一太郎Arkはまだこのような情報を構築するためのツールと呼ぶには充分ではありませんが、その可能性の片鱗を覗かせてくれていると思います。

一太郎ArkはJavaの可能性と現在の限界を教えてくれる重要なアプリケーションです。「このようなアプリケーションがJavaで実現できるようになったのか!」と驚く人もいるでしょうし、「この程度の性能ならC++で書き直すべきだ」と言う人もいるでしょう。

実は、JerkyとPinotもJavaで記述されています。Pinotの前身のIngridはC言語で記述しましたが、アルゴリズムを改良する際に、佐藤から「Javaで再実装しないか」という提案を受けて迷った私は、まず原田にJerkyのプロトタイプをJavaで試作させることにしました。XMLやHTMLとの親和性や、多言語対応、さまざまなOS上の運用を考えるとJavaに移行するのは妥当で、問題は安定性と実行性能でした。このプロトタイプの性能は良好だったので、結局Javaに移行しました。

しかし、Javaはまだ充分に熟成されていないので、このようなJavaチャレンジを成功させるには、プログラミング能力だけでなく、Java処理系に関する充分な理解と、技術の進歩を見通して開発スケジュールを決める洞察力、適切な設計をおこなう技術力、そしてSunにバグを退治してもらうための交渉力などが必要になります。

ジャストシステムのチャレンジは、まだ満足な日本語処理ができない時に始まったので、日本語入力APIをSunと協力して設計することから必要でしたし、初期実装の膨大なバグと戦ってきて最終的な製品化に持ち込んだ開発力は素晴らしいと思います。しかし、実際のユーザの評価は技術ではなくプログラムに対しておこなわれることを考えると、ユーザの要求が厳しいデスクトップアプリケーションとしてはまだ改善の余地があります。特に一太郎Arkの今後の進展状況は、Javaアプリケーションの運命を左右する重要な試金石になるかもしれません。

この記事を読んでいるみなさんが目にする可能性の少ない一太郎Arkの重要な特徴が、国際化とマルチリンガル処理です。たとえば、中国語、韓国語リソースのプラグインはすでに試作されていますし、さまざまな国の言語を編集することもできます。テキストレイアウトをサポートしていないので、アラビア語のように文字を各方向が混在する言語が扱えないなどの問題は残っていますが、私が知る限りでは、現時点でJavaの国際化機能を活用している一番代表的なアプリケーションだと思います。

一太郎ArkをJavaで記述したことはOS的な少数派にとっては福音ですが、さらに正しく国際化され、かつマルチリンガル処理が可能なことは、少数派民族にとっても大きな福音になりますし、開発側も、より大きな市場を獲得できる可能性があるわけです。

さらに要求するとしたら、もっと使いやすくするべきです。マルチリンガル処理への配慮が、モノリンガルユーザにとってはインタフェースを複雑でわかりにくくする原因になっている部分がありますし、マルチリンガル機能も使いにくいと思います。これに関してはJavaの国際化関連の設計の問題点の影響も大きいので、Sunに具体的に実装を示して説得する必要があるでしょう。

一太郎Arkはまだ誕生したばかりで、さまざまな可能性は感じても、越えるべきハードルが多い未知数のアプリケーションであり、ゴールははるか先にあります。このように先進的で未知の部分があるようなソフトウェアの研究開発プロジェクトには長い時間が掛かるために、常にモチベーションを維持するのは非常に難しいことです。そこで、私は成功する鍵は「楽しむこと」だと思っています。つまり、知識を得ることを楽しみ、設計を楽しみ、プログラミングを楽しみ、使うことを楽しむことで、各人の能力が存分に発揮できるようにするわけです。

現在は、インフラとなるような基本ソフトウェアを育てるためには、技術を広く公開して多くの人と共有することが要求される時代であり、この点においては一太郎Arkも私たち研究プロジェクトも例外ではありません。一太郎Arkの開発者達が内部アーキテクチャやプラグインについて楽しそうに語る様子を見ていると、現在非常によい状態にあるのを感じますが、単に技術を公開するだけでなく、その楽しみ方も積極的に伝え、関係者が楽しめる技術に育てて頂きたいと思います。

すべての技術は人間を幸福にするために存在しますが、その技術を育てる人達も幸福になるべきですから。




風間 一洋 <kazama@ingrid.org> 2000年1月7日


「Arkレビュー」次回は、日本IBMの三上吉彦さんにご登場いただきます。