查看“︁向量空間模型”︁的源代码
←
向量空間模型
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''向量空间模型'''是一个把文本文件表示為标识符(比如索引)[[向量]]的代数模型。它应用于[[信息过滤]]、[[信息检索]]、[[索引]]以及[[相關排序]]。{{來源請求|SMART是第一个使用这个模型的信息检索系统。}} ==定义== 文档和查詢都用向量来表示。 :<math>d_j = ( w_{1,j} ,w_{2,j} , ... ,w_{t,j} )</math> :<math>q = ( w_{1,q} ,w_{2,q} , ... ,w_{t,q} )</math> 每一维都對應於一个個別的词组。如果某个词组出现在了文档中,那它在向量中的值就非零。已经發展出了不少的方法来计算这些值,这些值叫做(词组)权重。其中一种最为知名的方式是tf-idf权重(见下面的例子)。 词组的定義按不同應用而定。典型的词组就是一个单一的词、[[关键词]]、或者较长的短语。如果將詞語选为词组,那么向量的维数就是词汇表中的詞語个数(出現在[[語料庫]]中的不同詞語的個數)。 通過向量运算,可以對各文档和各查詢作比較。 ==应用== [[File:vector space model.jpg|right|250px]] 據文档相似度理论的假设,如要在一次關鍵詞查詢中計算各文档間的相關排序,只需比较每个文档向量和原先查询向量(跟文檔向量的类型是相同的)之间的角度偏差。 实际上,计算向量之间夹角的[[余弦]]比直接计算夹角本身要简单。 :<math> \cos{\theta} = \frac{\mathbf{d_2} \cdot \mathbf{q}}{\left\| \mathbf{d_2} \right\| \left \| \mathbf{q} \right\|} </math> 其中<math>\mathbf{d_2} \cdot \mathbf{q}</math>是文档向量(即右图中的d<sub>2</sub>)和查询向量(图中的q)的点乘。<math>\left\| \mathbf{d_2} \right\|</math>是向量d<sub>2</sub>的模,而 <math>\left\| \mathbf{q} \right\|</math>是向量q的模。向量的模通过下面的公式来计算: :<math> \left\| \mathbf{v} \right\| = \sqrt{\sum_{i=1}^n v_i^2} </math> 由于这个模型所考虑的所有向量都是每個元素严格非负的,因此如果余弦值为零,则表示查询向量和文档向量是[[正交]]的,即不符合(换句话说,就是检索項在文档中没有找到)。如果要了解详细的信息可以查看[[余弦相似性]]這條目。 ==范例:tf-idf权重== 在Salton,Wong和Yang <ref>[http://doi.acm.org/10.1145/361219.361220 G. Salton , A. Wong , C. S. Yang, A vector space model for automatic indexing] {{Wayback|url=http://doi.acm.org/10.1145/361219.361220 |date=20200126133022 }}, Communications of the ACM, v.18 n.11, p.613-620, Nov. 1975</ref>提出的传统向量空间模型中,一个词组在文档向量中的权重就是局部参数和全局参数的乘积,这就是著名的tf-idf模型(词频-逆向文档频率)。文档的权重向量''d''就是<math>\mathbf{v}_d = [w_{1,d}, w_{2,d}, \ldots, w_{N,d}]^T</math>,其中 :<math> w_{t,d} = \mathrm{tf}_{t,d} \cdot \log{\frac{|D|}{|\{d' \in D \, | \, t \in d'\}|}} </math> * <math>\mathrm{tf}_{t,d}</math>是词组''t''在文档''d''中出现的频率(一个局部参数) * <math>\log{\frac{|D|}{|\{d' \in D \, | \, t \in d'\}|}}</math>是逆向文档频率(一个全局参数)。<math>|D|</math>是文档集中的文档总数;<math>|\{d' \in D \, | \, t \in d'\}|</math>是含有词组''t''的文档数。 文档''d<sub>j</sub>''和查詢''q''之间的余弦相似度通过以下公式来计算: :<math>\mathrm{sim}(d_j,q) = \frac{\mathbf{d_j} \cdot \mathbf{q}}{\left\| \mathbf{d_j} \right\| \left \| \mathbf{q} \right\|} = \frac{\sum _{i=1}^N w_{i,j}w_{i,q}}{\sqrt{\sum _{i=1}^N w_{i,j}^2}\sqrt{\sum _{i=1}^N w_{i,q}^2}}</math> 在較简单的[[詞組計數模型]](Term Count Model)中,词组的权重不包含全局参数,而是单纯的计算词组出现的次数:<math>w_{t,d} = \mathrm{tf}_{t,d}</math>。 ==优点== 相对于[[标准布尔模型]](Standard Boolean model),向量空间模型具有如下优点: #基于线性代数的简单模型 #词组的权重不是二元的 #文档和查詢之间的相似度取值是連續的 #允许根据文档間可能的相关性来进行排序 #允许局部匹配 ==局限== 向量空间模型有如下局限: #不适用于较长的文档,因为它的相似值不理想(过小的[[内积]]和过高的维数)。 #检索词组必须与文档中出现的词组精确匹配;词語[[子字串]]可能会导致“[[假阳性]]”匹配。 #语义敏感度不佳;具有相同的语境但使用不同的词组的文档不能被关联起来,导致“假阴性匹配”。 #词组在文档中出现的顺序在向量形式中无法表示出來。 #假定词组在统计上是独立的。 #权重是直观上获得的而不够正式。 然而,这些局限中的多数能够通过集合各種方法来解决,包括数学上的技术(比如[[奇异值分解]])和[[词汇数据库]](比如[[WordNet]])。 ==基于及扩展了向量空间模型的模型== 基于及扩展了向量空间模型的模型包括: * [[广义向量空间模型]] * (增强的)[[基于主题的向量空间模型]] * [[潜在语义学]] * [[潜在语义索引]] * [[DSIR模型]] * [[詞彙鑑別]](Term Discrimination) * [[Rocchio分类]] ==以向量空间模型为工具的软件== 使用向量空间模型做实验或者想基于它们实现研究服务的人或许会对以下的这些软件包感兴趣。 ===免费开放的软件资源=== * [[Apache Lucene]].这是一个高性能的软件,用java写的功能全面的文本搜索引擎。 * [https://web.archive.org/web/20080828220200/http://semanticvectors.googlecode.com/ SemanticVectors].语义向量索引,将随机投影算法(类似于潜在的语义分析)应用于Apache Lucene构建的文本词组矩阵。 * [http://nlp.fi.muni.cz/projekty/gensim Gensim]{{Wayback|url=http://nlp.fi.muni.cz/projekty/gensim |date=20110816194616 }}是一个Python+NumPy的向量空间模型的框架。它包含对Tf–idf、潜在的语义索引、随机投影和潜在的狄利克雷边界的增值算法(有效利用内存空间)。 * Antonio Gulli开发的[http://codingplayground.blogspot.com/2010/03/compressed-vector-space.html Compressed vector space in C++]{{Wayback|url=http://codingplayground.blogspot.com/2010/03/compressed-vector-space.html |date=20160825190835 }} * [http://scgroup.hpclab.ceid.upatras.gr/scgroup/Projects/TMG/ Text to Matrix Generator (TMG)]{{Wayback|url=http://scgroup.hpclab.ceid.upatras.gr/scgroup/Projects/TMG/ |date=20200710231410 }}用于一系列特殊文本挖掘的matlab工具箱。(1)指标化(2)检索(3)降维(4)聚类(5)分类。大多数的TMG都是用matlab编写的,小部分是用Perl编写的。它包括了LSI的实现和聚类、NMF以及其他方法。 * [http://senseclusters.sourceforge.net SenseClusters]{{Wayback|url=http://senseclusters.sourceforge.net/ |date=20200626214142 }},通过潜在的语义分析和单词的同现矩阵来进行文本和词组聚类的一个公开软件包。 * [http://code.google.com/p/airhead-research/ S-Space Package]{{Wayback|url=http://code.google.com/p/airhead-research/ |date=20110423053449 }},通过“统计语义”实现的的检索程序集成。 ==进一步参考== * G. Salton, A. Wong, and C. S. Yang (1975), "[https://web.archive.org/web/20110605025601/http://www.cs.uiuc.edu/class/fa05/cs511/Spring05/other_papers/p613-salton.pdf 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), [http://www.ideals.uiuc.edu/bitstream/2142/1697/2/Dubin748764.pdf The Most Influential Paper Gerard Salton Never Wrote]{{Dead link}} ''(Explains the history of the Vector Space Model and the non-existence of a frequently cited publication)'' * [https://web.archive.org/web/20070613200830/http://isp.imm.dtu.dk/thor/projects/multimedia/textmining/node5.html Description of the vector space model] * [http://www.miislita.com/term-vector/term-vector-3.html Description of the classic vector space model by Dr E Garcia]{{Wayback|url=http://www.miislita.com/term-vector/term-vector-3.html |date=20060812024349 }} ==另见== *[[反向索引]] *[[复合词组处理]](Compound term processing) ==参考文献== <references/> [[Category:信息检索]]
该页面使用的模板:
Template:Dead link
(
查看源代码
)
Template:Wayback
(
查看源代码
)
Template:來源請求
(
查看源代码
)
返回
向量空間模型
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息