文本预处理 BOW(Bag Of Words,词袋)和 TF-IDF(Term Frequency-Inverse Document Frequency,词频逆文档频率)

1. BOW 构建过程

• 将文本中的词汇提取出来,组成一个词汇表。
• 每篇文档则使用词汇表中的词来表示,形成一个词频向量。
• 忽略词汇之间的顺序关系,只关心词频信息。

比如:
文本1: The cat sits on the mat.
文本2: The dog plays with a ball.

构建词汇表:[The, cat, dog, sits, on, mat, plays, with, a, ball]

文本1转换为词频向量:[2, 1, 0, 1, 1, 1, 0, 0, 0, 0]
文本2转换为词频向量:[1, 0, 1, 0, 0, 0, 1, 1, 1, 1]

2. BOW 与 TF-IDF 对比

• 词频信息的差异
Bag of Words直接使用词的词频(tf)作为权重,表征语义比较粗糙。
Tf-idf不仅使用词频tf,还考虑了词的逆文档频率idf,能够反映一个词在整个语料中的重要程度,表征语义信息更丰富。
• 向量特征的差异
Bag of Words会生成高维稀疏向量,维度与词汇表大小一致。
Tf-idf可以通过设置配置,生成较低维的密集向量。

3. TF-IDF 构建过程

• 词频:计算每个词在一篇文档中出现的频率,反映词的重要性。设词语t在文档d中出现的次数为tf(t,d)。
• 逆文档频率:计算每个词在整个文档集合中的逆文档频率,来衡量一个词的常见程度。idf(t,D) = log(D / (d+1)) ,其中D是文档总数,d是包含词语t的文档数。
• TF-IDF:将TF和IDF相乘得到TF-IDF的值,度量词语t对文档d的重要性。tf-idf(t,d,D) = tf(t,d) * idf(t,D)
• 分词的向量化表示:对每个文档,统计其中每个分词的TF-IDF值,作为分词向量的特征。

4. TF-IDF 与 BM25 对比

• BM25是TF-IDF的增强版本,通过参数调整可以适应不同任务。
• BM25考虑词频tf和文档长度normalization,而传统TF-IDF只有tf和idf。
• BM25有可调参数k1(用于调节词频(term frequency, tf)的缩放因子,k1的值越大,常见词的词频越被缩减,k1的值越小,不常见词的词频越被放大)和b(用于调节文档长度(document length)的缩放因子,b值越大,长文档对评分的贡献越小,b值越小,长文档对评分的贡献越大),可以优化不同数据集。TF-IDF无可调参数。
• BM25文档长度校正能减轻长文档对词的tf值影响。TF-IDF未考虑文档长度。
• BM25通过词频对词排序,TF-IDF直接用tf-idf值排序。
• BM25适用于短文本的相似度计算,TF-IDF更适用于长文本。
• BM25算法复杂度较高,TF-IDF简单高效。
• BM25效果优于TF-IDF,但TF-IDF也较为常用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值