NLP学习 2

Task2 数据读取与数据分析[¶]

本章主要内容为数据读取和数据分析,具体使用Pandas库完成数据读取操作,并对赛题数据进行分析构成。

学习目标

  • 学习使用Pandas读取赛题数据
  • 分析赛题数据的分布规律

导入必要库

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']

这里设置plt的字体显示

读取数据

train_df = pd.read_csv('../Data/train_set.csv', sep='\t')

csv数据的读取,可以看一下数据的基本信息和情况


数据举例.png
数据信息.png

数据分析

在读取完成数据集后,我们还可以对数据集进行数据分析的操作。虽然对于非结构数据并不需要做很多的数据分析,但通过数据分析还是可以找出一些规律的。

此步骤我们读取了所有的训练集数据,在此我们通过数据分析希望得出以下结论:

  • 赛题数据中,新闻文本的长度是多少?
  • 赛题数据的类别分布是怎么样的,哪些类别比较多?
  • 赛题数据中,字符分布是怎么样的?

句子长度分析

在赛题数据中每行句子的字符使用空格进行隔开,所以可以直接统计单词的个数来得到每个句子的长度。统计并如下:


文本长度统计信息.png

文本长度分布信息(竖轴显示取log)


文本长度分布信息 .png

新闻类别分布

接下来可以对数据集的类别进行分布统计,具体统计每类新闻的样本个数


样本分布.png

字符分布统计

接下来可以统计每个字符出现的次数,首先可以将训练集中所有的句子进行拼接进而划分为字符,并统计每个字符的个数。

词频.png

高频词语,低频词语

本章作业

  1. 假设字符3750,字符900和字符648是句子的标点符号,请分析赛题每篇新闻平均由多少个句子构成?
  2. 统计每类新闻中出现次数对多的字符

Solution

  1. python 自带的split不能多条件分割,这里使用re模块完成。


    分句统计信息.png
  2. 这里我选取了前五频繁的字词。我们可以发现3750,648,900几乎在各类别中均是高频词语,几乎可以确定为标点。



    结果.png

你可能感兴趣的:(NLP学习 2)