2014-11-21 55 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 2014-11-21 20:23:21

+2

它看起來像您可能錯過了「定義」的括號。在sense.definition()。def(split)()中使用def_word。 – IanAuld 2014-11-21 20:23:24

回答

0

什麼是sense?它是什麼.definition /看起來是一個功能。 split僅適用於字符串。您可能需要執行sense.definition().split()

0

所以你的答案不是很清楚,試着在未來更具體。

  • 但是,您正在使用nltk.probability模塊來查找實驗中的概率現象。

  • 在您的示例中,您正在使用ConditionalFreqDist來獲取sense和definition_word。 所以我可以建議,你對它有一個或多個定義有一定的含義,並且你試圖找出definition_word是在tweet中(也許是單詞列表或其他)。

  • 錯誤是說你試圖從函數對象('定義')調用方法,並且此方法不存在。因此,你需要在你的代碼行使用括號:

    sense.definition().split()

  • 確保您的定義函數返回字符串,因爲分裂()只用於字符串。

  • 另外我不確定你是如何使用ConditionalFreqDist,看看這個: NLTK-Tutorial用於揭示使用nltk模塊的一些方面。

祝你好運解決問題!

相關問題