机器学习-如何情感分析?

机器学习-如何情感分析?,第1张

现在是一个互联网的时代,各种复杂的算法实现各种智能的功能,神经网络BP算法,模糊控制,大数据算法等等,然而,机器学习,如何进行情感分析呢,这就要从控制谈起了,首先机器内部需要有各种样本,相当于一个学习库当机器通过传感器识别或者神经网络算法对当前的对象进行识别,然后与学习库进行相应的匹配,就可以做到情感类的分析,深度神经网络可以很好的分辨出反讽语气的句子。

简单来说,卷积神经网络和循环神经网络都是深度学习的重要框架。区别在哪里呢?区别就在循环层上。卷积神经网络没有时序性的概念,输入直接和输出挂钩;循环神经网络具有时序性,当前决策跟前一次决策有关。举个例子,进行手写数字识别的时候,我们并不在意前一个决策结果是什么,需要用卷积神经网络;而自然语言生成时,上一个词很大程度影响了下一个词,需要用循环神经网络。

1 DL在圈内的意思

DL是“Deep Learning”的缩写,意为“深度学习”,是一种机器学习的分支。与传统的机器学习算法相比,深度学习算法具有更强的模拟人脑神经网络的能力,能够在海量数据的基础上进行学习和预测。因此,在人工智能领域,DL被广泛应用于图像、语音、自然语言处理等多个领域。

2 DL的应用范围

从图像识别、语音识别到自然语言处理,DL被广泛应用于多个领域。在图像识别方面,DL可以通过卷积神经网络(CNN)进行图像分类、识别、检测等任务。在语音识别方面,DL可以通过循环神经网络(RNN)进行语音识别、语音转换等任务。在自然语言处理方面,DL可以通过递归神经网络(RNN)和长短时记忆网络(LSTM)进行文本分类、情感分析、机器翻译等任务。

3 DL的发展历程

深度学习在机器学习领域已经有数十年的历史。20世纪80年代,BP神经网络为基础的深度学习方法被应用于字符识别等任务。但是,由于计算机性能和数据量的限制等原因,深度学习并没有达到预期的效果。然而,随着大数据时代的到来,计算机性能的提高,深度学习又重新回到人们的视野中。在2012年,Alex Krizhevsky等人在ImageNet图像识别比赛中使用CNN算法,实现了前所未有的准确率,成为了深度学习的一个重要里程碑。

4 DL的发展趋势

DL作为机器学习领域的重要分支,正在不断地发展和完善。未来,DL将会更加注重在实际应用中的落地。同时,DL也将会与其他技术深度融合,例如区块链、物联网、大数据等,共同构建一个智能化的世界。此外,随着算法的不断改进和硬件的不断更新,DL的计算速度和算法效率将会持续提升,为人工智能技术的发展提供更加强大的支持。

5 DL的优缺点

DL作为一项重要的技术,具有许多优点,例如模型的自适应、预测能力强、处理海量数据等。但是,DL也存在一些缺点,例如算法较为复杂、数据依赖性强、模型可解释性较差等。因此,在使用DL技术的过程中需谨慎对待,避免其带来的负面影响。

6 DL在企业中的应用

随着计算机性能的提高和算法的不断发展,越来越多的企业开始采用DL技术。例如,谷歌基于DL技术研发的AlphaGo在围棋领域取得了重大突破;苹果采用DL技术提高了Siri语音助手的智能化水平;阿里巴巴将DL技术应用于物流管理、欺诈识别等多个领域。可以看出,DL已经在企业的智能化转型中扮演了重要的角色,未来也将会有更多的企业采用这项技术。

7 如何学习DL

学习DL需要具备一定的数学基础和编程能力,不过并不需要过于高深的数学背景,也不需要对向量、矩阵、微积分等数学内容有深入的理解。此外,对于初学者来说,选择合适的教材和在线课程也尤其重要。可以选择一些国内外知名的机构提供的课程,例如斯坦福大学的公开课、李宏毅老师的中文课程等。同时,开源社区中也有很多优秀的教程和代码,可以加快学习的速度。

8 小结

DL作为机器学习领域的重要分支,在图像、语音、自然语言处理等多个领域都有着广泛的应用。未来,DL还将会与其他技术深度融合,共同构建一个智能化的世界。虽然DL具有许多优点,但也需要注意其带来的潜在影响和缺点。因此,在学习和应用DL技术时,需要谨慎对待,掌握其核心理论和实际应用方法。

面试前搜集往年面试常考题目属于使用信息检索和分析技术来解决问题。

信息检索和分析技术已经成为许多领域中不可或缺的工具,在面试前搜集往年面试常考题目时,我们需要了解这些技术的基本概念和应用。同时,人工智能技术的发展也为信息检索和分析带来了新的机遇和挑战。

