基础向量空间搜索引擎理论
Posted 世界漫游录
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础向量空间搜索引擎理论相关的知识,希望对你有一定的参考价值。
1.概述
一言以蔽之,这个理论是用来比较几个东西(包括文字,DNA,图画等等)的相似性的。它的原理则是选取这一组对象的n个特征值构成一个 的向量空间,其中每一个对象是一个向量,然后求通过向量间的cos来判断对象间的相似性。具体该原理说明如下。
2.说明原理
我们以文档为例说明。假设我们要比较一些文档之间的相似性:
首先,将这所有文档中所有具有语义学意义的词语(term,可理解为实词,与虚词相对)取出,作为词语空间(term space)。可以想象一锅混沌的汤,里面装的就是这几片文档中的所有词语。接着,对这词语空间中的所有词语进行词频统计,即统计每一个词语出现了多少次。然后将所有词语降序排列,选取出现频率最高的三个词语,假设他们为 。(选择的特征值的数量决定了产生的向量空间的维度,也可以选更多,但这里只为说明道理)
想象一个空间直角坐标系。一般而言,这个直角坐标系的三轴分别是 ,但这里我们把 作为这三个轴。在这个坐标系中想象一个点,这个点代表一个文档。这个文档的位置是由这篇文档中三轴所对应的词语的出现频率决定的。比方说,文档1中, 出现3次, 出现4次, 出现0次,那么文档1在坐标系中对应的点的坐标就是 。把这个代表文档的点与原点连接起来,并想象一个箭头由原点指向该点,这样我们就得到了代表这个文档的向量。
那我们该如何在不同向量间进行比较呢?这里使用向量间的 值来量化向量间的关系。如果 ,那么这两个向量可以说是相同的。 则是有相似之处,与 则是完全不同。如此,可以通过向量之间的相似性大致估计向量背后的文档的相似性。
至于这个 的计算方法,则是 。 与 则用坐标计算。这可以适用于n维的情况。
拓展的案例:比较html文本间的相似性
过几天我准备比较一下不同维基百科界面的相似性。我在想,发达国家与发达国家的文档会不会更相似?发达国家与发展中国家的文档会不会相似度没那么高?这是为了回答这些问题的技术上的准备。
其实,这个技术的拓展关键要解决的问题是文本的格式化。总结起来要处理的无非是三个:一是HTML的格式字符;二是URL这种没有直接语义的东西;三是所谓'stop words',即虚词;四是需要stemming,即抓词干,比方说run和running可以看成是一个词。
还有一个有趣的小故事,暂时没时间写,改天再发~~
以上是关于基础向量空间搜索引擎理论的主要内容,如果未能解决你的问题,请参考以下文章