写在前面的话

本文将基于决赛答辩PPT中的内容,给出此次比赛的完整方案,主要从特征设计理念、建模核心思路、算法核心思想等角度阐述,同时对相关细节进行了适当的拓展讲解。涉及Attention、Capsule、Bi-GRU和BERT等算法及相关概念。

1、赛题背景

京东每天有数千万商品变动,其中有部分商品内容违法广告法、京东相关规范,比如虚假宣传。本届赛题“绝对语义识别”旨在识别京东平台商品页面中出现的违法广告法、京东规定规范等相关要求的用语或内容。

语义识别是自然语言处理(NLP)技术的重要组成部分之一,其应用场景广泛、市场潜力和经济价值巨大,为当下炙手可热的领域。京东作为中国最大的自营式电商,每天有数千万商品变动,其中有部分商品的宣传内容违法广告法、京东相关规范规定等,比如虚假宣传、绝对语宣传。

语义识别的核心除了理解文本词汇的含义,还要理解这个词语在语句、篇章等具体语境中所代表的意思,通过赛题“绝对语义识别”将减少商品宣传中用语错误,将合适的广告内容推送给消费者,促成广告效益最大化。

注意:绝对语和语境词的区分,其中语境词是指表达个人情感、意愿的词语。

例如1:“每一次选择都是对生活最好的期待”表达的是个人感情,广告宣传语不违规;

例如2:“本车贴使用了最好的反光材料”指向的是自己销售的商品,广告宣传语违规。

比赛地址链接:http://jdata.inner.jd.com/html/detail.html?id=10

2、赛题理解

2.1 赛题数据

训练数据为8万句广告宣传语,其中约3.5万句为违反广告法的使用绝对化用语(label=1),约4.5万句不违反(label=0)

2.2 赛题目标

预测广告宣传语是否违规。

2.3 评价指标

本赛题采用F-SCORE值进行衡量:

其中:Precision为准确率,Recall为召回率, β=1;

3、算法核心设计思想

3.1 算法架构设计

特征工程设计理念

基于传统机器学习的词频方式提取词组的上下文特征,作为对“绝对语”的特征表达;

同时,基于深度学习方法的词向量特征,捕捉“语境词”的特征表达,并利用字级别和词级别两种方式对词向量表达的完整性进行相互补充构建;

引入语境词向量的BERT编码方式,进一步捕捉文本的真实表达;

特征工程实现方法

词频方式

TF-IDF :同过词频方式,提取词组的上下文特征;

词的向量方式

考虑字级别和词级别两种方法同时使用Word2Vec 和GloVe两种方法。

将所有词组成一个词表,得到word2index字典和index2word字典;

将词映射为index,并且进行padding,然后通过词对应的index对词向量矩阵进行Lookup,得到当前文本对应的word2vec;

语境词向量方式

利用BERT-Base, Chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters 中文预训练词向量。

算法核心设计理念

基于词频TF-IDF特征使用传统的LR、LightGBM和Xgboost模型,利用Ngram上下文特征进行广告宣传语的违规预测,构建“绝对语体系”模型;

基于词向量方式,构建TextNN网络,同时利用BiGRU等序列模型构建“横向序列体系”和利用Capsule构建“空间向量体系”,由两个维度丰富模型对绝对语境的捕捉能力。

3.2 Attention机制

当序列越长时,RNN在捕捉序列长期依赖关系时就显得越弱。而从分析attention函数我们可以发现,Attention是将进行序列的每一个元素与其他元素的对比,在这个过程中每一个元素间的距离都是1。因此,我们在BI-GRU和Bi-LSTM模型中引入attention机制,去灵活的捕捉全局和局部的联系。

3.3 Capsule TextNN

Capsule是通过向量的方式来建模,它利用向量输出代替标量输出,捕捉空间结构信息,最初由深度学习之父hinton提出应用在图像领域。由于NLP是通过词的向量的方式构建的,所以Capsule方式在NLP领域有着得天独厚的优势,在这个比赛中,我们将Capsule方式由图像领域迁移到了NLP领域,并进行了应用与实践。因为Capsule本质上是一种并行注意力模型,能把信息提取的注意力集中到下一层更加活跃的Capsule,同时忽略掉那些不活跃的。所以,我们将RNN的输出作为low-level Capsule,同时通过动态路由的方式构建高层语义表征得到high-level Capsule,得到的空间特征作为后续Dense层的输入。

