Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/www.16084a.com/index.php:1) in /www/wwwroot/www.16084a.com/var/Typecho/Response.php on line 165

Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/www.16084a.com/index.php:1) in /www/wwwroot/www.16084a.com/var/Typecho/Response.php on line 165
16084A https://www.16084a.com/ zh-CN 不会技术的版师不是好设计师 Mon, 20 Jul 2020 16:35:00 +0800 Mon, 20 Jul 2020 16:35:00 +0800 【智能案例】百度智能零售解决方案汇总 http://www.16084a.com/index.php/fg/bdaisale.html http://www.16084a.com/index.php/fg/bdaisale.html Mon, 20 Jul 2020 16:35:00 +0800 16084A 基于百度人脸识别、人体分析、图像识别、大数据分析等核心AI技术能力,赋能线下门店、商超、MALL、品牌商各类零售业态,助力会员管理、客流分析、商品结算、货品陈列稽查等业务场景升级,提升商业效率

会员识别

精准客群管理

建立线下店客群人脸库,有效区分VIP、回头客、新客,将顾客人脸信息与会员账号、消费记录等数据进行结构化整合,实现客群精细化管理、运营

提升消费体验和购买转化

会员到店“无卡化”身份确认,规避忘带卡、报手机号等繁琐事项;商家及时提供会员关怀、针对性导购等个性化服务,促进消费转化

方案构成

在商场、门店入口安装摄像头,顾客进入时,通过人脸识别确定会员、回头客身份,无需出示会员凭证即可完成身份验证,店内服务人员可以第一时间获取进店会员、回头客的身份信息,提供个性化服务,提升服务质量和消费体验

会员识别.png

客流分析

门店精细化运营

实时监测客流,分析客群属性、行为轨迹、兴趣偏好,形成完整的消费者画像。精准分析客群,进行差异化导购,优化货品陈列、库存配置

辅助门店选址、品牌招商

替代传统人工勘察方式,自动统计人流量,深度刻画客群属性,结合商圈人群分布、品牌目标受众等数据,为选址招商提供数字化解决方案

方案构成

基于人脸与人体识别、大数据分析能力,在出入口、室内安装摄像头,布设WiFi、AP设备,实时监测客流量,分析消费者属性特征和行为轨迹,打通顾客线上线下行为数据,挖掘消费水平、兴趣偏好、购买意图等深层属性

客流分析.png

自助结算

降低运营成本

针对标准化商品、菜品,自动识别并计数,代替扫码枪、收银员人工计算,减少工作量,降低人力成本;同时可降低人工计算出错的风险,减少损失

提升消费体验

传统扫码枪、人工计算的方式,效率较低,超市、便利店、食堂易排长队,引入自助结算方案,购买少量商品的顾客可快速结算离店,缩短等待时间

方案构成

基于人脸识别、商品识别、菜品识别等AI技术,在结算台、售货机等设备上安装摄像头,与CRM、财务等业务系统打通,自动识别店内商品、菜品,计算价格,顾客通过刷脸方式进行会员、工卡自动扣款,完成结算

自助结算.png

货品陈列自动审核

提升审核效率,降低人力成本

快消品行业终端门店数量庞大,且分布广泛,人工稽核成本巨大。基于百度EasyDL,地面工作人员、店主上传图像,自动完成陈列审核,显著提升效率

防止人为作弊,减少损失

人工稽查无法规避虚报、瞒报等作弊行为,品牌复审、抽查工作量大。通过模型自动识别,陈列审核工作线上化、标准化,无需人工干预,安全透明

方案构成

采集需要识别的商品样本图片,通过百度EasyDL定制化图像识别平台,训练专属识别模型,检测图像中指定商品的位置、数量,判断陈列是否符合要求

货品陈列自动审核.png

销量预测

有效库存管理,提升进货效率

建立深度学习模型对特定商品的销量进行提前预测,能够帮助商家进行更好的库存管理,从而提升进货效率,降低特殊商品报损比例

方案构成

将商家商品销量数据和天气、位置、用户数据相结合,建立销量预测模型,从而对未来一段时间的产品销量进行预测

销量预测.png

耗损预警

超市防损预警

在美国纽约超市结算环节,通过对购物车是否有未结算商品进行监控,辅助收银人员及时发现商品丢失风险,提升超市防损能力,减少资金损失

精准数据管理

通过精准的监控数据分析,为超市提供商品损失数据分析,辅助进行商品管理

方案构成

在收银台预装摄像头和感应器,使用EasyDL对采集的部分购物车下层图片进行分类训练,得到超市防损识别模型。将模型API与管理后台打通,进行识别后把疑似问题照片显示给收银员,帮助收银员及时检查是否有遗漏未结算商品

耗损预警.png

互动营销

增加顾客停留时间,现场吸引人气

增加趣味性,提高顾客关注度和关注时长

增加品牌好感度,提高用户粘性

提高顾客互动性和参与性,并通过社交软件与顾客保持联系,增加顾客的品牌粘度和忠诚度

提高销售可能性

根据顾客属性、偏好、大数据实时热点及用户痛点,推荐相关产品和内容,进行精准推销

方案构成

互动屏幕通过人脸识别技术,识别用户画像,在营销屏幕上提供相应内容

互动营销.png

来源:https://ai.baidu.com/industry/retail

]]>
0 http://www.16084a.com/index.php/fg/bdaisale.html#comments http://www.16084a.com/index.php/feed/fg/bdaisale.html
【智能案例】服装设计智能场景应用 - 3D试衣-知衣科技 http://www.16084a.com/index.php/fg/739.html http://www.16084a.com/index.php/fg/739.html Fri, 03 Jul 2020 15:21:00 +0800 16084A 服装设计的痛点

在服装行业中,服装设计效果确认是一个费时费力的高成本工作。

在一件服装版型确定后,需要为服装添加上图案或者底色,从而得到一个完整的服装设计效果。一般设计好的服装设计稿为多张矢量图,想要看到实际的服装效果一般需要将设计效果图给到打版工作室或者相应的工厂, 进行服装样衣的制作。制作完成后,设计师才可拿到真实样衣并分析服装的问题。一般来说进行服装样衣制作成本与时间都比较高,因此无法批量尝试不同的选择。此外,设计师拿到样衣后会对之前的颜色、图案与一些设计细节等信息进行一定修改,修改完成一般还可能需要进行二次打版。服装设计中这个过程会不断被重复,并不断进行样衣制作,问题发现修改样衣制作的循环过程中,整个过程成本高昂,同时费时费力,大大拉长了服装的设计生产周期。

问题定义与解决思路

问题定义

在服装设计过程中,痛点在于光看设计图稿无法了解服装设计完成后的实际效果,所以一般都需要进行打版,拿到实际样衣并穿在模特身上才知道实际的效果。如果可以直接从已有上身效果图中替换样衣上的颜色与图案能够帮助设计师快速验证设计结果,大幅度缩短设计生产周期。

此处我们以颜色与服装图案为例,来研究元素替换问题。一般而言服装上的颜色有局部与整体,图案也有局部与整体的区别。如何将颜色信息与图案信息添加到服装图像上,一般可以采用贴图的方案, 直接将色块 / 图案直接贴到原图中, 贴图是一个比较快捷方便的解决方案。但是贴图会带来两个问题。

第一个问题是如何来区分服装与背景边界。这个问题是一个相对成熟的图像分割问题,可以通过图像分割技术来进行边界判别,区分边界与服装部分。另一个问题是贴图是平面类型的,会覆盖服装的细节信息,同时会丧失真实感,如下图所示:

请输入图片描述

从图 1 可以看出,一件衣服替换颜色信息为黑色后,虽然整件衣服是黑色,但是如果每一个像素的颜色都是一样的,那看起来会非常生硬。针对贴图问题,主要原因在于贴图无法察觉到服装上每个像素点之间的差异,贴图时每个点做了同样的对待。解决方法可以对图中的服装计算一下每个点的重要程度,得到一张服装权重图,然后将服装权重图与贴图做一个乘法,即可做一个良好的转换。

针对服装权重这边,比较好的做法是使用服装的深度信息做为服装本身的权重,深度信息可以反映服装图上每个点的特异信息,同时因为我们的图像一般使用普通相机拍摄,没有自带绝对的深度信息, 所以我们通过单张图做深度估计,得到单目的相对深度信息,效果如下图所示:

请输入图片描述

深度图中每个点反应是真实图像中每个点距离人眼的相对距离远近,通过深度信息使得视觉看起来更具有真实感,而不是平铺的感觉。

获取到了深度信息,我们在贴图与变色时,即可消除没有真实感的问题。但是因为服装上本身一般会自带颜色与一些简单图案的关系,如果不做消除,直接贴图或者上色,原始服装上的图案颜色也会继续存在在上色的服装中,如图 3 所示。

请输入图片描述

请输入图片描述

图 3.1 从左往右依次为原图,未去除图案叠加新图案效果图,去除图案叠加新图案效果图,图 3.2 从左到右为原图,未去除图案上色效果图,以及去除图案上色效果图。从图中很明显看出,没有去除图案时无论是添加图案还是上色,在原图中均保留了原始图像的痕迹,导致效果变差。所以我们一般也需要将原始服装上的颜色给抹除,变成灰度或者白色的服装,以方便调整原始服装的纹理和颜色。

解决思路

综合上述分析, 我们需要解决的问题有 3 个:

  • 需要对原始图像做服装分割操作
  • 需要对服装数据做相对的单目深度估计
  • 需要对服装数据做颜色图案信息擦除

上述 3 个问题都可以看成是 Img2Img 任务。a 任务可以使用分割模型进行解决,b 任务和 c 任务可以自行构建类似 FCN、UNet 等结构进行解决。常规思路我们需要训练 3 个模型来解决这 3 个问题。先由分割模型将原始图像中的服装分割出来,然后将分割得到的服装分别送入 b 任务模型和 c 任务模型中,最后合并 b 任务和 c 任务的输出,得到最终的结果。这个思路最简单也比较方便,多个任务可以并行处理,也能单独对每一个模型进行调整。

