漫谈推荐系统
作为一个毕业设计、或者作为一个兴趣,往大了说作为一个事业。推荐系统从0开始构建,
确实是有很多问题需要解决,推荐系统本身涉及UI交互、线上服务、数据计算、模型构建,课
程设计或毕业设计没有数据还需要进行数据抓取,确实有许许多多知识以及工作量就是花费很
多时间。
如果是真喜欢这个事,花费时间是很值得的,一是学到东西,一是能很好完成毕设或实现
自己一个兴趣。
推荐系策略或者说算法核心是有两块一个是用户协同推荐,一个是内容系统推荐。最近看
推荐系统书和互利网上文章,一个共同观点是基于内容标签或者商品品类推荐,会能让用户有
一定感知推荐原因但不能产生新颖性,其实如果基于内容也能推荐出高质量或者领域内经典内
容,也是对用户有一定惊喜感觉。
基于用户协同过滤或协同推荐能够为用户提供更多新鲜内容,基于社交关系或类似用户兴
趣进行扩展推荐,能够推出新的内容,能给用户比较多新鲜感。
用户画像,用户画像根据用户历史行为通过模型得出用户长期、短期、实时喜好,比如关
注电脑、关注手机等电子产品、购买了很多IT书籍,根据这些得到你的抽象标签,可以表述为
画像。
根据用户画像与物品标签,进行关联关联到一起的,可以将相应物品给用户进行召回。
搜索内容推荐,用户进行搜索,就说明用户对商品或内容有特别强兴趣,是一种比点击、
浏览强很多一种行为,需要加权对待。
热门内容推荐,虽然是个性化推荐系统,但热门电视剧、娱乐新闻、IPhoneX会是所有
人都希望了解的,需要对他们进行加权推荐,知乎很多用户应该都是通过热门电影、诺贝尔
奖讨论等热门事件运营来到知乎,并慢慢成为知乎用户的。百度搜索有个专门热门专题新闻
报道聚合,在这个技术上比Google厉害很多,我看到的结果是这样的。
推荐系统不是一个一簇而就的系统,是一个需要不断优化系统。
白名单、黑名单机制,推荐系统经常会推荐出用户不想看到用户,而且老板经常会提各
种意见、建议。通过白名单、黑名单机制,既能满足老板需要又不会花费很多时间,直接怼
老板不是明智做法呀。
性能监控要细,推荐系统因要做抽象化,那么性能监控就很重要了,因为抽象化很多情
况会考虑不到,比如有些用户分类偏好特别多召回集特别大会导致接口计算超过500ms请求
超时,这是最近线上遇到问题。越是引擎监控越要细不然会漏掉很多问题。
详细日志,日志要细,推荐引擎是抽象化支持各个业务,定位问题困难也加大,这就需
要我们日志要打的合理、是问题位置日志详尽有栈信息,能帮助我们快速第一时间定位以及
处理问题。
关键数据不存在日志以及报警,这可以有效避免线上天窗,天窗是及其严重事件,使我
们要在线上进行避免的。
讲的比较散,主要是记录一下,最近研究一些内容、跟大家沟通、线上问题、以及为后
续推荐引擎深入做,做个记录提前梳理一些问题,避免问题重复出现。
推荐系统是一个复杂系统,需要付出努力,方才能有所收获。
扫码关注公众号