WWW の日本語全文検索エンジン Verno

VERNO


上田研では、ここ数年 Verno という日本語全文検索エンジンに血力を注いで きました。ここではその全貌は説明できないにしろ、その一端を紹介したい。

WWW 検索エンジンとは…

WWW に存在する情報は膨大で、リンクをたどるだけでは必要な情報にたどり着 くことが困難なので、WWW にある文書からさまざまな条件で検索できるように する、そいつのこと。 (cf. Google, AltaVista, goo, InfoSeek(JP), Yahoo!(JP) )

大目標

Verno の目標は、他に類を見ない検索エンジンを作ること。基礎的な 検索能力では AltaVista や goo には敵しがたいので、もっと高度に知的な 検索要求に応えられる検索エンジンが必要になってくるはずである。 文字列以外の部分にも注目してユーザの検索イメージを忠実に 実行する方法を研究している。

現在の技術

構成

システム構成

全国版:1U server(PenIII 1.2GHz&Mem 512M) x 4台
学内版:1U server(PenIII 800MHz&Mem 512M) x 1台
web server
研究用に、メモリを8G積んだマシンや、 storageを1テラ以上積んだマシンがあります。 これらはオンメモリDBや、1台で処理する限界に挑戦するために使われています。


左側がvernoの現状(汚い?)

過去の卒論、修論紹介

2003年
title:全文検索システムVernoにおける主記憶インデックスVISAの設計と 実装
概要:複雑な検索条件下における検索時間の短縮、ディスクアクセスの減少による システムの安定化を目的とし、WWW全文検索に必要なインデックスを予め全て 主記憶に記録した状態でシステムを運用することを試みた。
キーワード:Suffix Array、VISA

title:WWW全文検索システムVernoにおける主記憶検索言語の設計と実装
概要:早稲田大学内の約97000 ページを対象とし、従来のVerno で用いられていた 主なデータ、そして、SXML データを、Scheme 処理系にネイティブな形で共有 メモリセグメント上へ展開し、常駐化させた。そして、これらのデータを Scheme 処理系SCMから利用出来るよう、従来と互換を残すプリミティブ関数や、 SXML データを利用するための実装を行い、また、試験的に1-gram 方式インデ クスの導入を行った。
キーワード:SXML、SXpath

2002年
title:高性能WWWページ収集ロボットIron34の設計と実装
概要:マルチスレッドによる並行動作、select()による入出力の多重化、非ブロッ キング接続によって高速なページ収集を行うこと、大規模な収集に耐えること を可能とするために、保存の際にはハッシュを用いたデータベースライブラリ を使用する高性能WWWページ収集ロボットIron34の開発を行った。
キーワード:マルチスレッド、入出力の多重化、非ブロッキング接続

2001年
title:WWW全文検索システムVernoにおける要素構造データベースの設計と実 装
概要:全文検索を指定したHTML要素内に限定して行えること、要素同士の包含関係 を検索に利用することを目的に、収集ロボットが集めたタグのデータを解析し、 文書中のHTML要素の位置と、要素同士の包含関係からなる構造についてデータ ベースを構築した。
キーワード:要素構造データベース

title:WWW全文検索システムVernoにおけるリンクデータベースの設計と実 装
概要:収集ロボットが集めた文書の持つリンク構造についてのデータベースを構築 するプログラムを実装した。さらにプログラムを書かなくてもリンクデータベー スからリンク情報得られるようなCGIスクリプトを用意し、WWWブラウザ上から リンク構造を閲覧したり、検索結果を被リンク数でソートして表示することの できるページを作成した。
キーワード:リンクデータベース、タグデータベース

title:形態素解析とTF・IDF重み付けを用いた検索結果表示スコアデータ ベースの構築とその評価
概要:収集ロボットが集めたデータを基にして、日本語形態素解析ソフトウェア、 茶筅を用い形態素解析のデータを構築した。また解析したデータを基に検索結 果表示に関するスコアリング、タイトル部分の索引語にTF・IDFによる重み付 けを行い、これらを組み合わせたスコアリングのデータベースを構築した。
キーワード:形態素解析、TF・IDF

2000年
title:WWW全文検索システムVernoにおけるタグデータベースの設計と実 装
概要:収集ロボットが集めたデータを元にして、HTMLタグの要素名についてのデー タベースを構築するプログラムを実装した。さらに、そのタグデータベースに 対して、検索言語サーバを介してアクセスするための検索部分を実装した。
キーワード:タグデータベース

1999年
title:WWW検索システムVernoにおけるデータマイニングの実装と評価
概要:Verno検索結果の各文書内に出てくる単語の出現頻度と組み合わせから、デー タマイニングの技術を用いて文書間の関連性を定義し、文書群をその定義に基 づいて実時間で自動的にクラスタリングするシステムの実装を行った。
キーワード:データマイニング、クラスタリング

title:WWW全文検索システムVernoにおけるN-gramデータベース検索の最適化
概要:VernoにおけるN-gramを用いたインデックスデータベースで、キーワードを 構成する索引単位において絞り込みに用いる順番を変えることにより、検索の 最適化を行った。
キーワード:インデックスデータベース、転置索引方式

title:WWW全文検索システムVernoにおける検索言語の設計と実装
概要:WWWの全文を検索するにあたり、ユーザーが検索条件を自由に設定できるよ うにするため、WWWの全文を検索できる能力をもったプログラミング環境をそ のままユーザーに提供するソフトウェア設計し、実装した。
キーワード:検索API、fhandle、w3grep

参考リンク

vernoはここで公開中。 インタフェースとしてはこのWWW上のもの以外に、 w3grep という、UNIXシェル上で動く検索ソフトウェアがあります。
検索エンジンは堅忍不抜

1999/05/28 watanabe@ueda.info.waseda.ac.jp
Verno-ML: verno@ueda.info.waseda.ac.jp