全文検索の素朴な夢

全文検索の素朴な夢
平成20年8月26日
図書系のためのアプリケーション
開発講習会
実は
全文検索には2種類あるのだ!
• 文字列で検索
•
•
東京大学経済学部Engel
東京大学医学部の和雑誌特集記事索引DB
• 単語単位で検索
•
•
•
•
東京大学OPAC
WebCat
Google
などなど
文字列で検索
“がたくさ”
検索キー
ワード
検索する文章
“がたくさ”
“がたくさ”
“がたくさ”
“がたくさ”
・お坊さんがたくはつ
・図書館はきょうも、お客がたくさん!
がたくさ
・きょうのまえださんのおかずは、たくあん
がたくさ
・しんがたくさもち
文字列検索だと、単語ではなくとも検索ができてしまいます。
簡単にいうと、Perlのパターンマッチなんかがそうですよ。
ただ、ノイズが出ることもあります。
高度なものだと、文字単位でインデックスをつくって、
文字列単位の検索を可能にします
単語でインデックス(事前準備編)
検索対象文章
1.「三四郎」と池
2.ハリーポッターと秘密の部屋
単語
三四郎
池
ハリーポッター
単語に分割して、インデックス
(別ファイル)に記録
秘密
部屋
文献No
1
1
2
2
2
検索対象のデータにあらかじめインデックスをつけておきます
単語でインデックス(検索時編)
キーワード
システムに
よっては
不要語を
取り除きま
す
ハリーポッターと秘密
秘密
ハリーポッター
先のインデックスをつかい「ハリーポッター」と「秘密」で
AND検索
(連想検索の場合は、ちょっと事情が違います)
文章のバラバラ事件
• 単語による検索の場合、先に示したとおり文章
を単語に分割(+不要語を削除)します。
• 理論はちょっと難解ですが、単語と品詞を組み
にした辞書を使って解析をします。(品詞を使わ
ないソフトもあります)
• Windows上で体験をするのであれば、Winwows
版の「茶筅」がおすすめです。
•
http://sourceforge.jp/projects/chasen-legacy/
(WinchaがWindows版です)