Groongaで学ぶ全文検索 2015-11-06 に参加した

cf. https://groonga.doorkeeper.jp/events/33701

2回連続欠席からの、渋谷開催に参加しました。

本日のテーマ

精度

精度 is ... ?

出席者のイメージは以下

  • ユーザの満足度
  • 思ったものが探せているかの度合い
  • もれなくさがせているか
  • ゴミがない

再現率と適合率

精度について論じると、再現率と適合率という話がよく出る。

  • 再現率:答えを返せた割合
    ハズレがあっても割合には影響しない
    キーワードにマッチする文書が3つあったら、答えに3つ含まれていれば 100%.

  • 適合率:答えた内容にどれだけ正しい内容を含んでいるか
    あてずっぽうで返すと適合率が低くなる

この 2 つはどちらかを上げるとどちらかが下がる関係にある
ex. 全文書返せば再現率 100% だがゴミが多いので適合率は下がる

どちらが重要、重視するかは 何のための検索なのか 、使い方による
ex. 特許検索は適合率より再現率が重要

とは言え ... 結果のすべてを利用者が精査するわけではなく、
結果上位で判断することがほとんどなので、現実的に重視されるべきは スコアづけ である。

スコアづけの考え方

  • TF(Term Frequency):単語出現回数
  • TFIDF(= TF inverted DF = TF/DF)
    • DF(Document Frequency):(単語が含まれる)ドキュメント数

TFIDF は AND 検索、OR 検索におけるスコアづけに用いられる考え方。
TF が同値だった場合、DF が大きい値のキーワードより、DF が小さい値のキーワードのドキュメントが高スコアとして扱われる

教科書的には上記 2 つがよく用いられるが、他にもタグや位置情報といったメタデータを加味することで
(検索対象、用途によっては)より精度の高い結果が得られる