在2017在线峰会——票选最美云上大数据暨大数据技术峰会上,来自小红唇的王洋分享了数加平台上小红唇的大数据实践。他对数据仓储解决方案和搜索引擎进行了详细介绍。通过算法平台应用的基于视频元信息的回归、近义词、业务总线三个案例具体介绍了数加平台的大数据应用实践。
以下内容根据直播视频整理而成。
小红唇App
小红唇App是国内最大的一款针对15-25岁年轻女性的垂直视频分享社区和社交化电商平台。其为用户提供了丰富的平台内容、活跃的社区生态和优质的产品选择。用一句话概括小红唇业务模式为短视频美妆社区电商。
数据仓库
小红唇App的数据来源主要为两个方面:业务服务器产生的API日志,代表着用户的各种行为数据;服务器产生的各种交易数据,比如用户发的帖子、买的东西。用户行为日志是通过阿里云的datahub组件把API日志采集到MaxCompute平台上。业务数据是通过阿里云提供的DATAX工具载入到MaxCompute平台上。目前,业务数据库已经完全迁移到了阿里的RDS平台,只需要在数加的IDE里做一些简单的配置即可将数据完整的迁移过来。当所有数据都搬到MaxCompute平台上之后,在其上做的数据开发更加轻松。在其上,可以用类SQL的语句编写数据清洗和转换的执行任务,平台同时提供管理器对任务进行调度和管理。在数仓之上,构建了很多应用,最直接的就是QUICK BI。社区内容运营和商品运营都是依赖于实际的运营数据来做进一步的决策和运营商的策略调整,QUICK BI对运营的指导非常大。阿里云的QUICK BI不需要开发可视化的前端,只需要在数加的data IDE里面做相应数据任务的编排就可以很容易的通过QUICK BI产品展示出来。并且,在QUICK BI可视化的界面上不仅有各种图表的展现还提供了一定功能的多维数据分析,极大提高了运营效率。
推荐引擎
推荐引擎的整体架构如上图所示。虚线框以内是推荐引擎产品本身的内容。我们需要做的仅仅是把我们的数据按照推荐引擎需要的格式准备好,在MaxCompute里面把对应的表都建好。主要应用场景是短视频和图片的推荐,推荐引擎打理好一切之后,得到推荐结果以API形式供业务服务器调用。除了便捷性,推荐引擎还提供了非常强的灵活性。主要做了首页推荐和详情页推荐,首页推荐主要是用基于协同过滤的算法来计算出结果,详情页推荐对阿里云的模板进行了修改引入了基于TFIDF算法的计算节点来加强了相关性的推荐。同时,推荐引擎还支持A/B TEST测试体系,对模板算法和参数的细微调整都可以定量化的分析和计算出来。推荐引擎的另外一个优势是可以和流计算相结合,把用户的数据实时导入计算引擎中,实时对推荐结果进行修正。
算法平台应用
基于视频元信息的回归
作为一个UGC的平台,用户上传内容的质量是参差不齐的,为了保证平台内容的质量。编辑进行了很多精选和挑选的工作。如何提升编辑的筛选效率?为此,选择了阿里云的机器学习平台。通过视频的元信息(时长,帧率,码率,描述内容,亮度,对比度,分辨率,锐度)的抽取,形成了特征矩阵,随机选取了已有视频数据;以是否经过编辑精选做了有监督的逻辑回归训练,训练出模型;对新的视频应用这个模型给出预判评估,作为视频编辑的参考, 及搜索推荐的影响因子。
具体的过程如上图所示。我们需要将自己的视频信息进行量化,通过拖拽、拼接构建起训练的模型。最左边这张图应用了逻辑回归、线性回归、随机森林三种模型进行训练,目前选用的是逻辑回归的模型。在算法平台训练完模型之后会非常容易的导入到Date IDE中,准备好的新视频数据就会把模型节点加进去,得到对应的预测打分。最右边的图是把评分结果通过QUICK BI展示。整个过程没有太多的工作量,只需要在平台上做一些配置就可以完成整个视频元信息的回归和训练。
近义词
近义词主要是为了优化搜索的体验,具体是把用户发布的内容、视频的名称、描述、用户的标签、评论等语料信息通过阿里云word2vec算发获取词向量,通过余弦相似度计算获取近义词,通过人工筛选、录入到搜索引擎的同义词库中提升搜索体验。
最上层是用户输入的元数据,通过几个步骤,以及K-means聚类算法做了一些分析。
业务总线
最开始使用流计算只是为了提升一些应用场景(搜索热词统计、实时热度统计)的响应速度。但是,通过流计算已经截取了所有的业务事件,那么是否可以通过流计算将业务事件实时触发出来支撑类似于发送优惠券、推送消息等业务?实践证明了其可行性。目前,通过流计算这套业务总线体系的时延控制在了秒级。