nltk中有英文单词语料库吗?
Is there a corpora of English words in nltk?
有什么办法可以得到python nltk库中的英文单词列表吗?
我试图找到它,但我唯一找到的是 nltk.corpus
中的 wordnet
。但是 based on documentation, 它没有我需要的东西(它找到一个词的同义词)。
我知道如何自己找到这个词的列表(这个answer有详细介绍),所以我很想知道我是否可以只使用 nltk 库来做到这一点。
是的,from nltk.corpus import words
并检查使用:
>>> "fine" in words.words()
True
参考:Natural Language Processing with Python 第 2 章第 4.1 节(Wordlist Corpora)。
除了@salvadordali 突出显示的 nltk.corpus.words
之外,:
>>> from nltk.corpus import words
>>> print words.readme()
Wordlists
en: English, http://en.wikipedia.org/wiki/Words_(Unix)
en-basic: 850 English words: C.K. Ogden in The ABC of Basic English (1932)
>>> print words.words()[:10]
[u'A', u'a', u'aa', u'aal', u'aalii', u'aam', u'Aani', u'aardvark', u'aardwolf', u'Aaron']
请注意,nltk.corpus.words
是一个没有频率的单词列表,因此它不完全是自然文本的语料库。
包含各种语料库的corpus
包,其中一些是英语语料库,参见http://www.nltk.org/nltk_data/。例如。 nltk.corpus.brown
:
>>> from nltk.corpus import brown
>>> brown.words()[:10]
[u'The', u'Fulton', u'County', u'Grand', u'Jury', u'said', u'Friday', u'an', u'investigation', u'of']
从自然文本语料库中获取单词列表:
>>> wordlist = set(brown.words())
>>> print len(wordlist)
56057
>>> wordlist_lowercased = set(i.lower() for i in brown.words())
>>> print len(wordlist_lowercased)
49815
请注意 brown.words()
包含像自然文本一样大小写的单词。
在大多数情况下,没有频率的单词列表不是很有用,因此您可以使用 FreqDist
:
>>> from nltk import FreqDist
>>> from nltk.corpus import brown
>>> frequency_list = FreqDist(i.lower() for i in brown.words())
>>> frequency_list.most_common()[:10]
[(u'the', 69971), (u',', 58334), (u'.', 49346), (u'of', 36412), (u'and', 28853), (u'to', 26158), (u'a', 23195), (u'in', 21337), (u'that', 10594), (u'is', 10109)]
有关更多信息,请参阅http://www.nltk.org/book/ch01.html了解如何访问语料库并在 NLTK 中处理它们
有什么办法可以得到python nltk库中的英文单词列表吗?
我试图找到它,但我唯一找到的是 nltk.corpus
中的 wordnet
。但是 based on documentation, 它没有我需要的东西(它找到一个词的同义词)。
我知道如何自己找到这个词的列表(这个answer有详细介绍),所以我很想知道我是否可以只使用 nltk 库来做到这一点。
是的,from nltk.corpus import words
并检查使用:
>>> "fine" in words.words()
True
参考:Natural Language Processing with Python 第 2 章第 4.1 节(Wordlist Corpora)。
除了@salvadordali 突出显示的 nltk.corpus.words
之外,:
>>> from nltk.corpus import words
>>> print words.readme()
Wordlists
en: English, http://en.wikipedia.org/wiki/Words_(Unix)
en-basic: 850 English words: C.K. Ogden in The ABC of Basic English (1932)
>>> print words.words()[:10]
[u'A', u'a', u'aa', u'aal', u'aalii', u'aam', u'Aani', u'aardvark', u'aardwolf', u'Aaron']
请注意,nltk.corpus.words
是一个没有频率的单词列表,因此它不完全是自然文本的语料库。
包含各种语料库的corpus
包,其中一些是英语语料库,参见http://www.nltk.org/nltk_data/。例如。 nltk.corpus.brown
:
>>> from nltk.corpus import brown
>>> brown.words()[:10]
[u'The', u'Fulton', u'County', u'Grand', u'Jury', u'said', u'Friday', u'an', u'investigation', u'of']
从自然文本语料库中获取单词列表:
>>> wordlist = set(brown.words())
>>> print len(wordlist)
56057
>>> wordlist_lowercased = set(i.lower() for i in brown.words())
>>> print len(wordlist_lowercased)
49815
请注意 brown.words()
包含像自然文本一样大小写的单词。
在大多数情况下,没有频率的单词列表不是很有用,因此您可以使用 FreqDist
:
>>> from nltk import FreqDist
>>> from nltk.corpus import brown
>>> frequency_list = FreqDist(i.lower() for i in brown.words())
>>> frequency_list.most_common()[:10]
[(u'the', 69971), (u',', 58334), (u'.', 49346), (u'of', 36412), (u'and', 28853), (u'to', 26158), (u'a', 23195), (u'in', 21337), (u'that', 10594), (u'is', 10109)]
有关更多信息,请参阅http://www.nltk.org/book/ch01.html了解如何访问语料库并在 NLTK 中处理它们