World Wide Webの検索を支援するシステムの構築
A system for aiding users in retrieving data on World Wide Web

広島大学工学部
○今井克暢
Faculty of Engineering, Hiroshima University
○Katsunobu Imai

Abstract. Today, there are many World Wide Web (WWW) servers on the Internet and it is very difficult to get proper informations from WWW. Of cource we can use WWW search engines which make index of pages on WWW and allow users to search WWW pages. But users are bothered to maintain their searching results, because pages on WWW are updated frequently. So we constructed a system to aid user in maintaining their searching result, using mailing lists and a WWW server.

はじめに

インターネットの普及の勢いには驚くべきものがあり,特にWorld Wide Web (WWW)による各種データの提供を行っているサーバはほんの短期間の間にばく大な数にのぼっている.そのため,もはや何らかの検索手段なしには目的のデータを見いだすことができない.

そこで,単なるサーバのリストを与える電話帳的なサービスだけでなく,各ページに含まれるすべての単語自体を検索対象にできるWWW検索エンジンも多数提供されるようになっている. WWW検索エンジンは必要な情報がキーワードを入力するだけで得られ,各種作業を行う上で非常に有益である.しかし得られるリストが玉石混淆である上,従来の文献とは異なり提供されるページ自体が日々更新されるため,検索結果の中から必要なデータが置かれているサーバを見つけてそのページへのポインタ(URL)を保持し,更新に気を配ることは大変な労力を伴う.また,多数ある検索エンジンを使い分けることも必要であろう.

そこで,本報告ではWWW検索エンジンの検索結果の履歴を保持し,検索結果間の演算や定期的な更新の監視を支援するシステムのプロトタイプを構築する.実際のシステム構築にあたってはデータベースにメーリングリストとWWWサーバを組み合わせて用いた.また検索エンジンにはDEC社のAltaVistaサーバ See Also: Alta Vista: http://altavista.digital.com/ を対象にした.

WWW検索エンジンとその利用

検索エンジンはWWWで公開されているページのインデックスを自動的に作成し,ユーザがキーワードを入力することで,そのキーワードを含むページへのURLのリストを返すサービスである.この節では個人または小グループで行っている作業を支援するために検索エンジンを用いる場合に問題となる点について考察する.

  1. 検索キーワードを選定する

まず,必要としている情報に関係のあるキーワードをアドホックに選択し,それをもって検索する.結果に数千ものページが含まれるようであればその検索は現実的ではないことになり,さらに絞り込んだ検索キーワードが必要になる.またキーワードを満たすページがひとつもなければそれもまた意味のない問い合わせだったことになる. See Also: A searching result by AltaVista はAltaVista検索エンジンによる検索結果の一例である.この検索例では91件のページが得られており,最初の10件だけが表示されている.引き続く検索結果を表示することも可能である.この程度のページ数であれば,意味のある検索結果と言うことができる.
  1. A searching result by AltaVista

  1. 検索結果から必要なページを表示する

次に検索結果からページのタイトルやサマリー,その文書の所在,更新日時などを見て,真に自分が必要とするデータがあると思われるページを選び出すことになる.ところが,目的のページの置かれたサーバが一時的にサービスを停止している場合や,ネットワークが混雑してページの表示に極端に時間がかかる場合もある.そこでユーザが検索結果の中から前もって指定した複数のページを,ユーザに変わって獲得し,処理の終了後にユーザに通知する機能が必要である.

  1. 検索結果を更新する

検索エンジンのデータは常に更新され続けており,何らかの組織的な作業のために必要なデータを得る場合には,新たに追加されるページを定期的に調べることが必要になる場合も多い.さらに一度出版されると更新されることがほとんどない従来の文献と異なり,すでに存在しているページも常に更新・削除される可能性がある.そこで,この煩雑な更新の監視を支援する機能が必要である.

  1. 検索結果を保存する

