在单词袋中使用pos标记

时间:2016-10-25 20:04:52

标签: machine-learning text-classification

我使用这个词包进行文本分类。 结果不够好,测试集精度低于70%。

我考虑的一件事是使用POS标记来区分单词的功能。怎么去做呢?

我正在考虑将标签附加到单词上,例如单词" love",如果它被用作名词使用:

love_noun

如果它是动词使用:

love_verb

1 个答案:

答案 0 :(得分:1)

如果您有数百个类别,测试集精度接近70%并不是那么糟糕。您可能希望测量整体精度和召回率而不是准确度。

您提出的建议听起来不错,这是一种添加功能连词作为附加功能的方法。以下是一些建议:

仍保留原始功能。也就是说,请勿将love替换为love_nounlove_verb。相反,您有两个来自love的功能:

 love, love_noun (or)
 love, love_verb

如果您需要一些示例代码,可以从nltk python包开始。

>>> 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克开始。例如,您可能有“in”和“stock”,您可能只是删除“in”,因为它是一个停用词。如果你考虑2克,你会得到一个新功能:

in-stock

与“stock”有不同的含义。在某些情况下,它可能会有很大帮助,例如,将“财务”与“购物”区分开来。