过滤NLTK Bigram频率(Python3,NLTK)

时间:2014-09-25 04:05:07

标签: python-3.x nltk

我有一个代码如下:

df1 = df[['term']]
df2 = df1.to_string()
words = nltk.word_tokenize(df2)
bgs = nltk.bigrams(words)
fdist = nltk.FreqDist(bgs)

我现在如何过滤fdist以仅查找出现次数超过2次的双字母组?

2 个答案:

答案 0 :(得分:0)

这就是我为我的目的所做的事情(不是最直接的,但我想我会加上我的两分钱):将数据放入一个新的数据框,在数据框中过滤

frequencies = [[" ".join(k),v] for k,v in fdist.items()]
frame = pd.DataFrame(frequencies, columns=['Bigrams','Frequency'])
removal = frame[frame['Frequency'] >= 10]

答案 1 :(得分:0)

试试......

for obj in fdist.most_common():
    if obj[1] >2:
        print(obj)

OR

for obj in fdist:
    if fdist1[obj] >2:
        print(obj, fdist1[obj])