加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 大数据 > 正文

推荐系统技术之文本相似性计算(一)

发布时间:2021-03-16 17:49:21 所属栏目:大数据 来源:网络整理
导读:推荐系统技术 --- 文本相似性计算(模型化 上) 1. 前言 推荐系统分为两种,一种是基于用户的,根据某个用户的特性推荐一些东西,还有一种是根据内容,推荐一些相似的内容,或者是两种的结合,任何推荐系统,仔细分析下来,都属于这两种情况的组合。 今天我

我们先来看看如何进行向量化,前期准备部分我们已经说了,每个词都可以表示为一个唯一的token,那么最简单的向量化,我们拿这个token来向量化,比如下面两个文档,每个词用一个id表示(搜索引擎这个词重复出现了,所以id一样,都是5)

这两个向量不一样长,不好映射到同一个空间中,于是我们这么处理一下,编号1到7为所有的token,用数组的下标表示,如果这个编号上有词,那么设为1,否则设为0,这样一来,两个文档向量化以后就变成了

用Golang写一个搜索引擎  ===>  [1,1,0]
搜索引擎的实现          ===>  [0,1]

这样,两个文档就都向量化了,虽然这种向量化是最简单的,但不管怎样,我们至少把文本变成了数学符号了。

6.2.2 TF-IDF向量化

文本处理中,还有一种非常常见的向量化方法,就是TF-IDF方法,关于TF-IDF方法,可以参见我之前的一篇文章,已经说得比较清楚了,这里就不赘述了,可以点击链接打开看。

总之,通过TF-IDF的向量化方法,我们可以将每个词向量化成一个表示权重的小数,而不是上面的0,1向量了,它已经带有了文本的信息了,通过TF-IDF计算,两个文档向量化以后就变成了下面这样

用Golang写一个搜索引擎  ===>  [0.5,0.8,0.2,0.15,0.9,0.4,0.3]

这样向量化以后,每个词都带上了TF-IDF信息了,而TF-IDF的作用就是保留词在文档中的权重信息,这就相当于保留了文本的信息,于是我们通过token的概念和TF-IDF方法,就把一个文本向量化了,并且向量化完了以后还保留了文本本身的信息,每一个向量就是一个前面提到的词袋。

6.3 向量空间模型

向量化完了以后,需要提供一个空间来进行计算,我们把这个叫做向量空间(VSM),这没啥好说的,比如向量是一个二维向量,那么空间就是一个平面,如果是个三维向量,那么空间就是一个立体空间,上文中的向量是一个7维向量,那么空间就是一个七维空间了。

这样,每一篇文档向量化以后都是一个7维向量,都可以表述为这个向量空间中的一个点了。

6.4 向量相似度计算

有了向量空间和向量本身了,计算两个向量的相似度就简单了,一般有两种方法

6.4.1 欧式距离

不是说每个向量就是这个空间中的一个点么?那么相似性就是直接计算这两个点的欧式距离,欧式距离公式初中就学了哦

把上面那两个向量用这个距离公式一带入,就求出两篇文档的相似度了。

6.4.2 余弦相似度距离

除了欧式距离,还有一种方法求相似度,就是求两个向量之间的夹角,这个叫余弦相似性,这也是初中数学的内容,不过初中我们学的是二维向量,如果是N维呢?是一样的,假设两个向量是A和B,那么公式是,n表示维度

照样带入,就能求出两个文档相似度了。

7. 中学毕业

至此,文本相似性计算的最基本的概念和模型都介绍完了,中学已经毕业了,你可以按照上面的方法自己试着计算计算文档的相似性,应该不会太离谱,后面一篇会介绍一些更加高级的东西,但是整体的思想不会有太大的变化,还是向量化文档,然后计算向量间的相似度来表述为文本之间的相似度。

这篇我们看到的东西都还是浅层的文本相似性计算,但是其实一个TF-IDF向量化模型,一个余弦相似性夹角计算已经可以处理一大部分的文本相似性计算了,而且效果还凑合吧,但后面出来的各种语义模型才是文本推荐的未来。


欢迎关注我的公众号,主要聊聊搜索,推荐,广告技术,还有瞎扯。。文章会在这里首先发出来:)扫描或者搜索微信号XJJ267或者搜索西加加语言就行

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读