2

NLTK を使用してバイグラムとトライグラムのコロケーションを取得する方法を知っており、それらを自分のコーパスに適用しています。コードは以下です。

私の唯一の問題は、PMI 値でバーグラムを出力する方法ですか? NLTK ドキュメントを何度も検索します。何かが足りないか、そこにないかのどちらかです。

import nltk
from nltk.collocations import *

myFile = open("large.txt", 'r').read()
myList = myFile.split()
myCorpus = nltk.Text(myList)
trigram_measures = nltk.collocations.TrigramAssocMeasures()
finder = TrigramCollocationFinder.from_words((myCorpus))

finder.apply_freq_filter(3)
print finder.nbest(trigram_measures.pmi, 500000)
4

2 に答える 2

1

を探していると思いますscore_ngram。とにかく、印刷機能は必要ありません。自分で出力を変更するだけです...

trigrams = finder.nbest(trigram_measures.pmi, 500000)
print [(x, finder.score_ngram(trigram_measures.pmi, x[0], x[1], x[2])) for x in trigrams]
于 2014-01-15T05:44:26.603 に答える