基于Python的汉字字频统计实验

汉字字频统计实验 实验内容 针对不同语料统计汉字的字频,并进行比较, 实验要求和目的 给出前 100 个汉字高频字的频率统计结果; 分别给出前 1

本文包含相关资料包-----> 点击直达获取<-------

汉字字频统计实验

实验内容

针对不同语料统计汉字的字频,并进行比较。

实验要求和目的

给出前 100 个汉字高频字的频率统计结果;

分别给出前 1、20、100、600、2000、3000、6000 汉字的字频总和;

计算汉字的熵值;

针对不同规模语料重复上述实验;

以图表的形式表示上述结果;

提交实验报告,给出详细实验过程和结果;提交源代码和可执行程序。

实验环境

操作系统 macOS Sierra

内存 16G

开发语言 Python

程序主要算法

统计字频,利用 Python 内置的逐行读取和行内逐字读取功能进行字频统计,建立一个 dict 类型的变量用于记录每个字对应的个数,如果读取的字在 dict 中出现过,则 value 值加一,如果读取到的字在 dict 中未出现过,则在 key 值中添加新读取的字。核心代码如下:

c++ with open(filepath, 'r') as txt_file: for line in txt_file: ustr = line.decode(encoding) for uchar in ustr: if is_chinese(uchar): account += 1 if _dict.has_key(uchar): _dict[uchar] = _dict[uchar] + 1 else: _dict[uchar] = 1

实验过程

首先进行语料的收集,我收集到有“人民日报 800 万字语料库”、“搜狗新闻库”,并在网上找了一些金庸的小说 TXT 版本。

然后进行代码的编写,先确定了核心算法,就是第四步中提及的代码,然后编写了如下函数完成实验指导中的要求:

给出前 100 个汉字高频字的频率统计结果,对应函数为:def cal_chinese_word_top100(_dict,_account):

分别给出前 1、20、100、600、2000、3000、6000 汉字的字频总和。对应代码为:def cal_chinese_word_7(_dict,_account):

计算汉字的熵值。对应代码为:def cal_entropy(_list):

实验结果

针对人民日报(800 万级语料)和金庸的小说《倚天屠龙记》(30 万级语料),进行字频分析,对比如下:

人民日报语料:

前 1、20、100、600、2000、3000、6000 汉字的字频总和: 0.035573727683 0.169908955911 0.403422616933 0.834240279379 0.988090484587 0.998732545555 0.998732545555

《倚天屠龙记》

前 1、20、100、600、2000、3000、6000 汉字的字频总和: 0.018951611838 0.213809263413 0.472524917909 0.837447793249 0.983958229316 0.997836441303 0.997836441303

实验结论和体会

实验结论:

通过对字频的统计。我发现了汉语的以下几个特征:

常用字大概为 2000 个左右,剩下的字可被看作是不常用字

汉字是一种熵值很大的文字,换句话说,汉字是一种文字意义丰富的文字。

参考文献

  • 面向程序设计领域的新词检测算法研究与应用(东华大学·刘梦)
  • 视频处理平台的设计与实现(北京交通大学·时月月)
  • 基于J2EE架构的汉语学习游戏系统的设计与实现(电子科技大学·张银满)
  • 基于深度学习的汉字书法风格识别方法研究(哈尔滨理工大学·陈国栋)
  • 基于J2EE架构的汉语学习游戏系统的设计与实现(电子科技大学·张银满)
  • 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
  • 中文文本自动校对系统设计与实现(西南交通大学·张涛)
  • 成语电子词典系统的设计与实现(电子科技大学·刘健)
  • 基于文本识别的手写汉字识别平台的设计与实现(中国科学院大学(中国科学院沈阳计算技术研究所)·董春生)
  • 网络流量统计分析系统(吉林大学·石景龙)
  • 网络信息采集技术及中文未登录词算法研究(北京邮电大学·陈浩)
  • 基于深度学习的验证码识别技术(大连交通大学·慕亚东)
  • 基于J2EE的分布式信息检索查询平台的研究(北京化工大学·高峰)
  • 用户兴趣自适应的个性化推荐系统的设计与实现(北京交通大学·李妮燕)
  • 音视频数据获取与同源性分析关键技术研究(电子科技大学·范清宇)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码导航 ,原文地址:https://m.bishedaima.com/yuanma/36094.html

