Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >文本点击率预估挑战赛-冠亚季军方案总结

文本点击率预估挑战赛-冠亚季军方案总结

作者头像
致Great
发布于 2021-01-18 02:10:35
发布于 2021-01-18 02:10:35
83100
代码可运行
举报
文章被收录于专栏:自然语言处理自然语言处理
运行总次数:0
代码可运行

1 正式赛题——文本点击率预估

搜索中一个重要的任务是根据query和title预测query下doc点击率,本次大赛参赛队伍需要根据脱敏后的数据预测指定doc的点击率,结果按照指定的评价指标使用在线评测数据进行评测和排名,得分最优者获胜。

比赛链接:

https://www.kesci.com/home/competition/5cc51043f71088002c5b8840

1.1 比赛数据

sample数据(右键保存下载)

sample样本:query以及对应网页数据的的明文数据,并已经分词为term,term之间空格分割,样本行数3000;这份样本供参赛队伍了解基本的参数数据模式。

说明:所有数据按列分割,分隔符为”,",为不带表头的CSV数据格式。

sample样本格式:

training样本:脱敏后的query和网页文本数据,并已经分词为term并脱敏,term之间空格分割,样本规模初赛1亿,复赛增加到10亿;这份数据主要用于参赛队伍训练模型,制定预估策略。

training 样本示例 : 正赛赛题数据规模比较大,线上运行调试比较慢。为了提高效率,现提供一个 2 万行训练数据样本文件提供给选手在线下进行模型搭建,该文件格式中为线上训练集的前 2 万行数据,与线上训练数据文件格式完全相同。​线下的 Notebook 可以导入到 K-Lab 中,利用完整训练集数据进行模型的训练。具体操作如下:

training样本格式:

test样本:脱敏后的query和网页文本数据,并已经分词为term并脱敏,term之间空格分割,样本规模初赛5百万,复赛2千万(与初赛不重复);这份数据用于参赛队伍比赛中模型评估和排名,初赛队伍根据初赛队伍根据初赛排名择优进入复赛;复赛test数据数据仅用于复赛排名,不计入复赛最终成绩。

test样本格式:

最终成绩test****样本:脱敏后的query和网页文本数据,样本规模1亿,样本数据格式与test样本格式相同;这份数据用于复赛队伍的最终成绩评比和排名,不参与比赛过程的排名;数据放出日期为复赛结束前一周。

1.2 选手提交结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   对于测试数据“query_id, query, query_title_id, title”,选手提交数据是“query_id, query_title_id, prediction”,提交格式说明如下:
  • 对于测试数据:1, 1 2 3, 4,1 4 9
  • 提交样例如下(其中第一列为query_id,二列为query_title_id,三列为prediction):

1,1,1 1,2,0.5 1,3,0.49 1,4,0 1,5,0 1,6,0 2,1,1 ...

1.3 评估标准

选手提交结果的评估指标是qAUC,qAUC为不同query下AUC的平均值,计算如下:

其中AUCi为同一个query_id下的AUC(Area Under Curve)。最终使用qAUC作为参赛选手得分,qAUC越大,排名越靠前。

非常感谢国内大佬无私的分享,我们愉快的学习吧~

2 冠军-Progressing 冠军方案

分享链接:

https://www.kesci.com/mw/project/5d9ef1fc037db3002d3f75a3

2.1 解题思路之机器学习

  1. 机器学习
    • 如果将这个题目可以看作:(文本)点击率预估的问题,则可以直接使用机器学习或者数据挖掘的方法来求解,即进行 特征工程+模型优化 的方法
    • 另外,由于这是一个中文文本相关的赛题,因此特征工程方面有很多是提取文本相关的特征,因此需要了解一些自然语言处理中文文本处理的前置知识(比如对句子进行分词的统计、TF-IDF 技术、词的表征方法等,都可以在网上找到相关的资料来学习)
  2. 特征工程 我们团队主要提取了以下几部分特征:
    • 统计特征 query/title 的长度/重复出现的数量,公共词的数量及在 query/title 中的占比和多项式特征,每组 title 长度的最大值最小值和平均值、不同粒度下的 CTR 特征 …
    • 距离特征 基于词向量:canberra 距离,曼哈顿距离,欧几里得距离,braycurtis 距离,相关系数 … 基于离散的词:曼哈顿距离,欧几里得距离,jaccard 距离,levenshtein 距离,levenshtein_jaro 距离,汉明距离 …
    • 相似度特征 基于词向量:余弦相似度、levenshtein 相似度 … 基于离散的词:余弦相似度、共现词的数量及占比 …
    • 语义特征 N-Gram 特征、TF-IDF 特征、首词/末词/词的顺序以及出现位置 …
  3. 特征选择
    • 在这里我们主要使用了过滤法(filter)和包裹法(wrapper),以及结合 LightGBM 的特征重要度(feature_importance)来进行筛选
  4. 模型建立
    • 考虑到本赛题的样本量比较大,因此使用 LightGBM 来建立模型,它计算速度比 XGBoost 更快,而且科赛平台的技术人员已经为我们安装了 GPU 版本的 LightGBM,因此可以使用 GPU 进行加速计算(为科赛的小哥哥小姐姐点赞?)
  5. 方法小结
    • 机器学习模型的上限不高,因为它无法完全利用文本的信息,也许做更加精细的关于文本的特征可能会有更好的效果,但是这种特征是比较难以想到或者不存在的

