Python编程:使用textrank4zh、jieba、snownlp提取中文文章关键字和摘要

简介: Python编程:使用textrank4zh、jieba、snownlp提取中文文章关键字和摘要

使用的库

1、textrank4zh

https://github.com/letiantian/TextRank4ZH

pip install textrank4zh==0.3

2、jieba

https://github.com/fxsjy/jieba

pip install jieba==0.39

3、snownlp

https://github.com/isnowfy/snownlp

pip install snownlp==0.12.3

新闻文章

实验所用的 新闻文章源地址

《又一颗星星被冠以中国科学家名字》

https://tech.sina.com.cn/d/s/2019-04-22/doc-ihvhiewr7526716.shtml

text = """
来源:中国科学报
  本报讯(记者肖洁)又有一位中国科学家喜获小行星命名殊荣!
4月19日下午,中国科学院国家天文台在京举行“周又元星”颁授仪式,
我国天文学家、中国科学院院士周又元的弟子与后辈在欢声笑语中济济一堂。
国家天文台党委书记、副台长赵刚在致辞一开始更是送上白居易的诗句:“令公桃李满天下,何须堂前更种花。”
  据介绍,这颗小行星由国家天文台施密特CCD小行星项目组于1997年9月26日发现于兴隆观测站,
获得国际永久编号第120730号。2018年9月25日,经国家天文台申报,
国际天文学联合会小天体联合会小天体命名委员会批准,国际天文学联合会《小行星通报》通知国际社会,
正式将该小行星命名为“周又元星”。
  赵刚介绍说,选择这个编号的小行星,正是为了契合周又元先生的生日:7月30日。
  这颗小行星的发现者团队代表、中科院院士陈建生与中国科学院大学副校长、中科院院士吴岳良一起,
分别向周又元颁授了小行星命名公报、命名证书和轨道运行图。
  浩瀚宇宙中,又多了一颗以中国科学家名字命名的星星。
  小行星是目前各类天体中唯一可以由发现者命名并得到国际公认的天体,体现着发现者的意愿、推崇或纪念。
由于小行星命名的严肃性、唯一性和永久不可更改性,使得能够获得小行星命名,成为世界公认的一项殊荣和褒奖。
  周又元现为中国科学院大学荣誉讲席教授,曾任中科院国家天文台研究员、中国科学技术大学和北京大学教授,
在类星体和活动星系核及宇宙学和宇宙大尺度结构等研究领域做出了突出贡献。
  “周院士是我国天文学家的杰出代表,不仅科研成果丰硕,还一直奋战于教育教学的第一线,教龄长达50余年,
可谓是桃李满天下,现在仍是我校荣誉讲席教授。”中国科学院大学副校长吴岳良表示,“我们希望全校教师向周院士学习,
教书育人、率先垂范,为建设国际一流大学而努力奋斗。”
  在颁授仪式上,身形颀长清瘦、已经八十高龄的周又元先生微笑着走上台,作了极为简短的发言,
他在发言中没有谈自己,只是对工作过的学校和集体表示了感谢,感谢它们提供给自己“舒畅、自由、充满信任”的工作环境。
  颁授仪式结束后,周又元昔日的弟子以及现场众多国科大研究生排着队,争相与他合影留念,
让这位科学家感受了一次“明星”的待遇。
  《中国科学报》记者希望周先生以自己的经历给后辈赠言,周先生思索片刻浅笑着仅仅说了短短几句:“我已经80岁了,
仍然一直提醒自己要做好人,做好事。从小,我母亲就这样教育我。”
  国家天文台的工作人员告诉记者,对于“惜字如金”这件事,周先生解释过,自己教学的年头太久了,
感觉话都对学生们说完了,因此晚年都不爱说话了。
  中科院院士、中科院云南天文台研究员韩占文此次专程乘飞机赶到北京见证恩师的荣耀时刻。
曾经做过周又元博士后的他告诉《中国科学报》:“周先生对学生特别好。我到学校的第一天,他就去学生宿舍看我,令我感动。
我和他的研究方向本来不一样,在他的指导下,我的研究视野变得开阔,突然进入了另外一个领域。
在周老师身边这几年,是我学术生涯中最重要的时期。”
  中科院高能物理研究所研究员王建民1992年到1995年曾跟随周又元念博士。
“1995年6月16日,是我博士论文答辩的日子。答辩现场,陆埮先生向我提问,周先生就主动替我解答那些我回答不了的问题。
当时两位先生对于理论的探讨如切如磋如琢如磨,至今想来是我一辈子的荣幸。”王建民感叹道。他细数周又元培育过的众多弟子,
并将郑板桥的一句诗献给老师:“新竹高于旧竹枝,全凭老干为扶持。”
"""

