在 NLTK 和 Python 中创建自定义分类语料库
Posted
技术标签:
【中文标题】在 NLTK 和 Python 中创建自定义分类语料库【英文标题】:Creating a custom categorized corpus in NLTK and Python 【发布时间】:2012-05-14 21:18:08 【问题描述】:我遇到了一些与 Python 中的正则表达式和 CategorizedPlaintextCorpusReader
有关的问题。
我想创建一个自定义分类语料库并在其上训练一个朴素贝叶斯分类器。我的问题如下:我想要两个类别,“pos”和“neg”。正文件都在一个目录main_dir/pos/*.txt
,负文件在一个单独的目录main_dir/neg/*.txt
。
如何使用CategorizedPlaintextCorpusReader
加载和标记pos 目录中的所有正文件,并对负文件执行相同操作?
注意:设置与Movie_reviews
语料库 (~nltk_data\corpora\movie_reviews
) 完全相同。
【问题讨论】:
见***.com/questions/29275614/… 【参考方案1】:这是我的问题的答案。 由于我正在考虑使用两种情况,我认为最好同时涵盖这两种情况,以防将来有人需要答案。 如果您具有与 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')
我希望这对将来的某人有所帮助。
【讨论】:
以上是关于在 NLTK 和 Python 中创建自定义分类语料库的主要内容,如果未能解决你的问题,请参考以下文章