项目简介:新闻摘要提取就是除去新闻中冗余的部分,只保留关键的语句。最近几年关于新闻摘要提取的相关算法发展迅速,本课程将通过两个实验来为大家介绍两个图区摘要的算法,并通过python语言完成英文新闻摘要的自动提取。

我们现在浏览新闻,一般都会看标题 ( title ) 和新闻简介 ( summary ) 来判断我们是否对这则新闻感兴趣。之前的新闻简介都是由编辑手动提取的,现在自然语言处理 (Natural Language Processing, NLP) 技术发展日益成熟,我们发现计算机提取的摘要也可圈可点。

实验一、“关键字”法完成新闻摘要提取

实验二、TextRank算法完成摘要提取

一、“关键字”法提取摘要实验简介

1.1 实验内容

主要完成一个相对简单的“关键字提取”算法,关注的是实现的过程,让同学们对自然语言处理有个大致的了解。

1.2 实验知识点Python基础知识

“关键字提取”算法

1.3 实验环境Xfce终端

python3

1.4 实验效果

原文标题: 'Middle age Health Crisis' Warning

这是我们的算法提取的摘要。"Modern life is dramatically different to even 30 years ago," Prof Gray told Radio 4's Today programme, "people now drive to work and sit at work."

"The How Are You Quiz will help anyone who wants to take a few minutes to take stock and find out quickly where they can take a little action to make a big difference to their health."

我们的算法为我们选出了最具代表性的两句句子。

二、实验过程

2.1 准备工作

我们这次实验都是在python3中进行。首先我们需要安装NLTK (Natural Language ToolKit) . 我们打开终端,在命令行中输入

sudo pip3 install nltk

然后进入python3的交互界面,在命令行中输入

python3

应该就有python的提示符出现。

请注意一定是要在python3环境下。

NLTK 是建设一个Python程序与人类语言数据工作平台。它提供了易于使用的接口,超过50的语料库和词汇资源,如WordNet,连同一套文本处理库的分类、标记、标注、句法分析、语义推理的NLP库,和一个活跃的论坛。

要注意的是我们这次使用的一些词汇资源并不在原生的 NLTK 库中,需要我们另行下载。

在python 交互环境中,我们输入如下的代码来下载我们本次实现需要的资源。

>>> import nltk

>>> nltk.download('stopwords')

>>> nltk.download('punkt')

如果download函数长时间不响应的话,按ctrl+z退出python3交互环境,重新下载。

之后我们在桌面上新建一个文件夹NewsSummary

mkdir NewsSummary

在NewsSummary中用vim创建NewsSummary1.py文件

先导入我们需要的包

from nltk.tokenize import sent_tokenize, word_tokenize

from nltk.corpus import stopwords

from collections import defaultdict

from string import punctuation

from heapq import nlargest

nltk.tokenize 是NLTK提供的分词工具包。所谓的分词 (tokenize) 实际就是把段落分成句子,把句子分成一个个单词的过程。我们导入的 sent_tokenize() 函数对应的是分段为句。 word_tokenize()函数对应的是分句为词。

stopwords 是一个列表,包含了英文中那些频繁出现的词,如am, is, are。

defaultdict 是一个带有默认值的字典容器。

puctuation 是一个列表,包含了英文中的标点和符号。

nlargest() 函数可以很快地求出一个容器中最大的n个数字。

至此我们完成了我们的准备工作。

2.2 思路解析

我们的基本思想很简单:拥有关键词最多的句子就是最重要的句子。我们把句子按照关键词数量的多少排序,取前n句,即可汇总成我们的摘要。

所以我们的工作可以分为如下步骤:给在文章中出现的单词按照算法计算出重要性

按照句子中单词的重要性算出句子的总分

按照句子的总分给文章中的每个句子排序

取出前n个句子作为摘要

我们就按照这这个思路写我们的模块。

2.3 实验步骤

主要实现步骤:

2.3.1 词频统计

2.3.2 获得摘要

2.3.3 运行程序

更多经典的编程练手项目:全部课程

微信关注公众号[实验楼],手机查看海量项目教程。

