Python NLTK ngram代码没有给出结果

时间:2017-03-15 05:47:11

标签: python-3.x nltk cluster-analysis corpus

我正在研究Sindhi,这是一种在python中使用NLTK工具的非英语语料库分析。我在python中导入了所有相关的库,并处理了加载压缩文件的代码。压缩文件的代码工作正常并加载数据。代码如下:

with zipfile.ZipFile('D:\Sindhicorpus.zip') as z:
    print (len(z.namelist()))
    for filename in z.namelist():
        if not os.path.isdir(filename):
            # read the file
            with z.open(filename, 'rU') as rf:
                line = rf.readline().decode('utf8') 
               # print(line)

在此之后我处理生成ngrams的代码但该代码没有显示结果而没有任何错误。代码如下:

import nltk
from nltk.collocations import *
line = ""
for val in filename:
    line += val
tokens = line.split()
bigram_measures = nltk.collocations.BigramAssocMeasures()
finder = BigramCollocationFinder.from_words(tokens)
finder.apply_freq_filter(3)
print(finder.nbest(bigram_measures.pmi, 100))

此代码只显示[]

等括号

在此代码之后,我处理了另一个代码但是它没有显示结果而没有显示任何错误。代码如下:

from nltk import ngrams
n = 2
sixgrams = ngrams(filename.split(), n)
for grams in sixgrams:
  print(grams)

请帮我解决我的问题

马兹哈尔

1 个答案:

答案 0 :(得分:0)

您无法阅读这些文件。

相反,您连接文件名,并尝试解析它。

for val in filename:
    line += val

你需要解决这个问题。