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

article/2025/9/8 5:24:32

文章目录

  • 向量空间模型(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,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。

计算公式如下:
I D F = l o g 2 ( n / t e r m c o u n t ) 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来对核心词进行评估,计算方法为:
T F − I D F = T F ∗ I D F TF-IDF=TF*IDF TFIDF=TFIDF
在这里插入图片描述
(这里也给出了直接计算距离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函数,计算公式如下:
    S i m i l a r i t y = c o s ( θ ) = A ∗ B ∣ ∣ A ∣ ∣ ∗ ∣ ∣ B ∣ ∣ = ∑ i = 1 n A i B i ( ∑ i = 1 n A i 2 ) ( ∑ i = 1 n B i 2 ) 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(θ)=ABAB=( i=1nAi2)( i=1nBi2)i=1nAiBi
    在这里插入图片描述

5. 举例

举例1:文献中的tf-idf

在这里插入图片描述

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

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

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

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

在这里插入图片描述


http://chatgpt.dhexx.cn/article/TmPSuaa2.shtml

相关文章

05转置和向量空间

进入了向量空间才算开始了线性代数的大门。几个重要的概念: 列空间包含所有列向量的线性组合,记作 C ( A ) C(A) C(A);当且仅当 b b b在 A A A的列空间时, A X b AXb AXb才有解; 一个 m n m\times n mn的系数矩阵 …

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

概念介绍 向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功地应用于文本检索系统。 VSM概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语…

向量空间搜索引擎理论

简述 向量空间搜索引擎使用了一个非常简单的计数对于矩阵代数去比较基于词频的文档。 向量空间搜索引擎的第一个主要组成部分是概念术语空间。简单地说,术语空间由每个唯一的单词组成出现在文档集合中。 向量空间搜索引擎的第二个主要组成部分是项目计数。项目计…

向量空间 vector space

向量空间表示为 R 1 , R 2 , R 3 , R 4 , . . . , R n \bf{R}^1, \bf{R}^2, \bf{R}^3, \bf{R}^4, ..., \bf{R}^n R1,R2,R3,R4,...,Rn 。 R n \bf{R}^n Rn 表示 n n n 维向量集合所组成的空间,称为二维向量空间。但是,并不是所有集合组成的空间都能称作…

向量空间的基

1 向量空间的基 1.1 回顾 继续往下之前,先总结下前面所学的。先是学习了向量,然后把同维数的向量放在集合中构成了向量组: 然后通过向量组得到张成空间,也就是关注的核心,向量空间: 1.2 定位 定义向量空间之后,我们就需要去研究它。就如研究宇宙空间,需要把每一颗恒…

线性代数-向量空间

线性代数-向量空间 向量空间向量空间张成空间等价向量组最大无关组向量组的秩 向量空间的基基与坐标向量空间的维度 点积(数量积)欧几里得空间长度角度新的运算点积的定义长度/角度与自然基点积的性质欧氏距离和余弦距离小结 向量空间 向量空间 向量空间的严格定义&#xff1…

向量空间、子空间、列空间

1.向量空间、子空间、列空间 1.1 向量空间 向量空间是由列空间组成的 诸如下面 v \boldsymbol{v} v 这样的类型的所有向量构成了空间 R n \boldsymbol{R}^n Rn,可以将空间看作一个集合,集合中的每个元素都是一个类似于 v \boldsymbol{v} v 的向量 …

向量与向量空间

向量与向量空间 这一篇文章是线性代数系列的第一篇,国内外一般的课程与教材都是从线性方程组开始讲线性代数,从高斯消元、高斯约旦这些方法入门线性代数也是对新手比较友好的。这个系列的文章可能会比国内的教材更接近线代的本质(博主自以为…

线性代数之——向量空间

1. 向量空间和子空间 向量空间 R n \boldsymbol R^n Rn 由所有的 n n n 维向量 v v v 组成,向量中的每个元素都是实数。 向量空间 R 2 \boldsymbol R^2 R2 可以用 x y xy xy 平面来表示,其中的每个向量有两个元素,它们定义了平面上一个…

4.1 向量空间与子空间

主要内容 本节讲述了向量空间的概念,这里要把之前由几何概念得到的对向量空间的直觉进行进一步抽象和泛化,只要满足定义的一组向量,都可以构成向量空间,例如多项式、实函数等等。在向量空间的基础上,引入了子空间的概…

向量空间模型

实数域定义向量 设有一个数的集合 F,它满足“F 中任意两个数的加减乘除法(除数不为零)的结果仍然在这个 F 中”,我们就可以称 F 为一个“域”。我们处理的数据通常都是实数,所以这里我只考虑实数域。而如果域 F 里的元…

线性代数 --- 向量空间(vector space)与子空间(subspace)

Part I --- 向量空间: 向量空间就是由包含n个分量的列向量所组成的Rn的空间,其中R表示实数。例如,R2就代表了一般的x-y平面,其中包含两个分量的向量表示坐标系中的一个点(x,y)。同理,R3中的一个向量,包含三…

向量空间

向量空间的概念 定义:设 V 是 n 维向量的集合,如果满足 若 a ∈ V, b ∈ V,则a b ∈ V .(对加法封闭)若 a ∈ V,k∈ R,则ka ∈ V . (对数乘封闭…

http 500 错误总结

500: Internal server Error The server encountered an unexpected condition which prevented it from fulfilling the request. 应用代码出了问题,比如说空指针、数据库异常、访问其它服务的网络异常等等,被tomcat容器捕获后,返回500错误…

HTTP Status 500错误

HTTP Status 500 - java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name command available as request attribute 发生的错误&#xff1a;在请求域例没有command这样的属性 <form:input path"lastName"/> 要想显…

HTTP-500错误---原因一

在运行项目的时候产生了下面的错误&#xff0c;然后就开始找原因。最后发现是数据库名字与代码中的不一样导致的。修改数据库之后就可以正常运行了 HTTP状态 500 - 内部服务器错误类型 异常报告消息 Servlet执行抛出一个异常描述 服务器遇到一个意外的情况&#xff0c;阻止它…

500 Internal Server Error错误问题解决办法

这两天遇见两次页面报 500 Internal Server Error错误问题,网上找了许多答案都未能解决问题&#xff0c;如图&#xff1a; 最后找到原因&#xff1a; 本地服务端正常&#xff0c;由于该数据调用的是第三方接口&#xff0c;次数第三方接口服务已经停止运行&#xff0c;所有导致…

http 500错误解决_什么是HTTP错误500?如何解决?

http 500错误解决 Http is the world’s most popular protocol used on the internet to exchange data and run web applications. Http protocol also has standards. Http is a stateless protocol which means separate Http requests do not have any connection with ea…

有关于500的报错

关于500的报错&#xff0c;目前有两种原因&#xff1a; 1.后端数据库获取失败&#xff0c;后端原因 2.根据id上传响应的信息。首先&#xff0c;应该先把上一个页面传过来的id,赋值给本页面的id,然后进行save保存&#xff0c;如果不进行id的赋值&#xff0c;则会发生500报错

Nginx显示500错误原因和解决方法

文章目录 1.背景2.Nginx 常见的几种报错3. 解决500错误 1.背景 最近在操作nginx 的时候出现了 Nginx 500 内部错误&#xff0c;在此记录一下原因&#xff0c;项目采用的是前后端分离方式&#xff0c;后端SpringBoot &#xff0c;前端是Vue 部署到Nginx 下。 2.Nginx 常见的几…