100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > NLP自然语言处理——文本分类之数据集汇总

NLP自然语言处理——文本分类之数据集汇总

时间:2024-02-09 06:22:48

相关推荐

NLP自然语言处理——文本分类之数据集汇总

文本分类数据集汇总

名词解释一、“达观杯”文本智能处理挑战赛数据集二、东方财富网上市公司公告数据集2.1 获取手段:python网络爬虫。具体方法和代码见我的另一篇博客。2.2 时间区间:——2.3 股票范围:沪深A股所有股票公告2.4 特征字段中文分词三、THUCTC中文分类数据集3.1 数据预先处理步骤及代码实现参考文献记录idea备忘录matplotlib 不能显示中文问题1、下载字体库2、查看matplotlib字体ttf文件目录3、将字体包解药到ttf文件目录中

名词解释

(1)脱敏处理:数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。

一、“达观杯”文本智能处理挑战赛数据集

“达观杯”文本智能处理挑战赛数据集包含了两个文件,分别是:train_set.csv和test_set.csv。两个文件的数据格式相同。具体格式如下:

每一行代表一篇文章。文章分别在“字”和“词”上做了脱敏处理。

第一列是文章的索引(id);

第二列是文章正文在“字”级别上的表示,即字符相隔正文(article);

第三列是文章正位在“词”级别上的表示,即词语相隔正文(word_seg);

第四列是文章的类别标签(class)。

数据读取与部分展示代码如下:

#一、读取达观杯竞赛数据import pandas as pddef read_DC_dataset(filename,index):dataset=pd.read_csv(filename,header=0,index_col=index)return dataset.head()print(read_DC_dataset('train_set.csv',index='id'))

运行结果如下:

article \id 0 7368 1252069 365865 755561 1044285 129532 1053... 1 581131 165432 7368 957317 1197553 570900 33659... 2 7368 87936 40494 490286 856005 641588 145611 1... 3 299237 760651 299237 887082 159592 556634 7489... 4 7368 7368 7368 865510 7368 396966 995243 37685... word_seg class id0 816903 597526 520477 1179558 1033823 758724 63...14 1 90540 816903 441039 816903 569138 816903 10343...3 2 816903 1012629 957974 1033823 328210 947200 65...12 3 563568 1239563 680125 780219 782805 1033823 19...13 4 816903 816903 816903 139132 816903 312320 1103...12

二、东方财富网上市公司公告数据集

概数据集是通过网络爬虫在东方财富网抓取的上市公司公告

2.1 获取手段:python网络爬虫。具体方法和代码见我的另一篇博客。

2.2 时间区间:——

2.3 股票范围:沪深A股所有股票公告

2.4 特征字段

包含股票代码(code)、股票名称(name)、公告标题(title)、公告链接(url)、公告日期(date)、小标签(label)、公告类别(class)、公共正文(content)

中文分词

三、THUCTC中文分类数据集

THUCNews数据集是根据新浪新闻RSS订阅频道~间的历史数据筛选过滤生成的。

其中包含了836075篇的新闻文档,数据格式为UTF-8纯文本格式。新闻文档分为14个类别,分别为:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐。不同类别的新闻文档以文本文件txt格式存储在以类别名称命名的文件夹中。为了便于读取数据,把文本文件和对应的类别标签以csv文件中的一行的形式存储在名为content.csv的文件中。

3.1 数据预先处理步骤及代码实现

1、解压THUCNews.zip

sudo unzip //THUCNews.zip -d 解压到的文件夹

2、读取新闻文件并写入到content.csv中

#读取新闻文档import pandas as pdimport numpy as npimport os#读取目录列表和生成目录from sklearn.model_selection import train_test_split#划分测试集训练集#获取所有文件路径和类别标签path_list=[]#存放所有路径的列表labels_list=os.listdir('/home/kobe26366/Jupyter_Notebook/thucnews/THUCNews')for label in labels_list:label_file=os.path.join('/home/kobe26366/Jupyter_Notebook/thucnews/THUCNews',label)for i in os.listdir(label_file):path_list.append((os.path.join(label_file,i),label))'''将新闻文档保存到一个文件中:每一篇新闻保存为一行;每一行有两列分别是新闻类容和类别'''def read_file(x):filename=x[0]label=x[1]with open(filename,'r',encoding='utf-8') as f:content=f.read().replace('\n', '').replace('\t', '').replace('\u3000', '')return content,labelprint(len(path_list))#输出#分多次保存,尝试过每次保存20000篇,但是失败了。a=[i for i in range(0,len(path_list),10000)]a.append(None)a=[(a[i],a[i+1]) for i in range(len(a)-1)]for i,j in a:data_matrix=np.array([read_file(path) for path in path_list[i:j]])data_matrix=pd.DataFrame(data_matrix,columns=['content','label'])data_matrix.to_csv('content.csv',mode='a',encoding='utf-8',header=False)