后面在决赛答辩的时候,了解到其他队伍利用了 BM25 相关度特征和一些自定义的 CTR 特征来提升模型结果

推荐一些文本处理工具库:Levenshtein、Textdistance、Difflib、Fuzzywuzzy 等

下图是部分重要特征分析:

2.2 解题思路之深度学习

  1. 深度学习
    • 将这个题目可以看作:短文本匹配+点击率预估 的问题。使用深度学习的方法可以更好的捕捉到词/句子/段落/文本之间的关系,关键的一点就是找到对每个 term(本赛题是将每个词划分为term)的表示(比如词向量),再搭建深度神经网络来训练样本,从而得到不同文本之间(query和title)的相关程度
    • 而且本次比赛的数据量比较大,达到了上亿级别,因此也特别适合使用深度学习方法来进行建模
  2. 词的表征方法
    • 词的表示方法有很多,主要是要考虑到不同词向量的适用场景和训练效率。fasttext 的训练速度很快、效果也不错,但由于这是一个脱敏的文本,因此其 subword 机制会受到一定影响;而目前很火的 BERT 预训练模型也无法使用,因为需要重新对这些脱敏后的 term 进行训练,而 BERT 的参数量太大,GPU 资源又有限,因此重新训练 BERT 是不可行的 …
    • 于是我们队伍最终使用了经典的 word2vec 来训练词向量(有一些文本是重复的,因此可以考虑去重后加速训练速度),这是一种静态的词向量表示方法,但对于这个比赛来说已经足够了。训练使用是 gensim 库的 word2vec。其中,数据量是训练集的全部数据(使用迭代方式来训练,否则可能会因为内存不够而导致训练失败),词向量维度:300,滑动窗口大小:5,最小词频数:3,训练轮数:5,训练方式:skip-gram
    • 其实,对词的表征方法还可以使用不同词向量来组合表示,比如将 word2vec 和 fasttext 训练出的词向量进行加权求和,或者直接将这两种词向量进行横向拼接,来形成一个维度更大的词向量。这种操作方式,在某些任务上可能会取得更好的效果
  3. 深度神经网络
    • 在深度学习方面,我们最先直接使用深度学习模型来进行训练,但发现模型训练时 loss 比较高,无论是调节学习率、更换优化器还是增加数据量等,loss 都无法明显降低。直到后面在讨论区受到一些大佬的指点,发现在深度神经网络中融合其他特征,可以使得模型训练的 loss 进一步降低,从而学习到更多的信息
    • 主要尝试了 伪孪生网络ESIM 模型。(伪)孪生网络的训练速度比较快,效果也还不错。而 ESIM 由于采用了 attention 机制将句子对齐,可以更好的学习到句子之间的语义关系,从而可以很好地进行匹配,效果相比于孪生网络的效果提升不少,但训练的时间开销也更大。然后,我们团队也对 ESIM 做了一些定制化的改进,在提升模型效果的同时减少时间开销
    • 模型训练的一些细节:batch size 为 512(考虑到显存大小),学习率随着 epoch 增加递减,优化器为 Adam,以及对句子使用了动态padding的操作等

    Image Name

  4. 模型集成
    • 为了尽可能地利用数据量,我们以每 1 亿或 2 亿数据来训练一个模型,挑选出每1亿或2亿中训练效果最好的模型来进行模型融合,最终使用了约 8 亿数据,使用效果最好的几个模型,并根据线上的结果来进行线性加权融合,以尽可能来降低模型在最终测试集上的泛化误差
    • 下图是深度学习模型效果与数据利用率一种可能的关系

    Image Name

