定义
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。
公式(个人理解版)
以二维向量距离,更多维向量以此推类
分子为向量的点乘,分母为距离
t f = 文 档 d 中 词 w 出 现 的 次 数 tf=文档d中词w出现的次数 tf=文档d中词w出现的次数
i d f = log N N ( w ) ( N 为 文 档 总 量 , N ( w ) 为 这 个 词 出 现 在 多 少 文 档 中 ) idf=\log \frac{N}{ N(w)}(N为文档总量,N(w)为这个词出现在多少文档中) idf=logN(w)N(N为文档总量,N(w)为这个词出现在多少文档中)
T F I D F = t f × i d f TFIDF=tf \times idf TFIDF=tf×idf
个人理解
降低高频词如(的,了)等在全文中相似度的比重,增强出现频次小的词对相似度结果的影响
举例说明
简单举例,三个简单的中文句子:
分词后的句子1:今天|的|天气|真|不错
分词后得句子2:今天|的|晚饭|里|也|有|很多|肉|
分词后得句子3:昨天|的|晚饭|有|很多|肉|还|不错
生成以上三个句子所用的词典:
词典:[今天,的,天气,真,不错,晚饭,里,也,有,很多,肉,昨天,还]
这个是13维的字典
根据字典统计三个句子中,每个词出现频率:
句子1:[1,1,1,1,1,0,0,0,0,0,0,0,0]
句子2:[1,1,0,0,0,1,1,1,1,1,0,0,0]
句子3:[0,1,0,0,1,1,0,0,1,1,1,1,1]
用TFIDF的方式生成向量
句子1:[
log
3
2
\log \frac{3}{ 2}
log23,
log
3
3
\log \frac{3}{ 3}
log33,
log
3
1
\log \frac{3}{ 1}
log13,
log
3
1
\log \frac{3}{ 1}
log13,1
log
3
1
\log \frac{3}{ 1}
log13,0,0,0,0,0,0,0,0]
句子2:[
log
3
2
\log \frac{3}{ 2}
log23,
log
3
3
\log \frac{3}{ 3}
log33,0,0,0,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
1
\log \frac{3}{ 1}
log13,
log
3
1
\log \frac{3}{ 1}
log13,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
2
\log \frac{3}{ 2}
log23,0,0,0]
句子3:[0,
log
3
3
\log \frac{3}{ 3}
log33,0,0,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
2
\log \frac{3}{ 2}
log23,0,0,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
2
\log \frac{3}{ 2}
log23,
log
3
1
\log \frac{3}{ 1}
log13,
log
3
1
\log \frac{3}{ 1}
log13]
后续可使用这些向量计算文本相似度等