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

Creating custom corpus in NLTK using CSV file

大家好,我目前正在使用以下

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

len(corpus_Create.categories())

然后我们利用一个高信息词函数和一个training_test_feat函数来returntrain_feats和test_feats.

目前我们创建了两个名为 Training 和 Test 的文件夹,其中分类数据与一个 cat 文件一起放置,描述 folder/filename 具有 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 文件创建语料库?

非常感谢

如果您要从 CSV 文件中解包或读取数据,您可以使用 Python 的 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'])