文件推荐:让外部渠道过来的用户通过推荐算法浏览更多文件,放大导流效果。
模块1:记录行为数据
从浏览器过来的流量,每一个都要按照算法计算一个独立的id,以便区用户。
未登录情况:记录独立id,设备码,浏览器
已登录或来访后登录:合并uid和独立id
对流量做好标记后,详细记录用户访问行为数据。
包括:浏览时间,浏览设备,浏览项目,跳转项目,跳转次数,访问时长等
模块二:处理文件
将库内所有可解析的文件转化成TXT,这是预处理(称:向量化),将所有TXT变成一个大集合。
同一分类下的文件集合,词语会有非常高的重合度。
预先将重合度高的文件分到不同集合内,相当于对文件进行一次聚类。
1、当进来一个新文件,预处理过后,进行词语拟合;可以初步判定文件归属于哪一类。
2、当用户访问一个文件,我们可以在集合内调取相似度最高的几个文件,实时展示给用户,提高接受度。
这个模块的弊端是,很可能会针对用户的某一个兴趣反复推荐同一批文件给用户。
1、这里是否可以通过其他推荐方法,推荐除了这个兴趣以外的文件以保证结果多样性,从而探索用户的新兴趣?
2、对这个模块筛选出来的结果,应针对浏览行为进行排重,不用让用户阅读他已经看过的内容。
模块三:从用户到文件
模块一记录了用户的访问数据。可以认为,用户的“口味”在一定时间内是保持统一的。
那么,通过用户浏览行为可以智能补充模块二计算不出来的文件。
假设用户1和用户2浏览了8个相似文件,用户2额外浏览了2个文件。
此时,可以把用户2额外浏览的,推荐给用户1。
具体数值和规则都需要要测算和调整。
另外还要注意模块二和模块三之间的数据排重,用户浏览记录的排重。
数据量越大推荐结果越权威。
补充:以上模块中可参考的文本处理方法
局部敏感哈希(Locality-Sensitive Hashing, LSH)
TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术
H5 FingerprintJS 浏览器指纹
Word2Vector 句子相似度