但是训练 3 个模型对标注数据量和模型训练参数调优等要求较高。此外可能会因为使用数据之间不同分布的问题,造成模型之间并不能良好的协调。所以我们考虑将任务进行一个合理的合并。首先针对 b 任务和 c 任务,一个是对颜色和图案信息进行擦除,一个是深度估计任务,输入均是服装部分。我们可以对 b,c 任务进行合并,构建一个输入为 wh3,输出为 wh4 的模型,其中多出来的一个维度刻画了每一个像素的深度信息。该模型同时完成深度估计和服装信息擦除任务。合并后的任务我们称为 d 任务。任务 a 是一个分割任务,它是从原始图像中切割出服装。该任务的本质是去除背景的工作。a 任务与 d 任务从表面看差异较大,较难合并,但是从另一个角度来看,2 个任务均是需要保留服装部分,任务之间有一定的相似性。同时 a 任务的输出是 d 任务的输入,所以我们可以对任务继续进行合并。合并后的模型结构如下图所示:

请输入图片描述

如图 4 所示,我们模型的 BackBone 使用 ResNet18 的结构。该模型使用空洞卷积进行构建,参考 TensorFlow 中 deeplabv3+UNet 结构的方式进行构建。该结构结合高层和底层特征,同时使用 assp 结构加强对不同尺度特征的特征提取能力。Backbone 输出的特征进行等分切分,得到 2 个通道数相同的特征图。一个通道图用于送给 Seg-Module 进行服装分割操作得到 seg-result。同时对于分割得到的特征图,使用 Add-Module 对分割特征图进行累加, 得到服装激活图。另一个通道图与得到的服装激活图相乘,只保留服装信息,去除背景信息。然后通过 3D-Module 进行图案色彩信息抹除,并估计出深度信息,得到 clothes 部分。最后将服装激活图与原始 Input 做异或操作计算得到无服装的 background,将 clothes 与 background 进行叠加操作,得到最后的 3d-result,这里结合 input 的优势是 background 部分是不需要做任何改变的,直接从 input 中获取即可。

该模型的优势之处是将 seg-Module 与 3D-Module 合并在一个结构之中,同时将 seg-Moudle 的输出作为 3D-Module 中可用的信息,加强了信息的流转,分割分支分割的准确率越高对于 3D 分支越有效,同时 3D 分支分割不准确,惩罚也会回传给分割分支,加强分割分支的分割能力,2 个模块相关制约也相互提升。

模型部分使用 TensorFlow 进行构建,ResNet 结构部分直接复用 TensorFlow models 中的结构,assp 结构部分也直接复用了 TensorFlow models 的 deeplab 模型,对于特征分割与特征之间的相乘异或操作也是直接使用 TensorFlow 的内置函数即可完成。特征分割可以通过 tensorflow.split 函数完成。随着 TensorFlow 的发展完善,搭建新模型时很多结构可以从 TensorFlow 的官方复现中直接提取使用,当成固定的模块,加速了模型构建速度。

实现

数据准备

模型结构为双分支双任务结构,需要的数据为分割数据与 3D 试衣数据,数据形式如下图所示:

请输入图片描述

从左往右分别为原图,服装分割标注图,3D 试衣标注图, 3D 试衣标注图的深度通道信息图。

通常来说,对于多分支任务结构一般需要对一张数据进行多种任务属性的标注,但是这样对标注人员的要求过高, 很容易造成标注效率低下与标注精度下降的问题(原因在于标注时需要不断进行切换,切换时会造成不连续问题)。为了加快标注效率与精度,我们将分割任务与 3D 标注任务进行分离,也就是说单张图可以只有一种标注信息,可以只有分割信息也可以只有 3D 试衣信息,这样的好处是不同的标注人员可以专注在一个任务上, 标注精度和标注速度可以大大加快。因为分割模块的输出嵌入在了 3D 分支之中,所以从整个模型来说,分支模块的性能决定了最终整个系统的上限,所以我们对分割分支模块的需求会更高一些,所以在除了使用自己的标注数据之外,还添加了一部分开源的分割数据做为补充。

数据准备完成后我们可以使用 TensorFlow 支持的 TFRecords 格式进行数据转换,我们这边的任务是 Img2Img 的任务,每次直接从磁盘进行读取大批次数据消耗时间较长,转换为 TFRecords 后可以大大的加快数据读取的时间。TFRecords 在于其使用二进制存储方式,将数据存储在一个内存块中,相比其他文件格式快很多,数据读取加快降低减少了 IO 时间,GPU 等待数据的时间减短,训练速度提升非常明显。

模型训练

我们标注的数据大部分只有单个标签,同时模型是双分支输出,通常来说,比较普遍的做法是使用轮询的方法进行每个分支的单独训练,类似下图所示:

请输入图片描述

轮询训练方法比较简单,每个批次只需要训练一个分支任务,数据加载与训练结构也很方便,也有不少教程推荐该种方案。但是这种方案也有一个较大的问题,模型训练过程中 2 个分支单独优化,轮询更新导致 BackBone 参数更新不同步问题,loss 会周期性震荡。模型最终会慢慢收敛,但是持续的震荡可能会导致模型始终无法训练到最优。这次对 3D 分支训练时也可以开放 Seg 进行同步训练,相当于 Seg 每次都被训练。

在这里我们采用另一种同步训练的方法进行模型的训练,同时对 2 个分支进行训练,训练方法如下图所示:

请输入图片描述

训练过程中每个批次的训练数据从 seg 和 3D 数据随机挑选,比如对于缺失部分,直接构建全 0 向量进行填充,计算loss,根据数据的情况计算 weigths,然后使用 weights 与计算得到的 loss 计算乘积,最后累加 2 个模型的 loss。weights 的统计如下图所示:

请输入图片描述

weights 的统计主要和使用的数据相关,计算分支 loss 时,该分支使用了数据置为1,未使用置为 0。

使用同步训练的方法好处是训练时参数可以同步更新,同步训练 2 个分支参数,此外不同来源的数据可以同时被送入同一个模型,数据分布之间差异造成的模型精度问题可以有一定程度的缓解,这种方法也可以推广到其他多分支结构训练中,根据我们的实验各类任务均可以有较大的性能提升。除了可以参数同步更新外,同步训练方法可以通过设计不同的采样随机数来控制不同数据出现频率,来优化模型训练。

在模型训练过程中,使用 TensorFlow summary 进行各项训练参数收集,并使用 TensorBoard 进行展示。使用 tensorflow.summary.image 进行图片的可视化,可以辅助判断模型的实际训练情况与测试情况。特别是在 img2img 任务中,损失函数与肉眼感官还是存在一定差距。

使用GAN进行优化训练

在 3.2 中我们已经可以训练得到一个不错的多任务模型,同时可以完成分割任务和 3D 试衣任务,但是从数据的角度来看,数据之间始终是分开进行训练,没有良好的进行协作,如何将数据联合起来一起进行训练,这边比较好的一个思路即是使用 GAN 的方法来进行一个监督训练,训练方法如下图所示:

请输入图片描述

如上图所示,除了基础的训练 loss 外,同时 GAN-Loss 作为监督来进行训练,这边主要是增加 2 个判别模型,3D 试衣判别模型和服装分割判别模型,判别模型工作原理如下图所示:

请输入图片描述

判别模型这边可以使用任意结构作为 backbone,主要工作是对 data-labels、data-predicts 进行真假判别,然后将真假 loss 回传,训练过程中,判别器与 3D 试衣模型交替训练,相互进行模型的不断强化,最终达到平衡状态。使用对抗学习作为一个监督模块训练的好处是可以将数据联合使用起来,提高整个模型的性能,坏处是对抗学习需要的工程能力与模型训练参数调整能力要求较高,这里一般建议先将 3D 试衣模型训练到一个较好的状态了再添加判别器模块微调。

此处进行 GAN 的 BackBone 模型使用 TensorFlow models中实现的 VGG16 结构,并重载了 VGG16 的参数,同时使用服装数据进行了预训练,预训练目的是加强判别模型对服装特征的提取能力。此外除了进行 real/fake 的 loss 训练外,还可以将 VGG16 中的特征进行抽取,计算 real/fake 之间的特征图的差异,并作为 loss 进行回传。

效果展示

请输入图片描述

请输入图片描述

请输入图片描述

总结

本文从服装行业中的设计问题出发,分析了服装设计中的痛点,并逐步进行问题分解,方案提出,采用技术的手段进行问题的解决。在技术实现中,进行了多角度的问题查找定位与方案解决。

来源:https://mp.weixin.qq.com/s/bKZsL3b587WRJ86FXShiwg

]]>
0 http://www.16084a.com/index.php/fg/739.html#comments http://www.16084a.com/index.php/feed/fg/739.html
【解决方案】内容创作智能平台 - 百度智能创作 http://www.16084a.com/index.php/bj/574.html http://www.16084a.com/index.php/bj/574.html Mon, 16 Dec 2019 17:49:00 +0800 16084A 产品介绍

百度智能创作服务平台由百度自然语言处理、知识图谱联合打造,旨在成为更懂你的智能创作助手。平台提供如下功能:自动创作、辅助创作、多模态创作

  • 自动创作:可通过接入数据、配置专属写作模板,快速实现批量和自动生成文章的能力。同时支持文章聚合写作、智能春联、智能写诗等多种创作能力。
  • 辅助创作:提供热点发现、事件脉络、热词分析、文本纠错、用词润色、文本审核、文章分类、文章标签等技术,激发创作灵感,全面提升内容创作效率。
  • 多模态创作:提供包括图文和视频内容在内的多模态自动创作能力,快速实现文本到视频,视频到文本的多种内容创作能力,全面赋能内容创作。

创作项目管理

创建项目

登录智能创作首页,点击创建项目「+」按钮,创建项目,或进行项目界面「某项目」管理,卡片上包含项目名称、创建时间、项目描述等信息。您可通过本页面和右上角控制台管理所有项目。可点击进入项目,开始编辑模板或撰写文章。也可查看「生成记录」,同时实现调用。

创建项目.png

项目类型

  • 自动创作 :可通过编辑模板,将数据与文本进行融合,实现批量高效地生成短讯或报告类。文章可使用平台预置模版、自定义模版,实现API调用服务。
  • 辅助创作 :从创作素材、创作工具、发布助手等方面提供内容撰写服务。

项目类型.png

自动创作

