一、TF-IDF加权的向量空间模型
1. TF加权
这里的x,y不再是0,1表示,而是看该词出现的次数
2. IDF加权
M:文档数目 k:包含该词的文档数目
在已TF加权下得到的值再乘以IDF值,即为最终的TF-IDF加权
二、TF变换: 将c(w,d)转换为TF(w,d)
目的:限制高频词的权重
经过不断的尝试,我们获得了鲁棒且有效的次线性TF转换函数,命名为BM25转换
经验表明b=0.75左右效果较好,但也要根据不同情况调整。
将原本的c(w,d)作为x值代入该函数,即得到((k+1)*c(w,d)) / (c(w,d)+k)
三、文本长度归一化
|d|为该文档长度,avdl为所有文档的平均长度,b为[0,1]的控制参数
下图为文本长度归一化后的双log次线性TF转换函数 及BM25函数
四、VSM的更多改进实例
1. 维度改进实例
特定语言和特定领域的标记
2. 相似度函数改进实例
五、BM25的改进
1. BM25F 对文档不同结构分别应用BM25,如标题 摘要等,然后再将这些得分综合起来
2. BM25+ 防止文档长度归一化时惩罚过度,给TF加上一个小的常数
六、典型的文本挖掘结构
1. 一般分为三部分 indexer scorer feedback
2. 标记
词义相近的或词根相同的 归为相同的索引项中
3. 索引
inverted index(倒排索引)实例
将单词或记录作为索引,将文档ID作为记录,这样便可以方便地通过单词或记录查找到其所在的文档。
4. zipf定律 : 一个单词的阶数乘以这个单词的频率大致上是恒定的。
f(w)表示频率,r(w)表示一个词的秩
七、 倒排索引压缩
1.
2. 编码方法
(1)二进制编码 3 → 11
(2)一元编码 将 n 表示成 n 个1再补上最后一个0 。 3 → 1110
(3)γ编码
如5,拆分成2^2+1,所以有N=2,M=1,对于N使用一元编码为110,1的比特宽度为N(2位) 的二进制为01,则最终值为11001
(4) delta编码 与γ编码类似,只是γ编码前缀是一元编码,delta的前缀部分是γ编码
如5,拆分成2^2+1,N1=2,M1=1,对N1+1进一步分解,则得到2^1+1,N2=1,M2=1,对于N2使用一元编码得10,对M2使用N2宽度的二进制表示为1, 而 对M1使用N1宽度的二进制为01,所以结果为10101
如3=2^1+1, N1=1,M2=1,N1+1=2=2^1+0,N2=1,M2=0,对于N2一元编码得10,对M2使用N2宽度的二进制表示为0,而对M1使用N1宽度的二进制为1,所以结果为1001
P.S. 拆分成2的N次方+M形式的时候,要使得N取得所能取的最大值
3. 解码
4. 使用倒排索引进行快速搜索
最后我们要对这些累加器进行筛选,保留最高价值的累加器。
练习