1、什么是信息检索技术?

信息检索技术是指在大规模数据集合中自动地查找、筛选、排序相关信息的过程。它通常包括了关键字查询、文本预处理、索引构建、查询优化和结果排序等环节。

2、信息检索技术在哪些领域有应用?

信息检索技术已经应用到了广泛的领域中,比如搜索引擎、文本挖掘、情感分析、舆情监测、知识图谱构建等。

3、如何构建一个高效的搜索引擎?

构建高效的搜索引擎需要先进行数据抓取、清洗和存储,然后利用信息检索技术对数据进行索引构建和查询优化,最后利用机器学习算法对用户偏好进行分析和个性化推荐。

4、什么是文本挖掘?

文本挖掘是一种从非结构化或半结构化数据中发现有用信息的过程。它通常包括了文本分类、命名实体识别、主题识别、情感分析等任务。

5、如何进行文本分类?

文本分类可以使用传统的基于规则或机器学习的方法,比如朴素贝叶斯、决策树、支持向量机等算法,也可以使用深度学习模型,如卷积神经网络、循环神经网络等。

6、什么是情感分析?

情感分析是指对文本中的情感倾向进行自动化识别和分类的过程。它通常涉及到情感词典构建、特征提取、分类器训练等步骤。

7、如何应用情感分析?

情感分析可以应用到广泛的领域中,比如商品评论分析、社交媒体分析、政治舆情分析等。在这些场景中,情感分析可以帮助人们更好地理解消费者需求、维护品牌形象、精准预测选举结果等。

传统文本处理任务的方法中一般将TF-IDF向量作为特征输入。显而易见,这样的表示实际上丢失了输入的文本序列中每个单词的顺序。在神经网络的建模过程中,一般的前馈神经网络,如卷积神经网络,通常接受一个定长的向量作为输入。卷积神经网络对文本数据建模时,输入变长的字符串或者单词串,然后通过滑动窗口加池化的方式将原先的输入转换成一个固定长度的向量表示,这样做可以捕捉到原文本中的一些局部特征,但是两个单词之间的长距离依赖关系还是很难被学习到。

循环神经网络却能很好地处理文本数据变长并且有序的输入序列。它模拟了人阅读一篇文章的顺序,从前到后阅读文章中的每一个单词,将前面阅读到的有用信息编码到状态变量中去,从而拥有了一定的记忆能力,可以更好地理解之后的文本。

其网络结构如下图所示:

由图可见,t是时刻,x是输入层,s是隐藏层,o是输出层,矩阵W就是隐藏层上一次的值作为这一次的输入的权重。

如果反复把式 2 带入到式 1,将得到:

其中f和g为激活函数,U为输入层到隐含层的权重矩阵,W为隐含层从上一时刻到下一时刻状态转移的权重矩阵。在文本分类任务中,f可以选取Tanh函数或者ReLU函数,g可以采用Softmax函数。

通过最小化损失误差(即输出的y与真实类别之间的距离),我们可以不断训练网络,使得得到的循环神经网络可以准确地预测文本所属的类别,达到分类目的。相比于卷积神经网络等前馈神经网络,循环神经网络由于具备对序列顺序信息的刻画能力,往往能得到更准确的结果。

RNN的训练算法为:BPTT

BPTT的基本原理和BP算法是一样的,同样是三步:

1前向计算每个神经元的输出值;

2反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;

3计算每个权重的梯度。

最后再用随机梯度下降算法更新权重。

具体参考: https://wwwjianshucom/p/39a99c88a565

最后由链式法则得到下面以雅可比矩阵来表达的每个权重的梯度:

由于预测的误差是沿着神经网络的每一层反向传播的,因此当雅克比矩阵的最大特征值大于1时,随着离输出越来越远,每层的梯度大小会呈指数增长,导致梯度爆炸;反之,若雅克比矩阵的最大特征值小于1,梯度的大小会呈指数缩小,产生梯度消失。对于普通的前馈网络来说,梯度消失意味着无法通过加深网络层次来改善神经网络的预测效果,因为无论如何加深网络,只有靠近输出的若干层才真正起到学习的作用。 这使得循环神经网络模型很难学习到输入序列中的长距离依赖关系

关于RNN梯度下降的详细推导可以参考: https://zhuanlanzhihucom/p/44163528

梯度爆炸的问题可以通过梯度裁剪来缓解,即当梯度的范式大于某个给定值时,对梯度进行等比收缩。而梯度消失问题相对比较棘手,需要对模型本身进行改进。深度残差网络是对前馈神经网络的改进,通过残差学习的方式缓解了梯度消失的现象,从而使得我们能够学习到更深层的网络表示;而对于循环神经网络来说,长短时记忆模型及其变种门控循环单元等模型通过加入门控机制,很大程度上弥补了梯度消失所带来的损失。

