nano- 康一帅
简介
环境
Tensorflow
== 1.14.0Keras
== 2.3.1bert4keras
== 0.8.4
文件说明
EDA
:用于探索性数据分析。data_utils
:用于预训练语料的构建。pretraining
:用于Bert的预训练。train
:用于新闻文本分类模型的训练。pred
:用于新闻文本分类模型的预测。
其他
- 数据集:下载地址(z8vl)
- 预训练语料:下载地址(72ml)
- 预训练模型:下载地址(32b6)
- 代码开源地址:GitHub(欢迎大家star)
赛题分析
赛题背景
通过这道赛题可以引导大家走入自然语言处理的世界,带大家接触NLP的预处理、模型构建和模型训练等知识点。
任务目标
要求选手根据新闻文本字符对新闻的类别进行分类,这是一个经典文本分类问题。
数据示例
文本长度
- 训练集共200,000条新闻,每条新闻平均907个字符,最短的句子长度为2,最长的句子长度为57921,其中75%以下的数据长度在1131以下。
- 测试集共50,000条新闻,每条新闻平均909个字符,最短句子长度为14,最长句子41861,75%以下的数据长度在1133以下。
- 训练集和测试集就长度来说似乎是同一分布。
标签分布
- 赛题的数据集类别分布存在较为不均匀的情况。在训练集中科技类新闻最多,其次是股票类新闻,最少的新闻是星座新闻。
总体思路
数据划分
- 使用StratifiedKFold交叉验证。StratifiedKFold能够确保抽样后的训练集和验证集的样本分类比例和原原始数据集基本一致。
- 利用全部数据,获得更多信息。
- 降低方差,提高模型性能。