2012-10-01 28 views
0

我一直在計算我的語料庫中的單詞列表,並查看單詞列表的概率。Python:NLTK單詞列表的概率

我一直在計算每個單詞的frequcy,然後使用EXCEL進行求和,但這需要非常長的時間。我的名單上的字數是幾千..

我只想總結單詞列表的總次數,然後看單詞的概率。

genres = ['C:/A1.txt','C:/A2.txt','C:/A3.txt'] 
modals = ['can', 'could', 'may', 'might', 'must', 'will'] 

cfd = nltk.ConditionalFreqDist(
     (genre, word) 
     for genre in genres 
     for word in modals) 

cfd.tabulate(conditions=genres, samples=modals) 

請幫助我。我一直在消耗兩天來解決這個問題。

非常感謝你提前。

+0

您發佈的代碼有什麼問題? – Blender

+0

我真的沒有任何問題,我的帖子..我不想統計每個單詞,但我想總結每個單詞在我的列表中的頻率.. – user976856

+0

當我這樣做..我花了很長時間來計算列表中的每個單詞。有什麼方法可以總結我列表中所有單詞的頻率? – user976856

回答

0

這是我用來獲取頻率計數的功能。它使用numpy數組。你可以修改代碼來獲得概率。

def freqCount(y_list): 
     x =array(y_list) 
     y = bincount(x) 
     ii = nonzero(y)[0] 
     freq = zip(ii,y[ii]) 
     f = open(fn_freq,'w') 
     f.write('Distribution:\n') 
     print 
     print "Distribution:" 
     freq_dict={} 
     for ff in freq: 
      temp = "%s %s\n" % (ff[0],ff[1]) 
      f.write(temp) 
      print ff[0],ff[1] 
      freq_dict[ff[0]]=ff[1] 
     f.close() 
     return freq_dict 
+0

非常感謝你!我可以問一個問題..?所以Y_list將是我的原始數據和我想要計算的單詞列表將是f?正確?謝謝! – user976856

+0

耶...只是一個列表,例如y_list = ['a','b'] – Tampa

+0

請務必輸入numpy – Tampa