如何培养一个以pos-tag序列为特征的朴素贝叶斯分类器?

时间:2015-02-27 11:50:32

标签: machine-learning nltk stanford-nlp text-classification naivebayes

我有两类句子。每个都有相当明显的pos标签序列。如何训练以POS-Tag序列为特征的Naive-Bayes分类器? Stanford CoreNLP / NLTK(Java或Python)是否提供了使用pos-tag作为特征构建分类器的任何方法?我知道在python NaiveBayesClassifier中允许构建一个NB分类器,但它使用contains-a-word作为特征,但它可以扩展为使用pos-tag-sequence作为特征吗?

1 个答案:

答案 0 :(得分:4)

如果您知道如何使用nltk的朴素贝叶斯分类器和单词作为特征来训练和预测文本(或您的案例中的句子),那么您可以轻松地扩展此方法,以便通过pos-tags对文本进行分类。这是因为分类器并不关心您的要素字符串是单词还是标签。因此,您可以使用例如nltk标准的pos标记器替换pos标签中的单词:

sent = ['So', 'they', 'have', 'internet', 'on', 'computers' , 'now']
tags = [t for w, t in nltk.pos_tag(sent)]
print tags

[' IN',' PRP',' VBP',' JJ',' IN',& #39; NNS',' RB']

从现在开始,你可以继续使用"包含一个词"方法