情報検索ことはじめ〜教科書編〜

  • 2011-01-18追記 教科書編その2 にて2011年版のIR教科書を紹介しています

情報検索(IR)の勉強を本格的に始めて8ヶ月.大体どんな分野があって,どんなことを勉強すればいいのかわかってきた(と思う).この気持ちを忘れないうちにメモしておこう.以下,若輩があーだこーだ言ってるだけなので,間違いや他に情報があれば,ぜひコメントをお願いします.
# ここで述べている情報検索とは,コンピュータサイエンスの一分野としての情報検索です.図書館情報学の側面は一切扱っていません,あしからず.

というわけでまず教科書編.

本腰を入れて勉強する場合,基礎づくりのためには教科書選びがいちばん重要だと思っている.自分の知っている限り,情報検索における教科書の選択肢はそれほど広くはない.以下に紹介する本は,情報検索を学ぶ上で「買い」の本.これらを読めば,最新の論文を読めるだけの土台はできるし,専門家と議論ができる.プログラミングスキルがあれば自分で検索エンジンだって書けちゃう(はず).

洋書

Introduction to Information Retrieval (2008)

最新の教科書.一番のおすすめ.英語も説明もわかりやすい.ちなみにウェブ上で全文ダウンロード可.通称IIR(アイアイアール).

Introduction to Information Retrieval

Introduction to Information Retrieval

  • 情報検索全てを網羅しているわけではないことに注意.抜けている部分.説明が不十分な部分がある.
  • わかりやすさ,解説の丁寧さは異常.(信者発言なので話半分に)
  • 著者のサーベイがしっかりしており,Referenceが充実してる.Reference and Further readingが本当に参考になる.
  • 機械学習に6章も割当てられているあたりに著者の機械学習に対する愛を感じる.
    • 特にこの著者もナイーブベイズ大好き.
  • 用語がIIR独特の呼び方をしているものがけっこうあるので注意.
    • IIRに載っている用語で検索しても論文が引けないことも...
  • たつをさんを中心にIIR輪講が開催されており,いろいろとまとめ情報がある.
  • id:naoyaがウェブ上に公開している輪講復習資料がとてもわかりやすい.
  • その他ウェブ上に各種情報有り.
  • 手前味噌ですが,このブログでもメモを書いてます
Modern Information Retrieval (1999)

IIRが出るまでの定番教科書.IIRよりもボリュームがあり,他書で書かれている内容はほとんど網羅している.
本格的に勉強する場合は,IIRと併せて読むと良いと思われる.通称「モダイン」.

Modern Information Retrieval (Acm Press Series)

Modern Information Retrieval (Acm Press Series)

  • IIRよりも広範囲をカバー
  • 特にsuffix array, KMPなどをはじめとるする「データ構造・アルゴリズム」の話題がIIRになくてモダインにはある.
  • 残念なのは情報の古さ.
  • 頭から読むのは辛いボリュームなので,参考書としてどうぞ.
Managing Gigabytes (1999)

全文検索エンジンmgの作者らによる著書.インデックス構築と圧縮を中心に書かれている.実装についての解説もあり.
要するに全文検索エンジン作り方のハウツー本.通称「マネギガ」.

Managing Gigabytes: Compressing and Indexing Documents and Images, Second Edition (The Morgan Kaufmann Series in Multimedia Information and Systems)

Managing Gigabytes: Compressing and Indexing Documents and Images, Second Edition (The Morgan Kaufmann Series in Multimedia Information and Systems)

  • インデックス圧縮については一番詳しいと思われる.
  • 実装の話もしているのは本では珍しい.
  • イメージの圧縮も扱っている.
  • 実はまだほとんど読んでいない.けれど,読んだ人はみんな薦めてくれる.
  • インデックスに特化しているので,モダインに比べて劣化していない印象がある.
Information Retrieval - Algorithm and Heuristics (2004)

抜けなく学ぶためにちょうど良い.本としてのスタイルはけっこう雑な印象があるが,ところどころで良い情報が得られる.
通称募集中.

Information Retrieval: Algorithms and Heuristics (The Information Retrieval Series)

Information Retrieval: Algorithms and Heuristics (The Information Retrieval Series)

  • cross-language retrievalã‚„peer-to-peer retrievalなど,比較的新しい話題だけれどIIRで網羅されていない話題を扱っていたりする.
  • 細かい話だけれど,Simple-9, Relative-10, Carryover-12なんてマニアックすぎるものが書かれているのに感動した.
  • 粒度なんて関係ねぇ,網羅性なんて関係ねぇ,けれどためになる何かがそこにある.そういう本.

和書

残念ながら和書では選択肢がもっと狭い.そして古い.けれど,日本語の方が速く読めるし,理解しやすいのも事実.いきなり洋書を読む前に和書をさらっと読んでおくと,効果倍増.

確率モデルによるWebデータ解析法 (2007)

