文本分类真的简单吗?——公众健康问句分类测评比赛小记

        去年九月份我随项目组一起参加了中华医学会医学信息学分会主办的医学数据挖掘算法评测大赛,原本是抱着拿一部分医疗文本数据的心态区参加比赛的,最后取得了比较好的成绩,而且洛基在比赛中也学到了很多,本来去年就想把比赛里学到的东西记录在博客中,却因为种种原因搁置了。仔细一想,自己的博客也很久没有经营,最近在看对比学习的文章时候突然想到自己以前也写过一篇关于对比学习的“论文读后感”,遂翻看博客观赏旧作,感叹写博客是一个将输入转化为输出的过程,确实能帮助自己在这个过程中学到很多东西,并且是对自己的知识体系的一个梳理和记录,值得时常温习,温故知新。

        回到正题——简单介绍一下这个任务,公众健康问句分类任务,主要是针对给出的与健康有关的中文问句,对问句的主题进行分类(共5000训练样本,3000测试样本,包含 6 个大类:A 诊断、B 治疗、C 解剖学/生理学、D 流行病学、E 健康生活方式、F 择医)。其中一个中文健康可以被归为多个主题类别,因此该任务是一个多标签分类的问题,评测指标是在6个类别上计算的F1 score。报名参赛的一共有400个队伍,共500人,最终取得了初赛第3,决赛第6的成绩(决赛成绩是取初赛成绩和决赛答辩成绩的平均分,也就是说初赛成绩不错,决赛阶段答辩的不理想导致名次跌了两名=。=)。

        这个任务的主要难点有以下几点:①多标签分类,这类问题的解决方案通常是建立多个二分类器,所以需要对不同类别的数据单独分析;②比赛允许采用外部数据进行训练,其他队伍中有一些成员具有医学背景,能够获取到更多优质的医疗类数据,而我们团队因为以前没有做过医疗领域的任务,所以并没有可靠的外部数据;③样本不平衡问题,数据集包含6 个大类,其中有两个类别的样本极不平衡,并且C类的训练集中正样本只有1个,只用模型来判断会导致recall等于0,严重影响F1 score。

        当时因为比赛时间比较紧,所以我们只针对③样本不平衡问题进行了一些尝试和探索。样本不平衡其实是一个真实落地场景下常见的问题,它的解决方案多种多样,而且需要不断试错,并没有哪种方法能一劳永逸解决样本不平衡问题,需要不断积累经验,所以以后如果有新的方法洛基也会记录下来。在这里洛基就把之前尝试的、以及现在学习到的一些关于样本不平衡问题的应对方案,记录如下。

1.过采样/欠采样:①欠采样通常适合样本总数较多但是分布不平衡的情况,尤其适合需要严格控制样本量级的应用场景;简单欠采样的缺点是会损失大量样本,对模型是一种损失,而之前洛基在一篇公众号文章上看到了“迭代预分类欠采样”——假设一共有k个(少量)正样本,大量负样本,首先采样k个负样本,与正样本组成训练集,训练一个分类器,然后去对剩余的负样本做预测,在预测错误的样本(不放回)采样k个样本,再加入原来的训练集,继续训练一个分类器,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值