1、使用 textrank4zh

from textrank4zh import TextRank4Keyword, TextRank4Sentence
import jieba
import logging
# 取消jieba 的日志输出
jieba.setLogLevel(logging.INFO)
def get_key_words(text, num=5):
    """提取关键词"""
    tr4w = TextRank4Keyword()
    tr4w.analyze(text, lower=True)
    key_words = tr4w.get_keywords(num)
    return [item.word for item in key_words]
# 命名 小行星 周先生 天文台 国际
def get_summary(text, num=3):
    """提取摘要"""
    tr4s = TextRank4Sentence()
    tr4s.analyze(text=text, lower=True, source='all_filters')
    return [item.sentence for item in tr4s.get_key_sentences(num)]
# 周又元现为中国科学院大学荣誉讲席教授,曾任中科院国家天文台研究员、中国科学技术大学和北京大学教授,在类星体和活动星系核及宇宙学和宇宙大尺度结构等研究领域做出了突出贡献
# 这颗小行星的发现者团队代表、中科院院士陈建生与中国科学院大学副校长、中科院院士吴岳良一起,分别向周又元颁授了小行星命名公报、命名证书和轨道运行图
# 4月19日下午,中国科学院国家天文台在京举行“周又元星”颁授仪式,我国天文学家、中国科学院院士周又元的弟子与后辈在欢声笑语中济济一堂

2、使用jieba

import jieba.analyse
# 基于 TF-IDF 算法的关键词抽取
tags = jieba.analyse.extract_tags(text, topK=5)
print(",".join(tags))
# 小行星,命名,天文台,中科院,周先生
# 基于 TextRank 算法的关键词抽取
tags = jieba.analyse.textrank(text, topK=5)
print(",".join(tags))
# 小行星,命名,中国,是,院士

2、使用snownlp

from snownlp import SnowNLP
s = SnowNLP(text)
print(s.keywords(3))
# ['周', '中国', '行星']
# TextRank算法
print(s.summary(3))
# ['中国科学院国家天文台在京举行“周又元星”颁授仪式',
# '小行星是目前各类天体中唯一可以由发现者命名并得到国际公认的天体',
# '我国天文学家、中国科学院院士周又元的弟子与后辈在欢声笑语中济济一堂']
相关文章
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
319 1
|
3月前
|
缓存 供应链 监控
1688item_search_factory - 按关键字搜索工厂数据接口深度分析及 Python 实现
item_search_factory接口专为B2B电商供应链优化设计,支持通过关键词精准检索工厂信息,涵盖资质、产能、地理位置等核心数据,助力企业高效开发货源、分析产业集群与评估供应商。
|
3月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
316 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
345 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
274 103
|
3月前
|
缓存 监控 算法
唯品会item_search - 按关键字搜索 VIP 商品接口深度分析及 Python 实现
唯品会item_search接口支持通过关键词、分类、价格等条件检索商品,广泛应用于电商数据分析、竞品监控与市场调研。结合Python可实现搜索、分析、可视化及数据导出,助力精准决策。
|
2月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
211 3
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
479 3
|
2月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
295 3

推荐镜像

更多