DataWhale | 学术前言趋势分析 | Task4 论文种类分类
Task4 论文种类分类
- 任务说明
- 数据处理步骤
- 文本分类思路
- 具体代码实现以及讲解
- 导包
- 数据准备
- 数据处理
本文主要使用TF-IDF+机器学习分类器和FastText两种方法进行论文种类的分类,而WordVec+深度学习分类器和Bert词向量方法等放假了在来补作业。
最近工作太多了,dely了~
任务说明
- 学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类;
- 学习内容:使用论文标题完成类别分类;
- 学习成果:学会文本分类的基本方法、TF-IDF等;
数据处理步骤
在原始arxiv论文中论文都有对应的类别,而论文类别是作者填写的。在本次任务中我们可以借助论文的标题和摘要完成:
- 对论文标题和摘要进行处理;
- 对论文类别进行处理;
- 构建文本分类模型;
文本分类思路
- 思路1:TF-IDF+机器学习分类器
直接使用TF-IDF对文本提取特征,使用分类器进行分类,分类器的选择上可以使用SVM、LR、XGboost等
- 思路2:FastText
FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建分类器
- 思路3:WordVec+深度学习分类器
WordVec是进阶款的词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择TextCNN、TextRnn或者BiLSTM。
- 思路4:Bert词向量
Bert是高配款的词向量,具有强大的建模学习能力。
具体代码实现以及讲解
导包
from sklearn.preprocessing import MultiLabelBinarizer
import re #用于正则表达式,匹配字符串的模式
import requests #用于网络连接,发送网络请求,使用域名获取对应信息
import json #读取数据,我们的数据为json格式的
import pandas as pd #数据处理,数据分析
import matplotlib.pyplot as plt #画图工具
数据准备
def readArxivFile(path, columns=['id', 'submitter', 'authors', 'title', 'comments', 'journal-ref', 'doi','report-no', 'categories', 'license', 'abstract', 'versions','update_date', 'authors_parsed'], count=None):'''定义读取文件的函数path: 文件路径columns: 需要选择的列count: 读取行数'''data = []with open(path, 'r') as f: for idx, line in enumerate(f): if idx == count:breakd = json.loads(line)d = {col : d[col] for col in columns}data.append(d)data = pd.DataFrame(data)return datadata = readArxivFile('arxiv-metadata-oai-2019.json', ['id', 'title', 'categories', 'abstract'],200000)
数据处理
为了方便后期特征词匹配分类,将标题和摘要拼接。
data['text'] = data['title'] + data['abstract']data['text'] = data['text'].apply(lambda x: x.replace('\n',' '))
data['text'] = data['text'].apply(lambda x: x.lower())
data = data.drop(['abstract', 'title'], axis=1)
由于原始论文有可能有多个类别,所以也需要处理:
# 多个类别,包含子分类
data['categories'] = data['categories'].apply(lambda x : x.split(' '))# 单个类别,不包含子分类
data['categories_big'] = data['categories'].apply(lambda x : [xx.split('.')[0] for xx in x])
然后将类别进行编码,这里类别是多个,所以需要多编码:
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
data_label = mlb.fit_transform(data['categories_big'].iloc[:])
DataWhale | 学术前言趋势分析 | Task4 论文种类分类相关推荐
- 学习分享:学术前言趋势分析2—论文作者统计
文章目录 1.数据处理 2.字符串处理 3.具体代码 任务内容:论文作者的统计.使用 Pandas 读取数据并使用字符串操作: 任务成果:学习 Pandas 的字符串操作 1.数据处理 在原始arxi ...
- Task4 论文种类分类
任务说明 学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类: 学习内容:使用论文标题完成类别分类: 学习成果:学会文本分类的基本方法.TF-IDF等: 数据处理步骤 在原始a ...
- 学习分享:学术前言趋势分析1—论文数据统计
文章目录 1.数据集介绍 2.代码学习心得 (1) split()函数 (2) 正则表达式 (3) 数据分析及可视化 3.具体代码实现 学习主题:论文数量统计,统计2019年全年,计算机各个方向论文数 ...
- 学习分享:学术前言趋势分析3—论文代码统计
文章目录 1.数据处理步骤 2.正则表达式 3.具体代码实现 任务内容:使用正则表达式统计代码连接.页数和图表数据: 任务成果:学习正则表达式统计 1.数据处理步骤 在原始arxiv数据集中作者经常会 ...
- 论文种类分类Task4
Task4:论文种类分类 # 导入所需的package import seaborn as sns #用于画图 from bs4 import BeautifulSoup #用于爬取arxiv的数据 ...
- 论文数据分析-4(论文种类分类)
任务4:论文种类分类 这部分内容作者还没有完成,先放出来大家参考,作者会继续补充,不喜勿喷 4.1 任务说明 学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类: 学习内容:使 ...
- Datawhale组队学习21期_学术前沿趋势分析Task2_论文作者统计
任务说明 任务主题:论文作者统计,统计所有论文作者出现评率Top10的姓名: 任务内容:论文作者的统计.使用 Pandas 读取数据并使用字符串操作: 任务成果:学习 Pandas 的字符串操作: 数 ...
- 第四节:论文种类分类-学习笔记
任务说明 学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类: 学习内容:使用论文标题完成类别分类: 学习成果:学会文本分类的基本方法.TF-IDF等: 数据处理步骤 在原始a ...
- 数据分析---论文种类分类
目录 1.1.任务说明 1.2.数据处理步骤 1.3.文本分类思路 1.4.具体代码实现以及讲解 1.4.1.思路1 1.4.2.思路2 1.1.任务说明 学习主题:论文分类(数据建模任务),利用已有 ...
最新文章
- Go 语言调用 python2
- centos7镜像加速_使用阿里云容器镜像服务托管私有Docker镜像
- 【CVPR2019】Workshops 研讨会列表及链接
- 工作不能混日子,给自己留言
- eclipse get set 自动添加注释
- mysql 代码结构_MySQL代码执行结构
- ROS学习笔记1(配置ROS环境和创建工作空间)
- PowerVim - 强大的vim配置
- Cesium中的常用坐标及转换
- 【OEIS】Xor Sum AtCoder2272
- 7. 稀疏表示之OMP,SOMP算法及openCV实现
- eos java调用命名sql_普元 EOS Platform 7.6 开发命名SQL缓存示例
- 网络规划设计师考点总结
- 用“心”迎接情人节,用另一种形式表达爱意
- 实际记录vue3中使用rrweb以及rrweb-player组件实现网页录屏和回放功能,还有遇到的问题和解决思考
- 图文并茂的Python散点图教程
- 【记忆化搜索】UVA 10118 free candy
- H5网站-微信浏览器中打开底部fixed遮住内容区域问题
- 转:分享 OS X 10.7-10.11 最终版镜像,DMG 格式
- 医院信息系统的业务功能详解
热门文章
- python小游戏 消消乐小游戏设计与实现
- 盒子中装有3个红球,3个蓝球,4个黄球,从中抽取三次,每次抽一个球,取完不放回,则每种颜色球各得一个的概率是?
- 笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来
- vue中引入字体文件
- 测试岗/测试开发岗面经合集
- 新版华人与狗不能入内:昆明拟禁止无居住证者租房找工作,外国人除外[转载]...
- 360安全浏览器和360chrome 首页设置加密算法(逆向所得)
- 2022年IEEE Fellow名单正式公布,清华教授、阿里云李飞飞等73位华人上榜
- 关于调查问卷统计分析的见解
- 久等了!POW'ER 2020上海峰会首批75位参会嘉宾名单公布