python常用单词-用python从语料库中提取最常用的单词_weixin_37988176的博客-程序员宝宝

1586010002-jmsa.png

Maybe this is a stupid question, but I have a problem with extracting the ten most frequent words out of a corpus with Python. This is what I've got so far. (btw, I work with NLTK for reading a corpus with two subcategories with each 10 .txt files)

import re

import string

from nltk.corpus import stopwords

stoplist = stopwords.words('dutch')

from collections import defaultdict

from operator import itemgetter

def toptenwords(mycorpus):

words = mycorpus.words()

no_capitals = set([word.lower() for word in words])

filtered = [word for word in no_capitals if word not in stoplist]

no_punct = [s.translate(None, string.punctuation) for s in filtered]

wordcounter = {}

for word in no_punct:

if word in wordcounter:

wordcounter[word] += 1

else:

wordcounter[word] = 1

sorting = sorted(wordcounter.iteritems(), key = itemgetter, reverse = True)

return sorting

If I print this function with my corpus, it gives me a list of all words with '1' behind it. It gives me a dictionary but all my values are one. And I know that for example the word 'baby' is five or six times in my corpus... And still it gives 'baby: 1'... So it doesn't function the way I want...

Can someone help me?

解决方案

If you're using the NLTK anyway, try the FreqDist(samples) function to first generate a frequency distribution from the given sample. Then call the most_common(n) attribute to find the n most common words in the sample, sorted by descending frequency. Something like:

from nltk.probability import FreqDist

fdist = FreqDist(stoplist)

top_ten = fdist.most_common(10)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37988176/article/details/109419209

智能推荐

安卓面试清单----OKHttp源码解析(一)_q2nAmor的博客-程序员宝宝

本文基于OKHttp3.2 。一个典型 OKhttp 同步请求的发起是这样的: Response response = client.newCall(request).execute();在 OkHttpClient 类中, newCall 方法是这样的:public Call newCall(Request request) { return new RealCall(this, re

CoreText:绘制纯文本内容_Longshihua的博客-程序员宝宝

文字排版的基础概念字体(Font):和我们平时说的字体不同,计算机意义上的字体表示的是同一大小,同一样式(Style) 字形的集合。从这个意义上来说,当我们为文字设置粗体,斜体时其实是使用了另外一种字体(下划线不算)。而平时我们所说的字体只是具有相同设计属性的字体 集合,即Font Family或typeface。  字符(Character)和字形(Glyphs):排版过程中一个重要的步骤就是从...

2021-5-08 力扣每日一题_Gnomeshgh9的博客-程序员宝宝

1723完成所有工作的最短时间虽迟但到,带你一文读懂状态压缩在动态规划中的应用题目表述:​ 给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。​ 请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 最小化 。​ 返回分配方案中尽可能 最小 的 最大工作时间 。示例1:输入:jobs = [3,2,

python栈解决汉诺塔_【Python学习】Python解决汉诺塔问题_weixin_39518678的博客-程序员宝宝

摘要:参考文章:http://www.cnblogs.com/dmego/p/5965835.html 一句话:学程序不是目的,理解就好;写代码也不是必然,省事最好;拿也好,查也好,解决问题就好! 信息时代不用信息就是罪过,直接抄不加理解与应用,就不是自己的,下次遇到还是不会,或许其中的某一个细节就能够用于各个问题的解决,共勉 学习一个东西总会遇到一些经典的问题,学习Python第二天尝试看一下...

java sha256 base64_java加密类支持sha256,md5,HmacSha1,base64_孙鹏.eduzhixin的博客-程序员宝宝

package secrect;import org.apache.commons.codec.digest.DigestUtils;import javax.crypto.Mac;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.io.UnsupportedEncodingExcept...

Oracle导入导出数据库_√Angelの爱灬的博客-程序员宝宝

Oracle数据库导出与导入导出含空表导出:找出对应库的空表(数据库执行)select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0执行这条SQL的结果集(全部)(数据库执行)alter table SYS_ROLE_DATARULE allocate extent;alter table TB_PROC_LOG allocate extent; …导出dmp文件(cmd执

随便推点

使用 liavformat 和 libavcodec 实现解码器_鼎铭的博客-程序员宝宝

开发十年,就只剩下这套Java开发体系了>>>    ...

java 数组 array_java数组及arrays类对数组的操作实例_王佛伟的博客-程序员宝宝

数组的初始化有两种方式静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如:int[] a1 = new int[] {1,2,3,4};动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值。如:int[] a = new int[5];写一个类测试一下package chenlizhi;import java.util.Arrays;public cl...

一个很有意思的玩意:FlightGear,开源飞机模拟器_weixin_34205076的博客-程序员宝宝

你一定很想知道开F22战机是什么感觉,甚至梦想有一天自己也能驾驭着飞机在空中飞翔。现实生活中,做飞行员可不是一件简单的事,既然如此,我们就别想那么多,但有了FlightGear这个软件,你的梦想也许就会实现。它是一款飞机的模拟器,与真实的飞机操作环境以及飞行环境是一样的,唯一的区别就是你是通过电脑来控制这架飞机。最重要的是,FlightGear还是一个开源软件。先一看一下驾驭仓的操作环境:...

Cocos2d的字体生成软件Hiero v2.0 - Bitmap Font Tool的一些问题(ZT)_Wooce Yang 杨的博客-程序员宝宝

 最近在了解并使用Cocos2d的一些功能以便在iPhone上画一个页面。然而,在使用其中一个CCBitmapFontAtlas类的时候发现了一些问题。  该类可以按照一定的字体风格显示字符。使用该类本身并没有什么困难和问题。然而该类所需的字体文件是需要一个.fnt文件和.png文件。当调用该类生成文字时,它会去访问.fnt文件,然后通过.fnt文件里该文字对应的坐标,到.png文件里去...

Oracle会计核算版本号,ORACLE ERP 成本核算会计信息归纳_打喷嚏的apple的博客-程序员宝宝

按照事务处理的来源类型归纳。一、 采购接收入库和退货:1.接收: 借:材料采购 or 采购在途材料   (订单价格)贷:应计负债/暂估   (订单价格)2.入库: 借:原材料    (标准成本)贷:材料采购 or 采购在途材料   (订单价格)借或贷:材料成本差异_材料订单价格3.退货至接收时产生与上面第2步相反的分录,退货至供货商时产生与上面第1步相反的分录。二、 子库存转移:只有转出子库产生分...

python开发流程管理软件_[Python][工具] Snakemake 流程管理工具(1)_weixin_39777488的博客-程序员宝宝

流程!流程!流程!写流程最重要的,当然是流程管理工具。在这里我的选择是snakemake,一个语法简单,结构清晰,并且方便其他人修改参数的python工具。其实基于python的流程框架有很多,应用广泛,有更适合处理数据的nextflow,但是需要fifo。snakemake基于DSL,语法上主要由rule构成,功能上几乎就是python版本的make。snakemake 第一部分 我们来安装sn...