[英]how to sort frequency of bigrams in python / nltk
我是python和nltk的新手,我想在文本(字符串)中找到bigrams的頻率,然后將bigrams從最高頻率到最低頻率進行排序。 我使用以下方法找到了二元組和頻率:
tokens = nltk.word_tokenize(text)
bgs = nltk.bigrams(tokens
fdist = nltk.FreqDist(bgs)
但我不知道如何從最高頻率到最低頻率排序?
我知道這可能很容易,但我無法弄清楚。 希望有人能幫助我!
您可以嘗試使用兩個不同的列表保留 bigrams - 單詞及其值,您可以使用這些列表進行排序。 我分享了一個鏈接,希望對你的問題有用。
bigrams = nltk.bigrams(tokens)
bigrams_freq = nltk.FreqDist(bigrams)
words_bigrams = []
values_bigrams = []
for items in bigrams_freq.items() :
words_bigrams.append(items[0])
values_bigrams.append(items[1])
def sort_them(w,v):
values = []
words = []
##add all words values
for i in v :
values.append(i)
##sort them the biggest -> smallest
values.sort(reverse=True)
##add to an array these values words
for i in values :
words.append(w[i])
sort(words_bigrams,valus_bigrams)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.