提供原创型、二次创作型写作能力,可支持结构化数据写作、聚合写作、多模态创作、关键词创作等方式的文章自动生成,让机器自主完成文章创作,过程无需人工干预,提高内容生产效率。用户可以通过接入数据、配置专属写作模板,快速实现批量和自动生成文章的能力。同时支持文章聚合写作、智能春联、智能写诗等多种创作能力。

结构化数据写作

1、功能介绍

此处预置六种模板:天气预报写作、美股个股资讯、港股个股资讯、沪深个股资讯、足球赛事报道、篮球赛事、每日基金报道、每日债券报道等类型预置模版,您可直接使用。

如官方模板内,暂无符合您业务场景,可创建「自定义模板」,通过自定义数据模板配置,添加自定义模版。

功能介绍.png

2、为什么依赖数据

无论是使用系统预置模版,还是自定义模版,生成文章都需要一定数据。通过将选择模版使用的数据,进行数据变量的设置,将文本和数据形式有效融合,最后生成包含实时数据的文章

预置数据模板

预置数据模板分为:天气预报、股市大盘、足球赛事、篮球赛事、每日基金、每日债券等,平台提供每个类型的预置数据源、模板。

「天气预报」模板举例:图中左侧编辑区是预置模板内容(包含参考的样例),您可直接使用或修改模板中的内容。颜色高亮字段为“智能字段”,是将数据与文本有效结合的媒介。

预置数据模板.png

智能字段

智能字段包含:数据变量、运算变量、同义表达、分支推导。在模板的编辑区中,可插入智能字段,点击右侧插入智能字段「数据变量」即可在光标处插入;划线选择编辑区的文字,也可触发将普通文字变成智能字段。

智能字段.png

1、什么是数据变量

数据变量的功能是在生成文章时,用数据源提供的实时数据,作为该变量位置的内容。 举例如图中选择的数据变量「今日最低气温」,这是系统预置在模板中的变量,您也可以自行插入。在生成文章时,图中该位置会展示为实时从数据源处接收今日最低气温数值(比如24度)。同时,数据变量也是使用其他智能字段的重要基础

举例:
如图中编辑区高亮展示的『24』,这个数据变量是预置在模板内的,你也可以自行加入其他的数据变量。该展示内容对应的数据变量为『今日最低气温』(右侧显示)。当您生成文章的时候,该变量会被替换成对应城市(根据您API请求的城市)当日最低气温,嵌套在您编辑的文章内,气温数据由我们实时提供。

应用:
您可以将实时更新的数据通过数据变量插入文章。这样您任何时刻生成的文章里,数据都可以保持最新,同时还是和文字通顺流畅的结合在一起的。

什么是数据变量.png

1.1、数据变量-空值处理:

对于部分数据变量,在特定时间段或者针对特定参数,有可能返回的数值为空。如刚推出的基金模版,累计净值就可能为空。这类变量会以"问号"图标标注。

如希望对这种可能为空的情况进行预防,可以在变量插入编辑区后,在右侧边栏进行空值处理设置,明确变量值为空时想要的展示形式。后续通过API接口生成文章时,系统会对该变量的取值进行是否为空的判断,并在变量插入的位置展示设定的对应文字。需要注意的是,空值处理仅对该变量在该位置有效,对于插入在其他位置的相同变量,都需要设置空值处理才能分别有效。

数据变量-空值处理.png

举例: 如您既想使用累计净值这个变量,又怕当它为空时您文章内容会比较奇怪,就可以针对这个变量设置空值处理,保证当变量为空的时候文章也可以保证合理。

应用:对可能为空的变量,最好有兜底策略保证文章通顺。

2、什么是运算变量

运算变量可以对数据变量进行加减乘除等类型的运算规则设置,在生成文章时按照设置好的运算规则,进行计算结果的展示。 当选择运算变量后,可以在右侧边栏新建运算。通过在编辑器里插入数据变量、加减乘除等符号、数字,实现运算规则的编辑。最终保存的结果即会插入在模板编辑区。之后可以复用保存好的运算规则。

举例:
如图中模板编辑区的最大温差,这个运算变量是遵守设定好的,今日最高气温减去今日最低气温,这个运算规则来实现的。在最终生成的文章中,系统会将当日最高气温减去当日最低气温,然后用这个结果呈现在该位置处。

应用:
当预置数据源变量本身不能满足文章内容的需求,同时如果对变量本身做一些加减乘除法后,就能满足的话,就可以使用运算变量。通过新建运算变量,在编辑器内插入相关的数据变量、数值、运算规则,最终在文章中就能呈现出计算后的结果。

什么是运算变量.png

3、同义表达

同义表达也是智能字段的一种。功能是在生成文章时,在同义表达插入的位置,从设定好的几个内容之中随机选择一个进行展示。

举例:
如图选择同义表达「及时添衣,谨防感冒」,则图中该位置在生成的文章中会被随机替换成「及时添衣,谨防感冒」、「按时添衣,谨防感冒」等表达内容的一个。如果您希望增添,只需在右侧边栏的编辑框里键入您想要展示的内容,也可插入数据变量和运算变量进行混合,点击增加即可增添一个要表达内容。增添好的内容会在编辑框下方展现,如想直接使用系统推荐进行表达内容的扩展,则可以在增添好的内容上悬停,当出现「同」字后,点击即可完成系统自动扩展。

同义表达.png

应用:
当您希望生成的文章,在表达方式上每次有些变化,避免每次生成文章的非变量部分都一致时,可以在一些位置插入同义表达,实现文章内容的随机多样化。

4、分支推导

分支推导的功能是通过选择特定数据变量或运算变量作为判断条件,预先设定好变量的数值在不同区间的展示形式,当生成文章时,系统会根据实时的数据,在文章的对应部分展示设定好的对应内容。设定展示的内容既可以是纯文字,也可以是文字和变量的混合。

举例:
如图中选择的分支推导「燥热」,会根据预置的数据变量「今日最低气温」的值来进行不同的展示。如右侧所示,当实时数据大于等于3、小于45,生成文章的分支推导位置会展示「燥热」;当大于等于15、小于30,展示「温和」;大于等于5、小于15,展示「清爽」;大于等于-30、小于5时,展示寒冷;其余情况展示「极端」。

分支推导.png

应用:
当您希望生成内容可以更加多变,逻辑可以更加复杂时,您可以使用该功能。通过设置不同条件下您希望的不同展示内容,系统就会根据实时数值,做对应的展示,使您只需设置一套模板,就可以保证生成的文章满足各种情况下的要求。

数据写作助手

在智能字段的下方,智能写作助手包含若干对撰写文章起到帮助作用的工具,包含智能分词、文本纠错。

数据写作助手.png

1、智能分词

该功能是将文章切成若干分开的词汇,点击词汇可以直接设定智能字段,提高选择效率。

智能分词.png

2、文本纠错

系统内,开启该功能后,全文或段落将自动进行纠错检查。点击「立即全文纠错」可对全文发起错误检查。识别的错词会被标红。可以采纳推荐修改词汇或忽略纠错。写完该段落,将会自动发起纠错。

文本纠错.png

自定义数据模板

如官方模板内,暂无符合您业务场景,可通过自定义数据模板配置,添加自定义模版,上传数据变量,从而快速实现批量和自动文章生成能力。

1、如何创建自定义模版

如何创建自定义模版.png

2、怎样添加数据源

  • 添加Excel数据文件
  • 接入API接口数据源

怎样添加数据源.png

(注:自定义模板是没有预置数据,需要您上传自己的数据,将数据添加到模板内操作)实际数据源添加过程中,我们提供了两种形式

3、Excel格式数据上传

Excel格式可参考示例的demo文件,表格第一行默认为变量名称,其余每一行则代表生成一篇文章对应的数据。生成文章时,会依次使用每一行中,对应第一行变量名称的数据。

举例:如您使用demo文件,且您使用了地点这个数据变量在您的模板中,则会生成3篇文章,第1、2、3篇文章日期对应的位置分别被北京、上海、天津所替换。

Excel格式数据上传.png

点击『上传Excel数据』,上传本地Excel数据文件。上传后点击「下一步」,在左侧栏中选择本模板使用的数据变量,右侧可以通过编辑来更改变量命名、或者修改错误适配的变量类型,保存后可进入模板编辑界面,开始编辑。

举例:如您使用demo文件,且只选择了日期、地点两个变量,则您编辑模板时也仅能使用这两个变量。但您在编辑界面也可重新回到图中界面,选择要需要变量。

Excel格式数据上传2.png

4、API格式数据上传

若您选择的是API格式,需提供数据源地址、数据源名称、数据源简介。平台会请求此数据源地址校验可用性。您提供的数据源地址应支持Get请求,接口返回结果要求UTF-8编码,为json串格式。这里返回的数据,会成为后续模板编写和文章生成的数据来源。

例如:您提供的是求职人员相关的数据,方便后续生成结构化的人员报告,则返回:

{"err_code":0,"err_msg":"success","data":{"date":"2019-06-13","name":"Jerry James", "nationality":"Canada", …}}

请求并校验您数据源地址时,若成功则解析您数据源接口返回结果,结果中各个字段会作为数据变量(如name、nationality等),供您后续编辑模板时使用。 在您编辑好模板,并通过调用平台API接口生成文章时,会再次请求您数据源地址,返回结果中的数据将会填充到您生成的文章中(数据在文章中会替代掉您编辑模板时插入的变量)。

您提供的数据源地址可以有多个参数,方便您返回不同的结果;参数也可以为空。例如:地址为

http://xxx.xxx.com/get_data?city=北京

则可返回北京的数据。请求您地址的参数会是后续编辑好模板后,调用平台的结构化数据写作API接口,用于生成文章时传入的参数;参数为空时可不传。

API格式数据上传.png

在校验成功后,确认添加并点击下一步,此时需要您选择数据变量。左侧为从您数据源获取的英文变量名称,您可以选择使用哪些变量,并对变量进行重新命名。之后就可以开始模板编辑。 模板编辑与生成文章部分的内容和上方预置模板的部分一致。

API格式数据上传2.png

模板生效

在编辑好模板后,可以点击界面右上角的模板生效。 选择某个您要生效的模板用于生成文章。

模板生效.png

生成文章

若您使用的是预置数据模板或是自定义模板中的API格式,则需要通过API调用的方式获取生成的文章。通过悬停『API接口调用生成文章』,其中涉及AK(Access Key)、SK(Secret Key)的获取,可前往百度AI控制台,创建应用并获取AK和SK。

