▎为什么需要NLP情感分析?
看了最新一期奇葩说,很触动。
辩题:
TA真的很努力是不是一句好话
辩手们从表达者的意图、倾听者的心态、传播学语境等各种角度论证自己的观点,意图拉拢受众站到自己这一边,而受众的立场在一波又一波的针锋相对中左右摇摆。辩手们出色的语言能力,成功感染了大家的情绪,引发共鸣。
我也从中受到很多启发,特别是有两句话,与最近在做的一个项目有关。
被误解是表达者的宿命。
不确定是倾听者的宿命。
我们人类似乎很难准确把握他人的情感变化。但是我想,机器是不是可以做到这一点。基于这个论点,下面给大家分享一个机器学习的分支研究——自然语言处理(NLP)。
或许你已经很熟悉这个概念了,但是我们并不满足于只是让机器简单处理我们平时说的话,我们要做更深层次的研究,那就是教计算机理解我们的情绪,做“情感分析”。
或许你会觉得有些不可思议,感到怀疑,而这正是值得探讨的。
自然语言处理
自然语言处理(Natural Language Processing),简称 NLP,是人工智能领域的一个重要组成部分,旨在让计算机理解并处理人类语言。
(图片来源于网络,如有侵权请联系删除)
由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以自然语言处理,也被视为解决人工智能完备性的核心问题之一。
众所周知,人与人和人与计算机交流的方法有很大区别。程序员经过专业学习和训练,在与机器对话时,必须严格遵守特定的语法和格式要求,而人与人的交流,从牙牙学语开始,一切都显得自然随意得多。
同样的句子可以表达不同的含义,不同的句子还能表达相同的含义。
为什么?引起这种差异的原因是什么?
情感!情绪!情境!
如此,你也就明白,让计算机做自然语言处理,尤为艰难的就是情感分析了。
情感分析
情感是将表情、声调、文字以及语言风格杂糅在一起,是一个表达过程,而非结论。情感分析(Sentimental Analysis)有基于文本和语言之分。相比文本,语言更为复杂,涉及语音识别,甚至人脸识别等。本文今天主要探讨基于文本的情感分析。
(图片来源于网络,如有侵权请联系删除)
文本情感分析是对文本中的某段已知文字的两极性进行分类,判断出此文字中表述的观点是积极的、消极的、还是中性的情绪。
对于我们人来说,看懂一段文字是消极的还是积极的,很容易。但是要教会机器看懂并且对文字进行情感分类,还有很多工作要做。
下面简单介绍下NLP情感分析的工作流程:
1,分词
首先,认字!把文本拆分成单个的词。在英文的文本中,简单的拆分方法是,每一个空格之后是一个新的单词,逗号、句号、感叹号、问号这一类的标点符号隔开的也是新的单词。对所有的文字这样做之后,就可以得到文本中用到的所有单词。
2,特征向量
然后,我们要把句子转变为特征向量。常见的特征向量有两类。其一为one-hot编码,计算单句中不同词的词频,建立与词典长度等大小的向量,当然,所有的向量都需要归一化;其二为word-to-vector,通过全量语料的训练得到的副产品,每个词都能表征成等长数值向量。
3,模型训练
接下来,就是训练模型的时候了。你需要为机器建立自己的学习模型,以此来判断句子的情感。我们将具备正确label的特征向量作为样本数据,喂入特定的分类器,比如常见的SVM(Support Vector Machine)、深度神经网络(Deep Neural Network)等。在每一个批次的迭代过程中,依据梯度下降的算法对需要优化的目标函数做一定程度的逼近。
当目标函数残差收敛时,分类器即完成了用“曲面”在超平面中划分开两类样本点的工作,而样本点对“曲面”的距离即表示其情感积极或消极的程度。需要注意的是,并不是训练时间越久、迭代轮次越多效果就一定会更优,很多时候我们需要引入终止条件、甚至在目标函数中加入惩罚项来防止过拟合现象。
4,测试
最后,训练好的模型就可以用来判断文本的情绪了。用同样的方式生成待测试文本的向量,如果向量在模型空间中处于“曲面”的一边就是积极的,反之就是消极的。
情感分析应用
现实生活工作中,关于情感分析的应用有很多。下面列举几个常见的场景:
电商平台的关联推荐;
社交网站的电影评分;
头条的新闻话题推送;
金融机构的智能风控。
所以,如果你是金融从业者,你需要情感分析来帮你做企业征信;你是电商运营者,你需要情感分析来帮您做关联销售;你是内容运营者,你需要情感分析来帮您了解人们喜欢和不喜欢的内容;你是政府决策者,你需要情感分析帮你掌握舆情走向,做正确的舆论引导;你是投资分析者,你更需要情感分析来帮你构建有助于预测市场反应的模型。
写在最后
随着人工智能技术越来越多的应用到我们的工作和日常生活中,如何用我们熟悉的语言与计算机交互变的越来越重要,而自然语言处理正使得这些变成现实。
那么,回到话题的最初——“他真的很努力是不是一句好话”。
计算机是如何回答的?
这个,留待下回分解。