語料訪問

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.