全文検索の仕組み

全文検索機能の仕組みには、「順次検索方式」、「転置インデックス方式」の2つがあります。

・順次検索方式の特徴
・インデックスを使わない検索なので、すぐにでも検索を実行できる。
・大量ドキュメントの検索では膨大な時間がかかる。 
利用例)grepコマンド 
・転置インデックス方式の特徴
・検索を実行する前にインデックスを作成しておく必要がある。
・大量ドキュメントでも高速に検索することができる。

・転置インデックスの作成方法
1.形態素解析を行う
①.分割
すもも/も/もも/も/もも/の/うち
②.品詞/活用の判定
すもも(名詞)/も(助詞)/もも(名詞)/も(助詞)/もも(名詞)/の(助詞)/うち(副詞)
③.検索で不要な助詞、副詞を削除
すもも/もも
 2.単語の出現頻度をカウント
     例) 
文章1:「選択したドキュメントの内容をプレビュー表示します。」
文章2:「Officeドキュメントをプレビュー表示します。」
選択 ドキュメント 内容 プレビュー 表示 Office
文章1 1 1 1 1 1 0
文章2 0 1 0 1 1 1
 
・代表的な日本語形態素解析エンジン
・MeCab:語や辞書、またデータベース化された言語資料であるコーパスに依存しない、汎用的な設計がMeCabの特徴です。
・JUMAN:京都大学大学院情報学研究科知能情報学専攻の黒橋・河原研究室が開発した形態素解析ツールです。Wikipediaから抽出した辞書を使用することができます。
・Kuromoji:MeCab-IPADIC辞書を内包しており、Apache Lucene, Apache Solrの日本語対応の土台となっています。

・言語に依存しない分割手法
・N-Gram
隣接したN個の記号毎の出現頻度を集計。 

   例)すもももももももものうち 
uni-gram bi-gram tri-gram
文字 度数 相対度数 文字 度数 相対度数 文字 度数 相対度数
1 0.083 すも 1 0.091 すもも 1 0.100
8 0.667 もも 7 0.636 ももも 6 0.600
1 0.083 もの 1 0.091 ももの 1 0.100
1 0.083 のう 1 0.091 ものう 1 0.100
1 0.083 うち 1 0.091 のうち 1 0.100

Pokuda Search Proでは、Kuromojiを利用した転置インデックス方式の検索方法を採用しております。これにより大量なドキュメントでも高速に検索できるようになっています。

0 件のコメント:

コメントを投稿

厳選 Visual Studioの便利なショートカット

  エラー箇所にジャンプ 「Ctrl + Shift + F12」 ブレークポイント 設定/解除 「F9」 有効化/無効化 「Ctrl + F9」 ViEmu特有 「:ls」:バッファナンバーのリストを表示。 「:b2」:バッファ2のファイルを開く。 「:n」:次のバッファのファ...