实现自动推送
Posted 飞桨PaddlePaddle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现自动推送相关的知识,希望对你有一定的参考价值。
项目说明
业务背景
作为汽车资讯的应用网站,在汽车业务、汽车采购、汽车车友组织等方面有多年的垂类资讯行业积累,目前遇到的业务问题是,每天需要对百万量级的汽车资讯类内容进行快速发布,这些内容有来自于用户UGC的生产内容,有来自于平台、自运营频道打造的专项精品内容,也有来自于网络上针对定向网站定时抓取的内容。为保证资讯实时性,以上内容入库后需要根据标题快速推送到不同的专栏下。
业务难点
当前,对标题分类主要依靠人工,人力成本高、效率低,如何构建AI模型,实现标题与专栏的自动匹配迫在眉睫。作为一个汽车资讯网站,常见的专栏包括汽车改装、自驾游记、新车评测、买车中心。面对需要识别的标题,市场上并没有一个通用的文本分类解决方案能满足,因为业务场景过于长尾,即只聚焦于汽车,及基于自身发展而衍生而来的专栏名称,需要针对汽车场景定制化训练。
解决思路
企业前期尝试通过组建AI算法团队满足业务需求,但评估下来,发现投入成本非常高。组建团队、购置机器资源,匹配运维人员,综合成本需要达到百万级。企业使用EasyDL-文本分类(单标签)任务(如下图),仅用3周、仅需要一位业务人员利用业余时间就完成了从零到一汽车文章标题自动分类的模型构建,并实际集成到业务产线中应用。
提示:因为每篇文章需推送到一个专栏而非多个,因此,文章标题与专栏是一一对应关系,即每篇文章仅打上一个专栏的标签即可,所以,选择文本分类(单标签任务)。
数据准备
第一步,明确需要发布的专栏名称。在该汽车资讯网站中,专栏包括汽车改装、新车测评、自驾游记、买车中心。 第二步,针对各个专栏名称,收集该专栏下的常见推文标题,一个专栏下收集30-50个标题名称。例如,自驾游记专栏对应的标题:二月最后一个周末带我的Q7京西游,汽车改装专栏对应的标题:自己动手改房车大功告成。 第三步,形成可上传到EasyDL进行训练的数据,您可以导入原始数据后使用EasyDL的标注工具完成标注,这里的原始数据要求为:Excel/txt的单列数据(如下图):
点击【导入】选择【未标注】数据完成后,点击【标注】通过平台内置的文本分类标注完成快速标注,标签即为专栏名称,一个标题打上一个标签即可,如下图:
也可以先将训练数据处理好后再上传到EasyDL。如果您是将训的训练数据,上传后即可发起训练,如下图:
提示:如果您上传原始数据,也可通过平台内置的标注工具进行快速标注,如下图:
在标注量较大的情况下,您可以开启上图右上角的智能标注功能,您只需要标注30%的文本,剩余的70%文本平台为自动打上标签,提高您的标注效率。
模型训练
当您的数据准备完成后,您可以点击先点击【创建模型】完成模型创建后,点击【训练模型】启动训练。 考虑到资讯场景下的常见应用情况,最常见的集成方式是在企业的APP或者网站上集成在线API,该种方式对企业来说,仅需要将在线接口http接口结合授权的ak、sk输入到自己的业务程序中即可运行,同时,可以借助公有云灵活的弹性扩缩容机机制,根据实际调用量调整接口调用份额,减少模型调用费用,如下图:
选择算法时,在对时延没有特殊要求的情况下,建议您可以使用高精度算法进行训练,优势是可以使用较少的数据集也能获得高精度效果。 在选择筛选指标时,如没有特殊要求,也可以默认选择精度和召回平衡的策略,使用平台默认值即可。 为测试平台模型效果,您可以选择开启自定义测试集,即测试集为不同于训练集的数据,您可以在该数据集下看模型效果,如不开启,则平台会自动将训练数据中抽出部分数据作为测试集展示模型效果。
模型部署
模型训练完毕后,如您对模型效果满意,可以选择公有云部署,在接口地址中输入自定义名称,如下图:
完成申请提交后,点击在线服务,即通过审核的该条服务会展示在您的在线服务列表中,您可以点击服务详情,获取http地址,为保证您接口调用时的安全性、保密性,请您按照操作指引,前往控制台完成应用创建,即可获取对应的接口AK、SK,保证调用授权,如下图:
效果优化
当模型训练完毕后,可通过模型评估报告查看效果,从报告中四个标签的训练精度表现看,新车评测、买车中心的准确率较低,如下图:
追溯原因,在前期数据准备时,该两个标签的数据量过少。例如,下图中买车中心仅有15条数据,所以,需要对该标签下的数据进行补充,同时,在买车中心下,发现标题有两种不同的风格,每个风格的数据仅有10条也会影响训练精度,因此,扣充的粒度是买车中心标签下每个风格标题的数据量进行扩充,至少保证30-50条。
常见问题
问题1:为什么选择文本分类-单标签任务?
在该场景的业务逻辑下每个标题仅对应一个专栏,也就是一篇文章只需要绑定推送到一个专栏,因此选择单标签,如有需求,需要对一篇文章推送到多个关联专栏,即需要对一个标题标注上两个专栏名称则选择文本分类-多标签任务。
问题2:收集数据的时候,一个专栏下标题风格不同该如何处理?
例如,买车中心专栏下,既有【轩逸最高优惠1.4万】也有【丰田缩小版汉兰达上线,不足十万打在CVT+四轮驱动,油耗仅4L】,针对这种情况,在收集数据时需要将各种不同风格的数据标题都收集到并保证数量。
问题3:作为资讯网站,调用量大并发量大,有优惠政策吗?
接口按照调用量付费,实现阶梯定价,调用量越高单价越低。同时,提供调用点数包(九折)、QPS叠加包(针对临时性的高并发要求),详情参照:https://ai.baidu.com/ai-doc/EASYDL/Eklt45b4o。
以上是关于实现自动推送的主要内容,如果未能解决你的问题,请参考以下文章