更新を監視するためには以前の検索結果との比較が必要である.そのためには検索結果の履歴を保持し,必要に応じて提供されているデータを保存管理しなければならない.やみくもに保存するだけでは,検索結果や検索から得たページのURLやそのHTMLファイルを蓄積しておくディレクトリに多数のHTMLファイルが保存される結果になったり,WWWブラウザの bookmarks のメニューに多数のページへのリンクが保存されて,どれが必要なデータであるのか混乱することも多い.これでは,さらに自分の検索した結果に対して,同様の検索エンジンが必要になりかねない.

検索結果の履歴を保存するには膨大な容量が必要である.そかも,大部分は不要なデータによって占められる.実際,われわれにとって本来保存すべき部分は検索した結果ではなく,ユーザが行った行為に関わる部分であろう.検索日時,問い合わせに用いたパターン,検索結果の中で実際に参照したページのURL,その検索を何を目的に行ったかと言うようなデータを格納し検索できるようなデータベースと,検索結果自体を保持する一時的な記憶領域とを分離する必要がある.

  1. 検索結果へ注釈を付加する

検索結果を利用するにあたり,あるユーザが得られたデータに関する注釈を付加し,グループ内の他のメンバーに回覧する使われ方が多い.さらに,回覧に対して別のメンバーが注釈を追加することもある.また,AltaVistaを含め主要な検索エンジンは,検索結果に修正を加えたものの公開は許していないので,何らかの処理を加えた結果を自由に公開することは出来ないため,注釈だけを分離し,他のメンバーに通知する機構なども必要である.

以上のような,作業における問題点を改善するため,特定のページの更新を監視して更新されたらユーザに知らせたり,ユーザの状態をある程度保持し続けることで水準の高いサービスを提供する検索エンジンなどの試みもあるが,根本的な解決にはいたっていない.WWWが接続のセッションごとに独立したサービスを不特定多数に提供することを当初の目的にしていたこともその一因であろう.

必要なことは検索の履歴をデータベースに残し,しかもそのデータベースは作業に携わる個人やグループのメンバーが注釈を付加したり検索しやすいものでなければならず,かつメンバーに対してデータベース側から更新時などに通知を出せるものでなければならない.

上述の要請のいくつかを満たすために特定のデータベースシステムを用いた専用システムを構築することもできるだろう See Also: T. Kiriyama, A. Kubota: The RACE Asynchronous Collaboration Environment Project, IFIP WG5.2 Knowledge Intensive CAD-II, Sep..1996 .しかし異なる計算機環境のメンバー間で作業を行う場合にはシステムの選定は困難を極める.そこで本報告では,インターネット上ではもっとも一般的に用いられているメーリングリストとWWWサーバのみを用いて上述の作業支援を行う環境を構築した.すなわち検索結果の一時的な蓄積にはWWWサーバを用い,注釈の蓄積やメンバーへの通知などは,すべてわれわれが従来用いているプライベートなメーリングリストを用いた.

グループ作業用メーリングリスト

前節で述べたように,われわれはWWW検索エンジンからの検索結果を保持するためのデータベースとしてメーリングリストを用いている.本節では,そのメーリングリストについて簡単に説明する.

電子メールは日付と名前が自動的に挿入されるため,メーリングリストは「ライトワンス」なもっとも簡単なデータベースと考えられる.またメンバー全員にコピーがメールとして配布されるため,いったん蓄積されたデータはディスククラッシュなどで完全に失われる危険性が非常に低い.従来のメーリングリストにおいてはメールアドレスによって議論のテーマを分ける場合が多いが,われわれはユーザのグループを分けるにとどめている.すなわちメーリングリストのアドレスを複数用意することにより,ある特定のグループだけに対してメールをだすことができるようになっている.また,データベースの要素としての再利用を容易にするため,メールの内容に対していくつかの制約を課している.このメーリングリストにおいてのデータの基本単位はメールではなく,高々3個のサブジェクトを持つひとつのテキストブロックである.サブジェクトは,セクション,サブセクションを示す記号「◎○・」とIDナンバー付きの トピック名によって構成される.ひとつのメールは複数のサブジェクト付きテキストブロックを持つ.また別の文書からの引用時に引用先を指定するプロトコルを決めている.これらの規約のため,簡単な処理によりテキストの接続関係を自然に反映したHTMLファイルに変換でき,WWWブラウザによりメーリングリストのアーカイブを参照できる.

