文章目录

  • 向量空间模型(Vector Space Model)
    • 0. 概述
    • 1. TF(Term frequency ,TF)
    • 2. IDF(Inverse document frequency,IDF)
    • 3. TF-IDF(Term Frequency-Inverse Document Frequency)
    • 4. Similarity Function 相似性函数
    • 5. 举例
      • 举例1:文献中的tf-idf
      • 举例2:完整的代码以及谷歌搜索攥取分析
      • 举例3:在图像领域的使用

向量空间模型(Vector Space Model)

参考文献:

tf-idf原理以及应用

coursera:Vector Space Model

Tf-idf and Cosine Similarity

向量空间模型

0. 概述

向量空间模型(Vector Space Model)概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂。当文档被表示为文档空间的向量,就可以通过计算向量之间的相似性来度量文档间的相似性。文本处理中最常用的相似性度量方式是余弦距离。

我们在对文本内容操作分析之前,我们先要明确几个概念(参考连接)

  1. 文档(Document):泛指一般的文本或者文本中的片断(段落、句群或句子)。一般指一篇文章,尽管文档可以是多媒体对象,但是以下讨论中我们只认为是文本对象,本文对文本与文档不加以区别。(最后的章节会有拓展
  2. 项(Term):文本的内容特征常常用它所含有的基本语言单位(字、词、词组或短语等)来表示,这些基本的语言单位被统称为文本的项,即文本可以用项集(Term List)表示为D(T1,T2,...,Tn)其中是Tn是项,1≤k≤n
  3. 项的权重(Term Weight):对于含有n个项的文本D(T1,T2,...,Tn),项常常被赋予一定的权重表示他们在文本D中的重要程度,即 D=D(T1,W1;…;Tn, Wn)。这时我们说项的权重Wk(1≤k≤n)。
  4. 向量空间模型(VSM):给定一文本D=D(T)由于在文本中既可以重复出现又应该有先后次序的关系,分析起来有一定困难。为了简化分析,暂时不考虑的顺序,并要求互异,这时可以把,D看作是一个n维的坐标(向量),而Wn就是n维坐标所对应的值,所以文档D就可以被看作一个n维的向量了。
  5. 相似度(Similarity):两个文本D、Z。D、Z之间的(内容)相关程度(Degree of Relevance)常常用他们之间的相似度Sim(D,Z)来度量,当文本被表示为向量空间模型时,我们可以借助与向量之间的某种距离来表示文本间的相似度常用向量之间的内积进行计算,或者用夹角的余弦值表示:

可以看出,对向量空间模型来说,有两个基本问题:即特征项的选择项的权重计算。(关于特征项的选择,前面给出的参考博客中给出了比较详尽的描述,这里不做重点讨论,有时间再作为补充补上,我们重点讨论项的权重计算)

下面就用一个例子,来对项的权重计算进行描述。我们手里有三个文档,分别是d1、d2、d3,内容如下所示,我们希望通过某种方法来描述三个文档之间的关系和相似性,我们便可以进行以下的操作。

1. TF(Term frequency ,TF)

词频 (term frequency, TF) 指的是某一个给定的词语(项)在该文件中出现的次数。这个数字通常会被归一化(一般是词频除以文章总词数), 以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)

但是, 需要注意, 一些通用的词语对于主题并没有太大的作用, 反倒是一些出现频率较少的词才能够表达文章的主题, 所以单纯使用是TF不合适的。权重的设计必须满足:**一个词预测主题的能力越强,权重越大,反之,权重越小。**所有统计的文章中,一些词只是在其中很少几篇文章中出现,那么这样的词对文章的主题的作用很大,这些词的权重应该设计的较大。IDF就是在完成这样的工作.

  • 计算该词条在文件集中出现的次数

2. IDF(Inverse document frequency,IDF)

逆向文件频率 (inverse document frequency, IDF) IDF的主要思想是:如果包含词条t的文档越少, IDF越大,则说明词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。

