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

概念:

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

M个无序特征项ti,词根/词/短语/其他每个文档dj可以用特征项向量来表示(a1j,a2j,…,aMj)权重计算,N个训练文档AM*N= (aij) 文档相似度比较1)Cosine计算,余弦计算的好处是,正好是一个介于0到1的数,如果向量一致就是1,如果正交就是0,符合相似度百分比的特性,余弦的计算方法为,向量内积/各个向量的模的乘积.2)内积计算,直接计算内积,计算强度低,但是误差大。

向量空间模型 (或词组向量模型) 是一个应用于信息过滤,信息撷取,索引 以及评估相关性的代数模型。SMART是首个使用这个模型的信息检索系统。

文件(语料)被视为索引词(关键词)形成的多次元向量空间, 索引词的集合通常为文件中至少出现过一次的词组。

搜寻时,输入的检索词也被转换成类似于文件的向量,这个模型假设,文件和搜寻词的相关程度,可以经由比较每个文件(向量)和检索词(向量)的夹角偏差程度而得知。

实际上,计算夹角向量之间的余弦比直接计算夹角容易:

余弦为零表示检索词向量垂直于文件向量,即没有符合,也就是说该文件不含此检索词。

通过上述的向量空间模型,文本数据就转换成了计算机可以处理的结构化数据,两个文档之间的相似性问题转变成了两个向量之间的相似性问题。

算法原理
1.计算权重(Term weight)的过程。

影响一个词(Term)在一篇文档中的重要性主要有两个因素:

Term Frequency (tf):即此Term在此文档中出现了多少次。tf 越大说明越重要。

Document Frequency (df):即有多少文档包含次Term。df 越大说明越不重要。

词(Term)在文档中出现的次数越多,说明此词(Term)对该文档越重要,如“搜索”这个词,在本文档中出现的次数很多,说明本文档主要就是讲这方面的事的。然而在一篇英语文档中, this出现的次数更多,就说明越重要吗?不是的,这是由第二个因素进行调整,第二个因素说

明,有越多的文档包含此词(Term), 说明此词(Term)太普通,不足以区分这些文档,因而重要性越低。
说明:
这仅仅只term weight计算公式的简单典型实现。实现全文检索系统的人会有自己的实现, Lucene就与此稍有不同。

2.判断Term之间的关系从而得到文档相关性的过程,也即向量空间模型的算法(VSM)。

我们把文档看作一系列词(Term),每一个词(Term)都有一个权重(Term weight),不同的词(Term)根据自己在文档中的权重来影响文档相关性的打分计算。
于是我们把所有此文档中词(term)的权重(term weight) 看作一个向量。

Document = {term1, term2, …… ,term N}

Document Vector = {weight1, weight2, …… ,weight N}

同样我们把查询语句看作一个简单的文档,也用向量来表示。

Query = {term1, term 2, …… , term N}

Query Vector = {weight1, weight2, …… , weight N}

我们把所有搜索出的文档向量及查询向量放到一个N维空间中,每个词(term)是一维。

词袋模型

一篇文档里面有很多很多句子,每个句子又是由一个个的词组成。词袋模型,通俗地讲,就是:把一篇文档看成词袋,里面装着一个个的词。

从而,将一篇文档转化成了一个个的词(或者称之为 term),显然地,文档转化成一个个的词之后,词与词之间的顺序关系丢失了。

TF-IDF

在计算文档之间相似度之前,会有一些前提条件:

  • 我们有一个文档集合C,文档集合C里面一共有N篇文档
  • 我们有一个词典D,或者叫词库(Vocabulary),词库里面一共有M个词。

    文档到向量的转化

    向量是有长度的,向量中的每个元素是数值,比如一个三维实值向量:(1.2,2.8,4.5)

    首先将文档通过词袋模型转化成一个个的词,一般地,由于文档中的词都会存在于词典D中,定义一个M维向量(M等于词典大小),若文档中的某个词在词典中出现了,就给这个词赋一个实数值。若未出现,则在相应位置处赋值为0。

    总结

    在给定文档集合C和词典D的条件下,将某篇文档通过词袋模型表示成一个个的词,而后根据 TF-IDF 为每个词计算出一个实数值;

    由于词典D的大小为M,因此将这篇文档转化成一个M维向量,如果词典中某个词未出现在文档中,则这个词的在向量中对应的元素为0,若某个词出现在文档中,则这个词在向量中对应的元素值为这个词的tf-idf值。这样,就把文档表示成向量了,而这就是 向量空间模型(vector space model)。从这里也可看出:向量空间模型并没有catch住词(term)与词(term)之间的关系,它假设各个term之间是相互独立的。即:VSM implies the assumption on the independence between terms
    而有了文档向量,也就可以用余弦公式计算文档之间的相似度了。

    由于词典一般比较大,比如20万个词左右的汉语词典,而一篇文档中一般只包含几百个词,因此可看出:文档向量是很稀疏的

    另外,由于对于文档而言,词与词之间是有顺序的,比如文档开头是哪些词,中间有哪些词,结尾又是哪些词,但表示成向量之后,这个 顺序 信息丢失了。比如下面2篇文档,它们的文档向量是一样的。

    Mary is quick than John
    John is quick than Mary

    总之,在我看来,向量空间模型是一种将文档转化成向量的方式,文档转化成了向量,从而可以在同一维度的空间中表示一个个的文档。向量中的每个元素是一个个的实数,每个元素对应着一个 词(term),实数 是通过tf-idf计算出来的。由此看来,tf-idf也仅仅是一种将词(term)转化成实数的方式,当然我们也可以通过其他方法将 词 转化成实数。而这里的 词 则是由词典定义的,若词典中的某个词 在文档中,则计算这个词的tf-idf值,若某个词不在文档中,则这个词对应的向量元素为0。因此,得到的文档向量是M维的,其中M就是词典的大小---词典中词的个数。

    将文档转化成了向量,文档之间的比较,就可以转化成向量的比较。因此,就能回答给定若干篇文档,哪两篇文档最相关这样的问题了。在实际应用中,比如Lucene中的TF-IDF Similarity就是基于VSM来实现的。从VSM Model到Lucene Conceptual Scoring Formula 再到 Lucene Practical Scoring Formula,解释了在实际应用中,我们输入一个查询字符串,Lucene是如何计算文档的得分,从而找出与查询字符串最相关的文档的。

