Я пытаюсь использовать текстовый файл sentiwordnet «SentiWordNet_3.0.0_20130122.txt». Когда я импортировать sentiwordnet.py файл и пытается запустить его я получаю ошибку следующим образом:AttributeError: объект 'function' не имеет атрибута 'lower'
ошибка произошла, как:
-------------------------------------------------------------------------- AttributeError
Traceback (most recent call last)
<ipython-input-13-6e4eb476b4b2> in <module>()
----> 1 happy = cv.senti_synsets('happy', 'a')
C:\Users\Desktop\fp\sentiwordnet.pyc in senti_synsets(self, string, pos)
65 synset_list = wn.synsets(string, pos)
66 for synset in synset_list:
---> 67 sentis.append(self.senti_synset(synset.name))
68 sentis = filter(lambda x : x, sentis)
69 return sentis
C:\Users\Desktop\fp\sentiwordnet.pyc in senti_synset(self, *vals)
52 return SentiSynset(pos_score, neg_score, synset)
53 else:
---> 54 synset = wn.synset(vals[0])
55 pos = synset.pos
56 offset = synset.offset
C:\Users\Anaconda2\lib\site-packages\nltk\corpus\reader\wordnet.pyc in synset(self, name)
1227 def synset(self, name):
1228 # split name into lemma, part of speech and synset number
---> 1229 lemma, pos, synset_index_str = name.lower().rsplit('.', 2)
1230 synset_index = int(synset_index_str) - 1
1231
AttributeError: 'function' object has no attribute 'lower'
Мой код:
import sentiwordnet as snw
SWN_FILENAME = "SentiWordNet_3.0.0_20130122.txt"
cv = snw.SentiWordNetCorpusReader(SWN_FILENAME)
happy = cv.senti_synsets('happy', 'a')
print happy
На основании сообщения об ошибке «имя» в строке 1229 словаnet.pyc является функцией, когда она должна быть строкой. –
Да, возможно, строка не передается методу senti_synsets, что может быть неправильным в коде, который запрещает его? Неужели CorpusReader не может прочитать файл? – Anonymous
Возможно, попробуйте 'synset.name()' –