ISBN 9784627818613
Pythonではじめる 情報検索プログラミング
概要
PythonでゼロからつくるIR——文字処理からトピックモデルまで
想定読者
Pythonの基礎は習得済みで、検索エンジンやテキストマイニングの内部動作を初めて体系的に学びたい学生・若手エンジニア
こんな人には向いていない
- TF-IDFやBM25などの情報検索アルゴリズムをすでに業務実装している人には、基礎的な内容の比重が大きすぎる
- アルゴリズムの数学的導出を深く学びたい人には、プログラム実践に重点が置かれており理論面が薄い
- ElasticsearchなどのOSSを使った本番システム構築を主目的とする読者には、実装スケールの観点で内容が入門止まりとなる
読了後にできるようになること
- 文字コードの基礎からトークナイズまで、テキスト前処理の全工程をPythonで実装できる
- TF-IDFなどの特徴語抽出アルゴリズムを理解し、文書ランキングシステムを自作できる
- クラスタリングとクラス分類の違いを踏まえた文書整理・分類システムを構築できる
- LDAなどのトピックモデルを使い、文書集合の潜在的テーマを抽出できる
- word2vecなどの表現学習(分散表現)をテキスト処理タスクに応用できる
- 適合率・再現率などの評価指標で検索システムの性能を定量的に測定できる
本書のキー概念(章解説)
- 第 1 章 文字 — 文字コードの基礎。Python文字列処理の実装起点として必須
- 第 2 章 語 — 形態素・単語単位への分割処理。日本語検索の前提となる
- 第 3 章 特徴語 — TF-IDFなど文書の重要語抽出。ランキングの理解に直結する
- 第 4 章 文書のランキング — 検索結果をスコアで並べる仕組みの核心。5章の評価とセットで読む
- 第 5 章 検索システムの評価 — 適合率・再現率の測定手法。自作システムの品質を定量化できるようになる
- 第 6 章 文書のクラスタリング — 教師なし分類。7章(教師あり分類)との対比で読むと両手法の使い分けが明確になる
- 第 7 章 文書のクラス分類
- 第 8 章 クエリの修正 — 検索語の補正・拡張技術。実用的な検索体験向上に直接関わる
- 第 9 章 トピック — LDAによる潜在的テーマ抽出。文書集合の俯瞰に使える手法
- 第 10 章 表現学習 — word2vecなどの分散表現。深層学習への接続点として重要な章
- 付録A Python — Python環境の確認用。既習者は必要時に参照すれば十分
- 付録B Webデータの活用 — 実データの収集・前処理。演習データの自力調達に役立つ
ハイライト
- 検索エンジンやテキストマイニングなど、さまざまなアプリケーションの根幹をなす情報検索技術をゼロから学ぶための入門書! 文字コードの扱いかた、検索語の選びかたなどの初歩的な話題から丁寧に解説。(本書がカバーする技術の幅広さと入門者への丁寧な配慮が端的に示されている箇所)
- 文書のクラスタリング、トピックモデル、表現学習といった話題もカバーされ、1歩ずつ発展的な検索システムを構築できるように工夫されています。Pythonのプログラムを通して実践的な知識が身につく、初学者におすすめの1冊です。(入門から発展トピックまでの段階的構成を示す。機械学習周辺への接続を判断する材料になる)
編集メモ
Qiita記事での言及なし(0件) / Rakutenランキング情報なし / 外部シグナル合計0件。数値根拠が得られないためsupplementary判定。2020年12月出版、Python×情報検索の日本語入門書として参照価値はある
読む前に押さえておきたいこと
- Pythonの基本文法(リスト・辞書・ループ・関数)を一通り書ける水準
- 文字列操作と正規表現の初歩的な知識
- 高校数学レベルの確率・統計の概念(頻度、確率分布の直感的理解)
学習のコツ
- 付録AのPython基礎は辞書的に使い、1章から順に手を動かして進めるのが効果的。サンプルコードを改変しながら読むと定着が速い
- 4章(文書のランキング)と5章(検索システムの評価)は対になっており、セットで読むとシステム設計と評価のサイクルが体感できる
- 6章(クラスタリング)と7章(クラス分類)は教師なし・あり分類の対比として読む。自分のユースケースにどちらが合うかを意識すると理解が深まる
- 10章(表現学習)は現代的なBERTなどのTransformerモデルへの橋渡しとして位置づけると、次のステップが明確になる
出版社による内容紹介
検索エンジンやテキストマイニングなど、さまざまなアプリケーションの根幹をなす情報検索技術をゼロから学ぶための入門書! 文字コードの扱いかた、検索語の選びかたなどの初歩的な話題から丁寧に解説。 それだけでなく、文書のクラスタリング、トピックモデル、表現学習といった話題もカバーされ、 1歩ずつ発展的な検索システムを構築できるように工夫されています。 Pythonのプログラムを通して実践的な知識が身につく、初学者におすすめの1冊です。 1章 文字 2章 語 3章 特徴語 4章 文書のランキング 5章 検索システムの評価 6章 文書のクラスタリング 7章 文書のクラス分類 8章 クエリの修正 9章 トピック 10章 表現学習 付録A Python 付録B Webデータの活用
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。