Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

phrase search



フレーズ検索について。

現在の、ハッシュ値を用いた手法をやめて、出現位置を普通に記録
する方法に変えた方がいいような気がしてきました。

つまり、現在のインデックスは各単語について、

  その単語を含む文書ID + スコア

という情報を記録し、それとは別にフレーズ検索用のインデックス
を持っていますが、これを

  その単語を含む文書ID + 出現位置のリスト

のように変えた方がいいのでは、という提案です。後者の方法では
フレーズを確実に検索できます。

  % cat =bigram
  #! /bin/sh
  perl -n0e 's/\s+/\n/gs;s/(\b\w+?\b)[\s\W]*(?=\b(\w+?)\b)/print "$1\t$2\n"/ge' 

  % cat COPYING | tr A-Z a-z | bigram | head
  gnu     general
  general public
  public  license
  license version
  version 2
  2       june
  june    1991
  1991    copyright
  copyright       c
  c       1989

  % cat COPYING | tr A-Z a-z | bigram | wc -l
     2988

  % cat COPYING | tr A-Z a-z | bigram | sort | uniq | wc -l
     2037

詳しい説明は省きますが (必要とあれば補足します)、上の実験か
ら、フレーズ検索に要するファイルの大きさは

  現在の手法 : 新しい手法 = 2037 : 2968

という比率になると予想できます。約1.5倍です (かなり大ざっぱ
ですが)。何か勘違いしているかなあ。どうでしょう? > 古川さん

-- Satoru Takabayashi