を使用して文のリストのリストを越えIは、それぞれ内部リストは、単語にトークン化された文であるリストのリストを持っています:計算nGramsはNLTK
numSentences = len(sentences)
nGrams = []
for i in range(0, numSentences):
nGrams.append(list(ngrams(sentences, 2)))
これは、リスト全体ではなく、各内部リストは個々の単語(それは幾分予測可能である文の数について繰り返される)のバイグラムを見つけることになる:
[[(['farmer', 'plants', 'grain'], ['fisher', 'catches', tuna']),
(['fisher', 'catches', tuna'], ['police', 'officer', 'fights', 'crime'])],
[(['farmer', 'plants', 'grain'], ['fisher', 'catches', tuna']),
(['fisher', 'catches', tuna'], ['police', 'officer', 'fights', 'crime'])],
[(['farmer', 'plants', 'grain'], ['fisher', 'catches', tuna']),
(['fisher', 'catches', tuna'], ['police', 'officer', 'fights', 'crime'])]]
各文のnグラムを(単語単位で)どのように計算するのですか?言い換えれば、nGramsが複数のリスト項目にまたがらないようにする方法は?ここに私の所望の出力は次のようになります。
farmer plants
plants grain
fisher catches
catches tuna
police officer
officer fights
fights crime