计算公式如下:
IDF=log2(n/termcount)IDF=log_2(n/termcount) IDF=log2​(n/termcount)
其中n表述所有文件集文档的数目(这里指的3),termcount 是词条在所有文件中出现的次数(即tf),特别的,一说分母为termcount+1,以其可能造成分母为0 的情况

  • **NOTE:**为什么这里使用2做底数呢?实际上没有可论证的理由,一种比较有道理的说法是,在计算机领域很多数字都与2的次方有关系。而且IDF的数值与log的底数没有直接的关系,因为log_2(x)=lg(x)*lg2,而显然的,lg2是一个常数,所以对于我们的分析没有较大的差别

3. TF-IDF(Term Frequency-Inverse Document Frequency)

  • 我们为什么要TF-IDF?
    一个例子:假设100篇文档有10000个词,研究某篇500词文章,“机器学习”出现了20次,“而且”出现了20次,那么他们的TF都是20/500=0.04。再来看IDF,对于语料库的100篇文章,每篇都出现了“而且”,因此它的IDF就是log1=0,他的TFIDF=0。而“机器学习”出现了10篇,那么它的IDF就是log10=1,他的TF-IDF=0.04>0,显然“机器学习”比“而且”更加重要。
    上述例子其实也在告诉我们,我们应该构建一种比较公平的权重,来更加均衡的反映Term的状况。TF-IDF出现的原因也正是如此。

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语

综合以上,我们使用TF-IDF来对核心词进行评估,计算方法为:
TF−IDF=TF∗IDFTF-IDF=TF*IDF TF−IDF=TF∗IDF

(这里也给出了直接计算距离Length的方法来描述两个文件的相似程度,相似程度函数有很多,我们一般使用的是余弦函数,下面我们将介绍这种相似性函数)

4. Similarity Function 相似性函数

From each document we derive a vector.The set of documents in a collection then is viewed as a set of vectors in a vector space. Each term will have its own axis. Using the formula given below we can find out the similarity between any two documents.

  • 使用Cosine函数,计算公式如下:
    Similarity=cos(θ)=A∗B∣∣A∣∣∗∣∣B∣∣=∑i=1nAiBi(∑i=1nAi2)(∑i=1nBi2)Similarity=cos(\theta)=\frac{A*B}{||A||*||B||}=\frac{\sum_{i=1}^{n}{A_iB_i}}{\sqrt(\sum_{i=1}^{n}{A_i^2})\sqrt(\sum_{i=1}^{n}{B_i^2})} Similarity=cos(θ)=∣∣A∣∣∗∣∣B∣∣A∗B​=(​∑i=1n​Ai2​)(​∑i=1n​Bi2​)∑i=1n​Ai​Bi​​

5. 举例

举例1:文献中的tf-idf

举例2:完整的代码以及谷歌搜索攥取分析

举例3:在图像领域的使用

目前常用向量空间模型对图像进行相似度搜索。人们可以从图像中计算未来。一个常见的特征是散点直方图。考虑一下这里的图像。可以创建红、绿、蓝通道的直方图,其中直方图是具有一定密度值的像素数。这张图片大部分是亮的,所以暗像素的数量相对较小。现在我们可以把直方图看作一个向量。通常,像素值在创建矢量之前会发生弯曲。表中显示的是一个特征向量,其中每一行的数字都与图像的大小进行了标准化,使行和等于1。类似的向量可以计算图像纹理、物体形状和任何其他属性。因此,向量空间模型对非结构化数据具有重要意义。

一行的数字都与图像的大小进行了标准化,使行和等于1。类似的向量可以计算图像纹理、物体形状和任何其他属性。因此,向量空间模型对非结构化数据具有重要意义。