生成文章.png

同时对于预置数据模板,平台支持手动生成文章,选择您文章依赖的数据源参数,即可生成对应参数的结构化数据写作文章

若您创建的是自定义模板的Excel格式项目,您可以点击手动生成文章完成对应模板的生成。文章生成记录会展示刚生成的文章集合。点击下载即可获取生成文章压缩文件。

生成文章2.png

辅助创作

辅助创作主要从提供创作素材和创作工具两个方面为您提供辅助。

热点发现

运用知识图谱技术,分析当前24小时内热点事件和话题,推荐适合创作的热门话题给到用户。维度可分为 行业热点 和 地域热点 的功能。热点发现-行业:展示特定行业、特定日期热点事件,将内容会以摘要的形式展示,可直接粘贴到编辑内容区,为您提供撰写素材。热点发现-地域:展示省市级别、特定日期的热点事件。

热点发现.png

事件脉络

通过热点事件脉络进行自动追溯,用户可根据时间线对热点的来龙去脉,全面了解。可将实时的热点新闻,以时间脉络将相关新闻串联形式展现,(按关键词检索将后续开放)

事件脉络.png

热词分析

通过输入关键词,进行检索。系统可以对您输入的关键词的热度趋势进行呈现。同时可对热点关键词进行图谱分析,从关联度、热度、热度变化趋势等多角度,展现关联内容。

热词分析.png

自动纠错

开启该功能后,全文及段落将自动进行纠错检查。点击『刷新』可再次对全文发起错误检查。识别的错词会被标红。可以采纳推荐的修改词汇或忽略纠错。用户写完一个段落也会自动发起纠错。

自动纠错.png

文本审核

开启『审核全文』,进入审核界面。系统会将涉黄、涉政的敏感句用黄色高亮进行标注。您可以悬停在高亮标注上,查看句子具体涉及哪个类别。同时也可以在右侧选择仅查看某几个类别。完成审核可以退出审核的界面。

文本审核.png

用词润色

开启『润色全文』,进入润色界面。系统会将可润色的词汇进行绿色高亮标注。您可以悬停在高亮标注上,查看同义推荐的建议,可以点击词汇进行替换,或者忽略推荐。完成润色可以退出润色的界面。

用词润色.png

自动摘要

自动抽取文本中关键信息,进而生成一定长度的文章摘要。可将200字以上含标题的文章,自动生成摘要。生成后可在摘要位置,进行采纳、追加或替换。

自动摘要.png

文章标签

对文章、标题、正文进行深度分析,输出反映文章关键信息的主题、话题、关键词等多维度标签等

文章标签.png

文章分类

可根据文章标题和正文,对文章进行自动分类,自动输出主题一级分类、主题二级分类及对应的置信度。包含娱乐、体育、科技等26个主流内容类型。

文章分类.png

主题短语生成

主题短语可以对文章的标题和正文进行深度分析,输出能够反映文章关键信息的主题短语,满足榜单等对标题长度有所限制的场景诉求。必要条件是文章需要有标题和大于200字的正文。输出为1-2个符合文章含义的主题短语。

主题短语生成.png

资讯地域识别

地域识别可以对文章的标题和正文进行深度分析,识别并输出分级地域信息,如国家、省份、城市等。触发的必要条件是文章需要有标题和大于200字的正文。输出为识别的国家、省份、城市。

资讯地域识别.png

来源:https://ai.baidu.com/ai-doc/NLP/ik3hbjj0v

]]>
0 http://www.16084a.com/index.php/bj/574.html#comments http://www.16084a.com/index.php/feed/bj/574.html
【智能案例】音频内容智能运营应用 - QQ音乐 http://www.16084a.com/index.php/fg/711.html http://www.16084a.com/index.php/fg/711.html Sun, 15 Dec 2019 14:01:00 +0800 16084A QQ 音乐是腾讯音乐娱乐集团推出的网络音乐平台,拥有超过 8 亿的用户,是中国互联网领域领先的正版数字音乐服务的领先平台,同时也是一款免费的音乐播放器,始终走在音乐潮流最前端,向广大用户提供方便流畅的在线音乐和丰富多彩的音乐社区服务。

QQ 音乐曲库数量庞大,怎样有效智能的管理曲库,最大化利用曲库,为曲库赋能是一个重要研究课题。QQ 音乐基于 TensorFlow 开源机器学习平台提供了自动音乐标签、音乐评估、声伴分离、音乐缺陷检测与复原等基础算法,这些基础算法应用于全曲库所有歌曲,构建了一个 AI 赋能的音乐曲库。

构建训练框架

我们基于 TensorFlow 框架搭建了一个通用训练框架,在此基础上可以快速实现算法特征提取、模型搭建、训练以及推理过程,该训练框架使用众多 TensorFlow 提供的高级 API,方便算法实施,如图一所示。

图一 基于 tf.estimator 的训练框图.png

特征提取

处理音频领域相关问题需要提取音频特征,这里主要使用 tf.signal 下的信号处理相关 API:提供常用 STFT,MFCC 等特征提取,结合 tf.py_func() 函数还可以使用其他开源音频处理框架,例如 librosa 等。最后使用 tf.data 相关接口进行封装,即可实现输入数据的操作,这样既可转换为 tfrecord,也可转换为 tensor 直接喂给网络进行训练。

如下为一个简单的示例,使用 librosa 读取音频源文件,然后提取特定特征,先使用 tf.py_func() 将其封装成 tensor,然后使用 tf.data.Dataset.map() 进行多线程封装,最后借助 dataset.filter(lambda XXX).map(lambda XXX).apply(XXX) 实现其他相关数据转换。

def _load_wav(filename, gt_rate=16000):
    try:
        data, _ = librosa.load(filename, sr=gt_rate)
    except Exception as e:
        raise ('the file %s  catch the exception...'%filename)
    #T0DO
    features =......
    #T0DO
    return features


def audio_dataset_from_fileslist(path=None, num_parallel_calls=4, gt_rate=16000):
    fn_dset = load_fileslist(path)
    read_wav = lambda x: tf.py_func(partial(_load_wav, gt_rate=gt_rate),
                                           [x],
                                           tf.float32)
    audio_dset = fn_dset.map(read_wav,
                                  num_parallel_calls=num_parallel_calls)
    return audio_dset

模型搭建

使用 tf.keras、tf.layers、tf.contrib.slim 下的接口即可快速搭建训练网络的模型,免去自定义各个卷积核的权重大小,还可以直接使用其预定义好的现有模型,在其基础之上进行定制化等操作,同时也方便直接在此基础上进行 finetuning。

训练策略

训练主要是定义好数据输入、模型输出、损失函数、梯度下降方法,然后将其组织在一起进行迭代训练即可,这里使用 tf.estimator 框架,其提供 input_fn, model_fn 对外接口,然后直接调用 train() 进行训练,evaluate() 进行评估,predict() 进行预测推理,同时提供多种分布式训练:单机多卡,多机多卡。最后还可以将模型保存文件进行转换,转换为 pb 或者 SavedModel 抑或者是 tflite 格式进行不同方式的部署,整个框图如上图一所示。

部署上线

将模型保存为 pb 格式,部署时使用 TensorFlow Serving 作为最终的部署方案。TensorFlow Serving 内部通过异步调用的方式,实现高可用,并且自动组织输入以批次调用的方式节省 GPU 计算资源。最终部署在 P40 的 GPU 上,GPU 的性能被极大利用。

下面我们来看一下 QQ 音乐使用 TensorFlow 的具体场景。

音乐分类

音乐分类,在浩瀚的音乐海洋里,将歌曲按流派、心情、场景等分门别类打上标签,就可将音乐展现出来,并将相关歌曲进行聚类或者给不同的用户进行推荐。

分类后的歌曲可应用于以下场景:

  • 分类频道;
  • 构建音乐电台;
  • 提升曲库的歌曲标签覆盖率,构建智能曲库;
  • 根据用户兴趣推荐歌曲。

音频分类是一个比较经典的分类问题,最大的挑战是曲库中存在成千上万的歌曲,必须同时保证准确率和召回率。为了近一步解决这一挑战,争取做到整个分类过程无需人工参与,我们引进深度学习技术,打造更强、更准的“全天候”精准分类系统!

我们主要做了如下改进:
针对音乐所表达出的多样性,根据具体分类场景提出结合基于音频内容和基于歌词内容的融合的分类系统,提升音频分类的精确度,如图二为基于音频内容分类系统框图;

图二 音频分类训练框图.png

与深度学习中常规的 N 分类器系统不同,使用 N 个二分类器乃至多级分类系统,提升分类效果。如图三为二分类多级分类系统框图,例如我们需要精准召回 “music label A1” 可以设计两个二分类网络进行级联,最终识别出目标类别 “music label A1”,并对该类别歌曲进行全库打标签。

图三 二分类多级分类系统.png

声伴分离

声伴分离,也常称为歌声分离(Singing Voice Separation),是一种将人声(Vocal)和伴奏(Accompany)分开的技术。我们可定义声伴分离模型为:给定 V + A = M,以及 V 和 A 的一些先验信息,求解出 V 和 A。信号不但可以叠加增强,还可以抵消抑制,因此这里的加号 “+” 只表示 V 和 A 的关系,而不表示数学运算符加法,如下图四为频域看声伴分离。

图四 频域看声伴分离.png

把人声和伴奏分离有哪些应用?在曲库中,声伴分离具有广泛的应用场景,包括但不限于以下几种:

  • 高质量曲库伴奏的生成,补充伴奏曲库;
  • 原唱干声提取,用于声纹识别,歌声转换,修音模板,智能 MIDI 等;
  • 结合 ASR 技术进行歌词生成,歌词对齐,自动生成音乐时间戳 QRC 歌词文件,如下图五为该技术生成的歌词时间戳 demo 展示;

基于干声生成歌词时间戳 Demo

QQ 音乐中文歌曲 QRC 显示.gif

QQ 音乐英文歌曲 QRC 显示.gif

Apple Music 英文歌曲 LRC 显示.gif