P. Baldi et. al. "Modeling the Internet and the Web - Probabilistic Methods and Algorithms" (2002) の翻訳.「ウェブ」という単語に引っかかる学生全てにお薦めしたい本.
読みやすい.わかりやすい.

確率モデルによるWebデータ解析法 - データマイニング技法からe-コマースまで

確率モデルによるWebデータ解析法 - データマイニング技法からe-コマースまで

  • 内容や解説の粒度はIIRに近い.
  • 本書もReferenceが充実している.最新の論文に到達しやすい.
  • テキスト分類やドキュメントクラスタリングという話題も載っている.
  • ただし,タイトルにあるとおり,「ウェブ」「確率モデル」という色.IIRに比べて「情報検索」という色合いが薄く,インデックスの構築方法やインデックス圧縮という話は載っていない.
  • 購入した際には帯の台詞に衝撃を受けた.「ウェブデザイナー/SEO業者必見!」とかそんな感じ.ここまで勉強するんだ...
情報検索アルゴリズム (2002)

和書で情報検索の教科書を一冊あげろ,と言われたらこれを挙げる.「情報検索と言語処理」と共に.

情報検索アルゴリズム

情報検索アルゴリズム

  • 必ずしも説明が丁寧ではない部分がある.本書は繰り返し読むというより,さらっと読んでイメージをつけるのに適している.
  • 文書正規化でピボット正規化が出てきたり,KeyGraphの話があるなど,ときどき妙にマニアックな話を入れているのが通好み.
  • 後半にパトリシアトライや,サフィックスアレイと言った話題あり.
  • 古いせいもあるけれど,参考文献が弱い印象.
情報検索と言語処理 (1999)

和書で情報検索の教科書を一冊あげろ,と言われたらこれを挙げる,「情報検索アルゴリズム」と共に.
情報検索アルゴリズムと重複する部分はあるけれど,著者の立ち位置が微妙に違うせいか,少し違った書かれ方をしている.タイトルにある通り,言語処理の観点から書かれている部分もあり.

情報検索と言語処理 (言語と計算)

情報検索と言語処理 (言語と計算)

  • 情報検索アルゴリズムよりもバランスよく書かれている印象.
  • 大事なのは似たような内容を異なるスタイルで書いてある点.併せて読むととても良い.
  • 本書で情報要求,索引語を学んだ.情報検索の基礎の基礎がわかりやすい.
  • 同シリーズの北研二「確率的言語モデル」(1999)もかなりおすすめ.(言語と計算 (4) 確率的言語モデル)
    • 情報検索という文脈だと言語モデル (language model) を使わなければ必要ないけれど,いろいろと世界を広げてみましょう.
  • こちらも参考文献が弱い気がする.

教科書おすすめバリューセット

自分の経験を活かして,研究室の後輩がいたらこんなアドバイスをするだろうなぁ.B4かM1の学生あたりに,B4なら1年,M1なら半年くらいで情報検索の基礎を身につけてもらうコース.

情報検索アルゴリズム,情報検索と言語処理 => IIR

まずは,和書の二冊をさらっと読む.順不同.だいぶ重複している部分もあるが,とにかく何回も同じ内容に触れることでイメージをつける.

とにかく通読することが重要.イメージをつけるため,と書いたけれどイメージすらつかないものも中にはあると思う.イメージをつけようとする行為が重要.僕の経験上,他の本を読んで,その分野の論文を読んで初めてイメージがついたものもあるけれど,最初にこの二冊を読んでいたのは大きなプラスになった実感がある.

基本が身に付いたら,IIRをきちんと読む.機械学習関連の章は飛ばしてもかまわないが,IIRは丁寧に読む.参考書を用意しておいて,注意深く読む.興味ある章は何度も読む.

この時点で不足している知識は最新の研究動向だけ.あとは,自分が興味ある分野についてIIRのReferenceなどを参考に,できるだけ新しいサーベイ論文を探す.IIRのReferenceに載っているような論文は全部チェックして損はありません.

最新の論文を読んでいると,芋づる式に古い論文を読む必要があるはず.僕個人としては,ピンポイントの論文については引用文献を深さ優先探索し,abstractとconclusionを読むレベルの論文については幅優先探索でサーベイしていくと,その分野の概要や状況が掴めてくる.

僕自身がこのバリューセットレベルなので,これ以上は何も言えません.一緒にがんばりましょう.

おわりに

この記事で一切触れていないのが実装面の話.何の研究をするにも手を動かすことが重要.研究の内容によるけれど,情報検索では,検索エンジンを利用するものが多い.すると,検索エンジンやそれらの使い方に関する情報が必要になる.実は僕自身がまだ各種検索エンジンを使いこなせていないので,これは多分かなり先に書く予定.

情報検索に限った話じゃない部分の実装スキルについては,他にもいろいろと良い記事があると思うので割愛.


続くのか...