如何改进小文本的分类

2024-04-20 14:53:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到的数据主要是tweets或小评论(300-400个字符)。我使用了一袋词模型和NaiveBayes分类法。现在我有很多错误分类的案例,它们属于下面提到的类型:

1.] He sucked on a lemon early morning to get rid of hangover.
2.] That movie sucked big time.

现在的问题是,在情绪分类过程中,仅仅因为“糟糕”这个词,两者都变得“负面”

^{pr2}$

类似地,在文档分类过程中,由于出现了单词“sumped”,两个文档都被分类为“movies”。在

Document classification  : 1.] Movie    2.] Movie

这只是其中一个例子,我面临着大量错误的分类,不知道如何提高准确度。在


Tags: 数据文档模型类型过程错误评论分类
2条回答

也许您可以尝试使用更强大的分类器,如Support Vector Machines。根据你拥有的数据量,你可以尝试用卷积神经网络进行深度学习。为此,您需要大量的培训示例(100k-1M)。在

(一) 用朴素Bayes对单词包进行的一个简单的改变是生成单词包特征的多项式组合。它可能会解决您上面显示的问题。在

"sucked" + "lemon" (positive)

"sucked" + "movie" (negative)

当然,您也可以生成n个图的多项式组合,但是特征的数量可能太多。在

scikit学习库为此准备了一个预处理类。在

在sklearn.preprocessing.PolynomialFeatures(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html

理论上,带有多项式核的支持向量机与多项式特征+线性支持向量机的功能相同,但在存储模型信息的方式上略有不同。在

根据我的经验,多项式特征+线性支持向量机在短文本分类(包括情感分析)中表现得相当好。在

如果数据集大小不够大,训练数据集可能不包含“subbed”+“lemon”。在这种情况下,维数约简(如奇异值分解(SVD)和主题模型(如潜在Dirichlet分配(LDA))是适合词汇语义聚类的工具。在

(二) 另一个方向是利用更复杂的自然语言处理(NLP)技术从短文本中提取附加信息。例如,词性(POS)标记,命名实体识别(NER)将提供比普通弓更多的信息。一个名为自然语言工具包(NLTK)的python库实现了这些函数。在

(三) 你也可以采取缓慢而稳定的方式。通过分析当前模型的预测误差来设计新的手工特征是提高模型精度的一个很有前途的方法。在

有一个用于短文本分类的库LibShortText,它还包含错误分析函数和预处理函数,如TF-IDF加权。它可以帮助您学习如何通过错误分析来改进模型。在

LibShortText(https://www.csie.ntu.edu.tw/~cjlin/libshorttext/

(四) 欲了解更多信息,请看一下有关微博情感分析的文献,会给你更先进的信息。在

相关问题 更多 >