声伴分离是音频领域里一个比较热门的研究领域,利用丰富的曲库资源:大量纯净的伴奏和人声作为原始数据集进行训练,网络主要使用 Encoder-Decoder 结构的 Hourglass 的模型进行建模,如图六所示,输入特征为 STFT 对数幅度谱,模型的输出并不直接输出伴奏或者人声,而是输出其频谱理想浮值掩蔽(IRM,Ideal Ratio Mask),然后与原始信号频谱特征相乘即可得到想要的伴奏或者人声。

基于 CRNN 的 Encoder-Decoder 的声伴分离模型架构.png

缺陷检测

缺陷检测,指曲库中某些歌曲存在一些人耳主观感受异常的片段,严重影响用户听感,使用技术手段自动化批量辨别。

缺陷检测的意义在于针对曲库中存量歌曲,检测出来缺陷歌曲可以做替换或者修复等操作,还能在入库过程中提前预防,阻止有缺陷问题的音频文件入库,这对曲库音质的提高非常有意义,能有效提升用户口碑和品牌战斗力。

如下图七为某首歌曲中由于一些网络传输或编解码等历史原因存在一定量的音频缺陷片段,将这类歌曲中的缺陷检测出来很有必要,主要采用音频事件检测(Sound Event Detect, SED)技术针对该缺陷进行检测,采用人工标注:

  • 强标注(strong labeling):每个事件都标注有开始时间和结束时间
  • 弱标注(weak labeling):事件没有时间信息,也称为有/无标签(presence/absence labeling)
  • 序列标注(sequential labeling):只有事件发生的先后顺序,不知道他们具体的开始和消失时间信息

为了减少人工标注成本使用第二种标注方式:弱标注,首先构建卷积循环神经网络(Convolutional Recurrent Neural Network,CRNN)模型结构:CNN+RNN,然后采用多实例学习(multiple instance learning)来解决存在和不存在标注的 SED 问题,进而得出逐帧的预测结果,最后采用多种融合手段将逐帧预测转换为逐片段预测,进而得出该片段是否包含特定缺陷,遍历整首歌曲即可得出该歌曲是否含有缺陷,最后使用 TensorFlow Serving 部署进行全库扫描。

缺陷检测流程.png

音质复原

音质复原,曲库中由于一些录音设备(如手机录制)或背景环境干扰等问题,录入的歌曲会含有一些噪声信号:例如 click 噪声,背景噪声等,尤其是一些 UGC 作品,这些歌曲一定程度上影响主观听感,可以使用技术手段将噪声信号进行过滤掉,这能有效修复和提升音质,改善用户体验。

音质复原是直接提升曲库音质的有效手段,既可以部署在云端也可以直接部署在用户手机中,实现实时过滤噪声信号。

提取时-频特征:STFT 线性幅度谱,经过 CRNN 模型,整个模型训练框图如图所示:

音频去噪训练框图.png

需要注意的是模型的输出为频谱理想浮值掩蔽(IRM,Ideal Ratio Mask), 该 IRM 也称为时-频掩膜(Time-frequency Masking),如图八所示,即预测一个乘性的时-频掩膜,与输入的时-频特征相乘,得到预测的时-频特征,即将预测得到的 IRM 与源信号的幅度谱进行相乘即可得到干净的幅度谱,达到去噪的效果,针对音质进行修复。目前考虑算法的实时性,仅考虑了 STFT 变换后的复数谱的强度信息,未考虑相位信息,但是业界研究者也逐步认识到相位预测的重要性,通过扩展掩膜的值域,提出了一些关注相位信息的掩膜方法,如 Phase Sensitive Mask(PSM)将掩膜扩展至实数域,complex Ideal Ratio Mask(cIRM)将掩膜扩展至复数域,甚至可将普通卷积模型转化为复数卷积模型。

基于 IRM 的音频去噪.png

总结与展望

本文以应用 TensorFlow 构建 AI 赋能的音乐曲库为主题,详细介绍了 QQ 音乐如何使用 TensorFlow 搭建深度学习训练模型来解决音频相关的具体问题。

首先介绍了使用 TensorFlow 构建通用训练框架,包括音频特征提取、模型建模、常用训练方法和策略以及模型部署上线等模块。然后紧接着围绕构建智能音乐曲库主题,分别详细介绍使用 AI 技术实现并解决音频领域的多个案例,针对每个案例着重介绍了其概念、使用场景以及具体方法,这些案例均充分利用了 TensorFlow 这一强大的工具。未来将围绕 “Music & AI” 在AI作词/作曲、音频指纹、翻唱/哼唱识别等领域继续探索,并在 Google TensorFlow 生态支持下,为构建智能曲库提供更多优秀的解决方案,为用户带来优质音质体验。

来源:https://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247487219&idx=1&sn=6c9acdb7b0f8581fef5f1967969d57a9&scene

]]>
0 http://www.16084a.com/index.php/fg/711.html#comments http://www.16084a.com/index.php/feed/fg/711.html
【项目实战】利用 GAN (生成对抗网络) 技术模拟生成花型图案 http://www.16084a.com/index.php/Aii/337.html http://www.16084a.com/index.php/Aii/337.html Fri, 13 Dec 2019 17:06:00 +0800 16084A 实战背景

基于公司做AI设计理论测试,在前期对GAN技术的了解基础上,实战跑了模型生成AI图案花型设计的效果,沉淀AI智能解决方案。测试电脑性能不好,连续跑了25天,实战不能再等了,就跑了33200次循环,效果可以看出来了!

数据集整理

难点在于网络上没有专门的图案款式数据集,寻找了一些趋势网站,付费购买了花型数据;另外一个思路是直接去面料网站寻找(太花时间,没有我那个这个方向走,很多电商图片或花型网站都有水印,不好解决),考虑需要背景干净且为白色的图片,降低噪点,于是就有了数据集制作的过程。

数据集制作思路:看看代码 → 了解数据集图片大小 → 下载图片 → 归类图片 → 清洗图片 → 压缩大小

数据集规格,制作并提供了25316张,像素为600*600的白色背景图片,分辨率为380dpi,10个大类的图案花型

花型图案数据集.png

代码说明

直接使用之前动漫训练模型,原模型地址:
https://www.16084a.com/index.php/net/gandm.html

实战在次基础上有优化和调整参数

训练效果

200次循环
train_00000200.png

3000次循环
train_00003000.png

6000次循环
train_00006000.png

16000次循环
train_00016000.png

20000次循环
train_00020000.png

30000次循环
train_00030000.png

33200次循环
train_00033000.png

]]>
0 http://www.16084a.com/index.php/Aii/337.html#comments http://www.16084a.com/index.php/feed/Aii/337.html
【智能案例】智能舆情动态监控应用 - 华泰证券 http://www.16084a.com/index.php/fg/671.html http://www.16084a.com/index.php/fg/671.html Thu, 12 Dec 2019 17:08:00 +0800 16084A 背景介绍

美国“华尔街日报”最吸引读者专栏之一是 “Abreast of the Market News”。在该专栏中,读者每天可以跟踪市场指数、参阅相关股票分析师前瞻预测进行合理的市场投资。新闻里涉及的不同公司、行业等主体的舆情倾向也直接反映了投资者对其在股市表现的不同期望。在每天海量新闻、突发事件充斥着各大新闻媒体门户网站之时,如何快速、高效和准确地捕捉新闻主体相关的市场情绪,也是现在金融研究热点问题。

华泰证券是一家致力于利用科技助力金融业务的行业头部券商。我们基于全网金融网站的实时新闻数据,借助 TensorFlow 和 BERT 模型,训练并部署了一套舆情分析系统(如图 1 所示)。系统实时追踪热点话题,解析新闻关联的公司、行业和事件,给出情绪标签和异动榜单,同时还可以针对特定事件,进行回测,挖掘事件与标的涨跌的相关性。系统在交易、资管、投研、风控等多个业务场景均已落地并发挥重要作用。

图 1 - 华泰证券智能舆情系统.png

数据准备

实时数据

华泰舆情系统结合多数据源(近千家金融新闻网站),通过大数据实时处理的手段采集、清洗数据。清洗完毕的数据进一步通过平台算法(情感算法,热度算法,事件算法等)被自动打标、存储,以求做到对全网金融新闻资讯进行实时监控分析。统计下来,平均每天金融相关新闻的数据量在 1 万条左右。

训练数据

舆情系统的核心在于情感算法,情感算法的关键又在于数据。我们通过半监督和交叉验证的方式,分别对主体和篇章情感进行了标注。表1展示了数据的一些统计信息。

表 1 - 训练数据统计信息.png

数据标签为正负中三分类,标注标准主要依据两点:

  • 通过词语或者词组来进行正负标注
    词语标注主要关注情感词(上涨、下跌等)、否定词(未能,暂未等)、程度词(大幅,明显等)和转折词(但是,然而等);词组标注主要关注双重否定(亏损减少)和前后转折(速度快但不稳定)。
  • 根据金融逻辑来进行标注
    一些行业的金融逻辑和直观判断会有出入,需要仔细甄别。例如:去产能。去产能直观来看代表产能下降,偏负面,但在化工、钢铁等行业中,去产能意味着供给减少,往往会导致产品价格上升,是一个正面信号。

易错数据分类

通过对数据的分析(主要是主体情感),我们发现有一些易错数据会给算法带来不小的挑战。表 2 总结了其中的几个主要类别。

表 2 - 易错数据分类.png

算法设计

算法结构

如图 2 所示,整个系统的算法结构从数据清洗开始,需要去除一些特殊符号并规范格式。清洗过后,首先要对文本进行金融非金融的分类,不是金融类别的文本会被过滤掉。留下的金融文本需要再次进行分类,以区分公告非公告。其中公告文本可以直接走公告事件体系,直接给出对应的金融逻辑情感标签。而非公告类文本,即常规的金融新闻,会进入主体和篇章情感模型中进行分类。最后,基于长期积累形成的一个针对宏观、行业、个股的投资事件体系,如果检测触发了其中的一些重要事件,则会根据这些重要事件的金融逻辑情感标签对模型结果进行修正。

图 2 - 舆情系统算法结构.png

核心模型

上述的算法逻辑中,最核心的模块就是主体和篇章情感模型。鉴于预训练模型的强大能力,我们选择使用 BERT (Bidirectional Encoder Representations from Transformers)[1] 在主体和篇章情感分类数据上进行微调。对比 TextCNN [2] 等传统分类模型,BERT 的提升效果明显。

