◆ 全文検索エンジン Namazu 評価レポート

2003. 4.5 作成
2003. 4.5 改訂


なんとなくシリーズ化してしまった、サイト内検索エンジンに関するコンテンツ。前回はナマズ Namazu の導入に踏み切ったという話を書きました。

今回は、そのナマズ Namazu を実際に使ってみての評価について書いていきたいと思います。ニュージーランドとはまったく関係ないコンピュータの話ですので、興味のある方、サイト内検索導入を考えているウェブマスターさんだけ、お読みください。

まず結論から言いますと、Namazu は「他の検索システムにはないメリットは絶大だが、分かち書き辞書の問題から、取りこぼしや精度に難があるため、100%の満足は得られていない」といったところです。そのため、「ニュージーランド・トランピング&温泉情報」のサイト内検索システムとしては、引き続き Namazu と msearch の併用という形で運用していきたいと思っています。

■ Namazu のメリット・デメリット

メリット

  • キーワードの出現数(スコア)順に結果を出してくれる
  • ほぼすべての文書ファイルを検索可能(txt、html、PDF、Excel、Word、PowerPoint、一太郎等)
  • アンカータグ毎に結果出力できるので、長文が多いファイルが多いときに便利

デメリット

  • parl版ではやや動作が遅い(msearchと比べて)
  • 「分かち書き」のため、取りこぼしや期待通りの検索結果がでないことがある
  • 検索表示結果が、対象ファイルを要約したサマリーになるため、文書中で、キーワードがどのような形で登場しているのかがわかりにくい。
  • 設置が煩雑
  • 更新の度にインデックスファイルが不要に肥大化する傾向がある

■ msearch のメリット・デメリット

メリット

  • 検索が速い
  • 結果表示には、キーワードを含む数行が表示されるため、サマリーを見ただけで、そのページの有用性をある程度判断できる。
  • 設置が容易(CGI掲示板が設置できる人なら問題なく設定できるはず)
  • ウェブ上でインデックス更新できる
  • シンプルなgrep検索なので、キーワード文字列そのままが確実に検索される
  • 検索結果画面のカスタマイズが容易

デメリット

  • インデックスファイルが長大になったとき、検索速度は Namazu に負けるかも...
  • アンカータグ毎の検索ができない
  • キーワードの出現数(スコア)順での表示ができないため、検索結果数が多すぎると検索の意味があまりない。

考察

上に列記したなかから、重要な点をピックアップして説明していきます。
まず、私が使ってみての Namazu の最大のメリットは、PDFの検索ができる点、アンカータグごとに結果を出力できる点です。特にアンカータグの件については、アンカー数が多いと、結果件数が増えてしまって余計わかりにくくなるという心配がありましたが、それでもスコア計算によって、もっとも重要と考えられる部位が優先表示されるために、それほど大きな問題とは感じていません。

Namazu の決定的な問題−取りこぼし

しかし、決定的に問題だったのは、「取りこぼし」があるという点です。例えば「管理人」というキーワードで検索した場合、 Namazu では25件がヒットします。(2003年4月5日現在)。

次に「管理」というキーワードで検索した場合ですが、ふつうに考えれば、ヒット数は増えるはずですよね。「管理人」でヒットするページに加えて「管理者」とか単に「管理」という単語でもヒットするはずですから。ところが、なぜか結果は14件と減ってしまうのです。最低限「管理人」でヒットした25件はあって然るべきですが、そうならない不自然さ。

これは Namazu ならではの検索アルゴリズムに起因するようです。 Namazu でインデックスされる文はすべて単語ごとに分割して登録されます。例えば、「東京特許許可局」という複合語の場合、単語毎に"東京""特許""許可""局" と4つに分割されて検索されます。そのため東京特許許可局という固有名詞に限らず、「東京にある特許を許可する局」というような文字列があるファイルもヒットすることになります。

これはある意味、曖昧検索として機能しているともいえ、メリットとも考えられますが、私はどちらかというとデメリットに感じています。

単語の切り分け方が問題で、どこで語を区切るかによって、思い通りの結果にならない状況が出てくるからです。それが先ほどの「管理者」と「管理」の差に現れています。

分かち書きソフト kakasi

通常、この単語を区切る処理は カカシ kakasi と呼ばれる日本語分かち書きソフト(Namazu 導入時に一緒にインストールする)が行なっています。kakasi が参照する辞書にそって文章が切り分けられるわけで、反対に言えば、kakasi の辞書に載っていない単語は正しく検索できないということになってしまいます。

先ほどの「管理人」と「管理」の問題の種明かしをすれば、kakasi のオリジナル辞書では、「管理」と「管理人」は別の単語として登録されているのが原因です。「管理人」として、単語が切り分けられてしまえば、それが 管理+人 で構成されるとは認識してくれないのです。これを Namazu の癖(厳密には kakasi の癖)として理解して使うのならいいのですが、一般の検索エンジンとは少し異なるので、絞り込み検索をしようとしたときに問題となる場合が出てくるかもしれません。

kakasi に標準でついている辞書は、おおむね一般的な日本語は網羅されているようですが、専門的な内容を扱うサイトの検索には力不足の場合も出てきます。医学用語などのkakasi用専門辞書がネットで出回っているのはそのためです。

自分で辞書に単語を登録することも可能ですが、ここでまた問題があって、kakasi には基本的に漢字で始まる単語しか登録できません。カタカナ語やひらがなでの登録はできないのです。これは kakasi というソフトは本来、漢字→かな(ローマ字)変換プログラムだからです。それを Namazu が分かち書きに流用しているというのが実状のようです。(kakasiという不思議な名称は、kanji kana simple inverterの略)

連続したカタカナ語の場合はひとつの単語と見なされるようなので、さほど問題はありません。しかし、例えば子供向けの平仮名ばかりのサイトの場合、検索はほとんど有効には使われないのでは...という気がします。

とあるサイトで指摘されていましたが、「○○からのお知らせ」といった文の場合、「○○」「からのお」「知らせ」と分かち書きされてしまい、「お知らせ」ではヒットしないという問題も実際にあるようです。

まとめ

このように、検索精度で問題がある以上、 Namazu 一本で運営するには、ちょっと不安が残ります。そこで引き続き拙サイトでは、msearch を併用しています。探したい単語、フレーズがはっきりしている場合、 msearch なら、まず確実にヒットしますので。まあ、そこまで厳密さが必要なモノでもないので、単に作者の趣味といっちゃ趣味なだけですが(^^;

こうした取りこぼしの問題は、 厳密には Namazu 本体ではなく、日本語分かち書きに利用している kakasi の問題です。 Namazu では分かち書きに ChaSen(また不思議な名前ですが)という別のソフトも使えるようですが、こちらはなにかと導入が難しいようで、今のところ、手を出せずじまい。

日本語にこだわった検索をしたい人は Namazu +ChaSen というのが王道のようです。その辺は、またサイトが大きくなって処理速度や負荷の問題で Namazu 一本でいかなければならなくなってきたら、考えていこうと思います。

( 秋場 研 2003.4/5 )


バックパッカー旅入門コースガイドNZの山事情温泉情報ワーキングホリデー  MENUNEXT  HOME

ニュージーランド・トランピング&温泉情報(by秋場研)
Copyright © AKIBA Ken
e-mail : AKIBA_Ken