相关推荐

  • 新手python简单的飞机游戏

    game 一个新手做的python简单的飞机游戏 参考文献 基于Java EE的个人博客管理系统的设计和实现(内蒙古大学·闫伟光) 深度可定制的工具化爬虫系统的设计与实现(北京邮电大学·李笑语) 航空订票服务器爬虫检测技术研究(杭州电子科技大学·陈万烤) 主题爬虫关键技术研究(哈尔滨工程大学·黄正德) 机票票价预测系统设计与实现(大连理工大学·陈岩松) 深度可定制的工具化爬虫系统的设计与实现(北京邮电大学·李笑语) 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航) 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐) 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航) 机票票价预测系统设计与实现(大连理工大学·陈岩松) 山东航空货运业务管理系统的设计与实现(山东大学·高辉) 飞行情报资料管理信息系统设计与实现(中国地质大学(北京)·张晓琴) 山东航空货运业务管理系统的设计与实现(山东大学·高辉) 豆玩手机游戏平台的设计与实现(吉林大学·李天明) 面向高职信息技术教育的严肃游戏设计与实施(大连理工大学·王晓姝)
    2024年05月14日
    1 1 1
  • 基于python制作一个打砖块小游戏

    基于 python 制作一个打砖块小游戏 导语 想起来好久没更这个系列的文章了,周末过来补一波好了,本期我们将利用 python 制作一个打砖块小游戏
    2024年05月14日
    1 1 1
  • 基于python实现的电梯调度

    基于python实现的电梯调度 1 项目说明 1,1 项目目的 通过实现电梯调度,体会操作系统调度过程 学习特定环境下多线程编程方法 学习调度算法 1
    2024年05月14日
    5 1 3
  • 基于JSP的校园论坛BBS网站的设计与实现

    基于JSP的校园论坛BBS网站的设计与实现 1 概述 开发校园论坛系统的目的是提供一个供我校学生交流的平台,为我校学生提供交流经验,探讨问题的社区,因此
    2024年05月14日
    21 1 1
  • 基于SSM框架实现的员工信息管理系统

    1,项目简介 这是完整使用SSM框架开发的第一个项目,项目来源于北京动力节点的SSM框架整合教程,其中加入了一些自己的理解,增加了一个搜索功能的页面,这个项目总体来说对于新手是很友好的
    2024年05月14日
    2 1 1
  • 基于JSP的聊天器

    基于JSP的聊天器 1 可行性研究 1,1 技术条件方面的可行性 系统:Windows 8,1 Update 服务器环境:nodejs 0
    2024年05月14日
    7 1 1
  • 基于SpringBoot框架的在线互动学习网站

    这是一套采用Java语言,基于SpringBoot框架构建的在线教育互动平台的源代码,项目采用了SpringBoot和Vue技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    5 1 3
  • 解谜类游戏之Python

    解谜类游戏 一,摘要 作者:霍禹佳,高铭星,朱子仪,梁鞍華 [摘要] 本作融合了企鹅,史诗英雄故事,解谜和游戏这四种元素,创造出一款全新的解谜类游戏,通过对故事
    2024年05月14日
    1 1 1
  • 基于Python制作愤怒的小鸟小游戏

    基于 Python 制作愤怒的小鸟小游戏 导语 小伙伴们周末愉快呀~楼主又好久没更新公众号的样子,为了避免继续被某些小伙伴吐槽,还是上来更新一波吧,既然是周末
    2024年05月14日
    6 1 2
  • 基于SpringBoot框架的网页时装购物系统

    这是一套采用Java语言开发的🔥🔥SpringBoot为核心的电商时装网站项目源代码🔥🔥,该项目运用了SpringBoot框架和Vue技术,支持在Idea或Eclipse开发环境中运行
    2024年05月23日
    10 1 2

发表回复

登录后才能评论