以主体情感分类为例,我们主要关注模型的正负误判率,对于此项指标,如图 3 所示,在两次质检数据上,BERT 的表现均更优。

图 3 - BERT 与 TextCNN 正负误判率对比.png

进一步的,针对上文提及的主体情感的易错数据类别,我们对模型进行了特别设计,以适应数据集自身特点。例如,对于高占比的多主体问题,如果只是单纯利用 BERT 进行情感分类,则不能有效学习同一句话中不同实体之间的情感差别。为此,设计模型如图 4 所示:

图 4 - 主体情感模型结构(针对多主体问题优化).png

首先,在 BERT 输入端,在关注的主体前加入了主体所属的行业信息,目的是学习不同行业间差异化的金融逻辑。不同的行业类别 Token 可以用 BERT 预训练中未使用的符号代替。其次,在输出层之前,不仅融合了主体和所属行业的向量编码,还融合了整个句子开始处的向量编码,其目的是在引入主体和行业上下文信息的同时,也引入句子整体的信息,以更好地区分同句不同主体之间的情感差异。最后,多主体三分类分别求 Loss,损失函数相加,联合训练。这样的模型结构设计,较为有效地解决了多主体问题,模型 F1 - Score 提升了约 2.3 %。

算法改进

金融领域预训练

由于 BERT 本身是在大量通用领域语料上预训练而来的模型,通用语料中金融文本的缺乏限制了模型向金融领域迁移的能力。为此,我们利用了几年以来积累的大量无监督金融文本数据(约 20G),在 BERT 基础上,预训练了一个金融领域的 BERT 模型:BERT - Finance。该模型给金融文本情感分类任务,尤其是包含金融逻辑的主体情感分类带来了较大提升,F1 - Score上升了约 2.7 %。BERT-Finance 还将为日后其他金融领域子任务如金融分词、金融实体识别、金融实体消歧、金融事件检测等带来帮助和提升。

数据均衡与增强

从表 1 可知,正负中三类情感极性的数据量并不均衡,通过过采样可以有效解决数据有偏的问题。同时参考 Jason Wei 等人在 2019 年提出的针对文本分类任务的数据增强方式 EDA (Easy Data Augmentation)[3],通过同义词替换、随机插入、随机位置交换和随机删除(对主体情感,需避免主体被删除),F1 - Score 提升了 0.3%。提升较少的原因在于数据规模本身并不算小,而 EDA 对于少量数据的提升更明显,可以有效避免小数据集下的过拟合。

增加多主体数据

此外,在做错误分析的时候我们发现,包含多主体的句子更容易出错。因此,在标注的过程中,我们特地增加了多主体数据的标注量,同时训练中对多主体的错误进行一定的过采样以增强模型对多主体情感(尤其是同句话,不同主体不同情感)的判断能力。

服务部署

由于应用了 BERT 模型,我们的服务都是部署在 GPU 之上的。但目前阶段,TensorFlow Serving 并不支持多 GPU 的自动负载均衡。尽管它可以获取所有的 GPU,并可以在每个 GPU 上都创建 Session,但在一个服务进程里,所有的计算只会在一个 GPU 上完成。因此我们对每个 GPU 都启动一个 Docker 服务进程,在上层使用了 ZeroMQ 进行负载均衡,这样就实现了多 GPU 的模型服务,对文本输入序列较长的篇章情感模型,响应速度提升了约 5 倍。

舆情因子

研究舆情因子,有助于我们把握市场看涨或看跌的情绪,做出正确的走势判断。舆情是“舆论情况”的简称,是指在一定的社会空间内,围绕社会事件的发生、发展和变化,民众的情绪反应。目前百度,新浪等公司都上线了基于网络资讯的分析平台,华泰也自研了金融舆情因子接口,下面我们就基于自研的情感指数对行情进行分析。

首先我们按照表 3 对训练数据的输入输出进行建模:

表 3 - 按给定时间粒度获取.png

通过构造不同的特征值,我们对行情和舆情数据进行多因子模型的特征提取,如表 4 中的情感衍生特征和表 5 中的价格衍生特征:

表 4 - 情感衍生特征.png

表 5 - 价格衍生特征.png

以博兴股份(600083.XSHG)为例,我们取时间粒度 frequency = 30 - 230 分钟,训练:预测 = 3 : 1,使用 XGboost 进行三分类模型训练,大多数时间粒度的测试集准确率可以达到 0.5 以上。

特征方面,采用(120 + 180 + 240 分钟情感窗口)的全特征训练出来的模型最好。特征重要性方面, past_news_count 和 past_news_sum 特征在情感指标中贡献较高,下图是前述实验的特征重要程度图,其他实验也基本呈现相似的趋势。可以看到情感指标中贡献度较高的特征为当天负面新闻数,以及之前 1 - 5 天正面新闻数,说明了情感指数(因子)在涨跌预测模型中的重要性。

图 5 - 舆情因子贡献程度.png

图 5 横坐标中 0 - 23 分别代表:

features = ['neutral_count','positive_count','negtive_count', 'bf_neu_sum','bf_pos_sum','bf_neg_sum','bt_0','bt_1','bt_2','bt_3','bt_4','bt_5','bt_6','bt_7','bt_8','bt_9','bt_10','bt_11','bt_12','bt_13','bt_14','bt_15','bt_16','bt_17']

其中,bt_n(n in [0, 17])表示前n天的不同涨跌趋势变化。bf_neu_sum、bf_pos_sum 和 bf_neg_sum 表示前 5 天内的三种新闻情感状态指数变化。

总结与展望

本文介绍了华泰证券使用 TensorFlow 和 BERT 构建情感模型、搭建舆情系统的方法,通过一系列的数据处理、训练、分析和迭代,基于 TensorFlow Serving,在 GPU 上部署了高效的模型算法。同时探究了构建舆情因子的可行性。在市场越发趋于有效,技术面套利机会空间缩小的情况下,将新闻消息与对应个股的利好利空程度进行定量研究,并辅以计算机量化,将成为投资利器。

来源:http://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247487040&idx=1&sn=bcec58382a604acaff44025225dbf6e2&scene=19#wechat_redirect

]]>
0 http://www.16084a.com/index.php/fg/671.html#comments http://www.16084a.com/index.php/feed/fg/671.html
【智能案例】电商智能商品运营应用 - 严选召回 http://www.16084a.com/index.php/fg/699.html http://www.16084a.com/index.php/fg/699.html Tue, 10 Dec 2019 13:42:00 +0800 16084A 背景

网易严选是一家品牌电商,连接着供应商和用户,改善供应链的同时给用户提供高品质、高质量、无大牌溢价的商品。营销侧业务场景是在线电商的重中之重,面临的场景挑战包括:

  • 如何优化流量分配?
  • 如何增加 GMV?
  • 如何提升用户购物体验?

互联网人口红利消失殆尽,在存量争夺用户时间的战场上,必须高效充分利用每份流量。使用个性化算法是各家必用技术,在电商的营销场景提升效果明显,点击率预估提升一小步,流水增益一大步。网易严选目前主要采用深度模型应用在搜索、推荐、广告等场景,具体算法方向有 DeepCTR、Embedding、NLP 等。我们选用 TensorFlow 作为模型训练和推断的解决方案,拥抱深度学习和 TensorFlow 带来的好处:

  • 提升模型迭代效率,可以从两点理解:
  1. 大部分特征组合工作交给深度模型,让 Machine Learning Engineer 更关注在模型本身,享受学术届新模型落地在工业界的技术红利。
  2. TensorFlow 提供很多预训练好模型和模型基础结构。
  • 训练和推断无缝结合(TF Serving 的出现是当初选择 TensorFlow 的最大参考因素,目前我们也在尝试 TFX 中)。
  • 充足的社区资源(踩坑也可以爬得出来)。

在转向深度学习的这两年,网易严选个性化场景的用户体验、指标数据都有较大提升(产品形式、系统能力、算法效果都在持续优化中)。个性化场景最重要的两个阶段是召回和排序,接下来会从这两方面切入分享网易严选实践经验和思路总结。

能力统一召回体系

这里的召回更准确定义是 召回 + 粗排。召回的目的是快速缩小范围,减轻精排的压力。网易严选系统当下的挑战不在数据规模和系统压力,我们设计系统最看重的是复用性、维护性和扩展性。因此考虑对召回能力做大统一,涉及搜索、推荐、广告、客服多个业务场景。

召回抽象

对召回来说,输入输出都是信息,只是信息的类别可能不同,同时必须定义信息间关系度量:$ score = f (InputData,OutputData) $。召回阶段对时延比较敏感,不能选用太过复杂关系度量算法。对于多个场景,信息可以抽象为:

  • 搜索(输入查询词,输出商品列表、专题内容列表)
  • 推荐(输入用户,输出商品列表)
  • 广告(输入用户,输出素材列表)
  • 客服(输入问题,输出答案列表、相似问题列表)

信息载体包括文本和向量,两端信息载体相同的情况下才能计算关系度量值。 显而易见 查询词、商品、问题 / 答案、专题内容 天然包含文本信息,而使用向量必须依靠模型做目标的向量化表征。

类似 Airbnb[1] Sequence Embedding 思路,我们基于 TensorFlow 实现商品向量化表征,同时引入 Batch 内 pairwise loss 和 side info 进一步提升模型的性能和效果。基于商品向量可以关联表征用户、查询词、专题。

向量关联表征.png

问题 / 答案的向量化参考 sentence embedding 技术,由专门的 NLP 同学负责。

召回能力

如果信息是文本或向量,召回能力需要支持:

  • 文字相关性:依靠 ElasticSearch 索引,BM25 算法度量相关性。
  • 语义相似性:Pre-train 和 fine-tuning 的 BERT 模型推断相关性。
  • 向量最近邻:近似最近邻搜索(Approximate Nearest Neighbor),余弦距离计算相关性。

作为通用召回体系必须保证低延时、高可用,具体做系统架构时我们将三种能力都用索引来支撑。文字相关性本来就是索引提供的能力;向量最近邻基于 LSH(Locality-sensitive hashing)投影后再建索引,获取索引正排数据(原始向量)计算匹配得分,实现向量的在线查询能力。非 GPU 环境下 BERT 模型比较耗时,可将热门查询词和高频问题(二八定律)做离线推断,结果得分 T+1 同步到索引。