比赛中使用的Capsule TextNN参考自何从庆同学的Capsule TextModels,不同点在于对原有模型根据赛题需要做了一些简化,完整版可以参考https://github.com/hecongqing/2018-daguan-competition。

3.4 优化器改进

为了避免L2的作用受到优化器和learning rate的影响,重写了Keras的Adam函数,将L2加到优化器作用之后,使其与learning rate完全脱钩,避免Adam的自适应归一化和alpha抵消了L2带来的weight decay的作用。同时,将第1个epoch使用warmup,第2个epoch将学习率降到最低。

3.5 BERT

BERT作为横扫NLP各项任务的一个大杀器,在本次比赛中我也做了相应的应用。

BERT与最近的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,用12层Transformer捕捉全局语义信息,通过next perdiction 预测下句话,可以构建上下文的语境词向量。预训练的BERT表示可以通过一个额外的输出层进行微调,适用于广泛任务的最先进模型的构建。

在此次比赛中,我使用了最大池化作为12层Transformer后的输出层,意在通过提取最具模型表达的特征进行广告宣传语的违规预测。

在此次比赛的决赛答辩中,有些选手提出BERT模型在使用时,不如Bi-LSTM效果好,其原因大概有两种,一是BERT模型的使用在训练过程中未收敛;而是直接套用原始模型,而针对该实际问题进行相应的优化和参数调整。

4、结果分析

通过对“算法核心设计思想”的介绍可能让你对模型内部到底是怎么运作的有个大概理解,但深度学习模型的难解释性和抽象性仍会让人在实际场景中无法具象表达,因此将模型权重具象到词上,并做可视化输出后我们发现,模型对“绝对语”的判断与识别具有良好的效果。同时,如图中红绿不同程度的颜色表示,我们可以发现在不同语序下“语境词”的表达强弱也各有差别。

例如,第一个广告宣传语描述中的“独有”一词,从“绝对语”角度就可判断违规;而第二个广告宣传语描述中,“优质”、“更佳”、“品质”在其所在语境中并没有体现出虚假宣传和绝对语宣传等违规方式。

5、比赛经验总结

本次比赛中,使用的多模型融合方式相对简单,并没有使用Stacking、Blend等方式进行融合,而是只采用了投票形式。

除了以上介绍的算法模型优化带来的效果提升以外,还需要补充的一种有效的方式为数据增广(DataAugment),但由于在阶段B由于时间原因未使用该方法,因此上述表述中未作介绍。

6、有趣的发现

此次比赛中,我还发现了一些有趣的点,在这里分享一下。

一是此次比赛AB两个阶段,我的解决方案是完全不同,A阶段线上第二名的分数来自BERT+LR模型的,在原有BERT模型的基础上,利用BERT模型(语境词层面)和LR(绝对语层面)进行特征补充,完成对绝对语义的理解识别。

二是在数据增广的前提下,只利用TF-IDF+LR(绝对语层面)就能达到前3名的成绩。

写在最后的话

入职一年半,还参加的算法比赛的目的其实简单,就是为了让自己保持一个良好的竞技状态和学习状态。同时,每次比赛又是一个不断审视、总结自己的过程。无论是结构化数据、自然语言处理领域还是图像领域,欢迎志同道合的小伙伴一起分享探讨,共同进步。

参考论文

[1] Devlin J , Chang M W , Lee K , et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.

[2] Loshchilov I , Hutter F . Fixing Weight Decay Regularization in Adam[J]. 2017.

[3] Raffel C, Ellis D P W. Feed-forward networks with attention can solve some long-term memory problems[J]. arXiv preprint, 2015.

[4] Zhao, W. , Ye, J. , Yang, M. , Lei, Z. , Zhang, S. , & Zhao, Z. . (2018). Investigating capsule networks with dynamic routing for text classification.

[5] Congqing He, Li Peng, Yuquan Le, Jiawei He, and Xiangyu

Zhu. 2019. Secaps: A sequence enhanced capsule model for charge prediction. In International Conference on Artificial Neural Networks.

Springer.

