需要在NLTK和Python中设置分类语料库阅读器,在一个文件中设置语料库文本,每行一个文本

时间:2014-12-18 03:37:14

标签: python-2.7 text nltk corpus categorization

我熟悉NLTK和Jacob Perkins的书#34; Python文本处理和NLTK 2.0 Cookbook"

的文本分类。

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

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

我有两个这样的文件,带有所有的积极和否定。

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

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

1 个答案:

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