龙空技术网

文档相似度助力搜索引擎

小王科学说 30

前言:

而今同学们对“word分词器相似度算法怎么用”大概比较珍视,朋友们都想要了解一些“word分词器相似度算法怎么用”的相关资讯。那么小编也在网络上网罗了一些有关“word分词器相似度算法怎么用””的相关资讯,希望各位老铁们能喜欢,姐妹们快快来了解一下吧!

几种简单相似度算法:

1、简单共有词判断

假设现有文本A和B,将A、B经过分词、去停用词之后形成集合A={a1,a2,...,an}和集合B={b1,b2,...,bn}。用NUM(A∩B)表示集合A与集合B的交集的元素个数,用NUM(A∪B)表示集合A与集合B的并集元素个数,则相似度为:

2、VSM向量空间模型

VSM空间向量模型,该模型将文档映射到向量空间当中。假设文档用ai表示文档集A中的第i个文本,则ai表示为:ai={w1,w2,...,wi}其中wi的取值有两种方式,如下:

1)布尔类型,用0或1表示该词条是否在ai中出现,出现为1,否则为0.

例: 词袋:<小米、手机、屏幕、电脑、好用、体验、不好> #长度为7

a1 = ( 1, 1, 1, 0, 0, 0, 0 ) #长度为7

a2 = ( 0, 1, 1, 0, 1, 1, 0 ) #长度为7

2)wi表示该词在ai中的权重,即

其中,N代表文档ai中词的总数,Nj表示词语i在文档ai中出现的次数。

经过以上两种方法得到空间向量之后,采用余弦算法计算相似度即可。

3、Simhash

simhash的主要思想是降维,将文本分词结果从一个高维向量映射成一个0和1组成的bit指纹(fingerprint),然后通过比较这个二进制数字串的差异进而来表示原始文本内容的差异。

4、TF-IDF算法

使用TF-IDF算法得到文本对应的词向量,然后利用余弦算法求相似度。其中TF表示词频,即一个词在这篇文本中出现的频率;IDF表示逆文档频率,即一个词在所有文本中出现的频率倒数,具体如下:

通过该公式获得每一个词的权重,然后组成每个文本向量。使用余弦算法计算相似度。

优缺点:TF-IDF的优点是简单快速,而且容易理解。缺点是有时候用词频来衡量文章中的一个词的重要性不够全面,有时候重要的词出现的可能不够多,而且这种计算无法体现位置信息,无法体现词在上下文的重要性。如果要体现词的上下文结构,那么你可能需要使用word2vec算法来支持

5、WORD2VEC算法

由第4个算法可以看出缺陷,word2vec算法增加了自然语言的理解,关注到词与词之间的关系,比如近义词,能够体现词的上下文结构。借助公布的大语料库训练的标准模型来计算自己的文档相似度。

标签: #word分词器相似度算法怎么用