尝试运行以下代码:
import os
import nltk
from nltk import word_tokenize
from nltk.util import ngrams
from collections import Counter
nltk.data.path.append(os.path('/usr/local/share/nltk_data'))
with open('output.txt', 'r') as input:
text = input.read()
token = nltk.word_tokenize(text)
unigrams = ngrams(token, 1)
bigrams = ngrams(token, 2)
trigrams = ngrams(token, 3)
fourgrams = ngrams(token, 4)
fivegrams = ngrams(token, 5)
print(Counter(bigrams))
但是,从终端运行时出现以下错误:
Traceback (most recent call last):
File "NGram.py", line 7, in <module>
nltk.data.path.append(os.path('/usr/local/share/nltk_data'))
TypeError: 'module' object is not callable
我已经下载了所有NLTK软件包,并指向data.path.append()
中的正确位置
答案 0 :(得分:1)
您正在尝试在编写os.path
时调用模块os.path('/usr/local/share/nltk_data')
。 path
是os
模块中的一个 模块,您不能像调用函数那样调用该模块。您可能打算在os
或os.path
中调用方法。
答案 1 :(得分:0)
如果'/usr/local/share/nltk_data'
是数据所在的路径,请执行以下操作:
nltk.data.path = '/usr/local/share/nltk_data'
使用append()
时,您将尝试使用os.path.append()
库中的os
。