0

When the following code runs, its getting type error as follows:

Traceback (most recent call last):
File "Example.py", line 174, in <module>
for i,sentence in enumerate(clusters[cluster]):
TypeError: 'NoneType' object has no attribute '__getitem__'

How to solve this issue?

if __name__ == "__main__":
sent=open('/Desktop/word2vec_original/input.txt', 'r').read()
sentences=sent_tokenize(sent)
print
nclusters= 3
clusters = cluster_sentences(sentences, nclusters)
for cluster in range(nclusters):
    clusterSentence = []
    for i,sentence in enumerate(clusters[cluster]):
        posTaggedSentence = pos_tag(word_tokenize(sentences[sentence]))
        posTaggedSentenceStr = (' '.join(word + '/' + pos for word, pos in posTaggedSentence))
        posTaggedSentence.append(posTaggedSentenceStr.strip())
        clusterSentence.append(posTaggedSentenceStr)
  • It would appear that `cluster_sentences` doesn't return anything/returns None. Is that a method you wrote? Or possibly that `clusters[cluster]` is evaluating to None. – Carcigenicate Mar 21 '18 at 16:16

1 Answers1

0

The problem is that clusters value is None. You have to first verify if it is not None:

for cluster in range(nclusters):
    clusterSentence = []
    if clusters:
         for i,sentence in enumerate(clusters[cluster]):