TF-IDF与余弦相似性的应用(二):找出相似文章

上一次,我用TF-IDF算法自动提取关键词。

今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,"Google新闻"在主新闻下方,还提供多条相似的新闻。

为了找出相似的文章,需要用到"余弦相似性"(cosine similiarity)。下面,我举一个例子来说明,什么是"余弦相似性"。

为了简单起见,我们先从句子着手。

句子A:我喜欢看电视,不喜欢看电影。

句子B:我不喜欢看电视,也不喜欢看电影。

请问怎样才能计算上面两句话的相似程度?

基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

第一步,分词。

句子A:我/喜欢/看/电视,不/喜欢/看/电影。

句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。

第二步,列出所有的词。

我,喜欢,看,电视,电影,不,也。

第三步,计算词频。

句子A:我 1,喜欢 2,看 2,电视 1,电影 1,不 1,也 0。

句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。

第四步,写出词频向量。

句子A:[1, 2, 2, 1, 1, 1, 0]

句子B:[1, 2, 2, 1, 1, 2, 1]

到这里,问题就变成了如何计算这两个向量的相似程度。

我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

以二维空间为例,上图的a和b是两个向量,我们要计算它们的夹角θ。余弦定理告诉我们,可以用下面的公式求得:

假定a向量是[x1, y1],b向量是[x2, y2],那么可以将余弦定理改写成下面的形式:

数学家已经证明,余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等于:

使用这个公式,我们就可以得到,句子A与句子B的夹角的余弦。

余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。所以,上面的句子A和句子B是很相似的,事实上它们的夹角大约为20.3度。

由此,我们就得到了"找出相似文章"的一种算法:

(1)使用TF-IDF算法,找出两篇文章的关键词;

(2)每篇文章各取出若干个关键词(比如20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了避免文章长度的差异,可以使用相对词频);

(3)生成两篇文章各自的词频向量;

(4)计算两个向量的余弦相似度,值越大就表示越相似。

"余弦相似度"是一种非常有用的算法,只要是计算两个向量的相似程度,都可以采用它。

下一次,我想谈谈如何在词频统计的基础上,自动生成一篇文章的摘要。

上一次,我用TF-IDF算法自动提取关键词。

今天,我们再来研究另一个相关的问题。有些时候,除了找到关键词,我们还希望找到与原文章相似的其他文章。比如,"Google新闻"在主新闻下方,还提供多条相似的新闻。

为了找出相似的文章,需要用到"余弦相似性"(cosine similiarity)。下面,我举一个例子来说明,什么是"余弦相似性"。

为了简单起见,我们先从句子着手。

句子A:我喜欢看电视,不喜欢看电影。

句子B:我不喜欢看电视,也不喜欢看电影。

请问怎样才能计算上面两句话的相似程度?

基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

第一步,分词。

句子A:我/喜欢/看/电视,不/喜欢/看/电影。

句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。

第二步,列出所有的词。

我,喜欢,看,电视,电影,不,也。

第三步,计算词频。

句子A:我 1,喜欢 2,看 2,电视 1,电影 1,不 1,也 0。

句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。

第四步,写出词频向量。

句子A:[1, 2, 2, 1, 1, 1, 0]

句子B:[1, 2, 2, 1, 1, 2, 1]

到这里,问题就变成了如何计算这两个向量的相似程度。

我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

以二维空间为例,上图的a和b是两个向量,我们要计算它们的夹角θ。余弦定理告诉我们,可以用下面的公式求得:

假定a向量是[x1, y1],b向量是[x2, y2],那么可以将余弦定理改写成下面的形式:

数学家已经证明,余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等于:

使用这个公式,我们就可以得到,句子A与句子B的夹角的余弦。

余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。所以,上面的句子A和句子B是很相似的,事实上它们的夹角大约为20.3度。

由此,我们就得到了"找出相似文章"的一种算法:

(1)使用TF-IDF算法,找出两篇文章的关键词;

(2)每篇文章各取出若干个关键词(比如20个),合并成一个集合,计算每篇文章对于这个集合中的词的词频(为了避免文章长度的差异,可以使用相对词频);