python英文文本分析和提取_Python实现英文新闻摘要自动提取相关推荐

  1. python英文文本分析和提取_python如何提取英语pdf内容并翻译

    本文实例为大家分享了python提取英语pdf内容并翻译的具体代码,供大家参考,具体内容如下 前期准备工作: 翻译接口: 调用的是百度翻译的api(注册后,每个月有2百万的免费翻译字符数.) pdfm ...

  2. python中文文本分析和提取_python str(使用python对txt文本进行分析和提取)

    python 文本文件数据处理 #/usr/bin/env python3 # -*- coding: utf-8 -*- def zhidao_560604345(infile, outfile): ...

  3. python英文文本分析和提取_英文文本挖掘预处理流程总结

    在中文文本挖掘预处理流程总结中,我们总结了中文文本挖掘的预处理流程,这里我们再对英文文本挖掘的预处理流程做一个总结. 1. 英文文本挖掘预处理特点 英文文本的预处理方法和中文的有部分区别.首先,英文文 ...

  4. python文本分析和提取_python文本分析和提取 Python 文本内容指定字段提取

    使用python对txt文本进行分析和提取 首先,打开计算机上的pycharm编辑器,如下图所示,然后进入下一步. 开学以后,小编没有碰过电脑,第一次,这就说明了开学是多么的可怕 其次,完成上述步骤后 ...

  5. 在会计研究中使用Python进行文本分析

    最近在google搜Python在经管中的内容,意外发现 专著:在会计研究中使用Python进行文本分析 ,内容特别新,专著中含有Python代码,也有会计领域文本分析的应用成果. 财会专业的科研人员 ...

  6. python进行文本分析

    python进行文本分析 Python 有许多强大的库和工具可以用于文本分析.下面是一个简单的文本分析流程,使用一些常见的 Python 库和工具: 读取文本数据:使用 Python 的内置函数 op ...

  7. Python:文本分析必备—搜狗词库

    全文阅读:Python:文本分析必备-搜狗词库| 连享会主页 目录 1. 引言 2. 词典的妙用 3. 搜狗词库的下载 3.1 抓取12个页面链接 3.2 爬取所有词库名称和下载链接 3.3 下载细胞 ...

  8. python 文本分析_使用Python进行文本分析–书评

    python 文本分析 This is a book review of Text Analytics with Python: A Practical Real-World Approach to ...

  9. Python Gensim文本分析——从文本预处理到TFIDF、LDA建模分析

    基于Gensim的Python的文本分析方法:TFIDF LDA 1.简介 2.中文文本预处理 3.Gensim文本挖掘 3.1 TFIDF文本分析 3.2 LDA文本分析 4.总结 1.简介 文本数 ...

  10. python英文文本词频统计代码_Python小程序:文本词频统计(英文+中文)

    在学习了组合数据类型和文件操作之后就可以做出下面的文本词频统计的小程序了: 1. 下面是英文文本的词频统计,统计了作者的一篇英文论文 #文本词频统计:英文文本 def gettext(): #从文件中 ...

最新文章

  1. 前端开发流程与组件化
  2. mysql 允许其他主机访问权限_允许其他主机访问本机MySQL
  3. 洛谷——P1177 【模板】快速排序
  4. Groovy中的任务的自定义属性设置
  5. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
  6. 2017.3.21 树网的核 思考记录
  7. delphi FastReport 安装方法
  8. 利用github协作开发步骤
  9. vue调用接口修改密码_vue开发前后端分离前端如何调用后端接口?
  10. poj 3256 Cow Picnic 优化深搜
  11. 测试过程中常用的linux命令之【删除指定的文件行】
  12. BFC详解【CSS面试题】
  13. 2010-2019年款北汽原厂维修手册电路图线路图资料下载
  14. 应用wps对证件照进行更改颜色,更换只需三步。
  15. 初学者须知 常见Web前端开发工具有哪些
  16. 给出某个时间段,要求以三十分钟为分割,统计出每三十分钟内数据的数量
  17. jsp mysql问卷调查_课内资源 - 基于JSP的在线调查问卷系统
  18. 电商网络推广是干什么,电商网络营销做什么
  19. java反射获取子类或者父类的属性值
  20. 华为和荣耀怎么区分,不止LOGO不同

热门文章

  1. ES6 filter 过滤数组 | 图片onload同步等待获取图片宽高
  2. 深圳哪个区最富,哪个区最穷?最新GDP排名出炉,没想到第二名是
  3. 802.1Q帧的格式 与 VLAN的类型
  4. 使用IEEE802.1Q VLAN实现单线复用之牛刀小试篇
  5. 具象的东西_学完就忘?掌握科学的记忆方法,你也能成为学习高手
  6. 如何在IGV上使用BLAT搜索非模式物种
  7. DateTime.ToString()的用法
  8. jquery提示sucess
  9. 电脑常用快捷键及组合键
  10. Python百日百行代码挑战-day7,游戏模块学习,tkinter