使用 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'])
大家好,我目前正在使用以下
在 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'])