(回头我自己画个图)
一、推荐系统:个性化推荐的本质是提升信息筛选的效率,如果信息量级小个性化意义不大,需要有大数量级的推荐单位;理论上来说,优质内容越多、类别分布越广泛,个性化推荐效果越好。 二、内容的标准化处理 把内容处理成机器与算法可以理解的特征。 具体处理看业务需求、技术,若是文章、新闻、微博,则需要自然语言处理; 若是图片、视频,则涉及到图像识别与处理。 若歌曲、电影、商品,需要自己建立一套用户打标签的机制,或者通过人工填写、抓取信息的方式打标签。 不管何种内容,需要建立一套自己的标签徒弟,是定义标准的过程。 通常标签是树状或者网状的结构,可能需要收集大量的训练样本。 三、用户行为的日志收集、传输、挖掘与存储 推荐的基础是数据,在挖掘了内容数据以后,接下来需要挖掘数据(用户行为)生成用户的画像。 挖掘:将用户数据进行计算、挖掘处理成为我们想要的特征,用户挖掘通常与算法结合而不能凭空挖特征,没有算法应用的用户画像没有价值。 数据存储:可以存储用户长期留下来的行为来积累用户画像,并且把profile存储起来,若用户量很大,则需要的存储资源也是海量的,需要一个能对大量数据进行分布式存储的数据库。需要一个可以对大量数据进行分布式存储的数据库,并且需要可靠与廉价,如hdfs(Dardoop Distributed File System) 若想要实时计算用户的兴趣,需要可以快速存储的数据库,如redis。 四、选择排序算法 对于获得与处理完的内容、用户的数据,可以使用算法对二者进行匹配了。个性化推荐的本质是在做topN排序,通常包括“召回”与“排序”模块。(简单地说就是先根据一定标准选出小部分内容进行排序然后再推荐) 五、推荐的搜索引擎 个性化推荐与搜索是非常相似的领域,二者都是信息筛选方式,在做一种相关性rank;而搜索更加注重用户的搜索关键词相关性,而推荐更加注重内容与用户信息的相关性。用户的每一次浏览都是一次事实请求,因此需要实时计算当下最符合用户兴趣内容,该步由在线搜索引擎承担。由于性能要求,这步不合适做太耗时的计算。 六、ABtest系统 在推荐系统中,如何结合自己的产品场景选择特征、参数,就成为了个性化推荐精准度的关键因素,如果有ABtest可以代入多种差参数、特征,由ABtest实验得出最佳的实验参数,优化推荐系统。 ABTest,简单来说,就是为同一个产品目标制定两个方案(如两个页面一个用红色的按钮、另一个用蓝色的按钮),让一部分用户使用A方案,另一部分用户使用B方案,然后通过日志记录用户的使用情况,并通过结构化的日志数据分析相关指标,如点击率、转化率等,从而得出那个方案更符合预期设计目标,并最终将全部流量切换至符合目标的方案。 挖掘文本信息的方法: 1、关键词提取:TFIDF 2、实体识别(CRF)模型 3、内容标签分类(nlp接口) 4、主题模型(LDA) 5、词嵌入(Word2vec)