向量空间模型(转)
2010-01-07 10:54
316 查看
一: 不同区域的权重计算
1. 对出现在文档的不通区域的term赋予不同的权值,例如title,author,body等,这样需要在倒排表中记录term每一次出现的位置
2. 对不同的区域赋予不通的权值,Gi, 使得 Sum(Gi) = 1
3. 对于这个Gi的值,可以通过机器学习的方法来确定:给定一个文档集合和query,以及query与文档之间的相似性,然后假定一个表达式,采用这个样本来计算各种系数
二:出现频率的权重计算
1. 在这种模型下,文档被认为是词的集合,词的出现位置和顺序都不重要,重要的是词的出现次数,同样地query也做这样的处理,因此“我比你好”和“你比我好” 是一样的
1. term在某一篇文档中的频率tf, 在一个文档集合内的频率cf,在文档集合内包含该term的文档数df
2. 如果只用tf,则语气词等的权重会最大,或者是专业文章内,例如自动化的文章中自动化会出现很多次,因此用自动化就不能区分开这些文章,因此要借助于cf或者df
3. 由于df比cf具有更好的作用来区分不同词与文档的相关性,因此采用df配合tf来决定term在文档里的权重
4. 定义idf = log(N / df), N是文档总数
5. term的权重 = tf * idf
6. 因此,定义query与文档的权重关系为:score(q,d) = for t in q : sum += tf(t,d) * idf(t)
7. 因此,将文档表示为一个term以及term权重的向量,V = (t1, t2, ..., tn), 因此计算V1 与 V2的相似性可以如下的公式:
sim(V1, V2) = V1 * V2 / (|V1| * | V2|), 分子是向量的点乘,分母是向量长度的乘积,如果将V1, V2表示为有方向的直线,这实际是在计算这两条线夹角的cos值
8. 将query也看成是term的向量集合,query中的term权重可以简单地设定为相等
三. 对tf,df的一些变化
1. 一般不会说如果词在文档内出现20次,则记为20,因此必须采用公式来计算tf,一般是tf = 1 + log(出现次数)
2. 上面计算出来的tf会在很大的范围内,差别很大,因此需要将其范围变小,同时引入平滑因子来降低不同值之间的差距,缩小范围是因为tf需要在不同的文档间计算,否则一篇很长的文章内的词会具有很大的tf值,这样会降低其他文章的权重,会影响相关性。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianqio/archive/2009/05/24/4212434.aspx
1. 对出现在文档的不通区域的term赋予不同的权值,例如title,author,body等,这样需要在倒排表中记录term每一次出现的位置
2. 对不同的区域赋予不通的权值,Gi, 使得 Sum(Gi) = 1
3. 对于这个Gi的值,可以通过机器学习的方法来确定:给定一个文档集合和query,以及query与文档之间的相似性,然后假定一个表达式,采用这个样本来计算各种系数
二:出现频率的权重计算
1. 在这种模型下,文档被认为是词的集合,词的出现位置和顺序都不重要,重要的是词的出现次数,同样地query也做这样的处理,因此“我比你好”和“你比我好” 是一样的
1. term在某一篇文档中的频率tf, 在一个文档集合内的频率cf,在文档集合内包含该term的文档数df
2. 如果只用tf,则语气词等的权重会最大,或者是专业文章内,例如自动化的文章中自动化会出现很多次,因此用自动化就不能区分开这些文章,因此要借助于cf或者df
3. 由于df比cf具有更好的作用来区分不同词与文档的相关性,因此采用df配合tf来决定term在文档里的权重
4. 定义idf = log(N / df), N是文档总数
5. term的权重 = tf * idf
6. 因此,定义query与文档的权重关系为:score(q,d) = for t in q : sum += tf(t,d) * idf(t)
7. 因此,将文档表示为一个term以及term权重的向量,V = (t1, t2, ..., tn), 因此计算V1 与 V2的相似性可以如下的公式:
sim(V1, V2) = V1 * V2 / (|V1| * | V2|), 分子是向量的点乘,分母是向量长度的乘积,如果将V1, V2表示为有方向的直线,这实际是在计算这两条线夹角的cos值
8. 将query也看成是term的向量集合,query中的term权重可以简单地设定为相等
三. 对tf,df的一些变化
1. 一般不会说如果词在文档内出现20次,则记为20,因此必须采用公式来计算tf,一般是tf = 1 + log(出现次数)
2. 上面计算出来的tf会在很大的范围内,差别很大,因此需要将其范围变小,同时引入平滑因子来降低不同值之间的差距,缩小范围是因为tf需要在不同的文档间计算,否则一篇很长的文章内的词会具有很大的tf值,这样会降低其他文章的权重,会影响相关性。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianqio/archive/2009/05/24/4212434.aspx
相关文章推荐
- 文本相似度的计算-向量空间模型
- 有关Lucene的问题(3): 向量空间模型与Lucene的打分机制
- 有关Lucene的问题(3): 向量空间模型与Lucene的打分机制
- Solr相似度名词:VSM(Vector Space Model)向量空间模型
- 24_ElasticSearch TF&IDF算法以及向量空间模型
- 向量空间模型(VSM)在文档相似度计算上的简单介绍
- 向量空间模型
- 信息检索导论学习笔记(6)-文档评分,词项权重计算及向量空间模型
- VSM向量空间模型
- 向量空间模型(VSM:Vector space model)
- 【NLP】 向量空间模型
- 从频率到意义:语义向量空间模型(4)(From Frequency to Meaning: Vector Space Models of Semantics)
- 向量空间模型 - 维基百科,自由的百科全书
- 改进向量空间模型
- Jackcard相似度和余弦相似度(向量空间模型)的java实现
- 初探IR [1] 向量空间模型 Vector Space Model
- 【信息检索导论】第6章 文档评分、词项权重计算及向量空间模型
- Lucene in action 笔记 term vector——针对特定field建立的词频向量空间,不存!不会!影响搜索,其作用是告诉我们搜索结果是“如何”匹配的,用以提供高亮、计算相似度,在VSM模型中评分计算
- 第六章 文档评分、词项权重计算及向量空间模型
- 文本向量空间模型