coursera课程 text retrieval and search engine 第二周 推荐。
什么是TF
TF(term frequency),根据出现的次数作为权重,出现一次,权值加1。但是仅使用这种方式无法区分重要的词和非重要的词,比如the
什么是DF
DF(document frequency),包含关键词的文档的个数
什么是IDF
IDF(inverse document frequency),指的是一个单词如果在更多的文档中出现,那么IDF值越低,关系可用下图表示
TF-IDF 模型
即使用TF*IDF。
假如TF不计算频率,按最简单的来,有就算1[y={0,1}]。 以下面文档为例,假如想搜索"news about presidential campaign",文档库中一共有3个文档
![x_1](https://i-blog.csdnimg.cn/blog_migrate/99569d1a8160a73f59e28490dc406732.png)
![x_n](https://i-blog.csdnimg.cn/blog_migrate/bb6fc8b5cd2067a788470009a7b10993.png)
![y_1](https://i-blog.csdnimg.cn/blog_migrate/1e18d6dc9b366a699320d97ef74f11e7.png)
![y_n](https://i-blog.csdnimg.cn/blog_migrate/be774fc406bad48cbd065361745de9fd.png)
![x_1](https://i-blog.csdnimg.cn/blog_migrate/99569d1a8160a73f59e28490dc406732.png)
![y_1](https://i-blog.csdnimg.cn/blog_migrate/1e18d6dc9b366a699320d97ef74f11e7.png)
![x_n](https://i-blog.csdnimg.cn/blog_migrate/bb6fc8b5cd2067a788470009a7b10993.png)
![y_n](https://i-blog.csdnimg.cn/blog_migrate/be774fc406bad48cbd065361745de9fd.png)
![f(q,d2)=3,f(q,d3)=3,f(q,d4)=4](https://i-blog.csdnimg.cn/blog_migrate/897b6a216aab0ab682bf3ed2805ba710.png)
d4更相关可以得到认同,但是d3和d2却一样,有点无法接受,因为presidential的重要性很明显应该比about更重要,也就是说,不同词的权重是不一样的,在所有文档中出现的越多的词,应该重要性越低,可以算上IDF,假设 每个单词的IDF对应如下
对于这种增长的速率,如果能够加入人工的调控是最好的了,据此发现,最好的是BM25
为什么长文档需要正规化?
一般说来,长文档更有可能包含更多的词汇,因此它会以相对疏散的方式匹配到查询关键字,但真实主题却不是查询的关键字。这样看来,需要更好的方式来对长文本做出”惩罚”。另外需要考虑到的是,长文档可能存在两种情况,1是仅仅用了过多的词,2是有很多描述主题的内容,这是不希望有惩罚的。总的来说是希望惩罚有一个度,一种策略是使用“摆动长度正规”
使用双ln是为了达到次线性转换(随着TF增加,权值增长相对更慢) 此时的排序函数为
文本获取(TR)的一般架构
- tokenization:词提取,确定好词的边界,把相近意思的词映射到同一个
- index :将文档转换成易于检索的数据结构,一般使用倒排索引(用一个字典存储文档的部分统计信息,比如当前词一共出现在了多少个文档,出现了多少次,这些文档分别是那些文档,那些位置,等等)
Zipf定理
定理表明,一个词出现的频率和他的排序是一个常量