0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「検索システム 実務者のための開発改善ガイドブック」を読んだ (第4章まで)

Posted at

第一章 イントロダクション

  • 検索における課題は、 表記揺れランキング問題
  • 大規模なWebサイトでは、 全文検索エンジン が利用される
    • データベース + 全文検索エンジン
  • 全文検索エンジン転置インデックス を利用
  • 検索システムの全体像
    • ユーザーインターフェース
    • クエリプリプロセッサ
    • クエリポストプロセッサ
    • 検索エンジン
      • 転置インデックス利用
    • インデクサ
      • 検索エンジンに登録する機能
    • ドキュメントのデータベース
    • 検索履歴
    • データ活用基盤
    • 適合性コントローラー

第二章 検索エンジンの仕組み

  • 転置インデックス は、 tableとしては行に単語、列に出てくる箇所の0,1として表す
  • 転置インデックス は、0の無駄な空間をなくすために、 ターム辞書, ポスティングリスト を利用
  • 転置インデックスを利用した検索の流れ (クエリ処理)
    • テキスト解析
    • 辞書引き
    • ポスティングリスト走査
    • ランキング

第三章 テキスト解析

  • 英語のテキスト解析は、大文字小文字を区別しない、複数形、三人称単数、現在進行形をまとめてstem変換(ステミング)する
  • 日本語のテキスト解析は、 形態素解析機 もしくは N-Gram
    • 形態素解析機は、辞書を利用してトークンにする
    • N-Gramは、x文字ごとにトークンにする
  • そのほかの処理として、Unicode正規化、ストップワード、類義語の展開がある

第四章 ポスティングリストの走査とランキングのアルゴリズム

  • ランキングを考慮しないときは、ポスティングリストを順番に進めていくだけ
  • ドキュメントベクトルとクエリベクトルのコサイン類似度が「近さ」の指標
  • TF-IDFによる重み付のドキュメントベクトル
    • $$weight(t,d) = (1 + log(tf_{t,d}))・log(N/{df_t})$$
    • $weight(t,d)$は、あるタームとあるドキュメントの重み
    • $tf_{t,d}$は、ドキュメント$d$中のターム $t$の出現回数
    • $df_t$は、ターム $t$ が出現するドキュメント数
  • ランキングを考慮するときは、TF-IDFを計算して進めていく
  • パフォーマンスは、レイテンシスループットを計算する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?