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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 讯飞英文学术论文分类挑战赛数据集的分析,包括数据加载、缺失值检查、标签分布、文本长度统计等内容,并总结了数据的基本情况。

相关信息

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 pd

train = 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)

1.png


分别有四个属性,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

2.png


3.png

# 查看数据集中间有无空行
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')

4.png


大类别只有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'] = abstractlen1 x1 = 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'] = abstractlen2 x3 = 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

5.png

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

3 总结

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

目录
相关文章
|
11天前
|
机器学习/深度学习 存储 自然语言处理
NLP参数高效迁移学习:Adapter方法——论文简读
本研究深入探讨了自然语言处理中参数高效的迁移学习方法——Adapter。通过在预训练模型中引入小型可训练模块,仅调整少量额外参数即可完成模型适配。理论分析表明,该方法在初始化时保持网络行为稳定,并通过瓶颈结构大幅压缩参数规模。实验结果显示,Adapter在GLUE基准上仅用3.6%的参数便达到接近全微调的性能,且对学习率具有更强的鲁棒性。相比传统微调和其他参数高效方法,Adapter在多任务场景下展现出更优的存储效率与泛化能力,为大规模模型的实际部署提供了高效可行的解决方案。
65 7
|
6月前
|
SQL 人工智能 算法
TDengine 发布时序数据分析 AI 智能体 TDgpt,核心代码开源
2025 年 3 月 26 日,涛思数据通过线上直播形式正式发布了其新一代时序数据分析 AI 智能体——TDgpt,并同步开源其核心代码(GitHub 地址:https://github.com/taosdata/TDengine)。这一创新功能作为 TDengine 3.3.6.0 的重要组成部分,标志着时序数据库在原生集成 AI 能力方面迈出了关键一步。
383 0
|
4月前
|
数据采集 Web App开发 数据挖掘
飞桨x昇腾生态适配方案:07_性能数据分析
本文介绍了性能调优的全流程,包括分析、定位与优化。通过 profiling 工具采集算子级性能数据,定位计算与调度通信瓶颈。针对计算时间过长问题,可通过升级算子或提交工单解决;调度优化则关注重复编译,关闭在线编译或使用 aclnn 算子可提升效率。数据采集使用 paddlepaddle 的 profiler 工具,结合 msprof 解析生成的性能数据,重点分析 op_statistic_*.csv 和 op_summary_*.csv 文件,通过关键字段(如 Ratio、Total Time、Task Duration 和 Task Wait Time)量化性能瓶颈并实施优化策略。
163 10
|
6月前
|
人工智能 数据可视化 前端开发
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
819 2
|
9月前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
机器学习/深度学习 自然语言处理 PyTorch
【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案--6 提分方案
在讯飞英文学术论文分类挑战赛中的提分技巧和实现方法,包括数据增强、投票融合、伪标签等策略,以及加快模型训练的技巧,如混合精度训练和使用AdamW优化器等。
131 0
|
数据采集 机器学习/深度学习 存储
【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–5 Bert 方案
在讯飞英文学术论文分类挑战赛中使用BERT模型进行文本分类的方法,包括数据预处理、模型微调技巧、长文本处理策略以及通过不同模型和数据增强技术提高准确率的过程。
156 0
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
733 4
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
220 2
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
280 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析

热门文章

最新文章