今回の日本語全文検索の問題点と改造方向

一応、ここまでで今回作成した日本語全文検索の紹介はお終いですが、問題点も多々あります。

1.元の文章から作成する索引が長すぎる。
  今回はテストの為、元の文章の文字数は制限されていて、全文をひとつの対象としていましたが、
  効果的とは言えません。明らかな区切りがわかる箇所では元の文章を分けて捉えるべきでしょう。

  →空白や、句読点により元の文章を分解してから、キー検索の為の作業をすべきです。

夏目漱石の有名な小説(草枕)の冒頭を例として挙げてみましょう。

 山路を登りながら、こう考えた。
 智に働けば角が立つ。情に棹させば流される。意地を通せば窮屈だ。とかくに人の世は住みにくい。
 住みにくさがじると、安い所へ引き越したくなる。どこへ越しても住みにくいとった時、詩が生れて、が出来る。

ここで、文単位に区切り、字下げである空白を除いて、句読点で分ける

  1件目:山路を登りながら
  2件目:こう考えた
  3件目:智に働けば角が立つ
  4件目:情に棹させば流される
  5件目:意地を通せば窮屈だ
  6件目:とかくに人の世は住みにくい
  7件目:住みにくさが高じると
  8件目:安い所へ引き越したくなる
  9件目:どこへ越しても住みにくいと悟った時
 10件目:詩が生れて
 11件目:画が出来る

この11件を同一キー(同じデータの検索結果のキー)として処理する。

   ここまでの分割だけで、形態素解析(辞書による分割)なんかしなくとも大丈夫ではないでしょうか?
   逆にこれは、日本語の強みかも知れません。

2.複合条件(○○と△△を含むデータ)の検索が実装されていない。
  今回はテストという事で、複合条件検索を含めていませんが、これは検索条件を空白区切り等で
  入力させる事で、プログラムを少し改造すれば実装可能だと思われます。

3.日本語独特の表現に対応出来ない。
  漢字のルビ(読み方)や、新旧字体、略字を使用している場合の対応が困難です。
  出来れば漢字が判らなくてとも読み方だけで検索出来れば良いのですが、
  検索文字とは違うという理由で今の所、これが出来ません。
  同じように、昔の漢字(かな)で出来ている文章を新しい漢字(かな)で検索する事も出来ません。
  これこそ辞書を使って、読みや新旧のどちらでも検索出来るような工夫が必要と思われます。
  新旧字体の変換ソフト等も出ているようですから、これは一考の必要があります。

4.あいまいさの検索
  Google の検索は良く利用しますが、難点は、複数の条件を検索条件に含めているのに、
  OR条件で検索結果に入ってしまうという点でしょう。AND条件の指定方法があるのでしょうか?
  私はAND条件での検索をして欲しいのですが、それが叶いません。
  とはいえ、曖昧さを含めたニュアンスとしての検索が出来ればいいとは思っていますので、
  Google のこれも、ありかな。と(笑)

5.索引を作成するのに必要となる領域が大きい
  これは、初めから判っていることですが、N−Gramの難点である索引の容量が大きすぎる事
  でしょう。今回のようにテスト的に作成するのは良いでしょうが、やはり現実的ではありません。
  特定のデータに関し、特定の用途での利用にしか適さないと思われます。それを考慮すると、
  この検索方法は、やはり現実的でない(笑)
  まぁ、現実的でないからこそ、こんな簡単に素人でも作成できるし、公開も出来るというものです。

最後に、実装にはやはりモジュール化が必要でしょう。簡単なパラメータのみで、登録や検索が出来ると
より便利になるとは思われますが、それにはまだまだ知識が足りません。まだ勉強を始めて1ヶ月も経って
いませんから、これからです。というか続けるのか?(笑)