词频分析

词频分析,分析一段文字或者一段话每个单词出现的频率。对于英文文章,我们可以使用split()函数进行文章段落的切割,对于中文,我们可以使用jieba库进行文章段落的分割。

import jieba

# jieba提供三种分词模式
txt = "中华人民共和国万岁,中国共-产-党万岁,中国人民万岁!"
words1 = jieba.lcut(txt)
words2 = jieba.lcut(txt, cut_all=True)
words3 = jieba.lcut_for_search(txt)
print(words2)
print(words2)
print(words3)

  上面的代码就是对txt这个文本,使用jieba提供的三种分词模式进行分词,得到的结果为。

[‘中华‘, ‘中华人民‘, ‘中华人民共和国‘, ‘华人‘, ‘人民‘, ‘人民共和国‘, ‘共和‘, ‘共和国‘, ‘万岁‘, ‘‘, ‘‘, ‘中国‘, ‘中国共-产-党‘, ‘国共‘, ‘共产‘, ‘共-产-党‘, ‘万岁‘, ‘‘, ‘‘, ‘中国‘, ‘国人‘, ‘人民‘, ‘万岁‘, ‘‘, ‘‘]
[‘中华‘, ‘中华人民‘, ‘中华人民共和国‘, ‘华人‘, ‘人民‘, ‘人民共和国‘, ‘共和‘, ‘共和国‘, ‘万岁‘, ‘‘, ‘‘, ‘中国‘, ‘中国-共-产-党‘, ‘国共‘, ‘共产‘, ‘共-产-党‘, ‘万岁‘, ‘‘, ‘‘, ‘中国‘, ‘国人‘, ‘人民‘, ‘万岁‘, ‘‘, ‘‘]
[‘中华‘, ‘华人‘, ‘人民‘, ‘共和‘, ‘共和国‘, ‘中华人民共和国‘, ‘万岁‘, ‘,‘, ‘中国‘, ‘国共‘, ‘共产‘, ‘共-产-党‘, ‘中国-共-产-党‘, ‘万岁‘, ‘,‘, ‘中国‘, ‘人民‘, ‘万岁‘, ‘!‘]
Loading model cost 0.579 seconds.

三种分词模式分别是精确模式、全模式和搜索引擎模式。在日常的分析中,我常用的是精确模式。

下面针对十九大中文报告进行词频分析。其中使用字典的get方法。

txt = open("../文本/十九大报告.txt",‘r‘,encoding="GBK").read()
words = jieba.lcut(txt)

counts = {}
excludes = {",",‘。‘,‘!‘,‘:‘,‘“‘,‘”‘,‘、‘,‘的‘,‘和‘,‘\n‘,‘是‘,‘在‘,‘要‘}
for word in words:
    if word in excludes:
        continue
    else:
        counts[word] = counts.get(word, 0) +1
# 根据出现的次数进行排序
# 字典不是一个序列化组合数据类型
# 首先要对字典进行序列化
items = list(counts.items())
items.sort(key = lambda x: x[1],reverse=True)
for i in range(15):
    print(items[i])

得到的结果是:

Prefix dict has been built succesfully.
(‘发展‘, 212)
(‘中国‘, 168)
(‘人民‘, 157)
(‘建设‘, 148)
(‘社会主义‘, 146)
(‘坚持‘, 130)
(‘党‘, 103)
(‘国家‘, 90)
(‘全面‘, 88)
(‘实现‘, 83)
(‘制度‘, 83)
(‘推进‘, 81)
(‘社会‘, 80)
(‘政治‘, 80)
(‘特色‘, 79)

对于十九大报告的词频分析成功。

另外:对于我们不想展现在词频分析中的词,除了使用上述的办法外,还可以使用,先把出现的次数统计出来,然后使用字典的del(counts[word])的方法删除掉。

我。。。做错了什么。。。

原文地址:https://www.cnblogs.com/0422hao/p/11703570.html

时间: 2024-11-09 14:15:51

词频分析的相关文章

唐诗三百首分词词频分析

