我熟悉NLTK和Jacob Perkins的书#34; Python文本处理和NLTK 2.0 Cookbook"
的文本分类。我的语料库文档/文本每个都包含一段文本,因此每个文档都位于单独的文件行中,而不是单独的文件中。这些段落/行的数量约为2百万。因此,机器学习实例大约有200万个。
我文件中的每一行(文本段落 - 域名,描述,关键字的组合),这是特征提取的主题:标记化等,使其成为机器学习算法的实例。
我有两个这样的文件,带有所有的积极和否定。
如何将其加载到CategorizedCorpusReader?有可能吗?
我之前尝试过其他解决方案,比如scikit,最后选择了NLTK,希望从结果开始更简单一点。
答案 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