2014-11-21 5 views
-2
cfd = nltk.ConditionalFreqDist(
(sense, def_word) 
for sense in senses 
for def_word in sense.definition.split() 
if def_word in tweet) 

Не знаю, что означает эта ошибка. Пожалуйста помоги.AttributeError: объект 'function' не имеет атрибута 'split'

+0

Ваш отступ удаляется. – Beginner

+2

Похоже, что вы, возможно, пропустили круглые скобки для 'definition'. Должно ли это быть 'для def_word в sense.definition(). Split()'? – IanAuld

ответ

0

Что такое sense? Что является его .definition/Похоже, что это функция. split применяется только к строке. Возможно, вам нужно будет сделать sense.definition().split().

0

Так что ваш ответ не очень ясен, постарайтесь быть более конкретным в будущем.

  • Но вы используете модуль nltk.probability для поиска вероятностных явлений в вашем эксперименте.

  • В вашем примере вы используете ConditionalFreqDist для sense и definition_word. Поэтому я могу предположить, что у вас есть смысл с одним или несколькими определениями в нем, и вы пытаетесь выяснить, является ли определение_word в твите (возможно, список слов или что-то еще).

  • Ошибка говорит о том, что вы пытаетесь вызвать метод из функции-объекта ('definition'), и этого метода нет. Таким образом, вы должны использовать круглые скобки в вашей строке кода:

    sense.definition().split()

  • Убедитесь, что ваше определение функции возврата строки, потому что раскол() используется только для строки.

  • Также я не уверен, как вы используете ConditionalFreqDist, посмотрите на это: NLTK-Tutorial для выявления некоторых аспектов использования модуля nltk.

Удачи вам в решении проблемы!

Смежные вопросы