3

我正在通过 Jacob Perkins 的书“使用 NLTK 2.0 Cookbook 的 Python 文本处理”来熟悉 NLTK 和文本分类。

我的语料库文档/文本每个都包含一段文本,因此它们每个都在单独的文件行中,而不是在单独的文件中。这些段落/行的数量约为200万。因此,机器学习实例大约有 200 万个。

我文件中的每一行(一段文本 - 域标题、描述、关键字的组合)都是特征提取的主题:标记化等,使其成为机器学习算法的实例。

我有两个这样的文件,其中包含所有积极和消极的内容。

如何将其加载到 CategorizedCorpusReader?可能吗?

我之前尝试过其他解决方案,比如 scikit,最后选择了 NLTK,希望从一个更简单的点开始获得结果。

4

1 回答 1

2

假设您有两个文件:

file_pos.txt、file_neg.txt

from nltk.corpus.reader import CategorizedCorpusReader
reader = CategorizedCorpusReader('/path/to/corpora/', \
                                 r'file_.*\.txt', \
                                 cat_pattern=r'file_(\w+)\.txt')

在此之后,您可以对其应用常用的语料库功能,例如:

>>> reader.categories()
['neg', 'pos']
>>> reader.fileids(categories=['neg'])
['file_neg.txt']

以及 tagged_sents、tagged_words 等。

您可能会喜欢这个关于创建自定义语料库的教程: https ://www.packtpub.com/books/content/python-text-processing-nltk-20-creating-custom-corpora

于 2015-03-04T10:39:44.727 回答