第二天学习进度--文本情感分类(代码片段)

halone halone     2022-12-05     524

关键词:

昨天学习了简单的文本处理,之后在课后的练习中实现了包括了对tf-idf的处理和基于朴素贝叶斯简单的文本分类

基于tf-idf的数据集在出现多个关键词的时候一般能够相对准确对文本进行分类,但是对于相对具有深层含义的内容,例如情感的积极,情感的消息这方面的分类来说,就显得有些乏力的。根据昨天构建的文本分类模型,在训练完消极和积极的评论各1w个之后,对于在淘宝某个商品新获取的评论随机取几个好评和差评进行分类,发现构建的朴素贝叶斯分类器对这些文本的积极和消极不敏感。基本上准确率甚至不足50%。这也就是说,td-idf+朴素贝叶斯文本分类器的模型基本上在情感的分类上不具有太大的效果。

不具有太大的效果的原因大致为情感的文本分类的过程往往需要考虑到词与词之间的顺序,例如高兴和不高兴这两个词,虽然都出现了高兴,但两者确是表达了完全不一样的意思,而tf-idf并没有考虑到这一点。

今天搜索了网上的一些零碎的知识,了解到了文档向量doc2vec可能对文本的情感处理有较好作用。

在学习文档向量之前,想看看word2vec。

个人的理解的doc和word之前的区别是,doc2vec能够匹配出与其最相似的句子(包含了tf-idf处理的时候未考虑到的词之间的顺序,doc2vec的网络具有适应不定长的文本的能力),而word2vec则能匹配到与之最相近的词。

word2vec是一个可以将词转化为词向量的一个模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。

word2vec将词转化为独热编码,神经网络模型中经常用到的one-hot编码(简单理解为一个列表中的所有元素,除了某一一个位置为1,其余位置均为0,用来指代某一元素),为何要转化为独热编码处理(将n个特征分割为1个特征的n个元素,能够让模型具有最优的效果),之前这边写的这篇博客有提及到并探索对应的原理:卷积网络识别含义多重性验证

简单地了解了word2vec了之后,可以康康他在python中使用的方法。

python中的gensim中已经为我们提供了word2vec这个模块

因此要使用word2vec的话,安装完gensim后导入word2vec

from gensim.models import Word2Vec

word2vec为我们提供特别简单的训练词向量的方法,只需要输入一堆词,就可以构建出一个词向量的模型。

参数list可以配合jieba对中文进行分词使用。

model = Word2Vec(list)

如何获得对应相似词语的相似列表  返回元组 词:相似度

参数word为需要获取对应的相似度的词

model.wv.similar_by_word(word)

那如果要判断两个词语之间的相似度呢 返回相似度

 word1和word2分别是两个需要判断相似度的词

model.wv.similarity(word1, word2)

我们现在已经知道如何判别词语之间的相似度了

那如果现在我们不知道模型中有什么词语,想要获取模型中的全部词语呢

执行下面的函数会返回模型的词语列表

model.wv.index2word

获得词向量矩阵(独热编码),即词向量的模型神经网络代入的参数如何获取?返回 词向量矩阵

model.wv.vectors

词向量相似度列表

model.wv.similar_by_vector(word)

预测新词出现列表及其频率

model.predict_output_word([word])

计算新词出现的总概率

total = sum(i[1] for i in model.predict_output_word([word]))

 

nlp循环神经网络实现情感分类(代码片段)

...训练的最终输出2.4添加进度条1.Pytorch中LSTM和GRU模块使用学习目标知道LSTM和GRU的使用方法及输入输出的格式能够应 查看详情

bert实战:使用distilbert进行文本情感分类(代码片段)

这次根据一篇教程JayAlammar:AVisualGuidetoUsingBERTfortheFirstTime学习下如何在Pytorch框架下使用BERT。主要参考了中文翻译版本教程提供了可用的代码,可以在colab或者github获取。1.huggingface/transformersTransformers提供了数千个预训练的模型... 查看详情

猿创征文丨深度学习基于双向lstm模型完成文本分类任务(代码片段)

大家好,我是猿童学,本期猿创征文的第三期,也是最后一期,给大家带来神经网络中的循环神经网络案例,基于双向LSTM模型完成文本分类任务,数据集来自kaggle,对电影评论进行文本分类。电影评论... 查看详情