能力统一.png

至此三种能力都整合在索引体系下,召回场景可以并行使用。举个例子:

  • 搜索场景:输入查询词同时使用文字相关性,语义相似性(Query 和 ItemTitle 形成 setence pair),向量最近邻召回商品(QueryVector 到 ItemVector)。网易严选商品总量偏小,扩展召回能力希望用户能看到更多关联商品。
  • 推荐场景:输入推荐模块商品池条件和用户向量,使用文字相关性(多路召回的商品过滤条件,是通用的索引条件查询),向量最近邻 (UserVector 到 ItemVector) 召回商品。

各显神通精排服务

精排场景没有考虑对能力做抽象统一,每个模块核心诉求点会不同(有些战略导向的场景可能只考虑曝光点击量)。核心指标上综合考量曝光转化率(CTR*CVR)、UV 价值、总体 GMV,这些都是算法需要全局优化的目标,同时综合业务方的人工策略,呈现给用户最终的商品浏览效果。小伙伴可以充分发挥聪明才智,自由选择特征和模型结构,以线上 AB Test 数据评估价值。我们的精排模型探索往大的说分为两方面:追求精度效果的复杂深度模型和实时感知用户偏好的在线模型,下文做详细介绍。

复杂模型

使用深度模型做 DeepCTR 预估,主体思路是 Embedding&MLP,对模型做网易严选场景的适配调整。我们首个深度模型是 WDL[2],依靠 TensorFlow 提供基础的 WDL 模块可以方便的编码实现。Wide Part 依靠先验知识构建特征,挑选高覆盖、高价值属性两两交叉构建特征。Deep Part 依靠深度网络实现特征组合,对商品 Id、类目 Id、属性 Id Embedding,但不直接对用户 Id Embedding,而是基于用户和商品的行为序列表征用户,引入注意力模块[3] 计算用户向量。

后续在定制 WDL 之上加入 CTR、CVR 的多任务学习[4],共享 Embedding 层权重,构建 CTCVR LOSS,实现曝光阶段的 CVR 预估。

复杂 T+1 模型.png

在线模型

业界已经形成共识数据新鲜度能进一步提升模型效果。为实时感知用户偏好,一般使用实时特征传入深度模型,但存在两个问题:

  • 实时特征在线计算用于推断,数据清理用于训练;特征调整的维护成本和计算量比较大。
  • 实时特征线上计算有不可靠性,扰动模型效果。

我们选择实现成本较低的方案:T+1 复杂模型的基础上挑选 TopK 应用实时重排序,在风险可控的前提下尝试激进实时算法。基于用户和商品交互数据计算用户多类目的实时兴趣向量(用户向量表征参考上文召回说明),在不同的场景按需使用。如在搜索推荐,使用当前上下文信息激活多维度用户实时向量,计算向量距离重排序商品列表达到类似实时模型的效果。系统工程上收益一个是用户和商品交互数据是基础统计,没有额外特征维护成本,另一个使用向量有更好泛化性和数据容错性。网易严选场景验证效果有明显的提升。

实时向量表征.png

结语

近几年深度学习领域的技术革新非常快,新模型新思路层出不穷,不由感叹 “终身学习” 的知行合一颇为不易。网易严选营销端个性化有丰富的深度学习应用场景,从点击率预估、语义匹配、向量化到素材合成、文案生成、人群画像,我们一直在扩充算法的能力边界。借助 TensorFlow 高效实现 & 验证学术界 SOTA 模型,关注应用微创新和算法适配落地,能大幅提升算法团队工作效率。

来源:https://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247487192&idx=1&sn=20aabe74a2998795e245cc343b463521

]]>
0 http://www.16084a.com/index.php/fg/699.html#comments http://www.16084a.com/index.php/feed/fg/699.html
【智能案例】智能营销风险应用 - 营销风险方案 http://www.16084a.com/index.php/fg/694.html http://www.16084a.com/index.php/fg/694.html Thu, 05 Dec 2019 13:32:00 +0800 16084A 用 TensorFlow 框架进行非结构化数据特征抽取,可显著补充金融业务专家挖掘数据的经验范围,构建更完整的特征空间支持后续业务建模,提高业务指标。

背景

随着在线消费金融市场的发展,也催生了有组织的羊毛党团伙。羊毛党团伙利用专业的工具和技能,主要关注市场上各类金融机构的营销活动,以低成本甚至零成本换取高额奖励,这导致平台的活动经费大量落入羊毛党的账户中,使活动效果大打折扣,严重损害金融机构的利益。

作为集团化的组织,羊毛党依靠一条完整的黑产生态链,包括通过黑卡运营商、手机卡商、猫池厂商、收码/打码平台、改机工具、群控工具等,不断挑战金融机构的已知设备规则等各类风险模式。在这种背景下,基于融合用户行为模式和半监督网络分析技术的复杂机器学习模型,以及基于对抗网络捕捉不断演化的风险模式的营销反欺诈风控手段至关重要。

在此业务背景下,氪信科技基于 TensorFlow 构建了一套完整的营销风险识别方案。选择 TensorFlow 的原因不仅仅在于它是一个主流且成熟的开发框架,更在于在 TensorFlow 框架基础上开发的模型易于落地,便于产品化,使得技术能够快速与业务交互形成闭环,充分地进行实际业务场景的迭代。

传统营销风险解决方案主要依赖于两类体系:规则体系和高强度实时监控体系。其中,规则体系基于业务人员对历史营销风险出现模式的归纳与总结,部署至实时决策引擎内;高强度实时监控体系进行大量的成本、业务策略层面的预警,帮助业务人员及时发现活动期间内出现的异常情况。

对于实际营销业务来说,营销风险来源于两类:黑产及正常用户的投机行为。其中,黑产客群无论从“薅羊毛”的规模抑或是风险控制的难度,都高出正常用户投机行为的百倍千倍。难点主要在于黑产的欺诈行为模式针对业务方的惩罚手段应变并且极其迅速,现有的规则决策体系及监控体系,只能针对历史信息进行抽象聚合,无法应对新型的欺诈模式;其次,传统建模手段针对 id 的样本进行建模,信息损失严重:黑产群体往往数据巨大,互相关联,但从个体角度难以管中窥豹。

技术架构

氪信构建了一套基于金融机构 APP 用户行为数据的营销风险识别解决方案。解决方案分为如下两部分:

  • 用户级别风险识别 —— 构建基于用户和营销活动数据,识别全量客群各类营销风险行为的评分模型
  • 行为级别风险识别 —— 构建基于用户实时行为(如点击/浏览某一页面)流的对抗神经网络欺诈识别模型,实时标注高风险行为

用户级别风险识别.png

基础营销评分模型体系的核心思想是考虑到羊毛党的团伙效应,利用行内多种类型的用户关联属性构建用户之间的关系网络(包括但不限于设备指纹关联,用户属性关联,交易对手关联),然后基于个体用户的行为模式构建个体用户的营销风险特征(包括行为模式,活动参与模式,交易模式,积分领取模式等)。

分析挖掘的基础就是用户关系网络,结点为用户,边为用户之间的关联模式,结点的属性为用户营销场景的高维风险特征。利用图的半监督挖掘和风险传导技术,以历史积累的营销风险用户以及可疑用户作为风险种子,进行风险种子的局部社区挖掘算法,得到风险密集子图;然后在这张风险子图上,利用图卷积(Graph Convolution Network)技术融合个体营销风险特征以及用户关系网络的局部图结构,对未标注的样本进行半监督学习,最终获取每个用户的营销风险评分。

用户级别风险识别模型使用基于大量的 TensorFlow 底层 API,主要用于对非结构化数据进行编码学习、特征抽象。

行为级别风险识别

基于对抗网络 (GAN) 的在线风险评分模型,是泛事件场景(例如 app 行为)的欺诈行为评分预测模型。其逻辑在于,将好坏样本的分类问题转化为一个异常值检测问题;对于业务上大量的未知行为模式的黑样本,静态的模型难以从历史样本上总结并迁移到在线的真实预测上;因此,行为级别风险识别模型将重点在于总结大量的好样本行为模式,通过自编码学习进行对原始数据的压缩表征。

在线上使用时点,行为级别风险识别将融合窗口内一段数据对当前的行为进行特征表达,并利用异常值检测模型对该特征表达进行判断。整个模型的构建基于 TensorFlow 的相关底层 API,灵活针对网络中不同模块进行定制化的 loss 定义;同时,TensorFlow 灵活的计算框架使得我们可以在由异构模型组成的计算模块中进行灵活的异步训练、高效的损失传导。

这个模型预测体系的极大优势就是可以实现早期预警,对于任何用户的每一个行为事件,都可以更新该用户当前行为序列的行为表征用户判别器的欺诈预测,即每个用户的每一个行为事件都可以进行风险评分,在与多边的营销风险行为持续对抗的过程中,实现更早更全面的预警和拦截。

产出阶段,TensorFlow 支持多种不同形式的部署,如导出模型文件利用 TensorFlow serving 进行实时线上部署,或者以 pb 文件的形式封装模型计算服务 docker。

成功案例

  • 某APP营销风险识别

针对某 app 线上营销活动识别静态用户黑产集团和实时羊毛行为,利用 TensorFlow serving 进行跑批/实时部署,实现对羊毛行为进行 session 级别的拦截。在此场景中,离线对黑产集团的识别按天跑批进行网络迭代更新,成功从千万级亿级用户中识别大量线下黑产集团。Session 级别的行为模型在原有的规则上起到了一定量的补充,增加了规则效率,同时又弥补了业务对羊毛行为模式的响应滞后或行为反欺诈规则的局限性。如在该 app 线上活动中,某活动条件为购买三件 app 内产品即可返若干话费券,活动上线后,大量用户出现领券后即进行退货,使得此部分流量并没有为 app 带来流量收益,反而付出不小成本;在模型判别的过程中,发现此部分用户明显在各类 app 内社交属性、静态属性呈现关联性,且行为特征空间与正常用户分离较严重,缺失常态客户的行为特征,使得其中超过 80% 的客户可被模型识别。

总结

本文以营销风险识别为例,介绍了氪信如何使用 TensorFlow 进行方案的离线构建和线上部署。后续,我们将不断探索先进技术、TensorFlow 框架的丰富功能,丰富氪信针对业务场景的人工智能解决方案。

