Python и NLTK являются идеальными инструментами для сортировки вашего списка слов, так как NLTK поставляется с некоторыми корпусами английского языка, из которых вы можете извлечь информацию о частоте.
Следующий код напечатает данное wordlist
в порядке частоты слов в коричневом корпусе:
import nltk
from nltk.corpus import brown
wordlist = ["corpus","house","the","Peter","asdf"]
# collect frequency information from brown corpus, might take a few seconds
freqs = nltk.FreqDist([w.lower() for w in brown.words()])
# sort wordlist by word frequency
wordlist_sorted = sorted(wordlist, key=lambda x: freqs[x.lower()], reverse=True)
# print the sorted list
for w in wordlist_sorted:
print w
вывод:
>>>
the
house
Peter
corpus
asdf
Если вы хотите использовать другой корпус или получить больше информации, вам следует взглянуть на глава 2 книги НЛТК .