按用法对单词进行排序

xra*_*alf 4 python nltk

我有一个英文单词列表(大约10000),我想根据它们的用法对它们进行排序,因为它们出现在文学,报纸,博客等中.我可以用Python或其他语言对它们进行排序吗?我听说NLTK哪个是我认识最近的图书馆可以提供帮助.或者这是其他工具的任务吗?

谢谢

tob*_*gue 9

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
Run Code Online (Sandbox Code Playgroud)

输出:

>>> 
the
house
Peter
corpus
asdf
Run Code Online (Sandbox Code Playgroud)

如果您想使用不同的语料库或获取更多信息,您应该查看nltk书的第2章.