我有一系列文本是自定义WebText类的实例。每个文本是具有等级(-10到+10)和与之相关联的字数(nltk.FreqDist)对象:包含的每一个字将nltk.FreqDist单词分成两个列表?
>>trainingTexts = [WebText('train1.txt'), WebText('train2.txt'), WebText('train3.txt'), WebText('train4.txt')]
>>trainingTexts[1].rating
10
>>trainingTexts[1].freq_dist
<FreqDist: 'the': 60, ',': 49, 'to': 38, 'is': 34,...>
你怎么能现在得到两个列表(或字典) (trainingText []。rating> 0)以及另一个包含在否定文本中专用的每个词的列表(trainingText []。rating < 0)。并有每个列表包含所有的正面或负面的文字总字数,让你得到的东西是这样的:
>>only_positive_words
[('sky', 10), ('good', 9), ('great', 2)...]
>>only_negative_words
[('earth', 10), ('ski', 9), ('food', 2)...]
我考虑过使用集,集包含独特的情况下,但我看不出如何这可以用nltk.FreqDist来完成,并且最重要的是,一个集合不会按字频排序。有任何想法吗?
评分== 0的文本会发生什么情况? – dhg
@dhg他们只是被忽略 – Zach