很多产品想要加入推荐系统模块,最简单的就是做内容相似推荐,虽然技术简单但是效果却很好,对于增加用户粘性、提升用户留存有较多的效果,甚至很多产品后来加入了很多推荐模块之后,还是发现导流效果最好的依然是内容的相似推荐。
比如看完了一片《Python怎样读取MySQL》之后,在相似推荐中看到了一片题目为《Python操作MySQL的效果优化》的文章,很自然的就像多深入了解一下,于是就点进去看一看,那么对于整个网站来说,就会降低跳出率,增加用户的留存,是一个很好的用户体验。
实现一个内容相似推荐的方案比较简单,大体上包含以下步骤:
1、获取内容数据,比如标题、关键字、分类、甚至全文本;
一般文档、数据等内容都存储于mysql,可以使用python/java等语言直接读取mysql导出到文件.txt格式,或者直接用shell的mysql -e sql > data.txt的方式导出。
一般情况下,全文本内容太散,不会作为候选字段,但是有些视频之类的实体,因为标题和简介文字太少,如果有详情全文本的话,也可以加入候选数据字段。
2、对内容数据做中文分词;
如果是python语言,可以使用“结巴分词”,地址为:https://github.com/fxsjy/jieba
或者可以直接使用百度云的中文分词,百度的NLP自然语言处理技术还是很厉害的。
3、提取内容数据的关键词;
当分词之后,分词结果中包含很多“的”、“也”等无意义的词语,这些词语不能称之为关键词,一般会通过TF/IDF的