赞
踩
首先对文档进行分词,去除停用词及与情感无关的词;其次对分词结果进行分类,找出不同类型的词(情感词、程度副词、否定词),借助情感词典赋予相应的权重;然后根据权重汇总每一组情感词的得分,从而计算出整篇文档的情感得分;最后根据阈值将情感归于正向、负向或者中性。流程图如下:
深度学习是机器学习的一个子集,是一门用于学习和利用“深度"人工神经网络的机器学习技术,主要算法模型包括卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Networks,RNN)和递归神经网络(Recursive Neural Networks,RNN)4]。深度学习的快速发展得益于当今的信息爆炸,互联网每天指数级的数据增长能够为网络模型提供大量的数据进行学习。深度学习的核心思想就是通过数据驱动的方式,采用一系列的非线性变换,能够从原始数据中进行特征提取。随着深度学习的兴起,许多国内外的学者将深度学习技术应用于自然语言生成和自然语言理解方面的研究,并取得了一些突破性的成果。以深度学习为基础构建情感词典,或者借用已有的通用情感词典,自动标引训练语料,可以解决训练神经网络分类器中的训练语料不足的问题
基于深度学习情感分析流程,一般是先进行数据预处理,在构建神经网络模型,训练测试。
使用sklear库情感分析流程:
实验结果表明,通过sklearn库的情感分析模型的效果较好,但是仍然依赖特定的语料库,而且后续动态调整模型的参数对数据运算的效率有影响。
当下比较火热的是基于预训练模型的自然语言处理模型。所谓预训练模型指的是通过大量语料的输入和大量的算力提前给出的一个参数不随机的机器学习模型,通过在预训练模型中使用你所希望处理任务的目标语料对模型进行微调,就可以在多下游任务上取得非常良好的效果。预训练模型有很多,而当下影响力最大的预训练语言模型是Transformer的双向深度语言模型—BERT。
BERT能够有效地提取文本信息并应用于多种NLP任务,BERT模型有多个规模,其中的BERT_Base参数规模较小大概为110M。使用PyTorch包,基于具有12层Transformer的中文BERT_Base预训练模型完成文本情感分析,实验结果表明,基础的bert_base_uncased模型可以在BERT上达到约0.9的分类成功率,超越了一众传统的语言模型。
基于预训练语言模型的文本情感分析一般先采用深度学习的网络结合冻结和微调的技术构建训练好的模型,然后根据分析任务直接使用预训练模型,必要时进行微调,能够在很大程度上提高文本情感分析的效率。对预训练模型加微调模式使得模型的应用更为灵活,能够在很多任务上起到良好效果,有非常高的应用价值。预训练语言模型已成为NLP中的重要里程碑。
本文对自然语言的情感分析方法做了简单介绍和对比。基于情感词典的方法易于理解,但对特定情感词典的依赖性较大。机器学习的方法不依赖于人工搭建的情感词典,但是依赖于人工序列标注,也不能理解上下文的关系,影响准确性。深度学习能够充分利用上下文的信息,使用多层神经网络能够有效提取数据特征,学习性能更好。通过使用深度学习的预训练语言模型节省了开发时间,降低了使用难度,是目前最为实用的方法。
大部分情感分类仍然使用的是二分类:积极或者消极,对于多分类的情感分析还没有好的效果。实现更为准确和高效的文本情感分析是未来有待深入研究的难点。
注:本文来借鉴文章《自然语言文本情感分析》DOI:10.14004/j.cnki.ckt.2023.0051
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。