发现本博客的文章也有随意转载了,而且排名还比原文高.所以加上申明,本文不得转载. http://www.cnblogs.com/cartler ? 下面是正文,看到微博上词频分析很火,自己也试了下. 过程很简单,但结果很有趣,所以先上结果. 成果基本可以由下面这首"唐诗"概括,o(≧v≦)o~~好棒~ ? 不见万里在何处 琵琶明月尤不知 不得春风思故人 长安将军今无人 ? 出现频率最高的如下: ? 从结果还可以分析出一些东西: 比如:蜀道之难难于上青天,仅仅这一句就出现过三次,[出典]

结对-英文词频分析-开发环境搭建过程

结对成员: 学号: 2015035107109 学号: 2015035107059 结对项目:英文词频分析 开发语言:Python3.x 开发环境:Pycharm 系统:windows 下载双击安装即可.

python实例:三国演义TXT文本词频分析

0x00 前言 找不到要写什么东西了!今天有个潭州大牛讲师  说了个  文本词频分析 我基本上就照抄了一遍 中间遇到一些小小的问题 自我百度 填坑补全了  如下 : 效果演示 0x01   准备环境及介绍 python3.x版本   随意 安装jieba库 pip install jieba jieba三种模式: 1.精准模式 lcut函数,返回一个分词列表 2.全模式 3.搜索引擎模式 词频: <单词>:<出现次数>的键值对 IPO描述 imput output process

R语言学习-词频分析

概念 1.语料库-Corpus 语料库是我们要分析的所有文档的集合,就是需要为哪些文档来做词频 2.中文分词-Chinese Word Segmentation 指的是将一个汉字序列切分成一个一个单独的词语. 3.停用词-Stop Words 数据处理的时候,自动过滤掉某些字或词,包括泛滥的词如Web.网站等,又如语气助词如的.地.得等. 需要加载的包 1.tm包 安装方式:install.packages("tm") 语料库: Corpus(x,readerControl) x-语料

高效词频分析

由于密码泄露越来越普遍,使得各类“密码分析”工具越来越多.比如最近很火的Pipal,由ruby编写的一款程序,可以分析出密码频率TOP N.但实际使用中发现效率较低. 实际上通过简单的bash命令就可以实现上述的功能: cat password.txt | sort | uniq -c | sort -k1,1nr | head -10 提取password词频TOP10的密码 time cat pass.txt | sort | uniq -c | sort -k1,1nr | head -1

结巴中文词频分析

结果保存在result.txt文档内 # -*- coding: utf-8 -*- import jieba import sys from collections import Counter import jieba.analyse filename="招聘分析.txt" def fenci(filename) : f = open(filename,'r+') file_list = f.read() f.close() seg_list = list(jieba.cut(fi

十九大报告词频分析

1.准备工作 环境要求:Jupyter.python3.7,jieba库 2.python代码 #! python3 # -*- coding: utf-8 -*- import os, codecs import jieba from collections import Counter def get_words(txt): seg_list = jieba.cut(txt) #对文本进行分词 c = Counter() for x in seg_list: #进行词频统计 if len(x

结对-英文词频分析-结对项目总结

结对成员: 学号: 2015035107109 学号: 2015035107059 结对编程技术是指两位程序员坐在同一工作台前开发软件.与两位程序员各自独立工作相比,结对编程能编写出质量更高的代码. 第一次尝试结对编程,让我有了很大的收获,自己跟着他人的思路去敲代码,在根据自己的经验,共同变成高质量代码让我受益匪浅, 学习他人思路,丰富了自己的思想,让他人口述流程,可以锻炼自己的思路,已经沟通能力,互利共赢.

结对&amp;词频统计

结对编程 Pathner 濮成林(博客:http://www.cnblogs.com/charliePU/) 1.词频统计 环境依赖: 开发环境.myeclipse 2013, jdk1.7.0_04, echart.mini.js, tomcat 7.0. 运行环境.tomcat 7.0, jre7. 对濮成林词频统计进行需求的再讨论 确定输入:TXT格式纯英文文档大小不超过10M 分析结果排序:按顺序输出前N个 结果显示内容:显示内容在原有基础上增加排序结果显示.增加文章标题显示.修改横坐标