Corpora是一個展示多個文字文件集合的組。 單個集合稱為語料庫。 其中一個著名的語料庫是古騰堡語料庫,其中包含大約25,000
本免費電子書,由 http://www.gutenberg.org/ 託管。 在下面的例子中,只存取語料庫中那些檔案的名稱,這些檔案是純文字,以.txt
結尾的檔案名。
from nltk.corpus import gutenberg
fields = gutenberg.fileids()
print(fields)
執行上面範例程式碼,得到以下結果 -
[austen-emma.txt', austen-persuasion.txt', austen-sense.txt', bible-kjv.txt',
blake-poems.txt', bryant-stories.txt', burgess-busterbrown.txt',
carroll-alice.txt', chesterton-ball.txt', chesterton-brown.txt',
chesterton-thursday.txt', edgeworth-parents.txt', melville-moby_dick.txt',
milton-paradise.txt', shakespeare-caesar.txt', shakespeare-hamlet.txt',
shakespeare-macbeth.txt', whitman-leaves.txt']
可以使用sent_tokenize
函式從這些檔案中存取原始文字,該函式也可以在nltk
中使用。 在下面的例子中,將檢索blake-poen
文字的前兩段。
from nltk.tokenize import sent_tokenize
from nltk.corpus import gutenberg
sample = gutenberg.raw("blake-poems.txt")
token = sent_tokenize(sample)
for para in range(2):
print(token[para])
當執行上面的程式時,我們得到以下輸出 -
[Poems by William Blake 1789]
SONGS OF INNOCENCE AND OF EXPERIENCE
and THE BOOK of THEL
SONGS OF INNOCENCE
INTRODUCTION
Piping down the valleys wild,
Piping songs of pleasant glee,
On a cloud I saw a child,
And he laughing said to me:
"Pipe a song about a Lamb!"
So I piped with merry cheer.