2.3 比赛总结

  • 需要注重细节:对比赛赛题有清晰的认识,将会直接关系到最后的成绩。像这种数据集比较大的比赛,更需要合理安排资源(比如内存、显存资源)和时间(可以使用一些多进程等其他技术来提高设备的利用率),如果有需要可以列一个详细的计划安排表,还可以另外建立一个文档来记录团队已完成和待完成的事项
  • 比赛过后,发现机器学习、深度学习的基础知识以及对一些框架地熟练使用对于做比赛是至关重要的,还有对一些最新前沿技术的了解与应用很多时候就是提升比赛成绩的关键
  • 在这个比赛学习到了很多关于深度学习和自然语言处理的知识,也结交了一些朋友,一个团队良好的沟通对于比赛成绩的提高是至关重要的

3 亚军方案- 第2名-蜗牛本牛

分享链接:

https://github.com/srtianxia/BDC2019_Rank2

4 季军方案-鸡你太美

分享链接:

https://github.com/ShusenTang/BDC2019

5 总结与发现

  • 我们可以看到前排的算法尝试了GBDT与NN模型,并且融合之后分数提升很大
  • 作为LightGBM的模型的输入可以与序列表示一块作为NN模型的输入,提升较大
  • 大家应该对短文本匹配的利器 ESIM很熟悉吧,不熟悉的同学可以阅读下论文: Enhanced LSTM for Natural Language Inference

https://arxiv.org/pdf/1609.06038.pdf

  • 延伸阅读:DSSM 深度语义匹配模型

微软论文:https://www.microsoft.com/en-us/research/project/dssm/