JDATA绝对语义识别挑战大赛-季军方案相关推荐

  1. 一种基于语音识别的机器人语义识别系统的制作方法

    本发明涉及机器人语义识别,尤其涉及一种基于语音识别的机器人语义识别系统. 背景技术: 目前,很多家庭都拥有机器人,但是很多时候机器人并不能准确识别用户对其发出的指示,使用户操作机器人不方便,这样的机器 ...

  2. AI比赛-NER:“万创杯”中医药天池大数据竞赛——中药说明书实体识别挑战

    大赛概况 疫情催化下,人工智能正在持续助力中医药传承创新加速发展,其中中医用药知识体系沉淀挖掘是一个基础工作.通过挖掘中药说明书构建中药合理用药的知识图谱,将为中医规范诊疗奠定较好基础.挑战旨在通过抽 ...

  3. 【Paddle打比赛】AIWIN手写字体OCR识别竞赛任务一优化方案

    世界人工智能创新大赛AIWIN手写字体OCR识别竞赛任务一优化方案 一.竞赛介绍 2021世界人工智能创新大赛(AIWIN),由世界人工智能大会组委会主办,AI SPACE承办,是全球范围内初具影响力 ...

  4. CVPR 2022 | 腾讯优图实验室30篇论文入选,含场景文本语义识别、3D人脸重建、目标检测、视频场景分割和视频插帧等领域...

    关注公众号,发现CV技术之美 本文转载自腾讯优图 近日,CVPR 2022官方公布了接收论文列表(CVPR 2022 接收论文公布! 总计2067篇!),来自腾讯优图实验室共计30篇论文被CVPR收录 ...

  5. 从语音识别到语义识别,中间还有多长的路要走?-模拟/电源-与非网

    最近科技圈刮起一股收购风,前面博通收购高通还在如火如荼的进行,这周苹果就宣布收购音乐识别软件 Shazam.Shazam 这个软件,通过手机麦克风收录音频片段,能够识别音乐.电影.电视节目甚至是广告. ...

  6. 同盾科技声纹识别建模大赛

    赛事简介 本次"同盾科技声纹识别建模大赛"立足于选拔出色AI人才,致力于打造"智能风控",为高潜力人才与高增长行业建立起精准对接的桥梁.此次同盾联合科赛.希尔贝 ...

  7. 漫话中文自动分词和语义识别:中文分词算法

    原文链接: http://www.matrix67.com/blog/archives/4212 漫话中文自动分词和语义识别(下):句法结构和语义结构 | Matrix67: The Aha Mome ...

  8. Matrix67: My Blog » Blog Archive » 漫话中文自动分词和语义识别(下):句法结构和语义结构...

    Matrix67: My Blog » Blog Archive » 漫话中文自动分词和语义识别(下):句法结构和语义结构 Matrix67: My Blog » Blog Archive » 漫话中 ...

  9. 同盾“声纹识别建模大赛”首榜揭晓,成绩已达工业级一流水平!

    近期,由同盾科技主办,同盾大学.科赛网承办的"声纹识别建模大赛"自8月1日正式启动初赛以来,在高校以及社会各界得到热烈关注,目前大赛已经取得了阶段性成果.截止到当前,已有320多人 ...

最新文章

  1. 查询ms sql 2005版本号
  2. java用jdbc来rollback,jdbc rollback,该怎么解决
  3. 洛谷P1402 酒店之王(二分图)
  4. options模块介绍
  5. 初识MQ--mq常见技术介绍
  6. SpringBoot异常处理-@ExceptionHandler
  7. jsp页面路径问题(404)
  8. tomcat 优化_浅谈Tomcat服务器优化方法
  9. hdu4521 小明系列的问题——小明序列(LIS变种 (段树+单点更新解决方案))
  10. LeetCode-----二维数组中的查找
  11. 数据库大并发操作要考虑死锁和锁的性能问题
  12. 【Coursera公开课】职场素养 笔记
  13. Docker升级Wekan
  14. CNN结构:色温-冷暖色的定义和领域区分(一)
  15. 三级分销系统产品设计原理
  16. OpenSSL自建CA和颁发SSL证书
  17. 疑似集体出走,支付宝蚂蚁庄园小鸡不见了
  18. matlab如何求传递函数的幅值_MATLAB通过传递函数求截止频率
  19. 计算机系统(一)期末复(yu)习(3):LC-3汇编,输入与输出
  20. python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)...

热门文章

  1. windows 连接Linux
  2. Git 初始化及仓库创建及操作
  3. Linux环境下安装PHP的memced扩展
  4. JQuery的$和其它JS发生冲突的快速解决方法
  5. ORB-SLAM(四)追踪
  6. [转]Android 代码自动提示功能
  7. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程
  8. 如何让VS根据编译环境选择相应的配置文件
  9. IHttpHandler 介绍演示(from 张子阳)
  10. mysql 磁盘组_AIX使用LV创建ASM磁盘组