写在前面的话

大家好,我是炼丹笔记的小编,作为一名炼丹侠,这次为大家带来的分享是我们在2020 ICDM Knowledge Graph Contest中的获奖方案和在ICDM2020 Workshop中的内容。本文基于BERT做了Finetune,引入了一种全新的视角来重新审视关系行为原因提取任务,并提出了一种新的序列标记框架,而不是单独提取行为类型和行为原因。

赛题背景

在内容广告、社会化聆听等许多业务场景中,提取消费者一些行为的背后原因是关注的焦点。以内容广告为例,如今的广告主并不满足于品牌或产品的直接曝光,他们更喜欢通过产品功能嵌入内容,潜移默化地激发消费者主动将自己的品牌或产品与任意的消费行为联系起来。为此,明确地提取消费者行为发生的原因成为构建这样一个满足广告商需求的系统的重要技术。
在NLP相关竞赛中,提取行为原因是具有预定义模式的,这些原因通常被表示为一个词或一个结构化元组。此外,这些比赛旨在提取预定义事件类型的所有事件。与以往的比赛相比,2020 ICDM Knowledge Graph Contest : Specification 评测竞赛有以下新颖之处:

  1. 竞赛目标是提取具有特定主题(品牌或产品)的事件。
  2. 提取事件的原因表示为连续标记(一个范围)或多个非连续标记(多个范围)

赛题数据

由行业解决方案专家挑选500篇Instagram文章,以确保语言的正式性、多样性和对实际应用程序的知识深度。在本次比赛中,我们关注五种事件类型:消费者关注、消费者兴趣、消费者需求、消费者购买和消费者使用。这500篇文章将被贴上标签,作为训练集。将有一个单独的在线测试集。数据示例如下:

评测方法

采用F1评测。

Workshop获奖方案Top3

方案摘要:

消费者行为原因提取是一项旨在从文本中提取特定行为背后潜在原因的任务,由于其广泛的应用,近年来受到了广泛的关注。ICDM 2020大会设立了一个评估竞赛,旨在提取特定主题(品牌或产品)的行为及其原因。在本课题中,我们主要研究如何构建一个端到端的模型,同时提取多个行为类型和行为原因。为此,我们引入了一种全新的视角来重新审视关系行为原因提取任务,并提出了一种新的序列标记框架,而不是单独提取行为类型和行为原因。实验表明,我们的框架优于基线方法,即使它的编码模块使用一个初始化的预训练的BERT编码器,显示了新的标签框架的力量。在这次比赛中,我们队获得了第一阶段排行榜的第一名。

方案简介

ICDM2020知识图表竞赛是一项与领先的ICDM会议共同举办的竞赛式活动。本文描述了我们在消费者行为原因提取任务中的解决方案,并在第一阶段排行榜中获得第一名。消费者行为的原因提取[1],[10]是许多业务场景(如内容广告、社交监听等)关注的焦点。以内容广告为例。如今的广告主并不满足于品牌或产品的直接曝光,他们更喜欢通过产品功能嵌入内容,潜移默化地激发消费者主动将自己的品牌或产品与任意的消费行为联系起来。

为此,明确地提取消费者行为的原因成为构建这样一个满足广告商需求的系统的重要技术。消费者行为原因提取(CECE)任务旨在从给定品牌或产品的文本中提取消费者行为和行为原因。传统的方法使用类似于抽取机器阅读理解(MRC)的模型结构[7]。大多数相关工作[6]都是分别提取行为类型和行为原因,没有考虑它们之间的依赖关系。在本次竞赛中,我们引入了一种全新的视角来重新审视关系行为原因提取任务,并提出了一种新的序列标记框架,而不是单独提取行为类型和行为原因。实验表明,即使编码模块使用随机初始化的BERT[2]编码器,我们的框架仍优于基线方法,显示了新标记框架的强大功能

1 数据层面

为了保证数据的高质量性,我们移除了文本中的ID。例如:“68771,Love doing makeup on all ages”处理成“"Love doing makeup on all ages”。

2 模型层面

为了以端到端的方式提取消费者行为原因,我们的模型主要由两部分组成:BERT编码器和序列标签解码器。

1) BERT Encoder:

首先,我们将文本Text和标签brand/produt转换成[CLS] Brand/Product [SEP] Text [SEP] 的形式,作为模型的输入{x1,x2,...xn}。

然后,我们使用预训练的BERT模型[2]对内容信息进行编码。编码模块从xj语句中提取特征信息zj,并将其输入到后续的标记模块中。这里,我们简要回顾了基于多层双向变换器的语言表示模型BERT。它的目的是通过共同调节每个单词的左右语境来学习深层表征,

