Vector Space Model (向量空间模型)
2017-11-12 17:46
337 查看
向量空间模型(vector space model)在信息检索和搜索引擎中应用非常广泛。这个模型的关键是矩阵的建立,这就用到了之前一篇的 tf-idf 方法。下面先介绍两种矩阵:
Binary Incidence Matrix(二元关联矩阵):
其中,行表示的是 term,列表示的是 document, 假如第i个document中出现了第j个term,就将相应的位置记为1,否则为0。这样,每个document被表示成维度为 |V| 的二进制向量。其中,|V| 为 term 的数目。
Count Matrix (计数矩阵):
这里,第i行第j列表示的是第j个document中出现第i个term的数目。这样,每个document被表示成维度为 |V| 的计数向量,且都为非负整数。
下面,就到了最关键的部分。基于tf-idf,我们将得到Weight Matrix (权重矩阵)。
这里,第i行第j列表示的是第j个document中第i个term的 tf-idf 值。这样,每个document 被表示成维度为 |V| 的实数矩阵。
我们将terms 视为空间(space)里面的轴(axes),documents视为这个空间(space)里里面的点(points)或者向量(vectors),得到的将是一个非常高纬度的向量空间。从上面的矩阵可以看出,每个向量(vector)非常稀疏,因为有很多为0的值(entries)。
那我们怎么比较请求(query)和 document 之间的相似度呢?我们需要对documents的相似度做一个排序。
计算相似度有很多方法,这里我们主要介绍欧式距离(Euclidean distance)和余弦(Cosine)方法。
欧式距离(Euclidean distance):
但是,通过欧氏距离来计算相似度的方法并不好,它没有将向量的长度考虑进来。采用Cosine方法,可以很好地解决这个问题。
Cosine:
Step 1: 归一化向量。归一化后的向量是原向量跟向量长度的比值。
Step 2: 计算 document 向量和 query 向量之间的相似度;
其中,
对于归一化后的向量,可以直接计算Cosine 相似度:
Binary Incidence Matrix(二元关联矩阵):
其中,行表示的是 term,列表示的是 document, 假如第i个document中出现了第j个term,就将相应的位置记为1,否则为0。这样,每个document被表示成维度为 |V| 的二进制向量。其中,|V| 为 term 的数目。
Count Matrix (计数矩阵):
这里,第i行第j列表示的是第j个document中出现第i个term的数目。这样,每个document被表示成维度为 |V| 的计数向量,且都为非负整数。
下面,就到了最关键的部分。基于tf-idf,我们将得到Weight Matrix (权重矩阵)。
这里,第i行第j列表示的是第j个document中第i个term的 tf-idf 值。这样,每个document 被表示成维度为 |V| 的实数矩阵。
我们将terms 视为空间(space)里面的轴(axes),documents视为这个空间(space)里里面的点(points)或者向量(vectors),得到的将是一个非常高纬度的向量空间。从上面的矩阵可以看出,每个向量(vector)非常稀疏,因为有很多为0的值(entries)。
那我们怎么比较请求(query)和 document 之间的相似度呢?我们需要对documents的相似度做一个排序。
计算相似度有很多方法,这里我们主要介绍欧式距离(Euclidean distance)和余弦(Cosine)方法。
欧式距离(Euclidean distance):
但是,通过欧氏距离来计算相似度的方法并不好,它没有将向量的长度考虑进来。采用Cosine方法,可以很好地解决这个问题。
Cosine:
Step 1: 归一化向量。归一化后的向量是原向量跟向量长度的比值。
Step 2: 计算 document 向量和 query 向量之间的相似度;
其中,
对于归一化后的向量,可以直接计算Cosine 相似度:
相关文章推荐
- [译]Vector space model(向量空间模型)
- 初探IR [1] 向量空间模型 Vector Space Model
- Vector Space Model (向量空间模型)
- Solr相似度名词:VSM(Vector Space Model)向量空间模型
- 向量空间模型(VSM:Vector space model)
- 从频率到意义:语义向量空间模型(1)(From Frequency to Meaning: Vector Space Models of Semantics)
- 从频率到意义:语义向量空间模型(2)(From Frequency to Meaning: Vector Space Models of Semantics)
- 从频率到意义:语义向量空间模型(4)(From Frequency to Meaning: Vector Space Models of Semantics)
- 向量空间模型(VSM:Vector Space M…
- 从频率到意义:语义向量空间模型(3)(From Frequency to Meaning: Vector Space Models of Semantics)
- 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度
- Lucene in action 笔记 term vector——针对特定field建立的词频向量空间,不存!不会!影响搜索,其作用是告诉我们搜索结果是“如何”匹配的,用以提供高亮、计算相似度,在VSM模型中评分计算
- Lucene学习之计算相似度模型VSM(Vector Space Model)
- Oracle EBS 表空间模型 - “Oracle Applications Tablespace Model(OATM)”
- Java8内存模型—永久代(PermGen)和元空间(Metaspace)
- Java8内存模型—永久代(PermGen)和元空间(Metaspace)
- 【2】广义向量空间模型
- 有关Lucene的问题(3): 向量空间模型与Lucene的打分机制
- 有关Lucene的问题(3): 向量空间模型与Lucene的打分机制
- Similarity of texts: The Vector Space Model with Python