嘿伙计们,我现在正在使用以下
在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文件创建语料库?
非常感谢
答案 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'])