最近,它在许多下游任务中被证明是非常有效的[3]。具体地说,它由N个相同的Transformer blocks组成。我们将Transformer blocks表示为Trans(x),其中x代表输入向量。具体操作如下:

上式中,S为输入句中子词索引的一个one-hot向量矩阵,Ws为子词嵌入矩阵,Wp为位置嵌入矩阵,其中p表示输入序列中的位置索引,hl为隐藏状态向量,即第L层输入句的上下文表示,N为变换器个数方块。注意在我们的工作中,输入是一个单一的文本句子,而不是句子对,因此Eq中没有考虑原始BERT论文中描述的分段嵌入。关于Transformer的结构请参考论文[4]。

2)Sequence Tagging Decoder

在2020年的ICDM竞赛中,该任务增加了对多种行为类型的判断,这很难用阅读理解框架来解决。竞赛的目标是为每个文本text和 brand/product提取多种行为类型和行为原因。为此,我们提出了一种序列标记解码器,可以同时提取多个行为类型和行为原因。
首先,我们为成对的输入句子构造标记,每个标记都有一个标记符,如下所示:

Love doing makeup on all ages,
B_{consumer interest}
I_{consumer interest} ...

用这种方式,我们就可以使用softmax函数独立地对每个标签进行解码,得到所有可能的行为类型和行为原因对的集合。

在序列标注任务的启发下,考虑邻域中标签之间的相关性,并联合解码给定输入句子的最佳标签链是有益的。

因此,我们使用一个条件随机场(CRF)[5]联合建模标签序列,而不是单独解码每个标签。

形式上,我们使用z={z1,z2,····,zn}来表示一个通用的输入序列,其中zi是第i个单词的输入向量。y={y1,y2,·····,yn}表示z的一个通用标签序列。y(z)表示z的一组可能的标签序列。序列CRF的概率模型定义了一系列条件概率p(y | z;W,b)在给定z的所有可能的标签序列y上,其形式如下:

对于CRF训练,我们使用最大条件似然估计。对于训练集{zi,yi},似然的对数(即对数似然)由以下公式给出:

最大似然训练选择参数,使对数似然L(W,b)最大化。解码是以最大的条件概率搜索标签序列y*。

对于序列CRF模型(只考虑两个连续标签之间的相互作用),采用Viterbi[11]算法可以有效地解决训练和解码问题。

3. 模型集成

在模型集成[9]阶段,我们采用了一种简单有效的方法,得到了1.30%的提升(如图2所示)。我们采用了两步走的方法来得到最终的结果。首先确定文本边界交叉验证结果的串行化,预测结果的字符位置为1,其余为0。然后我们将所有的CV结果叠加到相应的位置,并通过阈值将小于N的位置更改为0。

4. 模型效果

WorkShop其他获奖方案

在这次竞赛中,来日本的选手使用GAN的做法完成了本次任务,整体思路为是通过GAN的生成方式增加训练样本,同时对GAN生成的数据标注为Fake,然后将GAN的生成和BERT层一起送入Bi-LSTM层后在原有Attention,Intention,Need ,Purchase,Use的基础上,增加Fake标签进行预测。

参考文献

[1] Marco Rospocher, et al. ”Building event-centric knowledge graphs from news.” Journal of Web Semantics, Volumes 37–38, 2016, pp. 132-151.

[2] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding[J]. arXiv preprint arXiv:1810.04805, 2018.

[3] Lee J, Yoon W, Kim S, et al. BioBERT: a pre-trained biomedical language representation model for biomedical text mining[J]. Bioinformatics, 2020, 36(4): 1234-1240.

[4] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008.

[5] Ma X, Hovy E. End-to-end sequence labeling via bi-directional lstmcnns-crf[J]. arXiv preprint arXiv:1603.01354, 2016.

[6] Xia R, Ding Z. Emotion-cause pair extraction: a new task to emotion analysis in texts[J]. arXiv preprint arXiv:1906.01267, 2019.

[7] Li X, Feng J, Meng Y, et al. A unified mrc framework for named entity recognition[J]. arXiv preprint arXiv:1910.11476, 2019.

[8] Huang Z, Xu W, Yu K. Bidirectional LSTM-CRF models for sequence tagging[J]. arXiv preprint arXiv:1508.01991, 2015.

[9] Dietterich T G. Ensemble methods in machine learning[C]//International workshop on multiple classifier systems. Springer, Berlin, Heidelberg, 2000: 1-15.

