我一直在计算我的语料库中的单词列表,并查看单词列表的概率。
我一直在计算每个单词的频率,然后使用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 :(得分: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