gpt4 book ai didi

python - 如何改进小文本的分类

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:40 25 4
gpt4 key购买 nike

我得到的数据主要是推文或小评论(300-400 个字符)。我使用了 Bag-Of-Word 模型并使用了 NaiveBayes 分类。现在我有很多错误分类的案例,属于下面提到的类型:-

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

现在的问题是,在情感分类过程中,两者都因为“sucked”这个词而变得“负面”

Sentiment Classification : 1.] Negative 2.] Negative

同样,在文档分类过程中,由于单词“sucked”的存在,两者都被分类为“电影”。

Document classification  : 1.] Movie    2.] Movie

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

最佳答案

(1)朴素贝叶斯对词袋的一个直接可能的改变是生成词袋特征的多项式组合。它可能会解决您上面显示的问题。

"sucked" + "lemon" (positive)

"sucked" + "movie" (negative)

当然,您也可以生成 n-gram 的多项式组合,但特征数量可能太大。

scikit-learn 库为此准备了一个预处理类。

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

从理论上讲,具有多项式核的 SVM 与 PolynomialFeatures + 线性 SVM 的作用相同,但在存储模型信息的方式上略有不同。

根据我的经验,PolynomialFeatures + linear SVM 对于包括情感分析在内的短文本分类表现相当不错。

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

(2)另一个方向是利用更复杂的自然语言处理 (NLP) 技术从短文本中提取额外信息。例如,词性 (POS) 标记、命名实体识别 (NER) 将提供比普通 BoW 更多的信息。一个名为 Natural Language Toolkit (NLTK) 的 NLP python 库实现了这些功能。

(3)您也可以采取缓慢但稳定的方式。分析当前模型的预测误差以设计新的手工特征是提高模型准确性的有前途的方法。

有一个用于短文本分类的库叫做LibShortText,它还包含错误分析功能和TF-IDF加权等预处理功能。它可能会帮助您了解如何通过错误分析改进模型。

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

(4)有关更多信息,请查看有关推文情感分析的文献,这将为您提供更高级的信息。

关于python - 如何改进小文本的分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513634/

25 4 0
文章推荐: python - 将包含特定路径的文件夹插入到 Python 中的 Bottle 应用程序
文章推荐: javascript - 关于使用 jQuery 和 JSON 在 div 中设置背景...
文章推荐: python - 乘以多索引 Pandas 系列和 DataFrame
文章推荐: javascript - 如何使
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com