读《数学之美》
  • 读《数学之美》
  • 第 0 章 序言 前言
  • 第 1 章 文字和语言 vs 数字和信息
  • 第 2 章 自然语言规则——从规则到统计
  • 第 3 章 统计语言模型
  • 第 4 章 谈谈中文分词
  • 第 5 章 隐含马尔可夫模型
  • 第 6 章 信息的度量和作用
  • 第 7 章 贾里尼克和现代语言处理
  • 第8章 简单之美——布尔代数和搜索引擎的应用
  • 第 9 章 图论和网络爬虫
  • 第 10 章 PageRank——Google民主表决式网页排名技术
  • 第 11 章 如何确定网页和查询的相关性
  • 第 12 章 地图和本地搜索的最基本技术
  • 第 13 章 Google ak-47 的设计者
  • 第 14 章 余弦定理和新闻分类
  • 第 15 章 矩阵运算和文本处理中的两个分类问题
  • 第 16 章 信息指纹及其应用
  • 第 17 章 谈谈密码学的数学原理
  • 第 18 章 闪光的不一定是金子——谈谈搜索引擎
  • 第 19 章 谈谈数学模型的重要性
  • 第 20 章 谈谈最大熵模型
  • 第 21 章 拼音输入法的数学原理
  • 第 22 章 自然语言处理的教父马库斯和他的优秀弟子们
  • 第 23 章 布隆过滤器
  • 第 24 章 马尔科夫链的扩展——贝叶斯网络
  • 第 25 章 条件随机场和句法分析
  • 第 26 章 维特比和他的维特比算法
  • 第 27 章 再谈文本自动分类问题——期望最大化EM
  • 第 28 章 逻辑回归和搜索广告
  • 第 29 章 各个击破算法和Google云计算的基础
Powered by GitBook
On this page
  • 搜索关键词权重的科学度量 TF-IDF
  • 小结

第 11 章 如何确定网页和查询的相关性

Previous第 10 章 PageRank——Google民主表决式网页排名技术Next第 12 章 地图和本地搜索的最基本技术

Last updated 7 years ago

搜索关键词权重的科学度量 TF-IDF

单文本词频:,其中表示第个词在网页中出现的次数,表示该网页的总词数,单文本词频就是指某个词在某篇网页上出现的频率。

逆文本频率指数(Inverse Document Frequency, IDF):,这个用来度量某个词的权威性,表示整个互联网的全部网页数,表示出现了的网页的总数,在一个网页中出现的次数越多表示该词与该网页越相关,但是在所有网页中出现的次数越少表示该词越权威,这就是。

由单文本词频、逆文本频率指数我们可以得到以下公式来表示查询文本和网页相关性:

查询文本和网页相关性(11.1)

这个公式其实是交叉熵的应用,后面会讲到。

具体例子: 我们平时使用搜索引擎进行搜索时搜索引擎是如何查找出与我们输入内容最相关的网页的呢?比如我们在搜索引擎中输入“原子能的应用”,那么搜索引擎是如何来搜索到我们想要的网页的呢?

首先我们把“原子能的应用”进行分词得到“原子能”“的”“应用”三个词;我们要找与这三个词相关的网页,那么这三个词在目标网页中出现的次数必定是较多的,但“的”字是个虚词,没有意义,应该剔除;“原子能”与“应用”这两个词很明显对主题的提示作用是不同的,“原子能”与用户感兴趣的主题更相关,这就涉及到权威性的考量。

小结

TF-IDF 是对搜索关键词的重要性的度量。

假设一个网页有1000个词,“原子能”出现了5次,“的”出现了35次,“应用”出现了12次,那么相应的单文本词频分别是:0.005、0.035、0.012;又假定整个互联网所有的网页数目是10亿(当然远不止这么多),包含了“原子能”这个词的网页总共有200万个,包含“的”的网页总共10亿个(每个网页都会出现“的”字),包含“应用”的网页总共5亿个,所以相应的逆文本频率指数分别是:,,,所以其与“原子能的应用”的相关性是:,其中“原子能”贡献了0.0448,而“应用”只贡献了0.012,“的”字的贡献为0,与我们的直觉很相近。

\left| x_{i}  \right|
IDF_i=\log \left( \frac{D}{D_w} \right)
 \left| N \right|
D
i
w
w
w
w
TF_{i} =\frac{| x_{i}|}{| N|}
D_{w}
TF
IDF
IDF_{i}
\log _2\left( \frac{10}{10} \right) =0
\log _2\left( \frac{10}{0.02} \right) =\log _2\left( 500 \right) =8.96
\log _2\left( \frac{10}{5} \right) =1
0.005*8.96+0.035*0+0.012*1=0.0448+0+0.012=0.0568