坐镇大佬:
mathor:武汉某高校软件工程大四学生(数学家是我理想)
AI 研习社 ID:@mathor
(个人主页链接:https://www.yanxishe.com/center/myPage/5148812)
「微博立场检测」赛事链接:https://god.yanxishe.com/44
AI 研习社:简单介绍一下你的个人背景,让我们更了解你呗。
mathor:我现在就读于武汉一所普通高校,大四,今年 6 月份毕业,然后参加了 20 年的研究生入学考试。我的本科是软件工程专业。
AI 研习社:之前参加过类似的比赛吗?
mathor:这已经是我第二次参赛。第一次参赛是在 19 年暑假,那是一场高校大数据挑战赛,赛题是广告点击预测。那一场赛题比较简单,尤其数据字段较少,不需要运用很复杂的特征工程,非常适合当时的我。
AI 研习社:比起其他 NLP 赛事,你认为“微博立场检测”有何不同之处?它是怎么影响你的答题思路的?
mathor:首先,“微博立场检测”赛事的字段较少,意味着我们不需要做复杂的特征工程,对新手较友好。
其次,数据量少,所以只需要普通的 cpu 就能跑。
最后,正因为数据量较少,所以许多大佬惯用的深度学习方法,如 bert、lstm 等,使用后效果可能不是很好。反而是对模型了解较少,但是非常擅长处理数据的同学,会有更好的成绩。
AI 研习社:所以说你在上周五的 PPT 里着重强调了“数据清洗”的作用,这一块方便细谈一下吗?
mathor:这次比赛的数据都是中文的,相比英文而言,中文数据的清洗过程更复杂。
首先你得分词,这里就会面临很多问题,比如不同分词工具的效果不一致,而且不存在分词 100% 正确的工具。
其次,分完词后,你还将面临各种乱七八糟的字符,如网址、验证码、表情和中文标点符号,这些实际上没什么意义,如果可以过滤掉这些,肯定会对结果产生很大的影响。
假设现在有一个非常干净的数据样本,随便带入一个机器学习的模型,得出的结果不一定比非常乱的样本带入深度学习模型的效果差。
AI 研习社:所以你采取了“pkuseg分词+fasttext”的方案。
mathor:采取 fasttext 的原因是它非常简单,随便调一下就能用,这样我可以把更多精力集中在数据处理上。(mathor 大佬参赛baseline:https://god.yanxishe.com/codeplan/detail/72)
AI 研习社:你的 PPT 里还提到一点,就是要善用分词工具的语料库,这一块又是基于什么考量呢?
mathor:像我前面说过的,不存在 100% 分词正确的分词工具,所以应该要想尽办法提高分词的准确度。
假设分词不正确,后面的过滤可能就会出现问题——比方说很多同学会过滤掉长度等于 1 的字符,但是如果一开始分词的时候就不准确,结果过滤的时候把一些重要的信息过滤掉了,对结果肯定有影响。
而各种语料库就是为了帮助提升分词的准确性。
AI 研习社:在数据处理这块,你比较推荐哪些学习材料?
mathor:我基本上很少保存资料,都是需要用到的时候才 Google ,查不到了再来问人。
以下这个表情包我个人觉得非常经典(笑)。
AI 研习社:你的 AI 基础知识也是自学的吧?有没有什么较好的网站或课程推荐?
mathor:龙曲良老师的 pytorch 课程。
AI 研习社:据了解,你还拥有自己的个人博客,可以向我们介绍一下吗?
mathor:我的个人博客网址是 https://wmathor.com/ ,里头主要更新自然语言处理、算法等技术方面的内容,少量写一些个人感悟之类的。
AI 研习社:你觉得写个人博客对你最大的影响是什么?
mathor:学习完了,要是不及时做笔记,最后会忘记的(笑)。
AI 研习社:还有哪些关于“微博立场检测”的关键信息,是我的问题没问出来,你认为有必要跟大家强调的?
mathor:现在比较流行集成模型,有时间的大佬可以尝试建立多个模型,然后做个简单的投票,或者stacking之类的,或许有奇效。毕竟那么多比赛,那么多人都在用。
这是模型方面,数据处理方面我就不多说了,已经快要接触到我的方法的核心了 (笑)。
AI 研习社:最后一个问题,你认为什么是“打比赛的正确姿势”?
mathor:不要随便提交代码,因为每天提交的次数有限;
同时不要过分相信验证集的分数,很可能不准,所以一定要有自己预判分数的方法,什么方法都行;
然后就是,不会的就及时上网查,原理不懂不要紧,最重要的是要能快速使用。
「微博立场检测」赛事链接:https://god.yanxishe.com/44
雷锋网 雷锋网 雷锋网