mocobeta / building-search-system-book

「仕事ではじめる検索システム」という本があったなら,という想像の産物です -> 「検索システム ― 実務者のための開発改善ガイドブック」になりました

Home Page:https://www.lambdanote.com/products/ir-system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[書籍] 検索システム ― 実務者のための開発改善ガイドブック

(構想時のタイトル: 仕事ではじめる検索システム)

UPDATE 2022/05/16

紙書籍の販売が開始されました!

新刊『検索システム ― 実務者のための開発改善ガイドブック』の発売を開始しました

検索システム ― 実務者のための開発改善ガイドブック (打田智子・古澤智裕・大谷 純・加藤 遼・鈴木翔吾・河野晋策 共著)

UPDATE 2022/04/26

構想から1年半を経て,書籍になりました。ラムダノートさんから発行です。

4/26より電子書籍の先行発売,5月中旬に紙+電子書籍セットの販売開始予定です。

新刊『検索システム ― 実務者のための開発改善ガイドブック』のお知らせ

検索システム ― 実務者のための開発改善ガイドブック(電子書籍のみ) (打田智子・古澤智裕・大谷 純・加藤 遼・鈴木翔吾・河野晋策 共著)

情報検索の歴史を紐解くところから始まり,検索エンジン,ユーザーインターフェース,性能評価,プロジェクト運営,Query Understanding,ランキング学習,と幅広いトピックをカバーした内容になっており,「実務家のためのあたらしい教科書」を目指して著者一同頑張って執筆しました。 初心者の方もすでに検索エンジニアとして活躍している方も,お手に取ってみてください。どうぞよろしく。

UPDATE 2021/08/06

1年(以上)が経過してしまいましたが,心強い共著者,編集者を得ることができ,少しずつ原稿が形になってきました。具体的なアウトプットはまだしばらく先になりますが,ラムダノート社の技術情報誌 「n月刊ラムダノート」Vol.3 No.1 で「検索エンジンのしくみ」という入門記事を執筆する機会をいただきました(3つある解説記事のうちの1つです)。よかったら予告編?という形でおたのしみください。

UPDATE 2020/7/23

さまざまな方のご協力をいただき,プロジェクトがゆっくりスタートしました(アイディアやリクエストがあれば飛び入りの issue/PR は引き続き受け付けますが,具体的な話はクローズドな場で進めていきます )。いつ,どういった形でのアウトプットが可能なのかについては手探り中ですが,何らかの形で世に出せるように頑張りたいと思います。気長に温かい目で見てやってください。🙏

構想メモ

NOTE: 以下は,初期構想時のものです。完成した書籍とはかなり異なりますが,思い出として残しています。

これは何?

一連のツイートに触発されて, @mocobeta がこんな本あったらいいな,という妄想を書き下した備忘録です。ご自由にお使いください

特定のソフトウェア/プロダクトの使い方に限定せず,かつ実用的な(全文)検索システムをゼロから作る,ことをテーマにした日本語の書籍は,私の知る限りではありません(たぶん)。

章立て

目次

1章 なんのために検索システムをつくるのか

執筆者: TBA

情報システムの中で,「検索」が果たしてきた役割,歴史,など。イントロダクション。

2章 検索システムプロジェクトのはじめかた

執筆者: TBA (または @mocobeta)

実務で検索システムを作るには,当然ですが技術以外の要素もたくさん絡んできます。プロジェクト管理を学ぶ章。

  • 検索案件の立ち上げ方
  • ファーストスコープに何を含めるべきか
  • 人員配置やステークホルダー
  • プロジェクト管理,リスク管理
  • 立ち上げフェーズ以降

3章 検索エンジンのしくみ

執筆者: TBA (または @mocobeta)

検索システムのコアは,なんといっても検索エンジンです。検索エンジンの仕組みを学ぶ章。

  • grep コマンドと検索エンジンの違い
  • インデックスデータ構造いろいろ
  • 転置インデックスと文書類似度
  • 分散検索システム(レプリケーションやシャーディング)のしくみ

4章 データのインデクシング

執筆者: TBA (一部は @mocobeta)

検索システムは,大まかに分けてインデクシング(オフライン処理)と検索クエリ処理(オンライン処理)に分けられます。インデクシングについて学ぶ章。

  • テキストのインデクシング: 形態素解析,良質な索引語をつくるには
  • テキスト以外のインデクシング(数値や地理情報など)
  • 情報抽出: 効果的なナビゲーション(絞り込み)のための技術
  • 外部データソース(RDBなど)との連携
  • Web クローリング

5章 検索クエリの処理とランキング

執筆者: TBA (一部は @mocobeta)

ユーザーからの入力クエリを受け付けて,ヒットしたドキュメントをランキングして検索結果を作るまでを学ぶ章。検索システムの華形ともいえる?

  • 検索精度とは: 適合率と再現率
  • 文書類似度によるランキング
  • 検索クエリのパラメータチューニング
  • シノニム展開
  • 検索クエリ補完やサジェスチョン,Query Understanding について
  • 検索結果の良さの測り方: オフライン指標,オンライン指標
  • オンライン評価の設計と運用: A/Bテストなど
  • ランキング学習 (Learning to Rank)

6章 ユーザーインターフェース

執筆者: TBA

検索システムは,ユーザーとのインタラクションがとても重要なシステムです。心地良い検索 UI/UX について学ぶ章。

  • Web ブラウザインタフェース
  • モバイルインタフェース
  • 音声入力インタフェース
  • インタラクティブ性について

7章 検索システム事例

執筆者: TBA

商用サービスとして運用されている検索システムの事例から学ぶ章。

  • toC 検索システム事例
  • toB 検索システム事例

8章 応用トピック

執筆者: TBA

関連の深い周辺システムや,最先端の研究に学ぶ章。

  • 大規模/高トラフィック検索システムの設計と運用
  • 推薦システムとの関わり
  • QAシステム(自然文検索)との関わり
  • 画像検索,マルチモーダル検索
  • Online Learning to Rank
  • Personalized Search
  • Semantic Search / Knowledge Graph
  • Dense vector search / approximate knn search
  • Neural Networks for IR
  • プライバシーと情報検索 (Privacy-preserving IR)

参考文献

書籍

Information Retrieval の教科書:

(番外編) IRの教科書がたくさん紹介されているありがたいブログ記事:

Lucene 系で,いくつか実システム寄りでトピックを絞った書籍がいくつか出ている:

オンラインで読める記事など

多数ありとてもカバーしきれないので,独断によりほんの一部を紹介:

About

「仕事ではじめる検索システム」という本があったなら,という想像の産物です -> 「検索システム ― 実務者のための開発改善ガイドブック」になりました

https://www.lambdanote.com/products/ir-system

License:Do What The F*ck You Want To Public License