nlp文本情感分类(代码片段)

文本情感分类1.案例介绍2.思路分析3.准备数据集3.1基础Dataset的准备3.2文本序列化4.构建模型5.模型的训练和评估1.案例介绍为了对前面的wordembedding这种常用的文本向量化的方法进行巩固,这里我们会完成一个文本情感分类的... 查看详情

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

现在自然语言处理用深度学习做的比较多,我还没试过用传统的监督学习方法做分类器,比如SVM、Xgboost、随机森林,来训练模型。因此,用Kaggle上经典的电影评论情感分析题,来学习如何用传统机器学习方法解决分类问题。通... 查看详情

文本分类(代码片段)

文本情感分类文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别。本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪。这个问题也叫情感分析,并有着广泛的应用。同搜索... 查看详情

pytorch实现文本情感分类流程(代码片段)

文章目录基本概念介绍文本情感分类准备数据集文本的序列化构建模型模型的训练与评估完整代码基本概念介绍tokenization:分词,每个词语就是一个token分词方法:转化为单个字(常见)切分词语N-gram:准... 查看详情

从整体视角了解情感分析文本分类!(代码片段)

... 作者:太子长琴,算法工程师,Datawhale成员文本分类是自然语言处理(NLP)最基础核心的任务,或者换句话说,几乎所有NLP任务都是「分类」任务,或者涉及到「分类」概念。比如分词、词性标注... 查看详情

keras实战教程二(文本分类bilstm)(代码片段)

 什么是文本分类 给模型输入一句话,让模型判断这句话的类别(预定义)。以文本情感分类为例输入:的确是专业,用心做,出品方面都给好评。输出:2输出可以是[0,1,2]其中一个,0表示情感消极,1表示情感中性,2表... 查看详情

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

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

阿旭机器学习实战33中文文本分类之情感分析--朴素贝叶斯knn逻辑回归(代码片段)

【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流。目录1.查看原始数据结构2.导入数据并进行数据处理2.1提取数据与标签2.2过滤停用词2.3TfidfVectorizer将文本向... 查看详情

[python人工智能]三十一.keras实现bilstm微博情感分类和lda主题挖掘分析(上)(代码片段)

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章通过Keras深度学习构建CNN模型识别阿拉伯手写文字图像,一篇非常经典的图像分类文字。这篇文章将结合文本挖掘介绍微博情感分类... 查看详情

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

Keras深度学习实战(28)——利用单词向量构建情感分析模型0.前言1.模型与数据集分析1.1模型分析1.2数据集分析2.情感分析模型2.1使用CBOW模型获取单词向量2.2构建并训练情感分析模型小结系列链接0.前言在获取单词向量的相关博... 查看详情

第二天,ansible源码学习(代码片段)

按照我的理解,源码学习肯定是一边看代码,一边执行程序验证。执行的命令是:ansiblesz003-a"ls-l"下面是ansible.py源码,学习分析以注释的形式出现########################################################from__future__import(absolute_import,divis... 查看详情

基于朴素贝叶斯算法的情感分类(代码片段)

...分析(Subjectivityanalysis),它是对带有情感色彩的主观性文本进行分析、处 查看详情

2020年寒假学习进度第二天

今天主要研究了spark实验二的第一部分的Scala编写,看完代码后发现需要在REPL模式下运行,经过查证发现需要安装scala脚本,所以尝试在虚拟机中安装scala,成功后使用给的代码尝试运行,但是出错,提示没有找到类的定义,经过... 查看详情

自然语言处理(nlp)基于gru实现情感分类(代码片段)

...描述:本示例教程演示如何在IMDB数据集上用GRU网络完成文本分类的任务。IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据集,共有25000条文本数据作为训练集,25000条文本数据作为测试集。该数据集的官方地址为:... 查看详情

文本情感分类:传统模型

...记忆和判断思维的最简单的模拟,如上图。我们首先通过学习来记忆一些基本词汇,如否定词语有“不”,积极词语有“喜欢”、“爱”,消极词语有“讨厌”、“恨”等,从而在大脑中形成一个基本的语料库。然后,我们再对... 查看详情