Lec3 Information Retrieval
Lec3: Information Retrieval
unstructured database
Inverted file index
Index build
以单词为key, 每个单词存其在所有文档中出现的位置(文档编号+位置)
只需要输入文档时扫描一遍。是线性的
Query
AND/OR: 因为位置是排好序的,只需要像归并排序一样线性合并
Distributed indexing
对于网络搜索引擎,需要分布式存储index数据
- Term-partitioned index: 按单词的字典序分类,如AC,DF 查找的效率较高
- Document-partitioned index: 按文档编号分类
Ranked retrieval
按照相关度排序
term-document count matrix: \(tf_{t,d}\)是词\(t\)在文档\(d\)出现的次数
\[
score=\sum_{t\in q\cap d}(1+\log tf_{t,d})
\]
\(q\)是查询
但是只有本文中的数据不够。考虑一个词在所有文章中出现的次数\(df_t\) 。出现次数越少的(比如专有名词),信息量更大,权重应该更高
(感觉和信息熵的思想类似,频率越低,信息熵越大)
\[
idf_t=\log_{10}(N/df_t)
\]
Performance mesurement
Precision: 预测结果为正例的样本中实际为正样本的比例
Recall: 实际的正样本中预测结果为正的比例 (如果fn的代价很高,如安检找爆炸物)