使用机器学习的情感分析分类器

     2023-04-18     300

关键词:

【中文标题】使用机器学习的情感分析分类器【英文标题】:Sentiment Analysis classifier using Machine Learning 【发布时间】:2016-04-30 20:08:14 【问题描述】:

我们如何为情绪分析制作一个有效的分类器,因为为此我们需要在庞大的数据集上训练我们的分类器。

我有大量的数据集要训练,但是分类器对象(这里使用 Python)在使用 3000 个单词时会出现内存错误。而且我需要训练超过 10 万个单词。

我的想法是将庞大的数据集划分为更小的部分,并为每个部分创建一个分类器对象,并将其存储在一个 pickle 文件中并使用所有这些部分。但似乎不可能使用所有分类器对象进行测试,因为在测试期间只需要一个对象。

我想到的解决方案是将存储在 pickle 文件中的所有已保存分类器对象组合起来(这只是没有发生),或者继续将相同的对象附加到新的训练集(但同样,它正在被覆盖而不是附加)。

我不知道为什么,但即使它是机器学习的基础,我也找不到任何解决这个问题的方法。每个机器学习项目都需要在庞大的数据集上进行训练,训练这些数据集的对象大小总是会出现内存错误。

那么,如何解决这个问题呢?我对任何解决方案持开放态度,但想听听从事实时机器学习项目的人的做法。

代码片段:

documents = [(list(movie_reviews.words(fileid)), category)
             for category in movie_reviews.categories()
             for fileid in movie_reviews.fileids(category)]

all_words = []
for w in movie_reviews.words():
    all_words.append(w.lower())
all_words = nltk.FreqDist(all_words)
word_features = list(all_words.keys())[:3000]

def find_features(document):
    words = set(document)
    features = 
    for w in word_features:
        features[w] = (w in words)
    return features

featuresets = [(find_features(rev), category) for (rev, category) in documents]
numtrain = int(len(documents) * 90 / 100)
training_set = featuresets[:numtrain]
testing_set = featuresets[numtrain:]

classifier = nltk.NaiveBayesClassifier.train(training_set)

PS:我正在使用 NaiveBayes 的 NLTK 工具包。我的训练数据集正在打开并存储在documents

【问题讨论】:

【参考方案1】:

您似乎缺少两件事:

    文本的数据集通常非常稀疏,您应该将它们存储为稀疏矩阵。对于这样的表示,您应该能够使用 vocab 将数百万个文档存储在您的内存中。 100,000。

    许多现代学习方法都是在小批量场景中训练的,这意味着您永远不需要内存中的整个数据集,而是将其与随机数据子集一起提供给模型 - 但仍然训练单个模型。这样,您的数据集可以任意大,内存消耗是恒定的(由小批量大小固定),并且只有训练时间随样本量而变化。

【讨论】:

我有文档形式的文本数据。每个文件都有几句话。像这样,我有成千上万的文件。解析所有这些文件对我来说没有问题。但是我选择训练的单词数量确实如此。如果我选择超过 3000 个单词,它就会开始出现字典错误。 没有“字典错误”之类的东西——这似乎是一些特定的实现问题,因此如果没有确切的代码,就不可能跟踪这个特定的问题。如答案所示 - 现代 ML 技术没有这样的限制,因此问题在于您的代码,而不是使用的 ML 方法。 我贴了代码sn-p,这里我用了3000字。

情感分析-r与spark机器学习库测试分类比较

1    环境R3.0以上版本安装机器学习软件包:说明:此两个包是R机器学习包。RTextTools包含文本处理,e1071包含分类器。>install.packages("RTextTools")>install.packages("e1071") 2    实验步骤研究对象:http:... 查看详情

基于机器学习的情感分析是啥意思

...好玩”已经决定了评论是积极的。 4.将语料文本变成使用特征表示。 5.统计所有特征出现的次数,并按倒序排序。 6.从以上结果中选出排序最靠前的一些特征作为最终的评判特征。 7.使用训练数据根据特征训练分... 查看详情

文本情感分析-机器学习实验三(代码片段)

情感分析-机器学习实验三实验目的:通过实验,掌握文本分析的整体流程,了解文本分类、情感分析、自动摘要等内容通过给定的文本内容,完成分词、文本向量化、文本分类、情感分析等相关实验实验可从文本... 查看详情

使用 LingPipe 进行分层情感分析

】使用LingPipe进行分层情感分析【英文标题】:DoingahierarchicalsentimentanalysiswithLingPipe【发布时间】:2011-11-2118:50:18【问题描述】:这是在使用LingPipe机器学习工具进行情感分析的背景下。我必须对大段落中的句子是否具有正面/负... 查看详情

机器学习二分类

