使用CSV文件在NLTK中创建自定义语料库

时间:2015-05-20 18:41:29

标签: python nltk corpus

嘿伙计们,我现在正在使用以下

在NLTK Python中创建用于文本分类的自定义语料库
corpus_create = CategorizedTaggedCorpusReader('/home/classification', '(training|test).*',cat_file='cat.txt')

len(corpus_Create.categories())

然后我们利用高信息词功能和training_test_feat函数返回train_feats和test_feats。

目前我们创建了两个名为Training and Test的文件夹,其中分类数据与cat文件一起放置,描述了POS,NEG,NEU的文件夹/文件名

Training/File10 POS
Test/File2 NEG 
Training/File445 NEU 
...........

现在,如果我们有一个CSV文件,其中第1列有文本,而COlumn2有分类,例如

   Text      Classification 
   Good           POS 
   This is nice   POS 
   Thats  bad     NEG 
   This is a cat  NEU

我们如何编写一个函数来直接从CSV文件创建语料库?

非常感谢

1 个答案:

答案 0 :(得分:2)

如果要从CSV文件中解压缩或读取数据,可以使用Pythons' CSV模块。以下代码打开文件并将所有内容附加到列表中,然后您可以将其提供给分类器。

import csv

training_set = []

with open('path/to/text.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        training_set.append((row['Text'], row['Classification']))


print training_set

如果您的分类器能够更新,那么您可以跳过创建列表training_set,然后执行.update(row [' Text'],row [' Classification'])