来源:https://mp.weixin.qq.com/s?__biz=MzU1OTMyNDcxMQ==&mid=2247487165&idx=1&sn=308485ac95eef2273ec41f92ca9feaca&scene=19#wechat_redirect

]]>
0 http://www.16084a.com/index.php/fg/694.html#comments http://www.16084a.com/index.php/feed/fg/694.html
【域名知识】中国互联网域名体系 http://www.16084a.com/index.php/New/cnnet.html http://www.16084a.com/index.php/New/cnnet.html Mon, 02 Dec 2019 10:10:00 +0800 16084A 中国国家顶级域名体系
中国互联网域名体系.政务.png

]]>
0 http://www.16084a.com/index.php/New/cnnet.html#comments http://www.16084a.com/index.php/feed/New/cnnet.html
【智能案例】电商智能场景应用 - 网易严选 http://www.16084a.com/index.php/fg/689.html http://www.16084a.com/index.php/fg/689.html Mon, 25 Nov 2019 12:51:00 +0800 16084A 写在前面

网易严选在供应端和销售端利用机器学习技术为品牌电商进行赋能,获得了不错的成绩。TensorFlow 在各个环节中扮演了重要的角色。本篇文章会对技术应用做一个大致的介绍,在接下来的几周内,文中提到的三个主要技术能力,供应链管理、个性化推荐以及客服机器人会有网易严选的技术专家来逐一展开分享。

网易严选是一家与制造业紧密结合的全新的互联网品牌电商,其产业链路包含了商品的研发、生产、供应链、销售、售后服务等整个零售环节,形成了研、产、供、销、服的闭环。通过深度参与供应链,以及依靠网易的互联网优势,网易严选为制造商和消费者服务,让制造商更懂消费者,也让消费者买到性价比更高的商品。

网易严选.jpg

算法团队利用机器学习技术为品牌电商进行 AI 赋能,严选业务主要分为供应端和销售端两大链路,并且可以再分为三个执行阶段。

  • 计划:销售计划、需求计划、补货计划等;
  • 实施:生产、销售、仓配等;
  • 反馈:售后、评论、舆情等。

下面从这三个阶段,分别挑选销量预测、个性化算法和客服机器人三个案例,介绍机器学习和 TensorFlow 在严选的应用。

算法场景.jpg

供应链销量预测

严选是品牌电商,电商的本质还是零售,做零售就需要做好备货和库存优化,因此需要做销售计划、活动计划、需求计划、补货计划、调拨计划等各种计划,销量预测的主要目的正是支撑各种计划的落地,从而达到降库转、防缺货、保体验的最终目的。

供应链销量预测.jpg

过程中我们也遇到了很多困难,整理下来有以下几个:

  • 预测周期长:深度参与生产过程,比一般电商要多预测 2 - 3 个月,甚至更多。
  • 销售场景多:有主站,考拉、天猫、淘宝、京东等大量线上渠道,园区店等线下渠道,企业大客户采购,线下店销售等。
  • 促销波动大:周年庆、6.18、双十一和双十二四个大促,月度常规促销,全年达到上万个小活动。
  • 数据不连续:新品、迭代品、上下架造成很多商品的历史销量比较短。
  • 需求多种粒度:日/周/月,sku/spu/类目,省/仓/渠道。

购物周期.jpg

为了解决以上问题,我们依靠严选产技团队的支撑和业务方的配合做了大量的技术优化。对于预测周期长的问题,我们利用机器学习做训练,尽可能把周期长的粗粒度的活动计划拟合成历史上的细粒度的计划,再进行预测。对于短期的促销活动预测,依靠活动计划后台,运营同学能提前两周做到 SKU 粒度的计划,并把数据同步到预测服务。对于新品和迭代品问题,商品同学会帮助打标有相似目标用户的商品,再进行机器学习。

可以说从数据清洗、特征工程、商品分类、模型训练、评估校验、到数据输出,每一步都针对特定问题做了优化,也演化出多种多样的模型。有基本的销量点估计、销量区间分布预估、事件影响因子预估、季节性趋势预估等不同场景的预测模型。

预测模型.png

这里面有基于业务策略的统计模型,有基于 XGBoost 的树模型,也在探索基于 TensorFlow 的深度模型。其中基于概率模型的销量分布预测(支持不同服务水平的 SKU 采购策略)和季节性预测(支持小数据量下的季节性趋势预估),已经很好服务于线上。并且我们还在尝试用 tensorflow_probability 优化这个概率网络模型。

统计模型.jpg

虽然有这么多的困难,我们的销量预测准确率最近提升到 65% 以上,在国内电商行业处于较高的水平。支撑了严选上万个 SKU 在整个供应链和销售端的半年以上的各种计划任务,处理促销事件数万次,支持不同颗粒度的丰富的预测场景,并且申请了多个技术专利。

销售端个性化算法

个性化算法与用户体验、交易流水密切相关。在严选的搜索、推荐、广告场景都依赖个性化服务提升产品核心指标。具体指标上我们综合考量点击率(CTR)、转化率(CVR)、UV 价值、总体 GMV,这些都是算法需要全局优化的目标。同时综合业务的整体策略,呈现给用户最终的商品浏览效果。比如用户搜索“牛肉”,并点击了一款牛排商品,我们的实时在线 DeepCTR 模型能学到用户的这个行为,并应用在实时重排序模块。当他再搜索类似关键词时,召回的商品里面牛排和相关的牛肉生鲜商品都会在排序上实时往前调整,这仅是针对用户实时行为的个性化方案之一。

销售端个性化算法.gif

在销售端的个性化服务项目中, TensorFlow 也帮我们解决了特征工程、多任务学习、用户实时偏好感知等很多问题。

第一个问题是如何提升算法迭代效率,更确切的说是特征工程的提速。传统机器学习比如 LR 需要做大量的特征工程工作,这需要算法人员熟悉领域知识,并持续投入,因此人效 ROI 持续降低。我们的方法是用机器算力换人力,用深度学习做低成本的 Wide & Deep 特征学习。

主体思路是 Embedding & MLP,依靠 TensorFlow 提供基础的 WDL 模型,对 DeepPart 做定制优化:模型对商品 Id,类目 Id,属性 Id 实现 Embedding。不直接对用户 Id 做 Embedding,基于用户和商品的行为序列表征用户,引入注意力模块计算用户向量。WidePart 会挑选覆盖率高的标签 or 属性做两两交叉构建特征。DeepPart 依靠深度网络实现特征组合,主要传入的是 Id 特征;WidePart 依靠先验知识构建特征输入,主要是类目特征。存在数量较少的连续特征在 Deep 和 Wide(需先分桶)都有传入。

第二个问题是如何兼顾点击率和转化率等多指标提升,我们引入多任务学习完成多目标训练。定制的 WDL 是我们的基础模型,在此之上加入 CTR、CVR 的多任务学习,共享 Embedding 层权重,构建 CTCVR LOSS,实现曝光阶段的 CVR 预估。

CVR 预估.jpg

第三个问题是如何以较低成本的实时感知用户偏好,我们采用 Online Deep Learning 的近似解决方案。提取用户 Session 内的商品交互序列作为数据基础,以 Sequence Embedding 的思路计算商品向量表征(具体计算方式比较复杂,有去除负采样、融合 side info等等)。当用户访问严选时,基于用户和商品的交互可以计算用户实时的兴趣向量。实际使用过程中,我们会对每个用户维护多份分类目的兴趣向量,在不同的场景按需使用(如在搜索推荐,会基于当前的上下文信息激活用户某些实时的类目向量)。最终的个性化排序使用用户实时向量重排,达到类似实时模型的效果。

实时模型.jpg

客服机器人

在电商场景下,随着用户的浏览、购买行为,会在售前及售后过程中提出各种问题,智能客服是辅助人工客服解答用户问题的智能对话系统。

  • 客服场景体验:

客服场景.mp4

电商领域的业务点繁杂,用户的输入具备口语化、多样化的特性。如何根据用户的会话及行为准确的识别出用户意图,并分发到对应的会话模块,是我们首要要关注的问题。在各个子对话模块中,需要从用户的会话中解析出关键的细粒度语义信息,并与现有的商品、业务知识库进行知识的匹配,最终生成能够解决用户问题的回复。

解决用户问题.png

伴随着用户输入的文本,我们基于当前输入、上下文语境以及用户的历史行为,利用 TensorFlow 构建了多层级意图识别模型,并将用户的问题分发到对应的问答子模块中,进行语义解析和回复生成。

在商品知识问答、导购模块中,我们基于 TensorFlow 构建了电商领域的命名实体识别模型,识别用户问句中的商品名、商品属性名、商品属性值等关键的商品信息,并基于知识图谱问答技术生成最终的答案。

技术生成.png

在业务问答 FAQ 模块中, 我们在严选的业务知识库中进行检索,并基于 TensorFlow 构建了文本匹配及文本相似模型,对召回的候选答案进行重排,进一步提升了问答匹配精度。除此之外,为了彰显智能客服的人性化,我们还构建了日常语聊模块,通过 TensorFlow 搭建 transformer 结构,形成生成式模型,采用 end-to-end 的方式生成用户的回复。

得益于 BERT 等语言模型开源的 TensorFlow 版本的模型,在实际业务中,我们仅利用少量的标注样本,即可高效的搭建高准确率的各类文本模型,利用 GPU 加速计算满足线上 QPS 的要求,并基于 TensorFlow Serving快速部署上线。正是因为有 TensorFlow 提供的一系列支持,我们才能稳健高效的进行线上业务的部署与迭代。

部署与迭代.png

总结与展望

2016 年以前我们以传统机器学习为主,到 17 年部分项目使用深度学习,再到 18 年借着 TensorFlow 社区和生态的快速发展,严选算法业务全面拥抱深度学习。

TensorFlow 的应用场景已经深入到供应、销售、售后服务等环节,并向商品上游的研发和生产环节部分工作渗透。希望 TensorFlow 的社区和生态发展越来越好,让更多的专业的和非专业的从业人员能通过机器学习改变世界。

来源:https://mp.weixin.qq.com/s/_bQUNVM4X_FClRqU2G0KVQ

]]>
0 http://www.16084a.com/index.php/fg/689.html#comments http://www.16084a.com/index.php/feed/fg/689.html