[10] Gooding R Z, Kinicki A J. Interpreting event causes: The complementary role of categorization and attribution processes[J]. Journal of Management Studies, 1995, 32(1): 1-22.

[11] Viterbi A J. A personal history of the Viterbi algorithm[J]. IEEE Signal Processing Magazine, 2006, 23(4): 120-142.


ICDM 2020 TOP3方案相关推荐

  1. 数据算法竞赛:ICDM 2020 TOP3方案

    写在前面的话 大家好,我是炼丹笔记的小编,作为一名炼丹侠,这次为大家带来的分享是我们在2020 ICDM Knowledge Graph Contest中的获奖方案和在ICDM2020 Worksho ...

  2. 论文浅尝 - SIAM ICDM 2020 | 基于图时空网络的知识引导的诊断预测

    论文笔记整理:吴锐,东南大学硕士. 来源:SIAM ICDM 2020 论文下载地址: https://epubs.siam.org/doi/abs/10.1137/1.9781611976236.3 ...

  3. 如何做好系统测试工作?2020系统测试方案模板范例

    在软件测试分类中,系统测试相较于功能测试性能测试压力测试等部分测试工作,对软件测试环境.软硬件设备等要求更高.顾名思义,系统测试就是在软件产品开发完成以后,把软件或者应用程序首次做为一个整体进行测试. ...

  4. ICDM 2020 Workshop on Neural Recommender Systems

    ICDM 2020 关于推荐系统的研讨会(Workshop)征稿 "推荐系统中的神经网络算法及理论"的国际研讨会将于2020年11月17日在意大利索伦托(暂定)与数据挖掘国际会议I ...

  5. 含噪数据的有效训练,谷歌地标图像检索竞赛2020冠军方案解读

    2020年谷歌地标图像检索竞赛(Google Landmark Retrieval 2020)是今年举行的大型图像检索算法竞赛,该比赛在Kaggle 竞赛平台进行,吸引了全球541支团队参赛,最终来自 ...

  6. ST意法半导体2020新方案:低功耗+人机交互+无线

    ST意法半导体在2020年慕尼黑上海电子展发布的低功耗+人机交互+无线最新方案 详情:https://www.icxbk.com/download/detail/48879.html

  7. 工业缺陷检测比赛Top3方案

    Datawhale干货 方向:深度学习,应用:工业缺陷检测 工业缺陷检测是当前深度学习落地的热门项目,近年来许多的比赛平台都举办了关于缺陷检测的比赛,如kaggle前不久举办的钢铁缺陷检测,以及天池刚 ...

  8. 科大讯飞CTR预估挑战赛Top3方案总结

    ‍ ‍前一阵子,老肥参加了科大讯飞AI开发者大赛的部分比赛,主要包括结构化.音频.文本以及图像这四大类型,总体来看都是较为简单的任务并且解题方案也较为简单,后续会跟大家一一分享. 今天要分享的是结构化 ...

  9. 医疗中文问句意图匹配Top3方案ppt

    向AI转型的程序员都关注了这个号

最新文章

  1. ros-kinetic install error: sudo rosdep init ImportError: No module named 'rosdep2'
  2. Go -- 一致性哈希算法
  3. html5时间轴列表,HTML5 时间轴/日程安排表模板
  4. windows 3.x编程指南_18000 MHz 可编程衰减器
  5. QT中显示gif图片方法
  6. php保存rar,php 解压rar文件
  7. IDEA Maven 聚合项目(多模块)搭建--最精简
  8. Linux命令简介之xargs
  9. c++反汇编代码分析--偷调函数
  10. 内核kconfig语法及原理
  11. C语言实现校运动会项目管理系统
  12. 关于电力系统标准规约的一些理解
  13. CCCC选拔赛赛后总结
  14. jquery——淡入淡出(fadein与fadeout)
  15. app上架苹果市场流程
  16. Node-RED使用指南:5:设置管理员的登录密码
  17. python列表(list)
  18. php 按汉字拼音排序,php 数组按中文拼音排序
  19. IP网络主动测评系统——X-Vision
  20. 《计算机软件基础》实验一

热门文章

  1. python raise 引起的异常
  2. ANE的开发需求一般太少,这个静态库如何包含第三方
  3. Python thread
  4. 通过java查询数据库表结构
  5. python中零碎的一点东西
  6. New beginning
  7. clickhouse物化视图优缺点_ClickHouse 适用场景
  8. 基于ssm的水果商城系统项目总结
  9. static关键字的使用
  10. java swt 保存文件夹_采用SWT实现系统文件夹的树形结构显示