目录

  • 相关信息
  • 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. mac环境下安装Gradle及配置
  2. Ubuntu 调节屏幕亮度
  3. 正则只能输入数字,一个小数点,第一位不能为小数点,保留两位小数,为正数,比较全的正则...
  4. IM设计思考:XMPP多用户文本聊天协议(MUC:Multi User Chat)
  5. assm的结构_Oracle ASSM三级位图块结构
  6. 如何自行找出 SAP Spartacus 查询用户信息的 API Service 类
  7. 电商网站商品图片放大镜实现
  8. CAM350自动开短路检查教程
  9. 三码合一方法 制作QQ、微信、支付宝收款码合一
  10. 数据分析报告怎么写?这5个步骤你必须了解
  11. nebula graph调研
  12. WORD 表格中图片显示不出来?
  13. 一语道破 到底什么是知识产权?
  14. tiktok英国小店注册流程介绍
  15. Gif录制神器GifCam
  16. 仿小米视频下滑视频动画效果
  17. Android 记账软件
  18. android Zxing二维码之读取手机二维码图片
  19. OJ每日一练——小青蛙上台阶
  20. 英语diamaund钻石diamaund单词

热门文章

  1. 基于层次分析模型的工作选择问题的研究
  2. android sutdio版本号,电脑中Android studio版本号如何查看_电脑中查看Android studio版本号的步骤-系统城...
  3. Hibernate Annotation的 *ToOne默认的FetchType是EAGER的
  4. 使用生成式模型来改进旅游产品和服务的生成质量 GANs for Travel:A Review of Generative Recommendations
  5. 开启合同签署新方式!百度超级链推出区块链智能签约服务
  6. matlab工作方向,matlab的应用方向有哪些?
  7. python数据框计算值相加变合并,解决方法。
  8. 单纯形法解下列线性规划问题_用单纯形法求解下列线性规划问题 线性规划单纯形法教学策略探求...
  9. 基于Echarts实现可视化数据大屏董事会指标体系层级结构系统
  10. 帧中继frame-relay