作者:韦玮,重庆韬翔网络科技有限公司(上海)董事长兼总经理,IT作家,CSDN社区专家。
本文为韦玮原创文章,未经允许不得转载,点此查看作者有关《Python数据分析与挖掘经典案例实战》经验分享。
技术背景
一条信息是否能够让用户感兴趣,主要取决于这条信息的内容是否是用户关注的内容。而将用户感兴趣的信息推送给对应的用户,可以更好地发挥该信息的价值,否则,不仅对应信息的价值无法有效发挥,甚至会引起用户的情绪,因为如果用户对这条信息不感兴趣,那么这条信息对于该用户来说就相当于垃圾信息。
现在关键的问题是,如何判断出现有的信息中,哪些信息是用户感兴趣的信息,从而把这些用户可能感兴趣的信息推送给用户,这样对于用户来说,可以获取期望的内容,对于企业来说,这可以更好地获取商业利益。
比如,我们在使用今日头条的时候,你会发现推送过来的文章基本上都是我们感兴趣的文章,这些文章都是个性化推荐过来的。其实,如果我们可以将这项技术更好的利用,这可以改变更多领域。
可以想象,如果小说站点采用个性化推荐技术,那么当读者在读一本小说的时候,我们可以判断该读者的兴趣,并从小说库中选择出读者可能最感兴趣的小说,并将筛选出来的小说推荐给该读者,那么此时,对于读者和网站来说是双赢的,比如就读者而言,节省了小说筛选的成本,并且可以很方便地获得自己感兴趣的内容,就网站而言,将合适的内容推荐给合适的用户,更有利于用户的付费。除此之外,个性化推荐技术还可以应用到新闻站点、商城、视频站点等等方面。
在本篇文章中,我们将为大家讲解如何采用Python文本挖掘技术实现个性化推荐技术。
文本挖掘技术(Text Mining)简介
文本挖掘技术(Text Mining)是数据挖掘技术中的一种,简单来说,文本挖掘技术就是对现有的一些文本信息进行分析、处理等,从而提取或计算出一些有价值的信息供我们使用的一种技术。
而在这篇文章中,我们主要用到文本挖掘技术中的分词、文本相似度计算等技术,而文本相似度计算我们主要会采用TF-IDF算法,相关理论知识各位读者可以自行了解,本篇文章中主要会进行实战的讲解。
将文本挖掘技术应用于个性推荐的思路
那么,我们如何将文本挖掘技术应用于个性推荐呢?
看起来这两者确实不太相关,但实际上这两者关系密切。
比如,我们可以这样实现个性推荐:
1、首先,记录用户在网站中的行为,比如看了哪些文章、阅读了哪些小说等等行为。
2、其次,将用户长时间观看的这些小说(以小说站点为例)数据提取出来,得到数据1(data1)。
3、然后,将data1与站点内的所有小说数据分别进行文本相似度计算,最终筛选出相似度高的小说数据,比如取前两本相似度最高的小说,得到小说2(data2)、小说3(data3)。
4、将data2、data3推荐给该用户。因为这两本小说用户目前长时间阅读的小说相似度最高,所以一般这两本小说与用户手头上这本小说的风格、类型会基本一致,所以,一般用户同样会对这两本小说感兴趣。
5、对于其他用户,我们同样可以采用1-4的方式给其推荐相似度高的小说。
此时我们以小说站点为例讲解了用文本挖掘技术实现个性化推荐的思路,我们可以看到,关键点在于文本相似度的计算,其他站点的实现思路也可以参照该思路进行。
核心步骤
现在我们已经明确了个性化推荐需求的实现思路,接下来我们整理一下实现的核心步骤。
我们可以采用以下步骤进行(以小说站点为例,其他站点类似):
1、读取站点中所有小说数据
2、对要计算的多本小说数据分别进行分词
3、对要计算的多本小说数据分别整理成指定格式,方便后续进行计算
4、计算出词语的频率
5、(可选)过滤掉频率低的词语
6、通过语料库建立词典
7、读取用户当前关注的小说的数据
8、将用户当前关注的小说的数据通过doc2bow转化为稀疏向量
9、对稀疏向量进行进一步处理,得到新语料库
10、将新语料库通过tfidfmodel进行处理,得到tfidf
11、通过token2id得到