Python - Corpora Access


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.