本栏全部引自洪亮劼的AI技术内参,做一些知识梳理和总结
TF-IDF算法详解
要理解 TF-IDF 算法,第一个步骤是理解 TF-IDF 的应用背景。TF-IDF 来源于一个最经典、也是最古老的信息检索模型即“向量空间模型”(Vector Space Model)。
TF-IDF是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
简单来说,向量空间模型就是希望把查询关键字和文档都表达成向量,然后利用向量之间的运算来进一步表达向量间的关系。比如,一个比较常用的运算就是计算查询关键字所对应的向量和文档所对应的向量之间的“相关度”。
在最基本的向量空间模型的表达中,查询关键字或是文档的向量都有V 维度。这里的 V 是整个词汇表(Vocabulary)的总长度。比如,我们如果有10个常用的英文单词,那么这个 V 的取值就是10,而查询关键字和每个文档的向量都是一个10维的向量。对于这个向量中的每一个维度,都表示英文中的一个单词,没有重复。
如果文档中的词出现在词汇表里则赋值为1,否则用0来表达。
词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。
逆向文件频率 (inverse document frequency, IDF) IDF的主要思想是:如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。