Python Text Processing 简明教程

Python - Corpora Access

语料库是一个包含多个文本文档集合的组。单个集合称为语料库。一个这样的著名语料库是 gutenberg 语料库,它包含约 25,000 本免费电子书,托管在 [role="bare"] [role="bare"]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']

Accessing Raw Text

我们可以使用 nltk 中的 sent_tokenize 函数访问这些文件中原始文本。在下面的示例中,我们检索了 blake 诗歌文本的前两段。

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.