目录

  • 相关信息
  • 1 赛题
  • 2 数据分析
    • 2.1 加载数据
    • 2.2 查看缺失值
    • 2.3 标签分布
    • 2.4 文本长度
    • 2.5 标题摘要合并后字符长度
  • 3 总结

相关信息

  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–1 赛后总结与分析
  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–2 数据分析
  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–3 TextCNN Fasttext 方案
  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–4 机器学习LGB 方案
  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–5 Bert 方案
  • 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–6 提分方案

1 赛题

比赛官网

  1. 本次赛题希望参赛选手利用论文信息:论文id、标题、摘要,划分论文具体类别。
    赛题样例(使用\t分隔):
    paperid:9821
    title:Calculation of prompt diphoton production cross sections at Tevatron and LHC energies
    abstract:A fully differential calculation in perturbative quantum chromodynamics is presented for the production of massive photon pairs at hadron colliders. All next-to-leading order perturbative contributions from quark-antiquark, gluon-(anti)quark, and gluon-gluon subprocesses are included, as well as all-orders resummation of initial-state gluon radiation valid at next-to-next-to-leading logarithmic accuracy.
    categories:hep-ph
  2. 评估指标
    本次竞赛的评价标准采用准确率指标,最高分为1。计算方法参考https://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy_score.html, 评估代码参考
from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred)

2 数据分析

github代码下载

2.1 加载数据

import re
import numpy as np
import pandas as pdtrain = pd.read_csv('./data/train.csv', sep='\t')
test = pd.read_csv('./data/test.csv', sep='\t')
sub = pd.read_csv('./data/sample_submit.csv')
# 查看前5行数据
train.head(5)


分别有四个属性,paperid、titile、abstract、categories

# 数据大小
train.shape,test.shape,sub.shape
#((50000, 4), (10000, 3), (10000, 2))

2.2 查看缺失值

# 查看训练集缺失值
train.isnull().sum()
# 查看测试集缺失值
test.isnull().sum()
# 查看训练集数据信息
train.info()
# 查看测试集数据信息
test.info()

paperid 0
title 0
abstract 0
categories 0
dtype: int64

paperid 0
title 0
abstract 0
dtype: int64

# 查看数据集中间有无空行
print("train null nums")
print(train.shape[0]-train.count())
print("test null nums")
print(test.shape[0]-test.count())

无缺失值,无空行,训练集有5W行,测试集有1W行

2.3 标签分布

train['categories'].value_counts()
# # 标签类别数 39
len(train['categories'].value_counts())# 绘制直方图
sns.countplot(train.categories)
plt.xlabel('categories count')


大类别只有CS一种,子类别有39类。数据分布不均衡

2.4 文本长度

# 训练集
titlelen1 = []
abstractlen1 = []for i in range(len(train)):titletext = train['title'][i]abstracttext = train['abstract'][i]titlelen1.append(len(tokenizer.tokenize(titletext)))abstractlen1.append(len(tokenizer.tokenize(abstracttext)))
train['titlelen'] = titlelen1
train['abstractlen'] = abstractlen1x1 = train['titlelen'].describe()
x2 = train['abstractlen'].describe()# 测试集
titlelen2 = []
abstractlen2 = []for i in range(len(test)):titletext = test['title'][i]abstracttext = test['abstract'][i]titlelen2.append(len(tokenizer.tokenize(titletext)))abstractlen2.append(len(tokenizer.tokenize(abstracttext)))
test['titlelen'] = titlelen2
test['abstractlen'] = abstractlen2x3 = test['titlelen'].describe()
x4 = test['abstractlen'].describe()

训练集

count 50000.00000
mean 10.60276
std 4.06394
min 1.00000
25% 8.00000
50% 10.00000
75% 13.00000
max 44.00000
Name: titlelen, dtype: float64

测试集

count 50000.00000
mean 186.88670
std 71.31268
min 5.00000
25% 137.00000
50% 182.00000
75% 231.00000
max 629.00000
Name: abstractlen, dtype: float64

训练集标题平均10个单词,摘要平均186个单词
测试集标题平均10个单词,测试集摘要平均186个单词

2.5 标题摘要合并后字符长度

train['text_len']=train['text'].map(len)
test['text_len']=test['text'].map(len)
train['text'].map(len).describe()test['text'].map(len).describe()
# 绘制句子长度分布图
train['text_len'].plot(kind='kde')
test['text_len'].plot(kind='kde')

count 50000.00000
mean 1131.28478
std 387.14365
min 69.00000
25% 860.00000
50% 1117.00000
75% 1393.00000
max 3713.00000
Name: text, dtype: float64

count 10000.000000
mean 1127.097700
std 388.662603
min 74.000000
25% 855.750000
50% 1111.000000
75% 1385.250000
max 3501.000000
Name: text, dtype: float64

每个样本文本单词长度200左右,字符平均长度1000左右。理论上单词数小于200的成为短文本,这里可以当成短文本去处理,高于200的进行截断。
对比两张图,训练集和测试集长度分布一致。

3 总结

