スクリプツ・ラボ ホームページ > N-gram検索エンジン MindSearch > オンラインマニュアル > MindSearchFuzzyマニュアル


MindSearch概要



MindSearch Fuzzy の特長

曖昧検索
MindSearch では文字列を正規化することにより表記の差異を同一視できるような仕組みを持っていますが、MindSearch Fuzzy ではより踏み込み、文字列の一部の綴りが欠けていたり、逆に余計な文字が挿入されるなどされていても、全体として類似表現であればヒットとみなすような真の意味の曖昧検索を行うことができます。

大規模なデータの検索が行えます
最大2千万件のデータを高速に検索できます。(1本のインデックス作成制限は1千万件まで。複数インデックスの横断検索で2千万件まで対応)

日本語のための徹底的な正規化(キーの同一視)を行います
中黒(・)の有無、全角/半角の違い、英大文字/小文字の違い、漢数字と算用数字の違い、あるいは語中での改行、行頭の字下げなど表記の違いを徹底した正規化により同一視するため、見逃しがありません。

強力なカタカナの表記揺れ吸収
MindSearchは他の検索エンジンには見られない強力なカタカナ表記の揺れを吸収します。キーワードとしてどちらか一方のみを指定すれば、両方の表記を見つけることができます。
同一視処理は辞書を持つのではなく純粋ロジックにより行っているため、辞書のメンテナンスが不要なだけでなく、次々と現れる新語──たとえば商品名や人名──に対しても有効に働くというメリットがあります。

コンポーネント形態での提供
Mind Search自体は存在を主張しません。すべての機能はAPI経由で利用でき、ユーザが開発するアプリケーションにシームレスに組み込むことができます。インデックス作成のようなツール的作業もスクリプトから自動で行えます。

Perl, Java, PHPから容易に駆動可能
Perl, Java, PHP向けにアプリケーション用の通信ドライバを用意しており、簡単にMindSearchと通信を行うことができます。


MindSearch III との違い

 MindSearch Fuzzy はデータベースなど、多量・短文のテキストを全文検索する目的のために開発されています。そのようなデータでは1件のテキスト長が短いため、MindSearch III で備わっていた「センテンス内AND」という特徴‥複数のキーワードが指定された場合に同一文脈内でそれらが共に表記されている箇所のみ見つける機能‥はそれほど有効ではなく、その機能をあえて削除することで高速化を実現しています。


MindSearch Hyperの機能 (MindSearch Fuzzyのベースとなった製品)

1.対象データ

 データとして以下のものをサポートします。

  ・プレーンテキスト
  ・HTML
  ・Office文書(外部フィルタ使用)
  ・データベース内のデータ(ダイナミックデータ)

2.文単位による検索

 デフォルトでは1つの文が続いているあいだは行末を連結し、行頭・行末の空白を除くなどして、1本につながった「文」にしてから検索します。
(原文の例)
―――――――――――――――――――――――――――――
□□□□皆さんの身近にある「ねじくぎ」、そうですあのドライ
□□□バーでまわす「ねじ」です。あの「ねじ」も昔はマイナス
□□□ねじばかりで、チョイト強く回すとマイナス部分が崩れて
―――――――――――――――――――――――――――――
            (重田暁彦氏「特許の話」より引用)
 上の例では「ドライバー」が2行に分断され、かつ、途中に空白が挿入されているため、行指向の多くの検索ソフトではこれを発見できませんが、MindSearch では文単位処理をおこなうことで正しく検出できます。

3.設計方針

 MindSearchは単に指定されたキーワードが物理的にマッチングするという視点ではなく、実務においていかに意図した通りの要求に応えられるかに注目して設計されています。
 MindSearchは日本語の意味には深入りはしませんが、かといって数学的に符号の一致のみを見るというのでもなく、中間的な方法といえます。日本語の特質を強く意識するものの、最終的には機械的処理でおこなえるものに手法を限っています。この方法が現時点での検索手法としてベストと判断しました。



Copyright(C) 2000-2009 Scripts Lab. Inc.