TF-IDF个人总结

TF-IDF算是nlp工程师必须掌握的入门级别的算法。作为兴趣爱好,之前曾阅读过几篇介绍该算法的博客,对其只是知道个大概。最近在看吴军老师的《数学之美》,里面对TF-IDF的介绍使得我对该算法有了更深刻的认识。现将个人对该算法的理解整理如下:

TF-IDF是一种统计方法,用来评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它①在文件中出现的次数成正比增加,但同时会随着它②在语料库中出现的频率成反比下降。

其中,①通过算法的TF部分来进行评估;②通过IDF来进行评估。

TF:Term Frequency,一般称为“关键词的词频”,或者“单文本词频”。计算方法:文件中关键词的使用次数除以文件总词数(非去重)。例如,在一篇总词数为10000的文章中,“人工智能”出现了17次,“发展”出现了23次,“的”出现了113次。那么它们的TF分别为:0.0017,0.0023,0.0113。

IDF:Inverse Document Frequency,一般称为“逆文本频率指数”。计算方法:log(D/D_{w}),其中D为语料库中文件的个数,D_{w}为出现过该关键词的文件个数。例如,语料库中共有1000篇文章,包含“人工智能”的文章有3篇,包含“发展”的有20篇,全部文章都包含“的”。那么它们的IDF分别为:log(1000/3),log(1000/20),log(1000/1000)。

那么“人工智能/的/发展”与该篇文章的相似度为:

0.0017*log(1000/3)+0.0023*log(1000/20)+0.0113*log(1000/1000)

 

参考文献:

https://baike.baidu.com/item/tf-idf/8816134?fr=aladdin

《数学之美》:第11章 如何确定网页和查询的相关性

 

你可能感兴趣的:(NLP)