我有两类句子。每个都有相当不同的 pos-tag 序列。如何以 POS-Tag 序列作为特征来训练朴素贝叶斯分类器?斯坦福 CoreNLP/NLTK(Java 或 Python)是否提供任何方法来构建具有 pos-tag 作为特征的分类器?我知道在 python 中NaiveBayesClassifier
允许构建一个 NB 分类器,但它contains-a-word
用作特征,但它可以扩展为使用 pos-tag-sequence 作为特征吗?
问问题
3089 次
1 回答
6
如果您知道如何使用 nltk 的朴素贝叶斯分类器和单词作为特征来训练和预测文本(或您的情况下的句子),那么您可以轻松扩展此方法以通过 pos-tags 对文本进行分类。这是因为分类器不关心您的特征字符串是单词还是标签。因此,您可以使用例如 nltk 的标准 pos 标记器简单地用 pos-tags 替换句子中的单词:
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','NNS','RB']
从现在开始,您可以继续使用“包含单词”的方法。
于 2015-02-28T15:51:58.377 回答