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'
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'
什麼是sense
?它是什麼.definition
/看起來是一個功能。 split
僅適用於字符串。您可能需要執行sense.definition().split()
。
所以你的答案不是很清楚,試着在未來更具體。
但是,您正在使用nltk.probability模塊來查找實驗中的概率現象。
在您的示例中,您正在使用ConditionalFreqDist來獲取sense和definition_word。 所以我可以建議,你對它有一個或多個定義有一定的含義,並且你試圖找出definition_word是在tweet中(也許是單詞列表或其他)。
錯誤是說你試圖從函數對象('定義')調用方法,並且此方法不存在。因此,你需要在你的代碼行使用括號:
sense.definition().split()
確保您的定義函數返回字符串,因爲分裂()只用於字符串。
另外我不確定你是如何使用ConditionalFreqDist,看看這個: NLTK-Tutorial用於揭示使用nltk模塊的一些方面。
祝你好運解決問題!
您的縮進是有風的。 – Beginner 2014-11-21 20:23:21
它看起來像您可能錯過了「定義」的括號。在sense.definition()。def(split)()中使用def_word。 – IanAuld 2014-11-21 20:23:24