繁体   English   中英

使用我自己的语料库在Python NLTK中进行类别分类

[英]Using my own corpus for category classification in Python NLTK

我是NTLK / Python的初学者,并且使用CategorizedPlaintextCorpusReader设法加载了自己的语料库,但是我如何实际训练和使用数据进行文本分类呢?

>>> from nltk.corpus.reader import CategorizedPlaintextCorpusReader
>>> reader = CategorizedPlaintextCorpusReader('/ebs/category', r'.*\.txt', cat_pattern=r'(.*)\.txt')
>>> len(reader.categories())
234

假设您想要一个带有单词功能的朴素贝叶斯分类器:

from nltk import FreqDist
from nltk.classify.naivebayes import NaiveBayesClassifier

def make_training_data(rdr):
    for c in rdr.categories():
        for f in rdr.fileids(c):
            yield FreqDist(rdr.words(fileids=[f])), c

clf = NaiveBayesClassifier.train(list(make_training_data(reader)))

产生的clfclassify方法可用于任何FreqDist单词。

(但请注意:从cap_pattern ,看来您的语料库中有每个文件的样本一个类别。请检查这是否真的是您想要的。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM