案例分享 | 基于 TensorFlow 构建个性化股票内容推荐产品

Posted TensorFlow 社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了案例分享 | 基于 TensorFlow 构建个性化股票内容推荐产品相关的知识,希望对你有一定的参考价值。

案例提供:雪球社区部

 

背景介绍

雪球是中国最大的股票投资社区,其使命是“连接投资的一切”,愿景是成为“全球最大的投资交流交易平台”。雪球的核心目标是为股票、基金投资者提供优质的信息获取、投资交流和行情交易体验。

在二级市场进行股票投资是一件非常复杂的事情,市场每天都会有大量的信息产生,雪球社区每天也有近 10 万 + 股票相关的内容产生,投资者需要花费相当多的精力来分析处理这些信息,同时因为个人投资经验和投资能力限制,对于大部分信息投资者个人很难进行筛选,他迫切需要匹配合适的投资策略建议。那么雪球是如何借助 TensorFlow 提供的深度学习算法解决用户的需求和痛点的呢?

图片

 

需求分析

首先经过需求分析,我们把用户的需求总结为三个方面:

  1. 寻找自己能力圈范围内的股票,进行研究和操作 

  2. 寻找投资能力强、值得信赖的专家,学习投资思路 

  3. 获取市场资讯、个股点评和操作建议

这些需求的本质是如何高效的实现用户与内容、用户与股票、用户与用户的连接。雪球给出的解决方案是通过内容建立信任、找到专家;通过内容发现投资机会,找到股票;我们为用户提供一个多目标的个性化内容推荐引擎,以此满足用户在投资过程中寻找标的、寻找专家、获取信息的需求。

图片

 

产品流程

雪球首页内容推荐产品采用了典型的 Feed 流结构(如图 1)。

(图 1)

 

首页推荐流程采用“召回-排序-多样性”过程(如图 2),产品优化目标不仅局限于用户的点击率、阅读时长,更包括用户阅读文章时的互动行为,以及通过文章关注用户、关注股票等目标。

图片

(图 2)

 

模型选择

2017 年底雪球首页个性化推荐项目启动。在选择排序模型的时候,雪球算法同学主要考虑两个因素:

  1. 模型泛化能力较好,能够兼容处理离散特征和连续特征 

  2. 具有完备的工具支持,可以快速开发离线训练流程和在线预测模块

当时我们调研了各种开源的机器学习模型,从最简单的 LR,GBDT 到 FM、DNN、DSSM,最终选择了 TensorFlow 框架自带的 Wide&Deep 模型。在模型性能方面, W&D 模型结合了线性模型的记忆能力 (memorization) 和 DNN 模型的泛化能力 (generalization),在训练过程中同时优化两个模型的参数,从而达到整体模型的预测能力最优。在工程实现方面,有 Google 工程团队的技术能力背书,TensorFlow 框架应用在我们这样的场景毫无压力,另外框架本身的文档也非常详细,使整个推荐引擎的开发流程变得非常顺利。

图片

图 3. Wide & Deep 模型结构

 

优化目标

雪球是一个股票内容社区,我们希望用户通过首页推荐阅读自己关心的投资信息,产生更多的转/评/赞互动行为,进而找到自己感兴趣的股票和大 V。因此,推荐模型以点击率 CTR 为基础优化目标,根据阅读时长、互动行为、关注行为、用户 People-Rank 进行样本加权,具体如图 4 所示。

图片

(图 4)

 

特征工程

雪球用户在社区内会产生大量的行为数据和结构数据,在此基础上,算法团队建立起一套完整的特征体系,对用户、股票、内容进行细致的刻画。 

图片

图 5. 雪球推荐特征体系

 

在特征工程方面,TensorFlow 和 Wide&Deep 提供了大量简单易用的工具封装,可以非常方便的进行各种特征处理,极大提升了团队的工作效率。特别是平台自带的 Feature Columns API,完全覆盖了深度模型特征变换所需的功能。

图片

图 6. Tensorflow Feature Columns API

 

服务部署

雪球社区覆盖了 A 股、港股、美股三大市场的股票信息,在不同交易时段、交易日与非交易日、用户的行为有很大差异。社区内可供消费的内容也是多种多样,包括资讯、公告、PGC 长文、UGC 帖子等等。为了获得更好的排序效果,我们根据用户人群、交易时段、内容品类拆分成十多个细分模型;在模型迭代过程中,需要支持数十路尾号流量做 A/B Test;这些都给线上模型部署和管理带来很大挑战。我们的工程团队借助于 TF-Serving 框架,开发出一套模型自动部署和流量分配系统,非常给力的支持了推荐效果迭代。

 

总结与展望

TensorFlow 框架和 Wide&Deep 模型在雪球首页推荐效果优化过程中发挥了巨大的作用,不仅有力的提升了雪球算法团队的工作效率,更使得用户的阅读时长和互动行为上提升了 200%。是中小型创业团队AI技术赋能的利器。

在算法演进方面,基于 Point-Wise 的 CTR 预估方案有其自身的局限,它主要是估计点击率的绝对值,没有考虑不同用户、不同内容品类的点击率 bias。雪球算法团队的同学目前正在尝试使用 TF-Ranking 的 Pair-Wise 解决方案,相信它一定会给我们带来更好的用户体验。

 

参考文献

[1]Wide & Deep Learning for Recommender Systems - arXiv  https://arxiv.org/pdf/1606.07792.pdf

[2]https://github.com/tensorflow/models/tree/master/official/r1/wide_deep 

[3] https://github.com/tensorflow/serving

[4] https://xueqiu.com/

 

登陆官网了解更多 TensorFlow 搭建推荐系统内容,可登录 B 站 Google 中国 TensorFlow 频道观看《使用 TensorFlow 搭建推荐系统系列(全八讲)》视频,也可关注 TensorFlow 官方公众号获取更多资讯。

以上是关于案例分享 | 基于 TensorFlow 构建个性化股票内容推荐产品的主要内容,如果未能解决你的问题,请参考以下文章

案例分享 | QQ 音乐应用 TensorFlow 构建 AI 赋能的音乐曲库

案例分享 | 华泰证券利用 TensorFlow 构建金融舆情系统

案例分享 | 网易严选用 TensorFlow 给品牌电商插上 AI 的翅膀

案例分享 | TensorFlow 助力 OpenX 实现每秒处理百万查询

案例分享 | TensorFlow 助力 OpenX 实现每秒处理百万查询

用tensorflow学习贝叶斯个性化排序(BPR)