Altro che il nltk.corpus.words
che @salvadordali ha evidenziato ,:
>>> 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']
notano che nltk.corpus.words
è una lista di parole, senza frequenze quindi non è esattamente un corpus di testi naturale.
Il pacchetto corpus
che contiene vari corpora, alcuni dei quali sono corpora inglesi, vedere http://www.nltk.org/nltk_data/. Per esempio. 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']
Per ottenere un elenco di parole da un corpus di testo naturale:
>>> wordlist = set(brown.words())
>>> print len(wordlist)
56057
>>> wordlist_lowercased = set(i.lower() for i in brown.words())
>>> print len(wordlist_lowercased)
49815
Si noti che il brown.words()
contiene parole con entrambi i casi inferiori e superiori, come il testo naturale.
Nella maggior parte dei casi, una lista di parole non è molto utile senza le frequenze, in modo da poter utilizzare il 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)]
Per di più, vedi http://www.nltk.org/book/ch01.html su come accedere corpora ed elaborarli in NLTK
grazie, ma puoi per favore dove lo hai trovato nella documentazione (sembra che in qualche modo mi sia sfuggito)? –
@SalvadorDali Hanno aggiunto il riferimento. – axiom
È utile !!! –