10

我遇到了一些与正则表达式和CategorizedPlaintextCorpusReaderPython 有关的问题。

我想创建一个自定义分类语料库并在其上训练一个朴素贝叶斯分类器。我的问题如下:我想要两个类别,“pos”和“neg”。正面文件都在一个目录中,main_dir/pos/*.txt,而负面文件在一个单独的目录中,main_dir/neg/*.txt

如何使用CategorizedPlaintextCorpusReader来加载和标记 pos 目录中的所有正文件,并对负文件执行相同操作?

Movie_reviews注意:设置与语料库完全相同( ~nltk_data\corpora\movie_reviews)。

4

1 回答 1

20

这是我的问题的答案。由于我正在考虑使用两种情况,我认为最好同时涵盖这两种情况,以防将来有人需要答案。如果您具有与 movie_review 语料库相同的设置 - 多个文件夹以相同的方式标记,您希望您的标签被调用并包含训练数据,您可以使用它。

reader = CategorizedPlaintextCorpusReader('~/MainFolder/', r'.*\.txt', cat_pattern=r'(\w+)/*')

我正在考虑的另一种方法是将所有内容放在一个文件夹中,并将文件命名为 0_neg.txt、0_pos.txt、1_neg.txt 等。您的读者的代码应该类似于:

reader = CategorizedPlaintextCorpusReader('~/MainFolder/', r'.*\.txt', cat_pattern=r'\d+_(\w+)\.txt')

我希望这对将来的某人有所帮助。

于 2012-05-09T15:24:46.547 回答