【问题标题】:Python word_tokenizePython word_tokenize
【发布时间】:2015-01-03 20:52:29
【问题描述】:

我是 python 的新手。我正在尝试查找我的文本的频率分布。这是代码,

import nltk
nltk.download()
import os
os.getcwd()
text_file=open(r"ecelebi\1.txt","r")
p = text_file.read()
words = nltk.tokenize.word_tokenize(p)
fdist= FreqDist(words)
print(fdist)

问题是程序没有给出任何错误或解决方案。它只是返回这个

>>> ================================ RESTART ================================
>>> 
showing info http://nltk.github.com/nltk_data/

我认为问题出在 word_tokenize() 上。 如果您能提供帮助,我将不胜感激。 谢谢。

【问题讨论】:

    标签: python nltk tokenize


    【解决方案1】:

    您的问题是您尝试在脚本中运行 nltk.download(),而 GUI 似乎隐藏在您页面后面的某处。

    通常,nltk.download() 通常在 Python 解释器中运行,它允许您下载各种数据集和语料库 (corpii?:P) 以用于 nltk。你通常只需要这样做一次,如果你想更新你的语料库,只能再次使用它。 您不必每次运行脚本时都运行它。

    假设您在 Python 解释器中运行了 nltk.download(),那么您将获得某种形式的 GUI,或者如果您无法访问 GUI(例如,如果您在没有 X 转发的情况下通过 SSH 进入) 那么它将是一个命令行界面。您可以使用它来下载数据。我建议您全部下载,除非您空间有限。

    一旦你运行了nltk.download() 并下载了你认为需要的所有东西,那么下面的代码应该可以工作了。

    import nltk
    import os
    
    os.getcwd()
    text_file=open(r"ecelebi\1.txt","r")
    
    p = text_file.read()
    words = nltk.tokenize.word_tokenize(p)
    
    fdist= nltk.FreqDist(words)
    print(fdist)
    

    注意命令是nltk.FreqDist,而不是FreqDist,因为函数在nltk命名空间中。

    【讨论】:

      猜你喜欢
      • 2018-09-03
      • 2016-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多