写在前面的话

本文将基于在中国计算机大会方案宣讲PPT中的内容,给出此次比赛的完整方案,主要从赛题理解、建模核心思路、算法核心思想等角度阐述,同时对相关细节进行了适当的拓展讲解。涉及SIF Sentence EmbeddingInferSentBi-LSTMBERT等算法及相关概念。

1.1 任务背景

科学研究已经成为现代社会创新的主要动力。大量科研数据的积累也让我们可以理解和预测科研发展,并能用来指导未来的研究。论文是人类最前沿知识的媒介,因此如果可以理解论文中的数据,可以极大地扩充计算机理解知识的能力和范围。

在论文中,作者经常会引用其他论文,并对被引论文做出对应描述。如果我们可以自动地理解、识别描述对应的被引论文,不仅可以加深对科研脉络的理解,还能在科研知识图谱、科研自动问答系统和自动摘要系统等领域有所进步。

1.2 任务描述

本次比赛将提供一个论文库(约含20万篇论文),同时提供对论文的描述段落,来自论文中对同类研究的介绍。参赛选手需要为描述段落匹配三篇最相关的论文。

例子:

描述段落:

An efficient implementation based on BERT [1] and graph neural network (GNN) [2] is introduced.

相关论文:

[1] BERT: Pre-training of deep bidirectional transformers for language understanding.

[2] Relational inductive biases, deep learning, and graph networks.

1.3 评测方案

准确率(Precision): 提交结果的准确性通过 Mean Average Precision @ 3 (MAP@3) 打分,具体公式如下:

其中,|U|是需要预测的press_id总个数,P(k)是在k处的精度,n是paper个数。

2 题意分析

从任务描述中我们可以看到,该任务需要对描述段落匹配三篇最相关的论文。单从形式上可以理解为这是一个“完形填空”任务。但相较于在本文的相应位置上填上相应的词语不同的是,这里需要填充的是一个Sentence,也就是论文的题目。但是如果你按照这个思路去寻求解决方案,你会发现在这个量级的文本数据上,一般算力是满足不了的。

既然如此,那我们不如换一个思路来思考这个问题,“对描述段落匹配三篇最相关的论文”,其实最简单的实现方式是计算描述段落和论文库里所有论文的相似度,找出最相似的即可。但这同样会存在一个问题,通过对数据进行探查你会发现“An efficient implementation based on BERT [1] and graph neural network (GNN) [2] is introduced.”这一描述段落,同时引用了两篇文章,那么在计算相似度时,到底哪个位置该是哪篇文章呢?

基于分析中提到的问题和难点,本次比赛给出了以下解决方案。

3 建模核心思路

在解决本问题时,使用了两种方式,其一是利用Wrod2Vec方法,将描述段落利用Word2Vec得到每个词的词向量,同时对句子中的词使用IDF为权重进行加权得到Sentence Embedding,同时为了得到更好的效果,这里做了一个改进,即使用Smooth Inverse Frequency代替IDF作为每个词的权重;其二是利用BM25得到Sentence Embedding。两种方法各自计算余弦相似度得到3篇论文,去重后召回集中每个段落有3-6篇不等的召回论文。

在排序阶段,我们利用Bi-LSTM对描述段落Description和论文文本PaperText组成句子对(Description,PaperText)进行编码,在中间层对两个向量进行差值和内积操作后,在输出层经过Dense和Softmax层后得到概率值后排序。

4 算法核心思想

4.1 SIF Sentence Embedding

SIF Sentence Embedding 使用预训练好的词向量,使用加权平均的方法,对句子中所有词对应的词向量进行计算,得到整个句子的embedding向量。

SIF 的计算分为两步:

1) 对句子中的每个词向量,乘以一个独特的权重b,权重b是一个常数 a除以a与该词频率的和,这种做法的会对出现频率高词进行降权,也就是说出现频次越高,其权重也就越小;

2) 计算句向量矩阵的第一主成分u,让每个Sentence Embedding减去它在u上的投影,具体参见论文[2];

这里,利用该方法做召回,在验证集上的准确性要比其他两种方式效果好。

(1)对句子中所有单词求平均得到sentence embedding;

(2)对句子中所有单词利用IDF值加权后求平均得到sentence embedding。

4.2 InferSent

InferSent相似度模型是Facebook提出了一种通过不同的encoder得到Sentence Embedding,然后计算两个Sentence Embedding的差值、点乘得到交互向量,计算两者之间的相似度。

这里,对原始论文方法做了两处修改:

其一是针对这个问题对3-way softmax层(entailment,contradiction,neutral)做了相应的修改变为2-way softmax;

其二是中间层去掉了u和v,只使用差值和内积两种特征表征方式;

同时在7中编码器:1)LSTM, 2)GRU, 3)bi-GRU, 4)bi-LSTM(mean pooling), 5)bi-LSTM(max pooling), 6)self-attention, 7)CNN 中选用了Bi-LSTM MaxPooling的方式。

4.3 Others-BERT

当时,在BERT时代,解决方案的尝试中少不了它的身影,这里我们用BERT尝试了两种方案,其一是利用BERT对Description和PaperText进行编码后,计算文本的余弦相似度;其二是在上述整体模型中,用BERT替换InferSent部分。

