【问题标题】:Is there a corpora of English words in nltk?nltk中有英文单词的语料库吗?
【发布时间】:2018-05-02 22:51:52
【问题描述】:

有什么方法可以获取python nltk库中的英文单词列表吗? 我试图找到它,但我唯一找到的是来自nltk.corpuswordnet。但是based on documentation, 它没有我需要的东西(它会找到一个词的同义词)。

我知道如何自己找到这个单词的列表(这个answer 详细介绍了它),所以我很感兴趣我是否可以只使用 nltk 库来做到这一点。

【问题讨论】:

  • 对于那些仍然有问题但需要使用一个NLTK的人,您可以在这里复制粘贴一个:ranks.nl/stopwords

标签: nltk


【解决方案1】:

是的,from nltk.corpus import words

并检查使用:

>>> "fine" in words.words()
True

参考:Section 4.1(Wordlist Corpora),Natural Language Processing with Python 的第 2 章。

【讨论】:

  • 谢谢你,但是你能在文档中的哪里找到它(看起来我好像错过了它)?
  • @SalvadorDali 已添加参考。
  • 遗漏了一些相当常见的词,尤其是复数词
  • 由于 words.words() 需要相当长的时间并返回一个列表而不是一个集合,实际上在初始化时缓存它要快得多:vocab = set(words.words())
  • @Tahlor 是的。因此需要在词元化后再次对其进行测试。
【解决方案2】:

除了@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 中处理它们

【讨论】:

    猜你喜欢
    • 2019-07-01
    • 2020-08-05
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2016-06-19
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多