技術書同人誌博覧会

い-02

IT-開発-ミドルウェア

もちっとカフェ

検索エンジンやそれにまつわる自然言語処理を中心にサークル主が興味を持ったことを日々アウトプットしています。 HP:https://sashimimochi.netlify.app/

チェックする
Word2Vec使い倒しブック~Hello Worldから最近の研究成果まで~
同人誌・183ページ・電子・500円
チェックする

自然言語処理の定番手法となっているWord2Vecを使ってみたい初心者やちょっと手の込んだことをしてみたい中級者向けにWord2Vecを使い倒すべく、私個人の観点から可能な限り役立ちそうなTIPSを詰め込みました。

最近はもっぱらBERTやGPTシリーズの登場によってWord2Vecは過去の技術という印象があるかもしれません。
ですが、垢まみれになった今だからこそ、知見も溜まっており、安定して使えるようになったとも言えます。

そこで、私見を多分に含みますが、まとまった形でWord2Vecを使い倒すためのノウハウをまとめました。
1つ1つの内容は、どこかの記事などでみたことがあるものかもしれませんが、これ1冊だけでだいたい事足りるよう、使いやすく編集したつもりです。

使い倒しブックということで、理論的な点よりも、使い方に重点を置きました。
実装例をたくさん載せましたので、結果を見ながら理解できると思います。
本書とは別にGoogle Colaboratoryでサンプルコードも公開しているので、そのままなぞれるようになっています。

これを読んで、Word2Vecを使い倒してもらって、みなさんのサービス開発、アプリ開発ライフの一助になれば幸いです。

電子版を購入
5分で紹介Streamlit
同人誌・23ページ・電子
チェックする

StreamlitというPython用のWebアプリ作成フレームワークの魅力について、短時間で概観できる一冊です。

Streamlitの特徴を3点でまとめると

  1. フロントエンドの知識一切不要で、Webアプリが簡単に書ける
  2. Python only で完結 & Notebook 感覚で書ける
  3. 無料で使える専用のホスティングサービスがありデプロイも楽チン

普段、Pythonなどのバックエンドが中心のあなた!Streamlitを知ってしまったからには「自分、HTML書けないんで」はWebアプリを作らない理由にはできません。
これを機にあなたもWebアプリを作ってリリースしてみましょう!

※著者の過去のイベントトークが元になっているので、そちらと合わせてみるとより魅力が伝わると思います。

今日から始めるSolrベクトル検索
同人誌・318ページ・電子・1,000円
チェックする

本書は、全文検索エンジンである Apache Solr のバージョン 9 から導入された密ベクトル検索機能について、その特徴と使い方を紹介する本です。

ベクトル検索は従来のキーワード検索では実現が困難だった、ニュアンスの検索や類似画像検索、レコメンド、テキストから画像や音声などメディアの垣根を越えたマルチモーダルな検索などなど、ユーザーにまったく新しい検索体験を提供できる可能性を秘めた検索手法です。
その魅力の反面、Solr 上でのベクトル検索は、全文検索エンジンの知識に加えて、機械学習分野の素養も求められます。
そのため、導入の敷居が高いと感じられているチームが多いのではないでしょうか。
その証拠というべきか、ビジネスでの実用実績はおろか、使ってみたという記事さえほとんど見つかりません。

そこで、本書では、追加された Solr の機能の使い方はもちろん、肝となるベクトル生成部分の実現例についてもご紹介します。
これを読めば、検索チームが少なくとも機械学習チームとコミュニケーションを取ってベクトル検索を実現、あわよくば検索チームオンリーでもベクトル検索を活用スタートできるようになることを目指した一冊です。

稀有だと思いますが、これからSolrを使ってみたい、あるいは検索チームとコミュニケーションを取りたいMLチームの方でもなんとか読めるよう、最低限のSolr知識も1章、2章で解説しています。

サクッと雑感を知りたければ、以前書いたブログ記事もあるので、先にこちらを読んでもいいかもしれません。
本書の内容のうち Solr の機能紹介にフォーカスした部分を記載しています。
https://zenn.dev/sashimimochi/articles/1957974d64d571

======================

目次

