上次我们讨论了信息检索的向量空间模型,今天针对词语权重的设计进行简单讨论,主要从传统方法的权重计算方法进行阐述。
在通常情况下对于权重的设计,首先想到利用的就是词频。在网页文档中,如果一个词语出现的频率越高,那么往往这个词语在网页文档中的关键程度就越重要,词频我们使用T(term frequency)来表示,词频和权重值是正比关系;然后我们将所有文档的集合进行判断,分析文档中出现该词的频率,越多的文档中包含该词,说明该词的专属程度越差,能够明确区分文档的词语,往往重要程度都比较高,专属程度也就越高,这样看来,文章频率与词语的权重又是一个反比的关系,通常的算法,在设计权重的时候采用文档频率的倒数(inverse document frequency)来计算。
词语的词频同时受到文档本身含有词语数量的影响,所以往往要在进行计算之前进行一下规范化处理,方法有很多,我记得当初看的资料上具体介绍的方法叫做余弦规范法,这种方法使用的比较多,他用每个向量的词语权重值除以文档向量的欧几里德长度,这里说明一下,这里提到的词语权重值,是指我们在向量空间模型文章中提到的为了方便进行模型构建而在分析内容时赋予给每个词语的权重值,而我们最终计算的结果才是词语的最终权重值。欧几里德长度(Euclidean norm),又叫做欧几里德范数,向量的欧几里德范数就是元素的绝对值平方的和的开平方开,比如x是n维向量(x1,x2,…,xn),那么欧几里德范数就是||X||=Sqrt(X1^2+X2^2+…+Xn^2)。读到这里如果感觉理解困难的朋友你可以简单记录下这个公式就可以了,更多关于欧几里德的数学概念可以去搜索一下或者找资料看一下。其他的规范方法还包括最大词频规范,对数词频规范等等,有对其他规范有研究的朋友希望可以提供一些资料学习一下。
目前的搜索引擎词语权重计算方法除了以上方法以外,还有很多其他的改进方法,比如Term frequency collection,Length term collection和信息熵等等,有兴趣的朋友也可以去搜索一下相关资料。
词语的权重设计还有很多其他需要考虑的因素,如果是要进行搜索引擎开发还需要其他的因素进行考虑,需要用到更多的算法,在这里提出简单的设计方法用于对于搜索引擎处理词语的一些操作手法理解,希望能够对你更深刻理解搜索引擎起到一定的作用。
作者: 蓝杉SEO团队-tony
原载: http://www.lention.com.cn/blog/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。