赛题解读

赛题解读


赛题数据

赛题链接

赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。

赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,我们将比赛数据的文本按照字符级别进行了匿名处理。处理后的赛题训练数据如下:

label text
6 57 44 66 56 2 3 3 37 5 41 9 57 44 47 45 33 13 63 58 31 17 47 0 1 1 69 26 60 62 15 21 12 49 18 38 20 50 23 57 44 45 33 25 28 47 22 52 35 30 14 24 69 54 7 48 19 11 51 16 43 26 34 53 27 64 8 4 42 36 46 65 69 29 39 15 37 57 44 45 33 69 54 7 25 40 35 30 66 56 47 55 69 61 10 60 42 36 46 65 37 5 41 32 67 6 59 47 0 1 1 68

在数据集中标签的对应的关系如下:

{'科技': 0, '股票': 1, '体育': 2, '娱乐': 3, '时政': 4, '社会': 5, '教育': 6, '财经': 7, '家居': 8, '游戏': 9, '房产': 10, '时尚': 11, '彩票': 12, '星座': 13}

数据列使用\t进行分割,Pandas读取数据的代码如下:

train_df = pd.read_csv('../input/train_set.csv', sep='\t')

测评标准

评价标准为类别f1_score的均值,选手提交结果与实际测试集的类别进行对比,结果越大越好。

计算公式:
F 1 = 2 ∗ ( p r e c i s i o n ∗ r e c a l l ) ( p r e c i s i o n ∗ r e c a l l ) F1 = 2 * \frac{(precision∗recall)}{(precision∗recall)} F1=2(precisionrecall)(precisionrecall)

Remark:

  • TP:预测为Positive并且对了(样本为正类且预测为正类)
  • TN:预测为Negative并且对了(样本为负类且预测为负类)
  • FP:预测为Positive但错了(样本为负类但预测为正类)
  • FN:预测为Negative但错了(样本为正类但预测为负类)
  • TP + FP:预测为Positive并且对了 + 预测为Positive但错了 = 预测为Positive的样本总数
  • TP + FN:预测为Positive并且对了 + 预测为Negative但错了 = 实际为Positive的样本总数

p r e c i s i o n = T P T P + F P precision = \frac{TP}{TP+FP} precision=TP+FPTP

r e c a l l = T P T P + F N recall = \frac{TP}{TP+FN} recall=TP+FNTP

  • Macro F1: 将n分类的评价拆成n个二分类的评价,计算每个二分类的F1 score,n个F1 score的平均值即为Macro F1
  • Micro F1: 将n分类的评价拆成n个二分类的评价,将n个二分类评价的TP、FP、RN对应相加,计算评价precision和recall,由这2个precision和recall计算的F1 score即为Micro F1

解题思路

  • 思路1:TF- IDE + 机器学习分类

    直接使用TF-IDE对文本特征提取,并使用分类器进行分类。在分类器的选择上,可以使用SVM、LR或XGBoost

  • 思路2:FsatText

    利用FastText可以快速构建出分类器

  • 思路3:WordVec + 深度学习分类器

    利用WordVec和深度学习分类完成分类,深度学习的网络可以选择TextCNN、TextRNN或BiLSTM

  • 思路4:Bert词向量

你可能感兴趣的:(NLP学习,机器学习,大数据)