代码和PPT回复公众号“ChallengeHub”关键字:文本点击率获取

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2022微信大数据挑战赛优胜方案总结
每天给你送来NLP技术干货! ---- 来自:炼丹笔记 赛题介绍 比赛名称:微信多模态短视频 比赛页面:https://algo.weixin.qq.com/ 比赛类型:多模态分类 多模态短视频分类是视频理解领域的基础技术之一,在安全审核、推荐运营、内容搜索等领域有着十分非常广泛的应用。一条短视频中通常包含有三种模态信息,即文本、音频、视频,它们在不同语义层面的分类体系中发挥着相互促进和补充的重要作用。 本赛题要求参赛队伍基于微信视频号短视频数据以及对应的分类标签标注,采用合理的机器学习技术对指定的测试
zenRRan
2022/09/27
9780
2022微信大数据挑战赛优胜方案总结
NLP比赛-小布助手对话短文本语义匹配
小布助手是OPPO公司为欧加集团三品牌手机和IoT设备自研的语音助手,为用户提供了有趣、贴心、便捷的对话式服务。意图识别是对话系统中的一个核心任务,而对话短文本语义匹配是意图识别的主流算法方案之一。本赛题要求参赛队伍根据脱敏后的短文本query-pair,预测它们是否属于同一语义,提交的结果按照指定的评价指标使用在线评测数据进行评测和排名,得分最优者获胜。
致Great
2021/01/14
1.2K0
NLP比赛-小布助手对话短文本语义匹配
微信大数据挑战赛:第1周周星星方案汇总
多模态短视频分类是视频理解领域的基础技术之一,在安全审核、推荐运营、内容搜索等领域有着十分非常广泛的应用。一条短视频中通常包含有三种模态信息,即文本、音频、视频, 它们在不同语义层面的分类体系中发挥着相互促进和补充的重要作用。
炼丹笔记
2022/10/27
8170
微信大数据挑战赛:第1周周星星方案汇总
CIKM AnalytiCup 2018 冠军方案出炉,看他们构造模型的诀窍
AI 科技评论按:CIKM AnalytiCup 2018(阿里小蜜机器人跨语言短文本匹配算法竞赛)近日落幕,由微软罗志鹏、微软孙浩,北京大学黄坚强,华中科技大学刘志豪组成的 DeepSmart 团队在一千多名参赛选手中突出重围,一举夺冠。
AI科技评论
2018/12/21
1.1K0
CIKM AnalytiCup 2018 冠军方案出炉,看他们构造模型的诀窍
2022微信大数据挑战赛优胜方案总结
多模态短视频分类是视频理解领域的基础技术之一,在安全审核、推荐运营、内容搜索等领域有着十分非常广泛的应用。一条短视频中通常包含有三种模态信息,即文本、音频、视频,它们在不同语义层面的分类体系中发挥着相互促进和补充的重要作用。
炼丹笔记
2022/10/27
5840
2022微信大数据挑战赛优胜方案总结
小布助手对话短文本语义匹配
向AI转型的程序员都关注了这个号👇👇👇 机器学习AI算法工程   公众号:datayx 小布助手是OPPO公司为欧加集团三品牌手机和IoT设备自研的语音助手,为用户提供了有趣、贴心、便捷的对话式服务。意图识别是对话系统中的一个核心任务,而对话短文本语义匹配是意图识别的主流算法方案之一。 训练数据 训练数据包含输入query-pair,以及对应的真值。初赛训练样本10万,复赛训练样本30万,这份数据主要用于参赛队伍训练模型,为确保数据的高质量,每一个样本的真值都有进行人工标注校验。每行为一个训练样本,由que
机器学习AI算法工程
2022/09/06
1.5K0
小布助手对话短文本语义匹配
ALL in BERT:一套操作冲进排行榜首页
好久不打比赛,周末看到“全球人工智能技术创新大赛”已经开打了一段时间,前排分数冲的有点凶,技痒的我看到了一道熟悉的赛题——小布助手对话短文本语义匹配,由于在搜索推荐系统的一些任重中,文本语义匹配子任务也是经常会遇到的一个问题,于是乎掏出那根...咳咳..沉睡了很久的GPU,翻出了祖传代码,跑了一波Baseline...
炼丹笔记
2021/05/14
7180
ALL in BERT:一套操作冲进排行榜首页
报名 | 2022中国高校计算机大赛——微信大数据挑战赛即将开启
2022中国高校计算机大赛——微信大数据挑战赛(以下简称“大赛”)由清华大学和腾讯微信事业群联合举办,由腾讯云提供大赛资源支持。本次大赛是以企业真实场景和实际脱敏数据为基础、面向全球开放的高端算法竞赛。大赛旨在通过竞技的方式,提升人们对数据分析与处理的算法研究与技术应用能力,探索大数据的核心科学与技术问题,尝试创新大数据技术,推动大数据的产学研用。 一、 参赛对象 本次大赛面向全球开放,不限年龄国籍,高等院校在校学生(包括高职高专、本科、研究生)以及科研机构和企业从业人员均可参赛。 二、 赛制说明 本次大赛
数据派THU
2022/04/22
1.2K0
报名 | 2022中国高校计算机大赛——微信大数据挑战赛即将开启
快手x清华即日启动大数据挑战赛,60万大奖悬赏你的最佳解决方案
4月16日,2018年中国高校计算机大赛——大数据挑战赛(下称大数据挑战赛)正式开启报名。
朱晓霞
2018/07/23
4140
快手x清华即日启动大数据挑战赛,60万大奖悬赏你的最佳解决方案
科大讯飞CTR预估挑战赛Top3方案总结
‍前一阵子,老肥参加了科大讯飞AI开发者大赛的部分比赛,主要包括结构化、音频、文本以及图像这四大类型,总体来看都是较为简单的任务并且解题方案也较为简单,后续会跟大家一一分享。
老肥码码码
2023/03/02
6520
科大讯飞CTR预估挑战赛Top3方案总结
百万奖金池,2022 全球人工智能技术创新大赛—算法挑战赛火热开启
为了推动 AI 技术的应用创新,促进人工智能领域的学术交流、人才培养,打造人工智能的人才交流平台与产业生态圈,去年,中国人工智能学会和杭州市余杭区人民政府共同创办了首届全球人工智能技术创新大赛。 这是一个足够闪耀、足够宽阔的舞台:在首届全球人工智能技术创新大赛中,15000 多位选手同台 PK,他们来自 528 所中国高校和 136 所海外高校,包括清华、北大、浙大、剑桥、牛津、密歇根、普渡、南洋理工等知名高校。这些选手组成了 13923 支队伍,其中港澳台及海外参赛队伍比例超过 30%。 今年,又有哪些
机器之心
2022/03/17
1.3K0
搜索推荐算法挑战赛OGeek-完整方案及代码(亚军)
首先很幸运拿到TIANCHI天池-OGeek算法挑战赛大赛的亚军,同时非常感谢大佬队友的带飞,同时希望我的分享与总结能给大家带来些许帮助,并且一起交流学习。(作者:王贺,知乎:鱼遇雨欲语与余)
石晓文
2019/08/02
2.4K0
搜索推荐算法挑战赛OGeek-完整方案及代码(亚军)
搜狐图文匹配算法大赛_方案分享
参加这次比赛的初衷是作为机器学习课程的大作业,这两天写了课程报告,所以将报告内容修改了一下进行分享。 我所在的团队(“中国国家跳水队”,排名如队名,一度严重跳水)获得了初赛第3, 复赛第9, 决赛第6的成绩,正好擦边获得了三等奖。(小编:比赛的时候取个好名字有多重要:) 主要分为三个部分,分别为比赛背景介绍,团队主要方案介绍,其他方案介绍。其中最后一部分包含了一些其他队伍在决赛赛后分享时提到的思路。 比赛背景介绍 此部分主要内容摘自比赛官网,详细内容见比赛官网 https://biendata.com/co
机器学习AI算法工程
2018/03/09
2.1K0
搜狐图文匹配算法大赛_方案分享
Kaggle文本语义相似度计算Top5解决方案分享
今年和去年前后相继出现了多个关于句子相似度判定的比赛,即得定两个句子,用算法判断是否表示了相同的语义或者意思。其中第4、5这个2个比赛数据集格式比较像,2、3 的数据集格式比较像,本仓库基于2、3数据集做实验
机器学习AI算法工程
2019/10/28
4.1K0
Kaggle文本语义相似度计算Top5解决方案分享
“达观杯”文本智能处理挑战赛,季军带你飞
作者:乐雨泉(yuquanle),湖南大学在读硕士,研究方向机器学习与自然语言处理。欢迎志同道合的朋友和我在公众号"AI 小白入门"一起交流学习。
用户1737318
2019/03/06
8170
“达观杯”文本智能处理挑战赛,季军带你飞
TIANCHI天池-OGeek算法挑战赛分享及完整代码(亚军)
首先很幸运拿到本次大赛的亚军,同时非常感谢大佬队友的带飞,同时希望我的分享与总结能给大家带来些许帮助,并且一起交流学习。
Coggle数据科学
2019/09/12
1.2K0
TIANCHI天池-OGeek算法挑战赛分享及完整代码(亚军)
微信大数据挑战赛方案总结
微信大数据挑战赛是一个非常有意思的比赛,从5月20日一直到8月9日,我从初赛周周星到险些未进复赛,从复赛开始,又占得了一个相对靠前的名次,从躺平到惊起,又从惊起到躺平,是一次“魔幻”的竞赛之旅。今天老肥就来和大家分享本次比赛的方案总结,同时期待决赛大佬们的精彩方案开源。
老肥码码码
2022/04/13
6610
微信大数据挑战赛方案总结
冠军7w美金,2020腾讯广告算法大赛正式开始!!!
期待已久的2020腾讯广告算法大赛终于开始了,本届赛题“广告受众基础属性预估”。本文将给出基本解题思路,以及最完备的竞赛资料,助力各位取得优异成绩!!!
Coggle数据科学
2020/04/17
1.1K0
KDD Cup 2020多模态召回比赛季军方案与广告业务应用
美团搜索广告算法团队最终在Debiasing赛道中获得冠军(1/1895),在AutoGraph赛道中也获得了冠军(1/149)。在Multimodalities Recall赛道中,亚军被美团搜索与NLP团队摘得(2/1433),而季军被美团搜索广告算法团队收入囊中(3/1433)。
美团技术团队
2020/09/28
8940
“达观杯”文本智能处理挑战赛,季军带你飞
前段时间和朋友何从庆(AI算法之心)等队友一起组队参加了这个比赛,本来以为小比赛人少,没想到参加的人会有几千人。最后我们队伍取得季军(4st/3131),虽有些许遗憾,但是也很荣幸认识了更多的大佬。在此和队友整理总结了一波,放出答辩PPT以及开源了部分代码,希望对刚接触这个领域的小白新手能有些帮助~~~
yuquanle
2019/07/23
3640
“达观杯”文本智能处理挑战赛,季军带你飞
推荐阅读
相关推荐
2022微信大数据挑战赛优胜方案总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验