...【发布时间】:2021-04-1403:40:04【问题描述】:我正在尝试使用多层感知器进行二进制分类。基本上是句子的情感分析。目前只有二进制。正面与负面(目前我的数据中没有中性),所以它是二元的。我发现一件奇怪的事情是,当... 查看详情

Lime 解释器显示与分类器预测不同的预测概率 - 情感分析

...alysis【发布时间】:2019-06-1517:37:45【问题描述】:我正在使用Lime来追踪模型为何决定预测这句话是(NEG、POS或NEUTRAL)背后的行为,并且在大多数情况下,lim 查看详情

使用 Mahout 进行朴素贝叶斯分类的情感分析

】使用Mahout进行朴素贝叶斯分类的情感分析【英文标题】:SentimentalanalysiswithNaiveBayesclassificationusingMahout【发布时间】:2012-07-1508:14:46【问题描述】:我正在尝试使用Mahout训练朴素贝叶斯分类器。我不太清楚的第一件事是我的训... 查看详情

keras深度学习实战(28)——利用单词向量构建情感分析模型(代码片段)

...与数据集分析1.1模型分析1.2数据集分析2.情感分析模型2.1使用CBOW模型获取单词向量2.2构建并训练情感分析模型小结系列链接0.前言在获取单词向量的相关博文中,我们学习了多种不同的神经网络模型用于生成单词向量。在本节中... 查看详情

文本情感分析:基于词袋模型(vsmlsan-gram)的文本表示(代码片段)

...用Kaggle上经典的电影评论情感分析题,来学习如何用传统机器学习方法解决分类问题。通过这个情感分析的题目,我会整理做特征工程、参数调优和模型融合的方法,这一系列会有四篇文章。这篇文章整理文本特征工程的内容。... 查看详情

如何将情感分类器应用于数据框[重复]

...有一个包含调查答案的数据框。其中三列是开放式答案。使用HuggingFaceNLP我正在使用预先训练的情感分析分类器。请在下面找到代码:fromtransformersimportAutoTokenizer,Auto 查看详情

keras深度学习实战——使用长短时记忆网络构建情感分析模型(代码片段)

Keras深度学习实战——使用长短时记忆网络构建情感分析模型0.前言1.构建LSTM模型进行情感分类1.1数据集分析1.2模型构建2.构建多层LSTM进行情感分类相关链接0.前言我们已经学习了如何使用循环神经网络(Recurrentneuralnetworks,RNN)构建... 查看详情

基于机器学习和tfidf的情感分类算法,详解自然语言处理(代码片段)

...:这篇文章将详细讲解自然语言处理过程,基于机器学习和TFIDF的情感分类算法,并进行了各种分类算法(SVM、RF、LR、Boosting)对比本文分享自华为云社区《[Python人工智能]二十三.基于机器学习和TFIDF的情感分... 查看详情

机器学习分类器使用过去的预测作为特征

】机器学习分类器使用过去的预测作为特征【英文标题】:MachineLearningClassifierusepastpredictionsasfeatures【发布时间】:2021-02-0619:53:08【问题描述】:我想建立一个二元分类器机器学习模型。我想使用模型之前的预测作为未来预测的... 查看详情

使用机器学习创建植物健康分类器

】使用机器学习创建植物健康分类器【英文标题】:Creatingaplanthealthclassifierusingmachinelearning【发布时间】:2015-10-2508:47:13【问题描述】:第一次发帖,请轻点。正如标题所示,我计划通过使用健康和不健康植物图像的监督机器学... 查看详情

机器学习基础

  之前学习了Cousera上华盛顿大学的机器学习课程,近期准备整理当时的学习笔记。本篇总结是基于该专项课程中第一篇的内容分类算法:  1.分类算法实际用途:情感分析等,比如分析餐馆的评论,根据某个人的评... 查看详情

怎样用python实现svm分类器,用于情感分析的二分类

参考技术A不必自己实现SVM,可以直接用scikit-learn库里面实现好的SVM 查看详情

机器学习:基于神经网络对用户评论情感分析预测(代码片段)

...分析机器学习:学习k-近邻(KNN)模型建立、使用和评价机器学习:基于支持向量机(SVM)进行人脸识别预测决策树算法分析天气、周末和促销活动对销量的影响机器学习:线性回归分析女性身高与体... 查看详情

为啥这个 TF-IDF 情感分析分类器表现这么好?

】为啥这个TF-IDF情感分析分类器表现这么好?【英文标题】:WhyisthisTF-IDFsentimentanalysisclassifierperformingsowell?为什么这个TF-IDF情感分析分类器表现这么好?【发布时间】:2019-05-2111:13:15【问题描述】:JupterNotebook最后一个混淆矩阵... 查看详情