大数据入门10:向量空间模型(Vector Space Model)相关推荐

  1. 向量空间模型(Vector Space Model)的理解

    https://www.cnblogs.com/hapjin/p/8687527.html

  2. 自然语言处理(NLP)-1.3 向量空间模型(Vector Space Models)

    1.向量空间模型(Vector Space Models) 1.1 基本概念 定义:向量空间模型将单词或文本用向量表示,通过上下文来获取其语义信息 功能:识别两文本/两类文档间的相似度和独立性 例: ...

  3. NLP --- 文本分类(向量空间模型(Vector Space Model)VSM)

    本节主要介绍文本分类中的一种算法即向量空间模型,这个算法很经典,包含文本预处理.特征选择.特征权值计算.分类算法.这是VSM的几个主要步骤,在宗老师的书里都有详细的讲解,这里也会进行深入的讲解,浅显易 ...

  4. 向量空间模型算法( Vector Space Model )

    概念介绍 向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功 地应用于文本检索系统. VSM概念简单,把对文本内容的处理简化为向量空间中的向量 ...

  5. 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 粉丝破万了 新星计划申 ...

  6. 大数据入门课程_我根据数千个数据点对互联网上的每门数据科学入门课程进行了排名...

    大数据入门课程 by David Venturi 大卫·文图里(David Venturi) A year ago, I dropped out of one of the best computer ...

  7. 大数据入门教程系列之Hive内置函数及自定义函数

    本篇文章主要介绍Hive内置函数以及自定义UDF函数和UDFT函数,自定义UDF函数通过一个国际转换中文的例子说明. 操作步骤: ①.准备数据和环境 ②.演示Hive内置函数 ③.自定义UDF函数编写 ...

  8. 女友问粉丝过万如何庆祝,我发长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学弟看了就懂

    文章目录 粉丝破万了 新星计划申请时粉丝数 新星内卷抢热榜之旅 运营整顿新星执行新规 重整旗鼓输出内容为王 女友问粉丝过万如何庆祝 保姆级大数据入门篇 一.学习重点划定 二.Java和大数据关系 三. ...

  9. hdfs mv命令_大数据入门:HDFS文件管理系统简介

    Hadoop作为大数据主流的基础架构选择,至今仍然占据着重要的地位,而基于Hadoop的分布式文件系统HDFS,也在大数据存储环节发挥着重要的支撑作用.今天的大数据入门分享,我们就主要来讲讲HDFS分 ...

最新文章

  1. C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入
  2. JAVA 中 string 和 int 互相转化
  3. utf8乱码解决方案[适合tomcat部署的jsp应用]
  4. 关于JAVA编译时找不到自定义包的问题
  5. springboot mybatis 事务_SpringBoot 下 Mybatis 的缓存
  6. 送你一朵小红花观后感
  7. PIC单片机精通_ADC左对齐与右对齐的数据读取问题
  8. Linux C 中断言assert()使用简介
  9. 10个人做抖音,8个做不起来,为啥?
  10. 中国内镜下血管采集市场趋势报告、技术动态创新及市场预测
  11. spark java 案例_Spark入门案例
  12. 设计模式(十):装饰者模式
  13. Stereoscopic Player 1.7.4 (SSP) 加载字幕
  14. GARFIELD@03-23-2005
  15. 麦子学院与阿里云战略合作 在线教育领军者技术实力被认可
  16. 现代控制理论(5)——线性定常系统的综合
  17. 安卓按键命令库教程(紫猫版续)
  18. 时间序列复杂性的度量—近似熵和样本熵
  19. vue项目中使用@babel/plugin-proposal-optional-chaining的?.语法,防止字段没有报错
  20. u盘数据恢复软件哪个好?免费软件有哪些?

热门文章

  1. 找到自己--一怒为红颜
  2. LL(1)预测分析程序C++实现
  3. 【无人机】基于matlab蚁群算法求解含危险源的无人机路径规划【含Matlab源码 2059期】
  4. 【zzulioj 2127 tmk射气球】+ 空间点到线段距离
  5. git clone出现fatal: unable to access 'https://': SSL certificate problem: self signed certificate in c
  6. 了解helmet的使用
  7. WSB5523D中功率肖特基势垒二极管WILLSEM
  8. 不动点求数列通项原理_不动点法和数列通项公式
  9. Keyshot7安装与Creo的联合调试
  10. 卷积神经网络CNN各层基本知识