Python word_tokenize 化

标签 python nltk tokenize

我是 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()。 如果您能提供帮助,我将不胜感激。 谢谢。

最佳答案

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

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

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

一旦你运行了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 中命名空间。

关于Python word_tokenize 化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759418/

相关文章:

python - 如何使用 openCV 和 python 从流中逐帧获取视频

python - 即使 LANGUAGE_CODE 是 'es-CO',Django 也会用英文打印月份名称

python - 完全反编译python编译的(*.pyc)文件容易吗?

python - 尝试在 Python 中运行 truecase 时收到 "UnpicklingError: Invalid load key, ' v'."

python - 使用 NLTK 和 pandas 按 3 个句子对文本进行标记

python - Django 未读消息系统

python - 在 Python 列表中查找特定索引的下一个元素值

C 命令行参数,分词

编程语言解析器的 Java 字符串标记化

python - 如何使用 python 轻松地进行机器翻译?