?为什么需要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,测试 最后,训练好的模型就可以用来判断文 |
免责声明:本网站内容由网友自行在页面发布,上传者应自行负责所上传内容涉及的法律责任,本网站对内容真实性、版权等概不负责,亦不承担任何法律责任。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。