(3)生成两篇文章各自的词频向量;

(4)计算两个向量的余弦相似度,值越大就表示越相似。

"余弦相似度"是一种非常有用的算法,只要是计算两个向量的相似程度,都可以采用它。

下一次,我想谈谈如何在词频统计的基础上,自动生成一篇文章的摘要。


相关内容

  • 信息检索检索向量空间模型
  • 信息检索检索 向量空间模型 一:算法描述 在文本挖掘.搜索引擎应用中,文本的特征表示是挖掘工作的基础,它对文本进行预处理,抽取代表其特征的元数据,这些特征可以用结构化的形式保存,作为文档的中间表示形式.向量空间模型(VectorSpaceModel)是近年来应用较多的文本特征表示方法之一,它是由Ge ...

  • 国科大现代信息检索第二次作业
  • 国科大2013年秋季<现代信息检索>第二次作业(第六章到第十五章) 以下1-16每题6分,第17题3分,共计100分. 1. 习题 6-10 考虑图6-9中的3篇文档Doc1.Doc2.Doc3中几个词项的tf情况,采用图6-8中的idf 值来计算所有词项 图6-9 习题 6-10中所使 ...

  • 基于kNN算法的异常行为检测方法研究
  • 计 算 机 工 程 第 33 卷 第7期 Vol.33 No.7 Computer Engineering · 安全技术 · 文章编号:1000-3428(2007)07-0133-02 文献标识码:A 2007年4月 April 2007 中图分类号:TP393.01 基于k NN 算法的异常行为 ...

  • 文本特征提取方法研究
  • 作 者:田文颖 文本特征提取方法研究 一.课题背景概述 文本挖掘是一门交叉性学科, 涉及数据挖掘.机器学习.模式识别.人工智能.统计学.计算机语言学.计算机网络技术.信息学等多个领域.文本挖掘就是从大量的文档中发现隐含知识和模式的一种方法和工具, 它从数据挖掘发展而来, 但与传统的数据挖掘又有许多不 ...

  • 基于K-Means的文本聚类算法
  • TF-IDF(term frequency–inverse document frequency) 这是一种用于信息检索的一种常用加权技术.它是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度.字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中 ...

  • 向量相似度测度方法
  • I,)1( 第28卷第4期2009年8月 声学技术 TechnicalAcoustics V01.28,NO.4 Aug.,2009 向量相似度测度方法 张宇,刘雨东,计钊 (中国船舶重工集团公司第七六.研究所,大连116013) 摘要:判断阿个向量的相似程度,一般采用计算相似度的方法.首先对相似度 ...

  • 马氏与欧氏
  • 第五章 聚类分析 §5.1 什么是聚类分析 聚类分析又称群分析,它是研究(样品或指标)分类问题的一种多元统计方法,所谓类,通俗地说,就是指相似元素的集合.严格的数学定义是较麻烦的,在不同问题中类的定义是不同的.详见参考文献[1]. 聚类分析起源于分类学,在考古的分类学中,人们主要依靠经验和专业知识来 ...

  • 碎纸片复原
  • 关于碎纸片的自动拼接复原的数学模型问题 摘要 本文根据碎纸片内的文字特征.图片像素特征特点提出了基于文字特征的文档碎纸片自动拼接复原模型.根据碎纸拼接模型提出了基于MATLAB[1]语言为核心的自动拼接算法,并用该算法的程序对碎纸机碎纸的实际例子进行了拼接实验.对这类边缘相似的碎纸片的拼接,理想的计 ...

  • 基于欧氏距离和余弦相似度特征选择的入侵检测模型
  • 基 于欧 氏距离和余 弦相似度特征选择 的入侵检测模 型 吴桂 玲 ' ( 济大学 同 软件学院 天津市塘沽区市 政工程局) 摘要 : 现今 , 数据挖掘技术 已经广泛用于各个领域, 得到社会各界的普遍 事实上 , 入侵检测系统还有一些不足 , 特别是误用检测对未知攻 关注. 在入侵检测系统中, 数 ...