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)

助けてください。私はこの問題を克服するために2日を費やしてきました。

よろしくお願いします。

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 に答える