[Namazu-users-ja 560] Re: フレーズ検索の精度についての質問

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 11月 15日 (火) 17:09:20 JST


寺西です。

# いろいろ複合的な問題を含んでいるのですが...。

以下、フィールド検索を除いた本文検索の話です。

中辻真 wrote:
> 
> namazuのフレーズ検索の精度に関して,質問したく存じます.
> 
> 現在,Fedora Core 4上で,namazu 2.0.14を用い,
> フレーズ検索をしているのですが,どうもいい精度を得ることができません.
> 
> 例えば,jazz歌手のチャールズ・ブラウンをターミナル上からフレーズ検索しますと,
> 以下のような結果が得られるのですが,実際,チャールズ・ブラウンという文字列
> がでてくるのは,そのうち2件だけです.

フレイズ検索で "{チャールズ・ブラウン}" と指定するのは正しくはない
のですが、これは "{チャールズ ・ ブラウン}" と指定したとみなします。

フレイズ検索は、2語以上からなる複合語を検索する機能ですが、検索精度は
そもそも 100% ではありません。

実際の動作は、
http://www.namazu.org/doc/nmz.html.ja#p
にあるように、 "{チャールズ ・ ブラウン}" で検索すると、
 "チャールズ ・" と  "・ ブラウン" を含む文書がヒットします。
また、ハッシュ値の衝突により不適当な文書がヒットすることもあります。

このため、

> チャールズ・M・シュルツとか,ジャッキー・ブラウンなどといった人たちが,
> 誤ってでてくることが多く,(同じ文書中にブラウンとチャールズがあると
> アンド検索してでてきてしまう)困っています.

となります。これは仕様です。

> チャールズ-ブラウンとして,"-"をはさめば,
> チャールズ・ブラウンもチャールズブラウンもチャールズ ブラウンも検索結果
> として返してくれ,フレーズ検索としての精度も高いので,namazuにも
> そういう機能があるのではないかと思っています.

空白で単語を区切っているのをまとめて検索はできませんが、
"チャールズ・ブラウン" や "チャールズブラウン" を検索するのであれば、
正規表現検索で、 "/チャールズ・?ブラウン/" と指定すればできます。
ただし、辞書に "チャールズ・ブラウン" が登録されていなければ
なりません。(それは kakasi ではできず、ChaSen を使わなければ
ならないでしょう。)

もし仮にmknmzを改造することで、インデックスを作成する際に "・" を
削除してよければ、"{チャールズ ブラウン} or チャールズブラウン" と
入力すれば、目的は果たせるような気はします。 
また、その場合は

> 今,私がnamazuを用い実装しようと思っているソフトでは検索結果が80%

そのソフト側で、"チャールズ" "ブラウン" という2語から
"{チャールズ ブラウン} or チャールズブラウン" という検索式を作り
出して、namazu に渡せば良いでしょう。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-users-ja メーリングリストの案内