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

简介:

本文分为两部分

  1. 搜索关键词权重的科学度量TF-IDF
  2. 利用python的工具包计算文本的TF-IDF

 

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

查询:原子能的应用

首先进行分词:原子能、的、应用

根据直觉知道:包含这三个词较多的网页比包含少的网页与我们的需求相关性更好

 

漏洞:内容多的比内容少的占优势

改进归一化。即用关键词的个数除以网页总的词数,商称为”单文本词频“TF(Term Frequency)。比如”原子能、的、应用“三个词出现的词数分别为2、35、5,网页中一共有1000个词,那么三个词的TF分别为:0.002、0.035、0.005。查询与网页的相关度即总词频公式如下。那么三者之和0.042就是关键词在该网页中的总词频。

                 TF1 + TF2 + ... + TFn

 

漏洞:”的“几乎在每个网页中都出现,对确认网页的主题几乎没什么价值

改进:我们把"这些词称为”停止词“(Stop word),比如:”的“, ”和“, ”是“,附录有几种停用词表。那么”原子能的应用“总TF=0.002 + 0.005 = 0.007

 

漏洞:”原子能“的对网页的价值比“应用”更大

改进:对汉语中的每个词有个权重,这个权重必须满足下面的两个条件:

  • 一个词预测主题的能力越强,权重越大。
  • 停止词的权重为0

很容易理解:一个词只有在少数的网页中出现,那么它的锁定目标能力越强。他的权重就应该越大。那么怎么得到每个词的权值呢,使用最多的是“逆文本频率指数”(Inverse Document Frequency,简称IDF),公式为:

       log(D / Dw)   其中D为全部网页数,Dw为关键词w,在所有网页中出现的词数

可见:在所有网页中出现词数越多Dw越大,IDF越小,其区分度也该越小,因此权值越小。当在所有网页中都出现时IDF=0

这样查询与网页的相关度由简单的词频相加变为加权求和:

                   TF1*IDF1 + TF2*IDF+ ... + TFn*IDFn

 

TF-IDF被公认为信息检索中最重要的发明。在搜索、文献分类和其他相关领域有着广泛的应用。最早由斯巴克·琼斯发明。从理论上IF-IDF有很强的理论根据,因此即直接采用IF-IDF的公式,效果也不会太差。现在的搜索引擎对TF-IDF进行了不小的改进,使得相关性度量更加准确了,都在原来的基础上进行了改进和微调。但是原理和IF-IDF相差不远。

 

2. 利用python的工具包计算文本的TF-IDF

SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。其功能与软件MATLAB、Scilab和GNU Octave类似。 Numpy和Scipy常常结合着使用,Python大多数机器学习库都依赖于这两个模块。

程序演示说明

 注:这里的idf的对数底数是2

参考 

  吴军《数学之美》

  我爱自然语言处理:如何计算两个文档的相似度

附录——停用词表

  中文   英文

 

 




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3329364.html,如需转载请自行联系原作者


相关文章
|
3月前
|
算法 UED 索引
如何优化因为高亮造成的大文本(大字段)检索缓慢问题
如何优化因为高亮造成的大文本(大字段)检索缓慢问题
58 0
|
8月前
|
算法 搜索推荐 计算机视觉
图片相似度计算及检索调研
图片相似度计算和相似图片搜索,是图片识别领域两个常见的应用场景。例如搜索相似商品,和相似的图片,在百度、淘宝中都有应用。在某些业务中,也存在对图片相似度的计算和判断。因此,在这里简单介绍一下相关算法。
376 0
|
12天前
|
SQL 前端开发 Java
实现数据的搜索( 筛选 )功能
实现数据的搜索( 筛选 )功能
|
JavaScript
计算属性实现模糊搜索功能场景
我相信大家在项目中都会遇到模糊搜索这个功能要求,即我们在输入框内输入文字后显示与输入文字相关的关键字,那这个具体实现方案是什么,这是我在最近一期蓝桥杯楼赛中遇到的业务需求,大家可以来思考一下,下面我将进行实现详解
112 2
计算属性实现模糊搜索功能场景
|
机器学习/深度学习 搜索推荐 数据处理
这就是搜索引擎读书笔记-day3-5.检索模型与搜索排序
搜索结果排序融合了上百种排序因子,而重要两因素是:用户查询和网页内容相关性 及 网页链接情况。本节介绍内容相关性介绍网页排序
这就是搜索引擎读书笔记-day3-5.检索模型与搜索排序
|
搜索推荐
搜索引擎如何判断内容相关性
当用户使用搜索引擎搜索某一个关键词的时候,搜索引擎会根据用户输入的关键词,将相关度最高,质量最好的内容呈现给用户。 1、什么是网站内容的相关性 所谓网站内容的相关性,简单来说就是指标题和内容的匹配及相关程度。 2、标题出现关键词 一个网站或者网页的标题可以说是这个网站或网页的主题,中心思想,如果在一篇文章中出现了关键词,那么搜索引擎会认为这个网页与关键词肯定是非常相关的,这也是为什么网站或网页的标题如此重要的原因。 3、权威网站的链接
173 0
|
自然语言处理 搜索推荐 算法
搜索引擎相关性计算
计算相关性是排名过程中最重要的一步。相关性计算是搜索引擎算法中最令SEO感兴趣的部分。 影响相关性的主要因素包括以下几方面。 (1)关键词常用程度。经过分词后的多个关键词,对整个搜索字符串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对搜索词的意义贡献越大。 (2)关键词位置及形式。就像在索引部分中提到的,页面关键词出现的格式和位置都被记录在索引库中。关键词出现在比较重要的位置,如标题标签、黑体、H1等,说明页面与关键词越相关。这一部分就是页面SEO所要解决的。
249 0
|
搜索推荐 UED
影响搜索排名的用户行为
可以影响排名的用户行为如下。 1.网站流量和Alexa排名 这两个因素是最直接、误差最大的因素,其中Alexa排名因为其样本分布不均匀、容易作弊等特点,与网站真实流量往往有很大的误差,不过总体流量也是在一定程度上说明网站的受欢迎程度,因此这一类用户行为的总和也是在影响着排名的。
139 0
|
存储 搜索推荐 开发者
标签权重在个性化搜索排序中的最佳实践
本文通过阿里云开放搜索中的tag_match 函数的标签匹配应用,详细解读标签权重在搜索排序召回中的业务价值
6290 0
标签权重在个性化搜索排序中的最佳实践
|
SEO 搜索推荐 自然语言处理
如何提高SEO页面与用户检索的相关性?
对于任何一个SEO而言,我们的目的实际上都只有一个,那就是尽量出现在搜索结果中的TOP10,当然,我们知道,影响网站排名的因素众多,其中:页面相关性与特定搜索关键词是否高度相匹配显得格外重要。   否则,即使你拥有大量的外部资源,也只能是事倍功半。
1381 0