実際のメールの例( See Also: A mail of our mailing list )と,HTML変換後の表示例( See Also: A html file converted from a mail (Fig. 2 ) )とを示す.引用部分を自由にたどることができるので,議論の流れを殺すことがなく,データの再利用が行いやすい.またメールの段階で引用先を明示しているため,HTMLへの変換時にプライベートな記述の部分や著作権に抵触する引用部分とそれ以外を分離できるので,限定的ではあるにせよ他者に公開することが可能である.複数のユーザ間で協調して電子メールやニュースのデータに意見をつけ加えることで情報のフィルタリングや再利用の促進を図るシステムとしてはTAPESTRY See Also: D. Goldberg, D. Nichols, B. M. Oki, D. Terry: Using Colaborative Filtering to Weave an Information TAPESTRY, Comm. ACM, Vol. 35, No. 12, pp.61-70, Dec. 1992 があるが,プライバシーに問題があった.しかしわれわれのメーリングリストでは,メールを出すアドレスを選択することで,その問題を限定的ではあるが,回避できる.
  1. A mail of our mailing list
  1. A html file converted from a mail ( See Also: A mail of our mailing list )

以上のような特徴を持つメーリングリストに,検索エンジンの検索結果のURLや注釈を蓄積することにより,検索エンジンやページ引用に関する著作権の問題を回避できることになる.

検索エンジン用フロントエンドの制作

実際に検索エンジン用フロントエンドを作成するに当たっては Common Lisp上のWWWサーバの実装であるcl-httpを用いた.cl-httpは,http1.1に準拠した高機能なサーバのひとつであり,computed-urlと呼ばれるページの生成方法に特徴がある.これは,従来のWWWサーバにおいて用いられる Common Gateway Iterface (CGI) と異なり, Common Lispの関数を定義することにより,直接cl-httpサーバの機能を拡張することができる.そのときcl-http内部に定義されているライブラリなどを自由に参ヌヌエヌネヌヌノTナ[ノoヌテ紂\臠」ヌe'ヌヌサヌネナD

このcl-httpを用い,ユーザの検索の指示によって検索結果すべてをファイルとして格納し,ユーザが注釈を付加した後,結果へのポインタをメーリングリストへ通知するシステムを構築していヌネナD襞裙ヌテヌヌヌ鑢メヌ,裙釿ナCヌテ検出機能などを持っている.

なお,現在運用中のプロトタイプは,

http://kelp.ke.sys.hiroshima-u.ac.jp/test/projects/search-clinent/

で参照可能である.

おわりに

WWW検索エンジンを有効に利用するための簡単なシステムの構築について報告した.本処理系の客観的な有効性を議論することは出来ないが,処理系の作成に関する主要部分の議論はすべてここでのべたメーリングリストと処理系のプロトタイプとを利用することで行われており,上記のURLから参照可能である.

最後に議論と実装に協力してくれているメーリングリストメンバーに感謝する.

参考文献

  1. Alta Vista: http://altavista.digital.com/
  2. D. Goldberg, D. Nichols, B. M. Oki, D. Terry: Using Colaborative Filtering to Weave an Information TAPESTRY, Comm. ACM, Vol. 35, No. 12, pp.61-70, Dec. 1992
  3. T. Kiriyama, A. Kubota: The RACE Asynchronous Collaboration Environment Project, IFIP WG5.2 Knowledge Intensive CAD-II, Sep..1996