LSTM的网络机构图如下所示:

与传统的循环神经网络相比,LSTM仍然是基于xt和ht−1来计算ht,只不过对内部的结构进行了更加精心的设计,加入了输入门it 、遗忘门ft以及输出门ot三个门和一个内部记忆单元ct。输入门控制当前计算的新状态以多大程度更新到记忆单元中;遗忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;输出门控制当前的输出有多大程度上取决于当前的记忆单元。

在经典的LSTM模型中,第t层的更新计算公式为

其中it是通过输入xt和上一步的隐含层输出ht−1进行线性变换,再经过激活函数σ得到的。输入门it的结果是向量,其中每个元素是0到1之间的实数,用于控制各维度流过阀门的信息量;Wi 、Ui两个矩阵和向量bi为输入门的参数,是在训练过程中需要学习得到的。遗忘门ft和输出门ot的计算方式与输入门类似,它们有各自的参数W、U和b。与传统的循环神经网络不同的是,从上一个记忆单元的状态ct−1到当前的状态ct的转移不一定完全取决于激活函数计算得到的状态,还由输入门和遗忘门来共同控制。

在一个训练好的网络中,当输入的序列中没有重要信息时,LSTM的遗忘门的值接近于1,输入门的值接近于0,此时过去的记忆会被保存,从而实现了长期记忆功能;当输入的序列中出现了重要的信息时,LSTM应当把其存入记忆中,此时其输入门的值会接近于1;当输入的序列中出现了重要信息,且该信息意味着之前的记忆不再重要时,输入门的值接近1,而遗忘门的值接近于0,这样旧的记忆被遗忘,新的重要信息被记忆。经过这样的设计,整个网络更容易学习到序列之间的长期依赖。

GRU是在LSTM上进行简化而得到的,GRU的网络结构如下所示:

Zt代表更新门,更新门的作用类似于LSTM中的遗忘门和输入门,它能决定要丢弃哪些信息和要添加哪些新信息。

Rt代表重置门,重置门用于决定丢弃先前信息的程度。

要注意的是,h只是一个变量,因此在每个时刻,包括最后的线性组合,h都是在用以前的自己和当前的备选答案更新自己。举例来说,这一个变量好比一杯酒,每次我们要把一部分酒倒出去,并把倒出去的酒和新加入的原料混合,然后在倒回来,这里的reset控制的就是要倒出去的,并且混合好之后再倒回来的酒的比例,而update控制的则是用多大的比例混合新原料和倒出来的之前调制好的酒。同理,也可以以此理解LSTM,LSTM的遗忘门功能上和reset相似,而输入门与update相似,不同之处在于LSTM还控制了当前状态的exposure,也就是输出门的功能,这是GRU所没有的。

1百面机器学习

2 https://zhuanlanzhihucom/p/45649187

3 https://wwwjianshucom/p/39a99c88a565

假设你已经知道最基本的人工神经网络模型(也就是全连接的前馈神经网络),那么希望本文可以帮助你理解RNN,也就是传说中的循环神经网络。严格来说,本文是综合了(或翻译了)网上若干最容易理解、写得最棒的文章而成的。但问题在于网上的文章龙蛇混杂,水平参差不齐。而且拙劣者远远多于(甚至已经稀释了)优秀的文章。所以本文的意义就在于令初学者免于陷入“垃圾”文章之海洋的窘境。当然,如果你觉得本文看得还不过瘾,那么详阅文末给出的各篇经典文献也是非常值得推荐的。

如你所知的,一个前馈(全连接)神经网络如下图所示,由输入层、隐藏层和输出层构成。如果你想从零开始前馈神经网络,那么参考文献1和2就是最佳的教程!现在假设你已经掌握了基本的前馈神经网络,那么下面这幅图可能跟你在一般教科书上见到它时的样子稍微有点不一样,是的,它是将通常的画法逆时针旋转90度得到的。这样做的目的,主要是为了与后续的RNN图示进行无缝衔接。

如同人类的大脑一样,当我们看到(接收到)熊(的图像时),经过一系列隐藏层的逐层传递(以及其内部极其复杂的计算过程),最终在输出层上,我们得到“熊”这个结果。

但是由前馈神经网络所反映(或者完成)的过程往往是相对静态的。人类的大脑还具有处理时序数据的能力。也就是说,大脑得到的某个结果不仅跟当前的输入有关,还跟上一时刻的输出有关。

例如,我们在读一篇文章时,有这样一句话:“灰太狼悄悄地藏在喜羊羊家的门口,等待猎物自己上钩。”显然,当我们读到“猎物”一词时,你马上回反映到它具体指代的应该是喜羊羊,而等待猎物的则是灰太狼。这种程度的理解显然仅仅依靠当前的输入(例如当前的句子或者词汇)是无法实现的。上一阶段(或时刻)的输出(即对上一个句子的理解)也非常重要。

