Python - 语料库访问


语料库是一个呈现多个文本文档集合的组。单个集合称为语料库。古腾堡语料库就是这样一个著名的语料库,它包含大约 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']

访问原始文本

我们可以使用 nltk 中也提供的 sent_tokenize 函数访问这些文件中的原始文本。在下面的示例中,我们检索 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.