特定の周波数 ( ) を持つバイグラムのリストを取得しようとしていますi
。
私はそれを行うための2つの方法を思いついた. 最初にバイグラムのリストを作成してから、次のメソッドbg1
を使用します。nltk.FreqDist
import nltk
from nltk import FreqDist
from nltk import bigrams
#setup data
from nltk.book import text1
#keep only alpha words / remove punctuation
alphlist = [w for w in list(text1) if w.isalpha()]
#create bigrams list
bg1 = bigrams(alphlist)
#create freqdist object
fdist1 = nltk.FreqDist(bg1)
アプローチ 1 では、most_common
最初に並べ替えを使用します。
for obj in fdist1.most_common():
if obj[1] == i:
print(obj)
2 つの解析fdist1
に直接アプローチします。
for obj in fdist1:
if fdist1[obj] == i:
print(obj, fdist1[obj])
どちらのアプローチが優れているか、またその理由は?