可见,From one moment to the next, our brain operates as a function: it accepts inputs from our senses (external) and our thoughts (internal) and produces outputs in the form of actions (external) and new thoughts (internal)

Our brain runs repeatedly through time We see a bear, then think “bear”, then think “run” Importantly, the very same function that transforms the image of a bear into the thought “bear” also transforms the thought “bear” into the thought “run” It is a recurring function, which we can model with a recurrent neural network (RNN)

An RNN is a composition of identical feedforward neural networks, one for each moment, or step in time, which we will refer to as “RNN cells”

In the above diagram, a chunk of neural network, A, looks at some input xt and outputs a value ht A loop allows information to be passed from one step of the network to the next

这里的 a chunk of NN 其实就相当于前馈神经网络中的隐藏层,也就是多层传递的NN结构。而其中的循环输入,其实向下一个状态进行输入,所以上图中其实隐含地表示需要一个延迟器。

如果你对上面这种循环“输入→输出”的结构感到困惑,如果你还在为这种自循环感到不解,其实你只要把这个结构“拉开”,便会一目了然。 A recurrent neural network can be thought of as multiple copies of the same network, each passing a message to a successor Consider what happens if we unroll the loop:

或者

另外一种常见的图示如下(A RNN and the unfolding in time of the computation involved in its forward computation),但其实都是万变不离其宗的同一个套路

或者表示成下面这样的按时间展开的循环神经网络:

循环神经网络可以应用到很多不同类型的机器学习任务。根据这些任务的 特点可以分为以下几种模式:

序列到类别模式:这种模式就是序列数据的分类问题。输入为序列,输出为类别。比如在文本分类中,输入数据为单词的序列,输出为该文本的类 别。

序列到序列模式:这类任务的输入和输出都为序列。具体又可以分为两种情况:

同步的序列到序列模式:这种模式就是机器学习中的序列标注(Sequence Labeling)任务,即每一时刻都有输入和输出,输入序列和输出序列的长度相同。比如词性标注(Part-of-Speech Tagging)中,每 一个单词都需要标注其对应的词性标签。

异步的序列到序列模式:这种模式也称为编码器-解码器(EncoderDecoder)模型,即输入和输出不需要有严格的对应关系,也不需要保持相同的长度。比如在机器翻译中,输入为源语言的单词序列,输出为目标语言的单词序列。

首先,我们来看下序列到类别的应用模式。假设一个样本X={x1,⋯,xT }为一个长度为 T 的序列,输出为一个类别y∈{1,⋯,C}。我们可以将样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐藏状态h1,⋯,hT 。我们可以将hT; 看作整个序列的最终表示(或特征),并输入给分类器g(·),

此处g(·)可以是简单的线性分类器(比如Logistic回归)或复杂的分类器(比如多层前馈神经网络)。

除了将最后时刻的隐藏状态作为序列表示(如图a)之外,我们还可以对整个序列的所有隐藏状态进行平均,并用这个平均状态来作为整个序列的表示(如图b)。

在同步的序列到序列模式中(如下图所示),输入为一个长度为 T 的序列X={x1,⋯,xT },输出为序列Y={y1,⋯,yT }。样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐状态h1,⋯,hT 。每个时刻的隐状态 hT 代 表了当前时刻和历史的信息,并输入给分类器g(·)得到当前时刻的标签。

在异步的序列到序列模式中(如下图所示),输入为一个长度为T 的序列X={x1,⋯,xT },输出为序列Y={y1,⋯,yM }。样本X按不同时刻输入到循环神经网络中,并得到不同时刻的隐状态h1,⋯,hT 。然后RNN cell再执行M次,此时,每个RNN Cell的输入仅为上一时刻的隐状态,对于每个时刻的隐状态 hT,t∈[T+1,T+M],并输入给分类器g(·)得到当前时刻的标签。

参考文献

1 左飞,R语言实战:机器学习与数据分析,电子工业出版社,第15章

2 Michael Nielsen,http://neuralnetworksanddeeplearningcom/

3 邱锡鹏,循环神经网络,《神经网络与深度学习》 

4 DennyBritz, RecurrentNeural Networks Tutorial, Part 1 – Introduction to RNNs

5 Christopher Olah,UnderstandingLSTM Networks(http://colahgithubio/posts/2015-08-Understanding-LSTMs/)——这是网上写的最好的关于LSTM的通俗讲解

-----------------------------------------------------------------------------------------------------------------

原文:https://blogcsdnnet/baimafujinji/article/details/78279746

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/7546887.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

发表评论

登录后才能评论

评论列表(0条)

    保存