当前位置: 首页 > news >正文

运用jieba库解决词频分析问题

任务描述
本关任务:设计并调用函数word_analysis(FileName, m, topN),实现筛选出长度为m的词,并统计出出现频率最高的topN个长度为m的词。
这个函数有三个参数:FileName、m和topN。首先用文本方式打开FileName文件,编码是utf8,然后将文件内容用jieba库进行分词(使用精确模式),再筛选出长度为m的词,统计出出现频率最高的topN个长度为m的词。函数的返回值是由topN个二元组组成的列表,每个二元组是由(词, 频次)格式构成。
例如,topN=3,m=2表示出现频率最高的3个2字词分别是刘备(5次)、关羽(4次)、张飞(2次),那么函数的返回结果应该是[('刘备',5), ('关羽',4), ('张飞',2)]

编程要求
根据提示,在右侧编辑器补充函数word_analysis的实现及调用该函数完成最后的输出效果。不要修改函数名,不要修改参数声明。

测试说明
平台会对你编写的代码进行测试,它会向你的函数传递相应的参数,以测试函数的正确性。例如:

测试参数:
FileName='走到人生边上.txt'
m=4
topN=5
预期返回:
[('万物之灵', 15), ('不由自主', 12), ('爸爸妈妈', 11), ('自欺欺人', 10), ('爷爷奶奶', 9)]

关于测试的特别说明
这道题的测试时间比较长,约几秒到十几秒,请耐心等候。耐心等候。耐心等候。

本关的测试比对方法比较特殊,只判断输出的最后一行跟预期结果的最后一行相同即可。

import jieba
from collections import Counterdef word_analysis(FileName, m, topN):'''param FileName: 文件名param m: 词的长度param topN: 一个正整数return : 统计文件中出现频率最高的topN个长度为m的词。函数返回长度为topN的列表,列表的每个元素是一个二元组,由长度为m的词与词的频率组成。'''txt=open(FileName,"r",encoding="utf-8").read()   #读取文件中的内容以字符串的形式存放在变量txt中,请不要修改,以保证能正确读取文件# 实现函数word_analysis功能# ************ begin ************* #words=jieba.lcut(txt)counter=Counter([word for word in words if len(word)==m])return counter.most_common(topN)# ************ end  ************** #if __name__ == '__main__':# 调用函数word_analysis,输出文本文件中出现频率最高的topN个长度为m的词# ************ begin ************* #filename=input()m=int(input())topN=int(input())print(word_analysis(filename,m,topN))# ************ end  ************** #

http://www.dtcms.com/a/524470.html

相关文章:

  • 【Linux】自动化构建工具--make/Makefile
  • 乡镇网站建设工作计划商城网站支付端怎么做
  • 咸阳网站开发公司电话seo网站关键词排名优化公司
  • 八股文面试题(全栈所有)
  • Mac Studio 和 DGX Spark 可用性分析
  • 【小白笔记】「while」在程序语言中的角色
  • 网站推广员怎么做怎么投诉网站制作公司
  • Flexbox 与定位结合-实现更复杂布局
  • 基于随机森林算法的Boss直聘数据分析及可视化-hadoop+django+spider
  • 最适合seo的网站源码专门做网页的网站
  • 企业微信机器人配置webhook自动推送错误订单信息
  • Web3 前端与合约交互
  • 基于window/ubuntu安装rknn-toolkit2【docker】
  • Mac安装配置MySQL
  • JumpServer堡垒机的安装部署
  • Harmony鸿蒙开发0基础入门到精通Day05--JavaScript篇
  • 福州医疗网站建设电商平台管理系统
  • 【乐鑫】乐鑫平台库文件生成方法
  • 文件IO操作
  • GStreamer视频编码
  • 【Go】--闭包
  • 正规网店代运营公司seo难不难
  • 【Dataset】如何高效处理海量数据并从中智能筛选出有代表性的样本?
  • 攻防世界-Web-Confusion1
  • python:怎样用 Django 开发电子商务程序
  • 【u-boot】u-boot驱动模型-struct uclass_driver
  • 昌吉网站建设公司怎么用php安装wordpress
  • 山西网站建设营销什么价格html模板在哪找
  • MATLAB 实现基于短时傅里叶变换 (STFT) 的音频信号时频分析与可视化
  • 第十章-Tomcat性能测试与实战案例