零基础入门NLP之新闻文本分类
1.赛题目标
了解NLP从数据处理到建模,再到训练调参等等步骤的细节和关键点。
2.赛题任务
对新闻文本进行分类。
3.数据
此次数据为新闻文本数据,且数据在下载前已经进行了脱敏处理,这也是这次赛题的难点。总体来说,数据分为14类:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏和娱乐。
数据由训练集和测试集(A/B)构成,训练集包括20W条新闻数据,测试集A与测试集B分别包括5W条数据。有两个测试集是因为保证赛制变化后所有参赛选手的公平性。
4.初步读取数据后,可以发现各类新闻数据分布不平衡
可以看出,数据集类别分布不均匀,训练集中科技类新闻最多(近4W),其次是股票类新闻,最少是星座类新闻(不到1K)
数据集中标签的对应关系如下
{'科技': 0, '股票': 1, '体育': 2, '娱乐': 3, '时政': 4, '社会': 5, '教育': 6,
'财经': 7, '家具': 8, '游戏': 9, '房产': 10, '时尚': 11, '彩票': 12, '星座': 13}
根据这一情况,后期应该尝试通过欠采样或过采样,平衡各类数据的占比,增加模型的学习能力。
5.评价指标(f1_score)
f1_score指精确率和召回率的掉和平均数,最大为1,最小为0;其中,有几个指标需要掌握,以便于更好的理解这一评价指标的标准原理
f1_score:精确率和召回率的调和平均数,最大为1,最小为0
TP(True Positive) - 判断为本类,实际是本类;
TN(True Negative) - 判断为其他类,实际是其他类;
FP(False Positive) - 判断为本类,实际是其他类;
FN(False Negative) - 判断为其他类,实际是本类;
精准度/查准率:指被分类器判断为正例中正样本的比重
precision = TP / (TP + FP)
召回率/查全率:指被分类器判断为正例的正样本占总的正样本的比重
recall = TP / (TP + FN)
准确率:指分类器对整个样本判断是否正确的比重
accuracy = (TP + TN) / (TP + TN + FP + FN)
f1_score认为精准率和召回率一样重要
f1_score = (2 * precision * recall) / (precision + recall)
6.解题思路
由于数据脱敏,我们需要对匿名字符进行建模,进而完成文本分类。由于文本数据是一种典型的非结构化的数据,因此可能涉及到‘特征提取’和‘分类模型’两个部分。
在之后的打卡任务中,会尝试使用’TF-IDF+机器学习分类器’、‘FastText’、’ WordVec+深度学习分类器’、‘Bert词向量’这四个思路去提取特征并训练模型,在使用的过程中,通过验证各类方法在验证集上的f1_score和测试集上的得分表现,来对比各个方法思路的优劣。与此同时,掌握四种方法的基本原理和使用技巧以及应用场景。