向量空间模型 - 维基百科,自由的百科全书

向量空间模型 - 维基百科,自由的百科全书

向量空间模型

维基百科,自由的百科全书
跳转到: 导航,
搜索

向量空间模型 (或者 词组向量模型) 作为向量的标识符(比如索引),是一个用来表示文本文件的代数模型。它应用于信息过滤、信息检索、索引以及关联规则。SMART是第一个使用这个模型的信息检索系统。

目录

[隐藏]

  • 1 定义
  • 2 应用
  • 3 范例: tf-idf 权重
  • 4 优点
  • 5 局限
  • 6 基于模型的以及扩展的向量空间模型
  • 7 以向量空间模型为工具的软件
    • 7.1 免费开放的软件资源
  • 8 进一步参考
  • 9 另见
  • 10 参考文献

[编辑] 定义

文档和问题都用向量来表示。

每一维都相当于是一个独立的词组。如果这个术语出现在了文档中,那它在向量中的值就非零。已经有很多不同的方法来计算这些值,这些值叫做(词组)权重。其中一种广为人知的算法就是tf_idf权重(见下面的例子)。 我们是根据应用来定义词组的。典型的词组就是一个单一的词、关键词、或者较长的短语。如果字被选为词组,那么向量的维数就是出现在词汇表中不同字的个数。 向量运算能通过查询来比较各文档。

[编辑] 应用

通过文档相似度理论的假设,比较每个文档向量和原始查询向量(两个向量的类型是相同的)之间的角度偏差,使得在文档中搜索关键词的关联规则是能够计算的。 实际上,计算向量之间夹角的余弦比直接计算夹角本身要简单。

其中 是文档向量(即右图中的d2)和查询向量(图中的q)的点乘。 是向量d2 的模, 而 是向量q的模. 向量的模通过下面的公式来计算:

由于这个模型所考虑的所有向量都是严格非负的,如果其余弦值为零,则表示查询向量和文档向量是正交的,即不符合(换句话说,就是该检索词在文档中没有找到)。如果要了解详细的信息可以查看余弦相似性。

[编辑] 范例: tf-idf 权重

Salton, Wong 和 Yang [1] 提出的传统向量空间模型,一个词组在文件向量中权重就是局部参数和全局参数的乘积,这就是著名的tf-idf模型(词频_逆向文件频率)。文档的权重向量d就是 ,其中

  • 是词组t在文档d中出现的频率(一个局部参数)
  • 是逆向文件频率(一个全局参数)。 是文件集中的文件总数; 是含有词组t的文件数。

文件dj 和索引q之间的余弦相似度通过一下公式来计算:

在简单的词组计算模型中,词组的权重不包含全局参数,而是单纯的计算词组出现的次数: 。

[编辑] 优点

相对于标准的布尔数学模型,向量空间模型具有如下优点:

  1. 基于线性代数的简单模型
  2. 词组的权重不是二元的
  3. 允许计算文档和索引之间的连续相似程度
  4. 允许其根据可能的相关性来进行文件排序
  5. 允许局部匹配

[编辑] 局限

向量空间模型有如下局限:

  1. 不适用于较长的文件,因为它的相似值不理想(过小的内积和过高的维数)。
  2. 检索词组必须与文件中出现的词组精确匹配,不完整词组(子字串会导致“假阳性”匹配)。
  3. 语义敏感度不佳;具有相同的语境但使用不同的词组的文件不能被关联起来,导致“假阴性匹配”。
  4. 词组在文档中出现的顺序在向量中间中无法表示。
  5. 假定词组在统计上是独立的。
  6. 权重是直观上获得的而不够正式。

然而,这些局限中的多数能够通过多种多样的方法集成来解决,包括数学上的技术,比如奇异值分解和词汇数据库(比如wordnet)

[编辑] 基于模型的以及扩展的向量空间模型

基于模型的和基于扩展的向量空间模型包括:

  • 广义的向量空间模型
  • (增强的)基于主题的向量空间模型
  • 潜在的语义分析
  • 潜在的语义索引
  • DSIR模型
  • 词组辨识
  • Rocchio分类

[编辑] 以向量空间模型为工具的软件

使用向量空间模型做实验或者想基于他们实现研究服务的人或许会对以下的这些软件包干兴趣。

[编辑] 免费开放的软件资源

  • Apache Lucene. 这是一个高性能的软件,用java写的功能全面的文本搜索引擎.
  • SemanticVectors. 语义向量索引,将随机投影算法(类似于潜在的语义分析) 应用于Apache Lucene构建的文本词组矩阵。
  • Gensim 是一个 Python+NumPy 的向量空间模型的框架。它包含对Tf–idf、潜在的语义索引、随机投影和潜在的狄利克雷边界的增值算法(有效利用内存空间)。
  • Antonio Gulli开发的Compressed vector space in C++
  • Text to Matrix Generator (TMG) 用于一系列特殊文本挖掘的matlab工具箱。(1)指标化(2)检索(3)降维(4)聚类(5)分类。大多数的TMG都是用matlab编写的,小部分是用Perl编写的。它包括了LSI的实现和聚类、NMF以及其他方法。
  • SenseClusters, 通过潜在的语义分析和单词的同现矩阵来进行文本和词组聚类的一个公开软件包。
  • S-Space Package,通过“统计语义”实现的的检索程序集成。

