分享一个基于jieba库的Python 代码,它可以从文本中提取关键词。
代码效果是,对文本文档(yangben.txt)进行关键词提取,将前4个关键词,显示在屏幕。然后。将出现频率最高的前50个关键词,保存在指定文件内(guanjianzi_50.txt)。
※结巴库的两种算法
基于TF-IDF算法的关键词提取方法:
jieba.analyse.extract_tags()
TF-IDF是一种常用的文本特征提取方法,它通过计算每个词语在文本中的词频和逆文档频率来评估词语的重要性。
也就是,先看看这个词在所有文章里出现了多少次,再看看所有文章里出现这个词的次数有多少。
词越重要,值就越大。
基于TextRank算法的关键词提取方法:
jieba.analyse.textrank()
TextRank算法是一种通过词语之间的相互关系来计算词语重要性的图算法,类似于Facebook的PageRank算法。
这个方法通过构建词语之间的共现网络,计算每个词语在网络中的重要程度,并提取出文本中的关键词。
就像画了一张图,这张图上有好多好多的词,这些词之间有连线,表示它们在一起出现过。
然后看看哪个词和别的词连的线最多,那就说明这个词特别重要,能把整篇文章串起来,所以就选它当关键词。
※allowPOS 参数
allowPOS 参数用于指定允许的词性,下面是 jieba 分词中支持的常用词性及其含义示例:
词性
代表含义
示例
n
普通名词
桌子、苹果、汽车、学校
f
方位名词
上方、左边、前面、内部
s
处所名词
家、公园、办公室、超市
t
时间
早上、下午、晚上、明天
nr
人名
张三、李华、王小明、刘娟
ns
地名
北京、上海、香港、巴黎
vn
名动词
阅读、写作、游泳、散步
v
动词
跑、吃、睡、打电话
a
形容词
美丽的、高大的、聪明的、快乐的
ad
副形词
非常、十分、很、太
d
副词
慢慢地、快速地、好好地、轻轻地
m
数量词
两个、几个、许多、一些
q
量词
一杯、一辆、一件、一片
r
代词
你、他、我、她
p
介词
在、上、下、对于
c
连词
和、但是、因为、所以
u
助词
了、的、地、得
xc
其他虚词
呢、吗、啊、喔
w
标点符号
:。、!、?、,
※try
try 是 Python 中的异常处理语句,类似于其他编程语言中的 try...catch 语句。
在 try 语句块中,我们可以放置一些可能会发生异常的代码。
如果这些代码执行时发生了异常,Python 会跳过 try 语句块中后面的代码,并抛出相应的异常。
我们可以使用 except 语句来捕获这些异常并进行相应的处理。
如果没有产生异常,那么 except 中的代码就不会被执行。
try 的语法格式如下:
其中,except 和 else 子句是可选的,finally 子句则是必须的。
在打开文件时可以使用 try...except 语句,以便在文件不存在或无法被访问时能够捕获异常并给出相应提示