在NLTK和Python中创建自定义分类语料库

时间:2012-05-05 16:44:43

标签: python regex nlp nltk

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

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

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

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

1 个答案:

答案 0 :(得分: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')

我希望这将有助于将来。