Algorithms of the Intelligent Webという情報検索の本がございまして、ずっと読みたいなあと思っていたら、本の内容のサンプルがありました。
http://www.manning.com/marmanis/SampleChapter2.pdf
これが、実はサンプルってレベルではなくて2章と3章がまるごとPDFで公開されているんですね。それで軽く読んでみたんですが、すごいわかりやすくて、普通に読み物としておもしろかったのでメモっておきます。
上記のリンクは2章で「searching」という題で、つまり検索エンジンの話がまとめてあります。
さらっと全部読んだんですけど、大雑把に感想を述べるとかなり基礎的な内容ですが、本当にわかりやすく解説してあるので、例えば、あまりこの分野に詳しくない人に説明する時や、自分でさらっと検索エンジンの要素を整理したい時とかには超便利だと思いま
す。
全体的な流れとしては
- Luceneを使って検索エンジンの実装の仕方を説明
- PageRankの説明
- PageRankとindexのスコアリングの組あせ方の説明
- Naive Bayesを使った分類の説明
- Word document, PDFなどHTML以外の文書のスコアリング
- Precision Recallなどの評価方法の話
といった感じ。上記以外にもクエリ拡張や、クリックログの話など、検索エンジンで必要とする要素技術の話が幅広く、優しく説明してあります。なんで、これが初心者にいいかって、これらはLuceneに実装してあるんですね。だから、使いながら勉強できるので
身に付きやすいと思うし、Luceneのコードの説明までしているのがすごい。僕はJavaは書かないのですが、コードに書いてあるコメントがわかりやすくてとてもよくわかりました。Luceneは実装が奇麗って話を聞いていたのですが、その再確認もなったなあ。図も
豊富。情報検索とインデキシングのスコアリングに興味がある人はぜひ一読をお勧めします。