Senta:基于语义和大数据的百度情感分类

文本情感分析(简称情感分析)旨在识别和提取文本中的倾向、立场、评价、观点等主观信息。具体的说,情感分析主要包括两类任务:情感倾向分类(简称情感分类)和观点抽取。情感分析是人工智能的重要研究方向,具有很高的学术价值。同时,情感分析在消费决策、舆情分析、个性化推荐等领域均有重要的应用,具有很高的商业价值。

百度在情感分析领域开展了深入的技术研发和应用实践。此前,我们已经在百度AI开放平台开放了观点抽取和情感分类服务。近期,我们还通过Github开放了情感分类开源项目Senta。Senta项目包含了基于语义的情感分类模型,还包含了基于大数据训练好的模型。为此,本文将对百度的情感分类进行介绍。

图1 情感分类示例

情感分类用于识别主观文本中的情感倾向。本文的情感倾向包括积极、中性、消极三类。图1展示了情感分类的实例。情感分类是情感分析的核心问题,一直以来是研究的重点,同时它在用户消费习惯分析、危机舆情监控等均有重要应用。

一方面,情感是人类的一种高级智能行为,为了识别文本的情感倾向,需要深入的语义建模。另一方面,不同领域(如餐饮、体育)在情感的表达各不相同,因而需要有大规模覆盖各个领域的数据进行模型训练。为此,我们通过基于深度学习的语义模型和和大规模数据挖掘解决上述两个问题。

基于深度学习的语义模型

情感是人类智能的高级行为,人们表达情感的语言多种多样。为了理解文本中的情感,需要深入的语义理解。传统的情感分类主要基于词典或者特征工程的方式进行分类,这种方法需要繁琐的人工特征设计和先验知识,理解停留于浅层而且扩展能力差。为了避免传统方法的局限,我们采用了近年来飞速发展的深度学习技术。基于深度学习的情感分类不依赖于人工特征,它能够端到端的对输入文本进行语义理解,并基于语义表示进行情感倾向的判断。

图2展示了基于bi-LSTM的情感分类。总体来说,这个模型包括三层:单词语义层,句子语义层,输出层。(1)单词语义层,主要是将输入文本中的每个单词转化为连续的语义向量表示,也就是单词的embedding。(2)句子语义层,通过bi-LSTM网络结构,将单词语义的序列转化为整个句子的语义表示。(3)输出层,基于句子语义计算情感倾向的概率。

对于句子语义层,我们内部实验了各种各样的模型,包括bi-LSTM,CNN,hierarchical LSTM,self-attention等多种模型。我们发现在大规模语料上,单层bi-LSTM能够实现较好的效果。因此,在开源代码中,我们默认提供了bi-LSTM模型,同时我们还提供CNN,BOW等模型。

图2 基于bi-LSTM的情感分类模型

基于标记传播的大规模情感数据挖掘

在不同领域,人们表达情感的语言不尽相同。为了训练好的情感语义模型,显然需要覆盖各种领域的情感语料。然而数据标注十分耗费人力资源,为此我们对大规模网络数据进行挖掘,通过标记传播方法获取大规模的情感分类语料。

互联网上天然有大量的弱标记评论数据,比如用户会对某个商品给予评论,同时给予评分。根据评分的高低我们就能确定评论的正负倾向。然而,这种数据是包含大量噪声的,需要一定的算法才能获取高质量数据。图3展示了我们的主要思路。(a)我们首先从网络上获取大规模的评论数据,根据特定规则获取高质量种子标注数据;(b)然后我们通过计算评论间的语义相似度,将数据连接成图结构;(c)最后我们就可以通过标记传播算法,将原来未标记数据转化为标注数据。我们实验发现,这种方法获取的数据质量很高,基于此数据训练得到的情感分类模型,在各种垂类准确率高,整体效果业界领先。

图3 基于标记传播的情感标记数据挖掘

应用示例与技术开放

情感分类既可以单独应用,提供与舆情倾向分析;也可以与观点抽取结合,形成观点概述。情感分类在百度搜索、百度资讯流、百度糯米均有落地应用,显著提升了用户体验。图4展示了三个场景实例。(a)单独使用,生成网络印象。我们通过情感分类分析用户对明星的评论,进而分析获得明星的网络印象。(b、c)结合观点抽取,生成观点概要。通过分析评论中的观点,我们可以了解用户对商店的主要观点;并且结合情感分类技术,我们还能区分正向观点和负向观点(灰色为负向);最终通过聚合产出评论观点概要,供用户快速浏览进行消费决策。

图4 情感分析在百度产品中的应用示例。

在这些应用落地的过程中,百度的情感分类和观点抽取得到不断的打磨和提升,达到了工业应用的要求。为了将百度的情感AI能力开放给行业,更好的赋能行业,我们已经通过百度AI开放平台(http://ai.baidu.com/) 开放了情感分类和观点抽取的服务接口。近期,我们还开放了情感分类开源项目Senta(https://github.com/baidu/Senta)。

总结和展望

百度在情感分析进行了深入研究和应用。目前已经通过百度AI开放平台,开放了情感分类和观点抽取服务。近期,我们还通过情感分类开源项目Senta对开发者开放了基于语义的情感分类源码以及基于大数据的情感分类模型。我们的情感分类基于神经网络的语义模型,能够较好理解文本语义,准确识别文本情感。同时,我们通过大规模语料标记传播,获取了横跨多个领域的语料,确保情感分类在各种垂类效果优秀。未来,我们将继续研发情感分析技术,并将最新最前沿的技术开源共享出来。

产业情感分类情感分析百度
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

推荐文章
暂无评论
暂无评论~