第六届"泰迪杯"数据挖掘挑战赛C题参赛经历总结
第六届"泰迪杯"参赛经历总结
Part 1 赛题
点击Part 1 赛题进入题目网站
Part 2 C题参考与建议
智能阅读模型的构建 —— 一份阅读建议
一、 赛题
1、 赛题
(1) 主题:以文本输入作为知识基础的智能问答模型
(2) 学名:篇章排序、阅读理解
(3) 数据:给出问题文本,判断材料与文本的相关性
2、 原则:“对于用户来说,如果能够识别用户用自然语言提出的问题、并加快用户寻找该问题的答案,那么我们的模型已经产生了价值。”
二、 入门(基于传统文本挖掘和机器学习)
1、 中文分词
(1) 如何改善分词效果?
2、 TF-IDF
(1) TF-IDF的作用是什么?
3、 关键词提取
(1) 基于TF-IDF:提取关键词的原理和方法
(2) 基于TextRank:提取关键词的原理和方法
4、 词向量与Word2Vec
(1) 词向量的好处是什么?
(2) 如何比较两个词的相似度?
(3) 如何比较句子的相似度?
5、 搜索引擎技术
(1) 倒排索引是什么,它怎么加速搜索?
(2) 搜索引擎是如何计算相关性的?
6、 逻辑回归、SVM等模型
(1) 如何用逻辑回归或SVM做分类模型?
(2) 如何用它们做文本分类?
三、 进阶
1、 CNN / RNN / Attention
(1) CNN怎么用在文本任务上?
(2) 用CNN/RNN怎么做序列标注?
(3) 如何在普通任务中加入Attention机制?
2、 问答匹配模型
(1) 常见的QA匹配模型结构?
(2) 常见的QA编码形式?
(3) 常见的loss选取方式?
3、 阅读理解模型
(1) 目前已有的阅读理解模型?
4、 SQUAD、MARCO评测任务
(1) SQUAD:https://rajpurkar.github.io/SQuAD-explorer/
(2) MARCO:http://www.msmarco.org/
Part 3 参赛经历感受与反思
这是我第一次参加泰迪杯的比赛,对我来说,还是蛮难的。在整个小组里,主要靠师兄撑起来——师兄不断调试代码让结果能出来。
写一下反思:
1.这个比赛至少有15天,所以不能全部堆到最后两三天来做,这样很可能是又累又做不好,一定要把握好比赛节奏,在每天上课的情况下每天都要做一点,每天都要有推进;
2.少做无用功,无用功少,效率才高,产出才高;
3.写代码时一定不能两眼一抹黑瞎写的,脱离理论和逻辑;没有了逻辑,就只能很低效地不断调啊调,改啊改,调个几天都没什么结果,最终是搞得累到放弃;一定是要把逻辑和原理捋顺。花点时间来这个逻辑和原理捋顺,越是大的工程越有意义。
4.要写总结,不然不写就过去了,收获不会大。
5.写论文的经验也可以写点:写论文感觉至少要留两天(至少最后一天+前一天下午和晚上),写论文感觉是一件慢慢磨的过程。写的时候可以先花点时间捋顺整个的宏观的思路和流程,把目录结构先写下来,然后直接开写,写的不好什么的没关系,思路是先写第一稿,再增加修改成第二稿,接着第三稿,以此类推,不要想着一次写完,就是要好事多磨。当然论文内容就是要注意摘要和图表啦。
Part 4 总结
1.要是就这样写总结就结束,我的能力也没什么提高,下次我再参加就业只能再依靠别人。抽个时间我要独自一人把整个流程都实施一遍:分析问题、提出思路、代码实现(重点难)、测试数据集。
2.理一下接下来要整理的东西:
①整理代码 ,最好能解构得出跟抽象的知识(另外);
②好的参考文献记录一下。
(1)总思路来源(CNN+Cosine):APPLYING DEEP LEARNING TO ANSWER SELECTION:A STUDY AND AN OPEN TASK
(2)词向量:
Distributed Representations of Words and Phrases and their Compositionality
Word2vec Parameter Learning Explained
Learning word embeddings efficiently with noise-contrastive estimation
Hierarchical Probabilistic Neural Network Language Model
(3)注意力机制
Attention Is All You Need
(4)序列模型
Convolutional Sequence to Sequence Learning