はじめに
第 1 章 全文検索エンジン Apache Solr
1.1 全文検索とは
1.2 なぜ全文検索エンジンを使うのか
1.3 転置インデックス
1.4 Apache Solr
1.5 Solr の特徴
1.6 冗長化の実現
1.6.1 ノードとコレクション
1.6.2 シャーディング
1.6.3 レプリケーション
1.7 クラスター構成
1.7.1 スタンドアローン構成
1.7.2 Master Slave 構成
1.7.3 SolrCloud 構成
1.7.4 構成まとめ
1.8 その他の Solr 機能
1.8.1 コンテンツ抽出
1.8.2 管理者向け GUI
1.8.3 プラグインによる機能拡張
1.9 テキストの解析と評価
1.9.1 トークン化
1.9.2 形態素解析
1.9.3 N-Gram
1.9.4 日本語固有の課題と tokenizer
1.9.5 適合度
コラム: Solr の読み方は?
1.10 参考文献
第 2 章 全文検索エンジンとして動かしてみる
2.1 環境構築
2.2 まずは検索
2.3 solrconfig
2.4 managed-schema
2.5 ストップワード
2.6 データ投入
2.7 基本的な検索機能
2.7.1 メインクエリ
2.7.2 フィールドリスト
2.7.3 ソート
2.7.4 ファンクションクエリ
2.7.5 フィルタークエリ
2.8 高度な検索機能
2.8.1 リランキングクエリ
2.8.2 グルーピング
2.8.3 ファセット検索
2.8.4 ハイライト
2.8.5 ジョイン検索
2.9 表記や表現の揺れに強くする
2.9.1 フレーズ検索
2.9.2 あいまい検索
2.9.3 シノニム検索
2.9.4 MoreLikeThis
2.10 2 章のまとめ
第 3 章 ベクトル検索の理論とその要素技術
3.1 ベクトル検索がもたらす検索体験
3.2 ベクトル検索とは
3.3 埋め込み表現
3.4 ベクトル検索における類似度計算
3.4.1 ユークリッド距離
3.4.2 ドット積
3.4.3 コサイン類似度
3.4.4 どれを使うとよいのか
コラム: ベクトル検索は本当にベクトルを検索しているのか
3.5 モデルと学習
3.6 全文検索とベクトル検索の違い
3.7 近似最近傍探索
3.8 ベクトル検索をめぐるこれまで
コラム: ANN に代わる新たな近傍探索手法!?
第 4 章 Solr 上でベクトル検索を動かす
4.1 Solr 定義
4.2 インデックスデータの作り方
4.3 メインクエリでの使い方
4.4 フィルタークエリでの使い方
4.4.1 fq での基本的な使い方
4.4.2 fq で使うときの注意点
4.5 リランククエリでの使い方
4.5.1 rq での基本的な使い方
4.5.2 rq で使うときの注意点
4.6 ベクトルフィールドを複数使う
4.7 実用案
4.7.1 キーワード検索と組み合わせる
4.7.2 ファセットと組み合わせる
4.7.3 グルーピングと組みわせる
4.7.4 ジョイン検索でベクトル検索をする
第 5 章 実データを使ってベクトル検索をする
5.1 ニュース記事でベクトル検索
5.1.1 テキストデータのインデックスの作り方
5.1.2 テキスト検索リクエストの実装
5.2 画像でベクトル検索
5.2.1 画像データでのインデックスの作り方
5.2.2 画像検索リクエストの実装
コラム: ChatGPT を使った Embedding は?
5.3 パフォーマンスを測る
コラム: Elasticsearch でのベクトル検索
付録
付録 A 本書で扱うモデル
A.1 Word2Vec
A.2 CLIP
A.3 Sentence BERT
付録 B フレームワークとサービス
B.1 Streamlit
B.2 Hugging Face
B.3 メトリクスの可視化
付録 C Hierarchical Navigate Small World
C.1 グラフ理論における NSW
C.2 近似最近傍探索アルゴリズムとしての NSW
C.3 Hierarchical NSW
C.4 参考文献
あとがき

======================

今日から始めるSolrベクトル検索~Supplemental Book~

新刊

同人誌・110ページ・電子・500円
チェックする

本書は「今日から始めるSolrベクトル検索」の付録本です。
ChatGPTを始めとするLLM大ブームの到来によって、執筆以降ベクトル検索を取り巻く環境にもいろいろなアップデートが入りました。
そういったアップデート情報や前作では書ききれなかった一部補足内容をまとめた一冊になっています。

前作に記載の事項は前提知識として冒頭から本筋に入っていくので、前作と合わせてお楽しみください。


目次

  • 第 1 章 本編本以降のアップデート情報
    • 1.1 Solr のアップデート情報
      • 1.1.1 Solr でインデックスできる次元数が 2048 次元までになりました
    • 1.2 SVM Retriever のその後
    • 1.3 企業利用事例の進展
      • 1.3.1 ベクトル検索レコメンドで CTR が 3 倍に!?@メルカリ
      • 1.3.2 マルチモーダルベクトル検索が体感できるデモが登場@Google&メルカリ
    • 1.4 ベクトル検索に使えそうな新しいモデルやライブラリ
      • 1.4.1 驚異のマルチモーダルモデル!?
      • 1.4.2 似ているゆっくりボイスを探そう
      • 1.4.3 Stability AI から VLM が続々リリース
      • 1.4.4 GCP で Embedding から検索まで可能な VLM がローンチ
      • 1.4.5 faiss より高速な ANN ライブラリ登場!?
  • 第 2 章 もっと詳しく知りたい Solr Tips
    • 2.1 Solr のインストール方法
    • 2.2 あの、PDF を取り込みたいのですが...
      • 2.2.1 Solr から直接使う
      • 2.2.2 クライアントモードで使用する
      • 2.2.3 サーバモードで使用する
      • 2.2.4 Go から使う
      • 2.2.5 Python から使う
    • 2.3 うちでも Solr を導入したほうがいいですか?
  • 第 3 章 生成 AI とベクトル検索
    • 3.1 なぜ、ベクトル検索が急速に注目を集めているのか
    • 3.2 ベクトル DB とは
    • 3.3 LLM 文脈におけるベクトル検索の使われ方
    • 3.4 Indexing と Chunking
    • 3.5 ベクトル検索の弱点とハイブリッド検索
      • 3.5.1 ベクトル検索は万能ではない?
      • 3.5.2 ハイブリッド検索における検索順位の決め方
    • 3.6 新たにベクトル検索ができるようになったミドルウェア&マネージドサービス
    • 3.7 Solr/Elasticsearch はデータベースなのか?
    • 3.8 従来型のデータベースとベクトルデータベースとの違い
    • 3.9 本当にベクトル DB はすべての AI 企業が取り入れるべきなのか?
    • 3.10 ベクトル検索よりも有能!?知識グラフ検索
  • あとがき
ホーム
サークル
頒布物
マイページ