java中的接口是类吗
305
2022-08-28
利用jieba库进行词频统计(如何用jieba统计一篇文章的词频)
0 引言
在读一篇文章和读一本经典名著时,我们常常想统计出来每个词汇出现的次数及该词汇的出现频率,其实我们可以利用Python中的第三方库jieba库来实现。
1 问题
通过对一篇文章和一本书中的词频统计,我们可以知道什么事物或是谁在该文章或该著作作者用了更多的文笔来提到和描述它,
2 方法
encoding=’ANSI’:将打开的文本格式设为ANSI形式read(size):方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象。items = list(counts.items):将counts中的元素存入items表格中。key = lambda x:x[1]:等价于 def func(x):return x[1]reverse = True:列表反转排序,不写reverse = True 就是列表升序排列,括号里面加上reverse =True 就是降序排列!{0:<10}{1:>5}:<表示左对齐,>表示右对齐,数字表示宽度,<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。
3 实验结果与讨论
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单 1
import jiebatxt = open("三国演义.txt", "r", encoding='ANSI').read()words = jieba.lcut(txt)counts = {}for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word,0) + 1items = list(counts.items())items.sort(key=lambda x:x[1], reverse=True)for i in range(15): word, count = items[i] print ("{0:<10}{1:>5}".format(word, count))
4 结语
使用jieba库对一段文本进行词频的统计是一件非常有意思的事,我们只需要使用这第三方库,就可以在不阅读文本的情况下,得到该文本的高频率词汇。但jieba库的作用远远不止于此,它更多的作用等着我们去挖掘。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~