【发布时间】:2017-03-08 00:31:44
【问题描述】:
我正在使用词袋进行文本分类。 结果不够好,测试集准确率低于 70%。
我正在考虑的一件事是使用词性标注来区分单词的功能。怎么做?
我正在考虑将标签附加到单词上,例如“爱”这个词,如果它用作名词的话:
love_noun
如果是动词使用:
love_verb
【问题讨论】:
标签: machine-learning text-classification
我正在使用词袋进行文本分类。 结果不够好,测试集准确率低于 70%。
我正在考虑的一件事是使用词性标注来区分单词的功能。怎么做?
我正在考虑将标签附加到单词上,例如“爱”这个词,如果它用作名词的话:
love_noun
如果是动词使用:
love_verb
【问题讨论】:
标签: machine-learning text-classification
如果您有数百个类别,那么接近 70% 的测试集准确度还不错。您可能想要衡量整体精度和召回率而不是准确率。
您提出的建议听起来不错,这是一种将特征连词添加为附加特征的方法。以下是一些建议:
仍保留原有功能。也就是说,不要将love替换为love_noun或love_verb。相反,您有两个来自love 的功能:
love, love_noun (or)
love, love_verb
如果需要一些示例代码,可以从nltkpython包开始。
>>> from nltk import pos_tag, word_tokenize
>>> pos_tag(word_tokenize("Love is a lovely thing"))
[('Love', 'NNP'), ('is', 'VBZ'), ('a', 'DT'), ('lovely', 'JJ'), ('thing', 'NN')]
考虑使用 n-gram,可能从添加 2-gram 开始。例如,您可能有“in”和“stock”,您可能只删除“in”,因为它是一个停用词。如果你考虑 2-gram,你会得到一个新特性:
in-stock
与“库存”有不同的含义。在某些情况下可能会有很大帮助,例如,区分“金融”和“购物”。
【讨论】: