td-idf理解

定义

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​]

后续可使用这些向量计算文本相似度等

上一篇:Elasticsearch 为了搜索


下一篇:基于 TF-IDF 算法的关键词抽取