输出结果:

836075CPU times: user 1min 25s, sys: 3min 34s, total: 4min 59sWall time: 8min 27s

由于数据量很大只能多次分别保存数据,本文采用一次读写10000篇新闻,成功的将所有新闻保存到content.csv.我也尝试了一次保存20000篇新闻,结果内存溢出(memory out)。具体采用一次保存多少篇新闻取决于计算机内存的大小。content.csv部分内容如下:

contentlabel00马晓旭意外受伤让国奥警惕 无奈大雨格外青睐殷家军记者傅亚雨沈阳报道 来到沈阳,国奥队依然没有...体育1商瑞华首战复仇心切 中国玫瑰要用美国方式攻克瑞典多曼来了,瑞典来了,商瑞华首战求3分的信心也...体育2冠军球队迎新欢乐派对 黄旭获大奖张军赢下PK赛新浪体育讯12月27日晚,“冠军高尔夫球队迎新...体育3辽足签约危机引注册难关 高层威逼利诱合同笑里藏刀新浪体育讯2月24日,辽足爆发了集体拒签风波...体育4揭秘谢亚龙被带走:总局电话骗局 复制南杨轨迹体坛周报特约记者张锐北京报道 谢亚龙已经被公安...体育.........6070青绿山水下的垃圾堆(图)姚璐的作品,远看仿佛是青山绿水、诗情画意的水墨山水画,仔细一看,画中...财经6071上海博物馆特展:来自古印度的神佛世界文/吴慧雯 8月5日-11月15日,上海博物馆的“...财经6072永乐举办中国现当代艺术精选作品展新浪收藏讯 永乐拍卖在10月24日国际俱乐部饭店举...财经6073聚焦:邮市演绎解套行情从这些年邮市发展轨迹可以看出,中国邮市正在上演解套行情。从时间上看,2...财经6074澳门兔年邮票1月5日登场1月5日,中国澳门邮政将发行《兔年》生肖邮票,与祖国内地发...财经836075 rows × 2 columns

个类别包含的样本数如下:

科技 162929股票 154398体育 131604娱乐92632时政63086社会50849教育41936财经37098家居32586游戏24373房产0时尚13368彩票7588星座3578Name: label, dtype: int64

3、划分训练集和测试集

首先,把样本的顺序打乱,然后将其中的20%作为测试集,剩下的80%作为训练集。并且在划分时保证不同类别的样本比例基本一致。最后,将训练集和测试集分别存入名为train.csv和test.csv的文件中。

代码如下:

import pandas as pddata_matrix=pd.read_csv('content.csv',header=None,index_col=0)data_matrix.columns=['content','label']from sklearn.model_selection import train_test_splitimport numpy as npimport pandas as pdX_train,X_test,y_train,y_test=train_test_split(data_matrix.loc[:,'content'],data_matrix.loc[:,'label'],test_size=0.2,random_state=26366,shuffle=True,stratify=data_matrix.loc[:,'label'])train_df=pd.DataFrame(np.array([X_train,y_train]).T,columns=['content','label'])test_df=pd.DataFrame(np.array([X_test,y_test]).T,columns=['content','label'])train_df.to_csv('train.csv',mode='w',encoding='utf-8')test_df.to_csv('test.csv',mode='w',encoding='utf-8')

参考文献

1、百度百科:数据脱敏

2、THUCTC中文分类数据集

3、python路径拼接os.path.join()函数的用法

4、python文件读read()、readline()、readlines()对比

5、字体包下载地址

6、/qq_15111861/article/details/84144154

记录idea

公告标题对公告内容的表达能力很强。

正文内容相对标题是否对公告内容有更强的表达能力?

备忘录

AINLP公众号中有一篇专门讲解THUCTC中文分类数据集

关键词:文本分类

将不同模型运用到相同的数据集上以得到不同模型在该数据集上的表现,即验证模型的优越性;

将相同模型运用到不同的数据集上以得到统一模型在不同数据集上的表现,即验证模型普适性。

重点讲解东方财富网公告数据,其他几个数据集仅作结果展示和对比分析。

matplotlib 不能显示中文问题

1、下载字体库

下载simhei.ttf字体包。

2、查看matplotlib字体ttf文件目录

使用如下代码查看:

import matplotlibprint(matplotlib.matplotlib_fname())

运行结果如下:

~/anaconda3/envs/python37/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

ttf文件夹就在matplotlibrc文件的同级文件夹中。

3、将字体包解药到ttf文件目录中

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。