向量空间模型简介及算法相关推荐

  1. 向量空间模型VSM—特征抽取算法—TF-IDF

    原文作者:lucky小东西 原文地址:基于tf-idf的小说主题特征抽取算​法 1.主题特征抽取做什么 在当前个性化推荐大行其道的时候,那就不得不提用户画像.用户画像的主要工作内容就是将用户标签化,对 ...

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

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

  3. 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF/TDM/Airbnb Embedding/Item2vec等)、召回路径简介、多路召回融合]

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  4. 白话Elasticsearch24- 深度探秘搜索技术之TFIDF算法/向量空间模型算法/lucene的相关度分数算法

    文章目录 概述 boolean model TF/IDF TF: term frequency IDF:inversed document frequency length norm vector s ...

  5. ElasticSearch之向量空间模型算法

    一 检索模型 1.1 bool模式 bool模式下,是最简单的检索模式,依据操作符AND 或者 OR 过滤document,结果只是包含指定的term的文档.他不会对document打分,只是为了减少 ...

  6. AI:大模型领域最新算法SOTA总结、人工智能领域AI工具产品集合分门别类(文本类、图片类、编程类、办公类、视频类、音频类、多模态类)的简介、使用方法(持续更新)之详细攻略

    AI:大模型领域最新算法SOTA总结.人工智能领域AI工具产品集合分门别类(文本类.图片类.编程类.办公类.视频类.音频类.多模态类)的简介.使用方法(持续更新)之详细攻略 导读:由于ChatGPT. ...

  7. NLP之TF-IDF:VSM向量空间模型(仅关键词组成的浮点数字向量)的简介、TF-IDF(VSM的常用的统计法)简介之详细攻略

    NLP之TF-IDF:VSM向量空间模型(仅关键词组成的浮点数字向量)的简介.TF-IDF(VSM的常用的统计法)简介之详细攻略 目录 VSM向量空间模型(仅关键词组成的浮点数字向量)的简介 TF-I ...

  8. Algorithm:网络广告营销领域之归因分析/归因模型的简介、算法、案例应用之详细攻略

    Algorithm:网络广告营销领域之归因分析/归因模型的简介.算法.案例应用之详细攻略 目录 归因分析/归因模型的简介 1.常见几种归因分析模型 2.单触点归因分析VS多触点归因分析 3.归因模型的 ...

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

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

最新文章

  1. 数字图象处理之二维码图像提取算法(九)
  2. UA SIE545 优化理论基础2 凸函数 概念 理论 总结
  3. LaTeX去掉默认显示日期时间
  4. 一行Java代码实现将数组转成List
  5. 模拟进程创建、终止、阻塞、唤醒原语_操作系统基础8-进程及进程控制
  6. 机器学习-算法背后的理论与优化(part4)--结构风险最小(上)
  7. 一文尽览 CVPR 2022 workshop 所有算法竞赛
  8. GIT 查看/修改用户名和邮箱地址
  9. CentOS 7完全卸载MySQL
  10. 数据通信与计算机网复习题,数据通信与计算机网络 复习题总.doc
  11. xp计算机用户账户密码删除,xp强行删除管理员开机密码
  12. 博士阶段能学到什么硕士学不到的东西?
  13. iphone的Safari浏览器中HTML5上传图片方向问题解决方法
  14. favicon.ico文件简介
  15. 长短期记忆网络 Long Short-Term Memory
  16. Hadoop原理 之 数据完整性
  17. MATLAB画ROC曲线
  18. 墨天轮沙龙 | 北京大学李文杰:面向知识图谱应用的图数据库系统gStore
  19. Mac录屏软件:Record It
  20. NBIOT模块基于电信IOT平台的南向对接流程

热门文章

  1. 网站漏洞检测及解决办法
  2. 外网如何连接校园网GPU服务器以及文件传输
  3. 大学生魅力讲话实操题库
  4. 2021年1月4日-Vulnhub-DerpNStink渗透学习
  5. gmap 支持python吗_GMAP使用
  6. ios计算机错误,解决都叫兽™iOS密码重置与USB连接相关的错误(iOS,Error Code 13)...
  7. 实习的时候拿C++写的游戏《星际夺宝》
  8. LIS检验管理系统源码 医院管理系统源码
  9. [luogu p1786] 帮贡排序
  10. 微信群管理工具可靠吗?