Python练手小程序—从摘要中提取关键词

本文介绍了一个Python练手项目,旨在从NIPS论文的摘要中提取关键词。通过数据导入、文本探索、预处理(包括单词标准化和停用词移除),以及使用TF-IDF方法,提取摘要中的高分关键词。
摘要由CSDN通过智能技术生成

在GitHub上发现一些很有意思的项目,由于本人作为Python的初学者,编程代码能力相对薄弱,为了加强Python的学习,特此利用前辈们的学习知识成果,自己去亲自实现。

来源:GitHub
Python练手小程序项目地址:https://github.com/Show-Me-the-Code/python
写作日期:2019.12.14

今天练习第0006题,题目如下:
在这里插入图片描述
这个题目,打算改变一下数据集,我打算利用kaggle上的NIPS-Papers的paper.csv文件,找出每个英文摘要中最重要的词,也就是所谓的提取关键词。
在这里插入图片描述
下面通过文本处理的几个步骤一一展开:

  • 1、导入数据集

    首先数据集paper.csv文件,我们主要分析摘要这个字段,在分析过程中其他字段先不处理。

# 利用pandas加载数据集
import pandas as pd
dataset = pd.read_csv('nips-papers/papers.csv')
# 查看数据集
dataset.head(5)

在这里插入图片描述

  • 2、文本探索

    在进行预处理之前,我们先根据每个摘要的字数,快速浏览一下整体摘要的情况,主要看下摘要的平均字数,总摘要数,以及摘要的最小字数和最大字数等信息。

# 对每个文章摘要计算字数
dataset['word_count'] = dataset['abstract'].apply(lambda x: len(str(x).split()))
# 查看下部分数据
dataset[['abstract', 'word_count']].head(5)
# 统计摘要字数分布情况
dataset['word_count'].describe()

在这里插入图片描述
可以看出一共有7241篇摘要,每个摘要平均字数是80.5,摘要字数范围从最小值2到最大值313.

下面我们看下最常见和最不常见的单词

# ' '.join(dataset['abstract']) 这个动作是先把所有摘要都拼接在一起
freq = pd.Series(' '.join(dataset['abstract']).split()).value_counts()
# 查看摘要中最常见的单词
print(freq[:30])
# 查看摘要中最不常见的单词
print(freq[-30:])
  • 3、文本预处理

    • 1)单词标准化处理,用到nltk,pip install nltk

      这里的标准化,指的通过删除后缀来归一化文本,比如learn, learned, learning, learner,归一化这些转换为单个标准化版本:learn

    • 2)删除停用词处理

    • 3&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值