[编辑] 进一步参考

  • G. Salton, A. Wong, and C. S. Yang (1975), "A Vector Space Model for Automatic Indexing," Communications of the ACM, vol. 18, nr. 11, pages 613–620. (Article in which a vector space model was presented)
  • David Dubin (2004), The Most Influential Paper Gerard Salton Never Wrote (Explains the history of the Vector Space Model and the non-existence of a frequently cited publication)
  • Description of the vector space model
  • Description of the classic vector space model by Dr E Garcia

posted on 2012-09-23 08:54 lexus 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/09/23/2698687.html

向量空间模型 - 维基百科,自由的百科全书相关推荐

  1. 维基百科,全世界的百科全书—Jimmy Wales

    1999年10月20日价值1250美元的32卷本<大英百科全书>全部上网,供人们免费查询与下载.这在当年是轰动一时的新闻.于是,Jimmy Wales(吉米?威尔士)诞生了建立一个真正&q ...

  2. 维基百科客户端android,维基百科 | F-Droid - Free and Open Source Android App Repository

    维基百科 自由在线百科全书的功能丰富的官方查看器 Android 版维基百科官方应用程序可用于查找,发现和浏览维基百科上的信息与知识.通过该应用,您可以快速搜索各种条目,阅读专题文章和图片,还有推荐和 ...

  3. OSI模型介绍维基百科

    OSI模型 维基百科,自由的百科全书 汉漢 ▼ OSI模型 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 OSI模型,即开放式通信系统互联参考模型(Open ...

  4. android 印度语_为什么发展印度语维基百科至关重要

    android 印度语 1月15日,免费的在线百科全书Wikipedia庆祝成立15周年,用290多种语言撰写了3600万篇文章,达到了这个里程碑(仅英语Wikipedia便突破了500万篇文章标记 ...

  5. 【历史上的今天】10 月 24 日:1024 程序员节;中文维基百科上线;苹果发布 iPad mini

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 10 月 24 日,大概在 2014 - 2015 年间,中国互联网兴起了一个全新的概念:10 月 ...

  6. 维基百科怎么做创建词条?如何创建维基百科?海外营销_一秒推媒体平台

    做品牌出海推广的朋友都会知道维基百科,它在世界互联网领域的地位,就像百度百科在中国的 地位一样.因此,除了海外新闻稿.谷歌雅虎和其他SEO外,非常重要的网络推广是维基百科了. Wiki这个词来源于夏威 ...

  7. Struts维基百科,自由的百科全书

    Struts 维基百科,自由的百科全书 图为Struts项目的标志 Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是Jakarta项目中的一个子项目,并在2004年3月成为A ...

  8. 维基百科,自由的百科全书 正则表达式

    正则表达式 维基百科,自由的百科全书 跳转到: 导航, 搜索 跳过字词转换说明 汉漢 ▼ ▲ 正则表达式(英语:Regular Expression.regex或regexp,缩写为RE),也译为正规 ...

  9. PyQt - 维基百科,自由的百科全书

    PyQt - 维基百科,自由的百科全书 PyQt 维基百科,自由的百科全书 跳转至: 导航. 搜索 PyQt 開發者 Riverbank Computing 穩定版本 4.9.5/ 2012年9月29 ...

最新文章

  1. ubuntu 安装 anaconda
  2. boost::fusion::unused_type用法的测试程序
  3. 解决【Unable to find the requested .Net Framework Data Provider. It may not be installed.】错误...
  4. 【转】Vector与ArrayList区别
  5. numpy T、transpose()函数、swapaxes()函数
  6. 请移步到我的新浪博客
  7. 歌谣带你看java面试题
  8. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6
  9. c语言if else语句_查找C程序的输出(如果为else语句)| 设置1
  10. Ubuntu16.04安装ros kinetic版本
  11. 如何解决生活中的那些“不爽”和“意外”
  12. Dymola-多学科系统仿真工具
  13. 怎么裁剪PDF文件页面?一种方法轻松搞定
  14. 计算机处理器性能排名,cpu天梯图2018最新版 2018电脑cpu处理器性能排行榜
  15. 简单计算机硬件知识ppt,计算机硬件知识教程课件.ppt
  16. [附源码]JAVA+ssm计算机毕业设计高校请假管理系统(程序+Lw)
  17. 行式 Excel 文件拆分
  18. 学习3d游戏建模的灵魂拷问20问,轻松征服游戏公司主美!
  19. 【数据结构与算法】课程设计报告
  20. 纠错技术之FEC(向前纠错)

热门文章

  1. php选择栏可输入可选择,填制凭证时,“科目名称”栏可选择用下列()方法输入。...
  2. Python编曲实践(八):我,乔鲁诺·乔巴那,能用两百行代码写出JOJO黄金之风里我自己的出场曲!
  3. Jenkins未授权访问
  4. 浅谈5G通信面临的电磁兼容挑战及解决方法
  5. Android SDK版本以及对应的平台版本、版本名称
  6. Axure 实现问卷调查(带计时器功能)
  7. Dedecms TAG中文标签改成英文+数字地址的方法
  8. Secret的三种形式
  9. HDU 1427 速算24点(dfs)
  10. w10计算机运行特别卡,win10会很卡,详细教您怎么解决