©作者 | Doreen
现在kaggle学生写作评估赛举办得如火如荼,下面我们来试试如何3行代码上榜kaggle。
01 比赛题目背景
写作是成功的关键技能。但是,根据国家教育进步评估,只有 不到三分之一的高中生是熟练的作家。
在这次kaggle比赛中,将识别学生写作中的元素 。其中,需要自动分割文本并对6至12年级学生的议论文中的议论和修辞元素进行分类 。
在该kaggle句子分类baseline中,我们可以提出2个想法,一个是对句子进行分类,另一个是对句子中的文字进行序列化标注,本文是使用文本分类的方式来快速验证,使用ernie和bert模型进行文本分类。
02 数据探索性分析
-
比赛一共有7个类别,348053条训练数据
-
对文本字数统计分析
通过上图可见字数长度范围为0< 字符串长度 < 3500,字数统计量最多的集中在0到500之间,对此我们要开始注意一个点,bert分类模型支持最大的字符串长度是512,一旦超过该长度,后面的字符就会被截断。
-
对文本存在空值进行分析
TRAIN_PATH = "../input/feedback-prize-2021/train"
train_df=pd.read_csv(TRAIN_CSV, dtype={'discourse_id': int, 'discourse_start': int, 'discourse_end': int,'discourse_type':str})
train_df.isnull().sum()
id 0
discourse_id 0
discourse_start 0
discourse_end 0
discourse_text 0
discourse_type 0
discourse_type_num 0
predictionstring 0
dtype: int64
可见数据不存在空值
● 标签的平均开始和结束的绝对位置
data = train_df.groupby("discourse_type")[['discourse_end', 'discourse_start']].mean().reset_index().sort_value