中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点:

基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
下面利用结巴分词队水浒传的词频进行了统计
更多内容访问omegaxyz.com
代码:

#!/usr/bin/python
# -*- coding:utf-8 -*-    import sysimport jieba
import jieba.analyse
import xlwt  # 写入Excel表的库if __name__ == "__main__":wbk = xlwt.Workbook(encoding='ascii')sheet = wbk.add_sheet("wordCount")  # Excel单元格名字word_lst = []key_list = []for line in open('C:\\Users\\dell\\desktop\\1.txt'):  # 1.txt是需要分词统计的文档try:item = line.strip('\n\r').split('\t')  # 制表格切分# print(item)tags = jieba.analyse.extract_tags(item[0])  # jieba分词for t in tags:word_lst.append(t)except:password_dict = {}with open("wordCount.txt", 'w') as wf2:  # 打开文件for item in word_lst:if item not in word_dict:  # 统计数量word_dict[item] = 1else:word_dict[item] += 1orderList = list(word_dict.values())orderList.sort(reverse=True)# print orderList  for i in range(len(orderList)):for key in word_dict:if word_dict[key] == orderList[i]:wf2.write(key + ' ' + str(word_dict[key]) + '\n')  # 写入txt文档key_list.append(key)word_dict[key] = 0for i in range(len(key_list)):sheet.write(i, 1, label=orderList[i])sheet.write(i, 0, label=key_list[i])wbk.save('wordCount.xls')  # 保存为 wordCount.xls文件

结果:

更多内容访问omegaxyz.com

Python利用结巴模块统计《水浒传》词频相关推荐

  1. Python——利用pygame模块制作RPG游戏(一)

    利用pygame模块制作RPG游戏(一) 需要用到的第三方库:pygame 一.构造游戏的基本框架 1.首先准备好相应的游戏素材:背景,人物动作图片,音乐,音效等. 图片均用png格式,音乐音效均用o ...

  2. python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list

    python利用xlrd模块读取xls表格选中某列提取全部数值,使用re去除英文字母,用ast将str类型转换成list import ast # 获取xls表中的代码并去重 import xlrd ...

  3. python commands执行不连续_[Python] 利用commands模块执行Linux shell命令

    用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要 ...

  4. [转载] Python利用openpyxl模块读取excel文件内容

    参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...

  5. python利用写模块_使用C++编写python扩展模块

    简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...

  6. python 利用time模块给程序计时

    python的time内置模块是一个与时间相关的内置模块,很多人喜欢用time.time()获取当前时间的时间戳,利用程序前后两个时间戳的差值计算程序的运行时间,如下: 1.使用time.time() ...

  7. Python——利用sympy模块进行数学计算

    参考链接: SymPy简易教程 SymPy库常用函数 Python sympy 模块常用功能(一) Python科学计算库SymPy初探 简介 SymPy是一个符号计算的Python库.它的目标是成为 ...

  8. python利用pywin32模块自动化操作微信发消息

    本文是利用python 操作电脑微信发消息,用到win32gui和win32api模块,以便以后忘记,做此纪录! import win32gui import win32api import win3 ...

  9. Python利用pptx模块三步将图片插入特定PPT模板

    任务描述​​​​​​​ 有一个如下图所示的PPT模板,希望将已有的图片以特定的顺序插入到模板占位符中 现有PPT模板 希望的结果 代码演示 import os from os.path import ...

  10. python利用datetime模块计算时间差

    python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面我们就来详细看下datetime的强大功能吧 今天写了点东西,要计算 ...

最新文章

  1. 微软好绝情:Windows 7再无重大更新!
  2. 分布式存储Ceph 快速安装手册
  3. 要命的定义函数。。。参数组合。请认真理解!
  4. java 内部类深度剖析
  5. Java程序员月薪20k的涨薪秘籍:培训班java找不到工作
  6. 四十八、第二份国外的Python考试(下篇)
  7. 自我价值感缺失的表现_不同类型的缺失价值观和应对方法
  8. Redis的6种数据类型
  9. https post 报400地址匹配不正确_如何发布领英动态post/article?
  10. 护士计算机怎么报名,护士自考本科怎样报名
  11. 在ag-grid表格上实现类似Excel中的按下enter键自动跳转到下一行对应的输入框功能,Angular4开发...
  12. Delay-Doppler equalization(8)(时延多普勒均衡)⭐
  13. 73种网页常用js代码
  14. amaze ui教程
  15. PTA练习4-11 统计素数并求和
  16. Vue中如何解决跨域问题
  17. python修改文件夹下文件夹的名字
  18. 【redis:二】持久化
  19. HP 笔记本电脑 - 笔记本电脑睡眠后如何唤醒
  20. itextpdf对PDF文件进行签名

热门文章

  1. Redis 配置文件详解
  2. 选择排序SelectSort
  3. mysql基础知识复习
  4. mangodb和php比较,php-mongodb从不同的数据库中选择
  5. vue中的静态资源打包
  6. http请求转为https请求 java_如何将Javaweb工程的访问协议由http改为https及通过域名访问?...
  7. linux下载搜狗命令,搜狗输入法linux安装 以及 12个依赖包下载链接分享(示例代码)...
  8. java课题设计实验报告,JAVA简单记事本程序设计实验报告
  9. JDK中IdentityHashMap使用详解
  10. 论文笔记_S2D.74_2021_ICRA_PENet:面向精确和高效的图像引导的深度补全