我用一袋字进行文本分类。
结果不够好,测试仪精度低于70%。
我正在考虑的事情之一是使用POS标记来区分单词的功能。如何去做呢?
我正在考虑将标签附加到单词,例如单词“ love”(如果它用作名词):
love_noun
如果是动词,请使用:
love_verb
最佳答案
如果您有数百个类别,则测试集的准确度接近70%并不算差。您可能需要测量整体精度并调用而不是精度。
您提出的建议听起来不错,这是一种将要素连接添加为附加要素的方法。这里有一些建议:
仍然保留原始功能。也就是说,请勿将love
替换为love_noun
或love_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-gram开始。例如,您可能有“ in”和“ stock”,您可能只是删除了“ in”,因为它是一个停用词。如果考虑2克,您将获得一个新功能:
in-stock
与“股票”的含义不同。例如,在某些情况下,将“财务”与“购物”区分开可能会很有帮助。
关于machine-learning - 在单词袋中使用pos标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40248764/