小编jai*_*inp的帖子

NLTK - Bigram的计数频率

这是一个Python和NLTK新手问题.

我想找到一起发生10次以上并且具有最高PMI的双字母组合的频率.

为此,我正在使用此代码

def get_list_phrases(text):

    tweet_phrases = []

    for tweet in text:
        tweet_words = tweet.split()
        tweet_phrases.extend(tweet_words)


    bigram_measures = nltk.collocations.BigramAssocMeasures()
    finder = BigramCollocationFinder.from_words(tweet_phrases,window_size = 13)
    finder.apply_freq_filter(10)
    finder.nbest(bigram_measures.pmi,20)  

    for k,v in finder.ngram_fd.items():
      print(k,v)
Run Code Online (Sandbox Code Playgroud)

但是,这并不会将结果限制在前20位.我看到频率<10的结果.我是Python世界的新手.

有人可以指出如何修改它只获得前20名.

谢谢

python nlp nltk

18
推荐指数
1
解决办法
2万
查看次数

标签 统计

nlp ×1

nltk ×1

python ×1