首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NLTK语料库中不间断单词的计数

NLTK语料库中不间断单词的计数
EN

Stack Overflow用户
提问于 2016-03-05 19:58:25
回答 1查看 1.6K关注 0票数 0

在使用NLTK的python中,如何在按类别筛选的文档中找到不停止字数的计数?

我可以想出如何使语料库中的单词被一个类别过滤,例如棕色语料库中所有用于“新闻”的单词是:

代码语言:javascript
复制
text = nltk.corpus.brown.words(categories=category)

另外,我可以弄清楚如何获取特定文档的所有单词,例如,棕色语料库中文档‘cj47’中的所有单词是:

代码语言:javascript
复制
text = nltk.corpus.brown.words(fileids='cj47')

然后,我可以循环的结果和计数的词,不是停止词。

代码语言:javascript
复制
stopwords = nltk.corpus.stopwords.words('english')
for w in text:    
    if w.lower() not in stopwords:
#found a non stop words

但是,如何将其组合在一起,以便按类别对特定文档进行过滤?如果我试图同时指定一个类别和一个过滤器。

代码语言:javascript
复制
 text = nltk.corpus.brown.words(categories=category, fields=’cj47’)

我说错了:

代码语言:javascript
复制
 ValueError: Specify fields or categories, not both
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-10 17:45:21

  1. 获取某个类别的文件: fileids = nltk.corpus.brown.fileids(categories=category)
  2. 对于每个文件,数一数非停止字: for f in fileids: words = nltk.corpus.brown.words(fileids=f) sum = sum([1 for w in words if w.lower() not in stopwords]) print "Document %s: %d non-stopwords." % (f, sum)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35819141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档