コーパスから複数の行でバイグラムを生成しようとしています。ビッグラムは改行を超えて作成されます。これは、各行が独自のコンテキストを表し、後続の行には関係しないため、問題です。その結果、意味的に不正確なバイグラムが生じる。複数のコーパスを持つコーパスからNLTKを使用してバイグラムを作成する
コーパス
Reeves Acrylfarbe 75Ml Ultramarin
Acrylfarbe Deep Peach
Reeves Acrylfarbe 75Ml Grasgrün
Acrylfarbe Antique Go
例問題のバイグラムのため
'Ultramarin Acrylfarbe'、 'GrasgrünAcrylfarbe'
これは私が使用していたコードです:
finder = BigramCollocationFinder.from_words(word_tokenize(corpus))
bigrams = finder.nbest(bigram_measures.likelihood_ratio, 100)
2行にまたがるバイグラムを省略することはできますか?
を持っていました同じアイデアですが、nltk.collocations.BigramCollocationFinderオブジェクトを返すBigramCollocationFinderを使用してこれを行う方法がわかりません – Jabb
'bigram_measures'が' nltk.collocations.BigramAssocMeasures'のインスタンスであると仮定します。 'bigrams'は単なるタプル/ペアのリストです。だからあなたはそれを初期化してから、 'extend'を使って各行から新しいバイグラムを追加します – ChE