0

我一直在计算我的语料库中的单词列表,并查看单词列表的概率。

我一直在计算每个单词的频率,然后用 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)

请帮帮我。我已经花了两天时间来解决这个问题..

非常感谢你。!

4

1 回答 1

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
于 2012-10-01T04:48:45.353 回答