TF/IDF概念学习笔记

今天晚上加班开发一套程序界面,等回到家已经11点30了。本来打算继续写我的GDE-X引擎,时间已经不够了。那么就学习一点东西吧,打开放在桌面上的吴军老师的《数学之美》,顿时发现一片新的天地。

 

—— TF/IDF概念。(turn frequency/Inverse document frequency)也称为词汇频率/逆向文本频率。

 

该技术是信息检索领域最重要的思想,用于确定检索关键词与被检索文本的相关性。

 

如何确定 关键词 与 被检索文本的相关性呢?从我们直观上来说,首先需要词匹配、其次需要对于我们的关键词有个衡量标准,比如搜“网络游戏的现状”,那么我们可以肯定 “网络游戏”在关键字中的分量要比“现状”更加重要,而“的”这个助词基本可以忽略。

 

我们可以将搜索关键字进行中文分词,假如得到 C1,C2,C3...Cn个分词。

那么对于每个分词我们有个权值,作为它的重要程度,比如W1,W2,W3。。。。Wn。

所以 越专业的词,我们就认为它的权值更高。如上例中 网络游戏 就比 现状的权值高。

 

那么某段记录的与我们的关键字的相关性 计算公式如下:

 

F = 词频1 * W1 + 词频2 * W2 + .... + 词频N * WN

 

词频就是该词在记录中出现的频率,(频率 = 出现次数 / 记录中词总数 )

 

这一部分我们叫做 TF(词汇频率) 概念。

 

然后我们需要求得各个词的权值,我们通过IDF(逆向文本)概念:

 

分析所有的被检索记录,若一个词出现得越多,则这个词越不重要。(越大众化)

若一个词出现得越少,则这个词越重要。(专业化)

 

对于词CN,若它在 n 个记录中出现过,假设系统总共有 m 条记录,则其权值计算公式为:

 

W = log( m / n )

 

为什么是log?——这个据说证明相当复杂,但最终证明log是合理的。

 

这部分计算概念即为 IDF。

 

以这个概念为基础数学模型,提供一种在海量信息中建立对于 关键字 相关性的计算机制。这也是 搜索引擎的一个基本数学基础。

 

——非常简单,但是强大!

 

然后自己有点想法,改天可以自己实现一个简单的TF/IDF,再基于这个,研究一下是否可以做一个文章错别字检测的程序。(貌似WORD里有相关功能,但是不太好用?)——需要具体调研。。

 

你可能感兴趣的:(游戏,搜索引擎,F#,领域模型)