(1)数据可视为短文本数据
(2)赛题属于多分类单标签问题,39类,类别分布不均衡,数据为英文文本
(3)文本有title和abstract两部分,平均长度为10和185
(4)数据量较小,只有5W
(5)训练集测试集数据分布一致
(6)赛题奖金太少,但学习作用很大

【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案--2 数据分析相关推荐

  1. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案--1 赛后总结与分析

    目录 1 相关信息 2 总结 2.1 TextCNN.Fasttext等DL方案 2.2 机器学习LGB方案 2.3 Bert方案 3 继续提分点 1 相关信息 [NLP]讯飞英文学术论文分类挑战赛T ...

  2. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–5 Bert 方案

    目录 1 相关信息 2 引言 3 实现 3.1 数据预处理 3.2 Bert 4 提分点技巧讲解 5 未来展望 1 相关信息 [NLP]讯飞英文学术论文分类挑战赛Top10开源多方案–1 赛后总结与分 ...

  3. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–4 机器学习LGB 方案

    1 相关信息 [NLP]讯飞英文学术论文分类挑战赛Top10开源多方案–1 赛后总结与分析 [NLP]讯飞英文学术论文分类挑战赛Top10开源多方案–2 数据分析 [NLP]讯飞英文学术论文分类挑战赛 ...

  4. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案--6 提分方案

    目录 1 相关信息 2 引言 3 提分技巧及实现 3.1 数据增强 3.2 投票融合 3.2 伪标签 4 加快训练 4.1 混合精度训练 4.2 加速训练的其他技巧 4.2.1 有用到的加速策略 4. ...

  5. 有哪些可助力英文学术论文写作的在线网站、工具或软件?

    说到英文学术论文写作,相信小伙伴们都有同样的困惑:不是难以下手就是好不容易憋出了万字长文,回过头来一看语法漏洞百出,真的很让人头疼!即使是科研大神也会有这样的烦恼.读了万卷文献,依旧Chinglish ...

  6. 英文学术论文写作——模式识别方向(笔记)

    文章目录 文章结构 英文写作tips Latex小技巧 英文学术论文写作经验几乎为0,在老师和师兄们的帮助下,学习到了如何撰写文章.仅限于模式识别方向的. 文章结构 文章除去abstract,ackn ...

  7. 讯飞-糖尿病遗传风险检测挑战赛

    讯飞-糖尿病遗传风险检测挑战赛 前言 相关库 一.比赛报名 1.1 赛事任务 1.2 读取数据 训练数据集 测试数据集 1.3 数据集基本信息 数据集维度 数据表基本信息 二.比赛数据分析 2.1 缺 ...

  8. 给出广义随机petri网在可靠性方面应用的英文学术论文

    在可靠性方面应用广义随机Petri网的英文学术论文有很多.您可以在Google Scholar或者IEEE Xplore等学术搜索引擎上搜索关于"generalized Stochastic ...

  9. 英文学术论文review的回复

    因为之前投稿的文章有了review,所以记录一下回复review的细节. 英文学术论文投稿后,期刊编辑人员会对文章进行审核(论文格式,论文领域等),再将文章送至领域专家进行专业性审核.审核结束后,期刊 ...

最新文章

  1. vue编写messageBox,使用函数调用
  2. 麦当劳员工称缺乏归属感 长期重复劳动像个机器
  3. 虚拟机IP桥接与.net
  4. 宝石光是什么石头_沙漠戈壁的漂亮“石头”让人见了流口水
  5. 10元一瓶的普通白酒和2000元一瓶的茅台酒有什么区别?
  6. Java多线程间的数据共享
  7. 存储过程循环遍历一个月的每一天的函数_3.3 循环
  8. 49. 模型层 --- dao 层
  9. Classic Shell:找回 Windows 8 / Windows Server 2012 的经典的开始按钮和开始菜单
  10. 安迪·格鲁夫: 一个PC时代的大写符号
  11. 解决私有仓库 git 没有权限的问题
  12. HTML+CSS 基础 之页签
  13. 深度学习的趣味app简单优化(适合新手)
  14. javascript中 $和#符号的意思
  15. 【连载】第三章刚体的定轴转动第三节——定轴转动刚体的角动量守恒定律
  16. 毕业于清华的90后学霸,即将加入MIT任助理教授
  17. buuctf web [GXYCTF2019]Ping Ping Ping(呜呜呜做个题都要被骂)
  18. 凯撒密码加密、解密、暴力破解(C语言实现)
  19. UI设计职业发展方向有哪些 该怎么从事UI行业
  20. 《计算机组成原理》重点

热门文章

  1. rabbitmq安装包部署erlang环境安装
  2. C语言#pragma使用
  3. TF-IFD算法及python实现关键字提取
  4. matlab 拟合成指数函数,matlab中用nlinfit拟合指数函数f=a*exp(b*x)+c*exp(d*x)
  5. 关于拒绝服务攻击 DOS攻击
  6. C++实现---学生选课系统
  7. vue页面滚动加载、页面懒加载
  8. 02 基本概念以及发展历程
  9. 康复训练的未来:VR和元宇宙如何帮助患者康复
  10. 简要解析Java中的throw和throws关键字