以上两种方式是我和何从庆在CCL“中国法研杯”相似案例匹配评测竞赛中使用的方案(zhuanlan.zhihu.com/p/88

写在后面的话

入职两年,见过了许多形形色色,感慨良多,但初心没忘,为了让自己保持一个良好的竞技状态和学习状态。每次任务又是一个不断审视、总结自己的过程。无论是结构化数据、自然语言处理领域还是图像领域,欢迎志同道合的小伙伴一起分享探讨,共同进步。

参考论文

[1] Sanjeev Arora, Yingyu Liang, Tengyu Ma. A Simple but Tough-to-Beat Baseline for Sentence Embeddings, ICLR 2017

[2] Conneau A , Kiela D , Schwenk H , et al. Supervised Learning of Universal Sentence Representations from Natural Language Inference Data[J]. 2017.

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

作者简介

DigSci科学数据挖掘大赛-亚军方案分享相关推荐

  1. 如何在3天内拿下DigSci大赛的亚军?| DigSci科学数据挖掘大赛

    作者 | 朱翔宇(DOTA) 来源 | AI算法之心(AIHeartForYou) [导读]本文将基于作者在中国计算机大会方案宣讲PPT中的内容,给出此次比赛的完整方案,主要从赛题理解.建模核心思路. ...

  2. DigSci科学数据挖掘大赛:如何在3天内拿下DigSci亚军

    写在前面的话   本文将基于在中国计算机大会方案宣讲PPT中的内容,给出此次比赛的完整方案,主要从赛题理解.建模核心思路.算法核心思想等角度阐述,同时对相关细节进行了适当的拓展讲解.涉及SIF Sen ...

  3. 【DigSci 科学数据挖掘大赛】冠军方案关键技术解析

    前言 本文根据在cncc会议中演讲的PPT内容,给出了完整的技术方案,主要从赛题难点.候选集自动生成.自动特征抽取与选择.文本匹配模型构建.模型融合等方面去进行阐述.本次比赛的难点在于给定描述段落匹配 ...

  4. 【数据竞赛】2020腾讯广告算法大赛冠军方案分享及代码

    写在前面 2019年冠军选手成功卫冕!!! 代码地址:https://github.com/guoday/Tencent2020_Rank1st 从初赛冠军.复赛冠军,然后到最佳答辩,一路披荆斩棘,再 ...

  5. 电商风控赛事亚军方案分享!

    Datawhale干货 作者:许汝超,广州大学,Datawhale成员 本次 Apache Flink 极客挑战赛暨 AAIG CUP--电商推荐"抱大腿"攻击识别 赛题以电商推荐 ...

  6. 【图像分类】华为云·垃圾分类亚军方案分享

    导语 浏览更多内容,可访问:http://www.growai.cn 结束比赛有几天了,这几天一直在处理前段时间堆积的工作,今天得空对自己的方案进行梳理总结.今年7月多结束魔镜杯后,将之前的内容整理了 ...

  7. 全国人工智能大赛 行人重识别(Person ReID)赛项 季军团队方案分享

    全国人工智能大赛-行人重识别(Person ReID)赛项-季军团队由5名博士生组成,该次比赛初赛和复赛阶段的代码后续将整理开源,敬请期待! 团队名称:DMT 团队成员: 罗浩.何淑婷. 古有志. 王 ...

  8. 2020数字中国创新大赛-智能算法赛-冠军方案分享

    写在前面的话 大家好,我是 Champion Chasing Boy 的 DOTA,在队友 鱼遇雨欲语与余. 尘沙杰少.林有夕.嗯哼哼唧 的Carry下,最终在本届智能算法赛拿到了复赛总榜单Top1的 ...

  9. 2020数字中国创新大赛 • 算法赛道冠军技术方案分享

    写在前面的话 作者说:我是来自京东数科的朱翔宇,也是此次大赛 Champion Chasing Boy 团队的 DOTA(常用ID),在与队友 鱼遇雨欲语与余(京东零售). 尘沙杰少.林有夕.嗯哼哼唧 ...

最新文章

  1. android检测本地是否安装,在本地测试模块的安装
  2. 谁来养活中国人?他,用小麦增产千亿斤让中国成为粮食大国
  3. Mongodb 自动增长 自增id 实现
  4. MySQL学习(四、子查询)
  5. Ubuntu 11.04 二进制包安装 flashget 显示 libexpat.so no...
  6. Mysql入门的10条语句
  7. 15.Numpy之点乘、算术运算、切片、遍历和下标取值
  8. Cmd打开Java软件
  9. jquery第三期:js与jquery对象转换
  10. DRM之Widevine学习入门
  11. 三节锂电池充电芯片,IC设计模块的几种电路
  12. 基于时空融合的高效率多阶段视频降噪方法-EMVD
  13. 一加手机高德位置服务器,高德地图在线导航悬浮窗闪亮一加手机
  14. 东原仁知服务招股书失效:主营业务严重依赖迪马集团,曾多次更名
  15. 【梁小国】教你怎么签自己的名字
  16. 云呐资产|令人满意的固定资产盘点系统方法
  17. 【excel】解决录制宏时报错:为便于记录,启动文件夹中的“个人宏工作簿”必须保持打开状态
  18. Python使用asyncio+aiohttp异步爬取猫眼电影专业版
  19. Linux下gcc命令详解
  20. Node(Next)+React实现飞书扫码登录+鉴权的详细开发过程

热门文章

  1. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程...
  2. UI层调用WCF服务实例(源码)
  3. 同步和异步GET,POST请求
  4. 验证视图状态MAC失败问题正确的解决办法
  5. 可用子网数要不要减2_网络层 | 网际协议IP(2)
  6. centos主题设置
  7. C语言 | C编程练习题(代码版)
  8. C语言函数class,C语言--7-class-while和函数.ppt
  9. 声学漫谈之五:音腔是怎么影响声音效果的
  10. MFC中Radio Button使用方法