汉字字频统计 之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 个左右,剩下的字可被看作是不常用字

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

参考文献

  • 基于语义分析排序和特征融合TL-ResNet18网络的汉字识别(杭州电子科技大学·薛如)
  • 视频检索与推荐系统的设计与实现(华中科技大学·陈凡)
  • 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
  • 小学汉字学习系统的建模与实现(海南大学·张童童)
  • 文本综合处理平台的研究与实现(济南大学·王孟孟)
  • 基于文本挖掘技术的人工智能领域文献统计分析(燕山大学·孟晓宇)
  • 网络流量统计分析系统(吉林大学·石景龙)
  • 基于网络爬虫的信息采集分类系统设计与实现(厦门大学·周茜)
  • 视频处理平台的设计与实现(北京交通大学·时月月)
  • 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
  • 基于B/S结构的对外汉语学习系统的设计与实现(电子科技大学·韦清)
  • 基于宽带网络的视频点播系统(吉林大学·纪砚秋)
  • 基于深度学习和迁移学习的书法汉字识别系统的研究与实现(北京邮电大学·李昂)
  • 个性化汉字笔顺智能教学研究及系统开发(湖州师范学院·张彩凤)
  • 分布式统计信息基础数据库统计报表查询子系统的设计与实现(福州大学·曾瑾)

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

相关推荐

  • 基于Python建立小型搜索引擎

    建立小型搜索引擎实验报告 1 整体介绍 本项目总工分为六天完成,在本次编程集训中针对以下五个网站: 中国人民大学教务处( ‘http://jiaowu
    2024年05月14日
    2 1 1
  • 基于Python模仿流量攻击的方法对字节编码攻击

    基于Python模仿流量攻击的方法对字节编码攻击 一,总目标 NIDS 配置:FE(bytes encoding)+ ML(textCNN) 二
    2024年05月14日
    2 1 1
  • Python实现基于主动学习的实体关系抽取

    基于主动学习的关系抽取题目方法研究 摘要 当代社会的知识已呈爆炸性增长,其中最常见的知识蕴含在非结构化的自然语言文本当中,信息抽取(Information Extraction)技术通过一组被提及的实体
    2024年05月14日
    2 1 1
  • 基于SSM开发通用权限管理系统

    基于 SSM 框架的 JavaWeb 通用权限管理系统 01 概述 这是一个通用权限管理系统项目,基于 SSM(Spring + Spring-MVC +Mybatis)框架开发
    2024年05月14日
    10 1 2
  • 基于JavaEE的在线考试管理系统源码

    这是一个🔥🔥基于JavaEE的在线考试管理系统源码🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 JavaEE在线考试开发技术栈为SSH项目
    2024年05月23日
    16 1 6
  • 教学资源库

    这是一个🔥🔥基于SpringBoot框架的教学资源库设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • python数据分析

    python数据分析(9)——挖掘建模(4)时序模式 1, 时间序列算法 2, 时间序列的预处理 2,1平稳性检验 2,1,1 时序图检验 平稳的时序图序列值在一个常数附近随机波动
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的在线教育系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的在线教育系统源代码,该项目运用了SpringBoot和Vue的技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    11 1 4
  • 基于Android的通讯录app开发与实现

    这是一个🔥🔥基于Android的通讯录app开发与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 通讯录App开发技术栈为安卓项目,可以作为毕业设计课程设计作业该android课程设计是实现一个通讯录APP
    2024年05月23日
    5 1 3
  • python制作海底飞行棋

    python制作海底飞行棋(含源码) 飞行棋玩过吗?玩过python制作的海底飞行棋玩过吗?额,,,,,, 今天就来教制作海底飞行棋 核心玩法 两名玩家通过→和←操控游戏角色
    2024年05月14日
    3 1 2

发表回复

登录后才能评论