cfd = nltk.ConditionalFreqDist(
(sense, def_word)
for sense in senses
for def_word in sense.definition.split()
if def_word in tweet)
不知道这个错误是什么意思。请帮忙。
答案 0 :(得分:0)
什么是sense
?什么是.definition
/看起来它是一个功能。 split
仅适用于字符串。您可能需要sense.definition().split()
。
答案 1 :(得分:0)
所以你的答案不是很清楚,试着在将来更具体。
但是,您正在使用nltk.probability模块来查找实验中的概率现象。
在您的示例中,您使用ConditionalFreqDist作为sense和definition_word。 所以我可以建议,你有一些感觉,其中有一个或多个定义,而你试图找出的是定义是在推文中的(也许是单词列表或其他内容)。
错误是说您正在尝试从函数对象('definition')调用方法,并且此方法不存在。因此,您需要在代码行中使用括号:
sense.definition().split()
确保定义函数返回字符串,因为split()仅用于字符串。
我也不确定你是如何使用ConditionalFreqDist的,看看这个: NLTK-Tutorial用于揭示使用nltk模块的某些方面。
解决问题祝你好运!