当前位置:首页 > 美文 > 情感 > 正文
文章正文

lstm情感分析

美文 > 情感 > :lstm情感分析是由美文导刊网(www.eorder.net.cn)为您精心收集,如果觉得好,请把这篇文章复制到您的博客或告诉您的朋友,以下是lstm情感分析的正文:

lstm情感分析篇一

文本情感分析:让机器读懂人类情感

文本情感分析:让机器读懂人类情感 1 引言

在大数据和人工智能的时代,机器能否拥有情感成为人们热议的话题。真正的人工智能系统不仅具有像人类的思考和推理能力,也需要也要能够感知和表达情感。MIT 的Minsky (人工智能之父)早在 1985年在“The Society of Mind”中指出“问题不在于智能机器能否拥有任何情感,而在于机器实现智能时怎么能够没有情感?”。赋予机器情感分析能力引起了社会的广泛关注,研究领域也开展了很多相关的研究工作。科幻电影《她》中人工智能系统和主人公谈恋爱的故事,激发了人们对机器具有人类情感的无限想象。那么,机器是怎样理解人类情感呢?通常来讲,机器理解人类情感是一个多模态的感知过程,通过表情、行为、语言来理解情感。语言通常以文本的形式存在,本文主要是从文本的角度讨论情感分析的研究。

2 文本情感分析定义

文本情感分析([1],[2])是自然语言处理研究的一个热点,是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。按照Liu[2]对情感的定义,情感表达由四个元素构成,分别是[Holder,Target,Polarity,Time],其中文本发表的时间通常可以使用简单的规则获取,因此情感分析的目标通常是从无结构的文本中自动分析出Holder(观点持有人)、Target(评价对象)、Polarity(极性)三元素。Holder是观点的发出者;Target是该观点评价的对象(如实体或实体的属性,或者话题);Polarity是所表达的情感类别,由于任务不同,情感类别体系会不同,通常包括褒贬、褒贬中、喜怒哀乐悲恐惊、情感打分(如1-5分)等分类体系。文本中的情感又分为显式情感及隐式情感,显式情感是指包含明显的情感词语(例如高兴、漂亮)情感文本,隐式情感是指不包含情感词语的情感文本,例如“这个桌子上面一层灰”。由于隐式情感分析难度比较大,比较依赖于背景知识及常识知识,目前许多工作集中在显示情感分析研究。

目前的情感分析研究可归纳为:情感资源构建、情感元素抽取、情感分类及情感分析应用系统,具体见图1。

图1 情感分析研究框架

3 情感分析研究任务

情感分析任务和其他自然语言处理任务一样,首先需要资源的支持,在此基础上,开展情感分析元素抽取以及文本情感分类工作,下面我们将进行简要介绍。

3.1 文本情感资源构建

情感资源一般包括情感词典和情感语料库。

目前人工构建情感词典较多的是收集了褒贬情感词的词典,如哈佛大学GI(General Inquiry)情感词典、匹兹堡大学提供的OpinionFinder主观情感词典、伊利诺伊大学Bing Liu提供的词典资源,而对于喜、怒、哀、乐、悲、恐、惊等情感相应的词典还比较少,英语中主要有WordNet-Affect,随后有不少学者基于WordNet-Affect又陆续扩展到其他语言。由于是人工构建,上述词典规模基本都在几千词范围内。在中文方面,大连理工大学的情感词汇本体将情感分为七个基本大类和二十一个小类,收录情感词语27466条。

可以看到,人工构建词典需要较大的代价,规模也会受限。(人们开始研究自动构建情感词典的方法,已有方法一般分为两种:基于词典资源和基于语料库的方法。基于词典资源的方法通常利用外部语义词典(如WordNet)中词语之间的语义关系(如同义词、反义词、上位词关系等)生成情感词典;Hu and Liu[3]借助WordNet中的同义词和反义词信息判断形容词的情感极性;Esuli et al.[4]利用同义词集合的注释信息自动构建了情感词典资源SentiWordNet。基于语料库的情感词典构建方法最早源自Hatzivassiloglou和McKeown[5];Google的Velikovich et al.[6]在大规模互联网语料上利用上下文计算词语之间的语义关联构建情感词典,最终获得了大规模(17万左右)的情感词典;Mohammad et al.[7]在Twitter数据上自动构建大规模情感词典,他们人工定义表情符和hashtag的情感种子集合,利用词语和情感种子的点互信息计算情感分值,获得了6.2万情感词语,67万情感短语(Bigram)。 值得一提的是,情感分析的语料库和相关评测也对推动情感分析的进步至关重要。国际TREC、NTCIR,SemEval组织的面向不同任务的情感分析评测以及国内中文信息学会及中国计算机学会相继连续举办中文情感分析评测,促进同行的交流和学习,同时针对不同情感分析任务提供了大量的人工标注语料库。当然,人工标注语料库的领域、规模都会受到一定限制。利用distant supervision方法从评论网站(如Yelp、IMDB)或社交媒体上(如Twitter)自动获取的情感分析语料库[8],为在不同领域、不同任务上开展情感分析研究提供了语料库的支持。

需要指出,无论是自动构建词典还是自动构建语料库,都扩大了情感分析的研究领域,但是由于规模较大,无法直接评估其质量,需要通过具体任务体现。

3.2 情感元素抽取{lstm情感分析}.

情感元素抽取旨在抽取文本中的评价发出者、评价对象和情感表达,也称为细粒度情感分析。 评价发出者是文本中观点/评论的隶属者。很自然的,人们会想到评论发布者一般是由命名实体(如人名、机构名)组成,因此早期的研究工作尝试使用命名实体识别和语义角色标注技术来获取观点持有者([9],[10])。也有很多学者将评价发出者的抽取定义为分类任务,这种方法的关键在于分类器和特征的选取。例如,Choi et al.[11]使用CRF模型和抽取模板及各种特征在MPQA数据集上来识别句子中评价的来源。Ku et al. [12]先用SVM来识别作者的意见,再用CRF来标注评价的发出者,

在NTCIR7 MOAT 任务上取得了与最好系统接近的性能。虽然在产品评论及社交网络上都有明确的用户ID,使评价发出者抽取研究淡化,但是在一些文本中存在描述第三方情感和观点的情况,需要对其进行抽取。

评价对象和评价表达抽取是情感元素抽取任务的核心。评价对象是指文本中被讨论的主题,具体表现为文本中评价表达所修饰的对象;评价表达抽取主要针对显式情感表达的文本,是指文本中代表情绪、情感、意见或其他个人状态的主观表述,通常以词语或短语形式出现,如“非常漂亮”,“不高兴”。由于评价对象和评价表达紧密联系的,并且可以按照序列标注任务进行识别,尽管两者可以作为独立的任务,但采用联合识别模型会更好的结合两者的信息[13]。目前用来抽取评价表达和评价对象的方法主要分为两种:基于句法规则匹配的方法和基于机器学习的有指导学习算法。Qiu et al.[14]采用了一种称为双向传播(double propagation)的算法,通过使用依存句法分析器获取情感词与评价对象的关系,并在两者之间传播信息,在迭代过程中对种子情感词进行Bootstraping来扩充情感词典并抽取出评价对象。基于机器学习的有指导学习算法通常将评价表达和评价对象抽取看成字符级别的序列标注([15],[16])问题。具有代表性的机器学习的算法包括基于特征的CRF([17],[18],[19],[20])序列标注算法和基于神经网络的序列标注算法。由于前者通常依赖专家撰写的特征模板、外部情感词典资源,领域通用性受限,基于神经网络的表示学习算法受到了越来越多的关注,例如,Irosy和Cardie[21]在词向量的基础上运用深层循环神经网络(Recurrent Neural Network)结构。Liu et al.[22]进一步使用了基于LSTM的循环神经网络(RNN),同时融入了词性(pos tagging)的分布语义表示,并且在多个数据集上证明优于CRF方法。

需要注意的是,在实际的文本语料中,评价对象省略现象,情感的隐晦表达,都会给情感元素的抽取工作带来挑战,需要自然语言处理技术中的指代消解、隐式情感分析技术([23][24])等支持。

3.3 文本情感分类

文本情感分类的目的是判断给定句子或篇章的情感类别,也称为粗粒度情感分析。文本情感分类是情感分析的最终目标,通常可以在情感元素抽取的基础上进行句子或篇章的情感分类。近年来,由于深度学习的兴起,可以越过情感元素的抽取过程,避免级联错误,使端到端的情感分析成为可能。 已有的研究工作可以大体分为基于情感词典和基于特征学习方法,我们将分别从这个两角度介绍已有的相关工作。顾名思义,基于情感词典的方法通常利用情感词或情感短语及情感反转、加强等规则判断句子的情感极性。Turney[25]提出了一种基于搜索引擎的方法,判断每个词语和已有情感词语的相关度,随后进行文本情感分类[2];Ding et al.[26]利用否定词语和转折词语,提升了基于词典的情感分类方法;Taboada et al.[27]利用词语的情感强度以及情感加强和否定规则判断篇章的情感极性。 基于特征学习的方法是近年来句子级和篇章级情感分类的主流方法[2],Pang et al.[28]提出基于特征的机器学习算法解决情感分类,后续有众多学者设计复杂的特征以提高情感分类的性能。由于手工设计特征很耗时并且依赖于专家知识,越来越多的学者尝试自动地从数据中学习文本的特征表示。基于神经网络的语义组合算法被验证是一种非常有效的特征学习手段,Socher et al.[29]提出多个基于树结构的Recursive Neural Network,该方法通过迭代运算的方式学习变量长度的句子或短语的语义表示,在斯坦福情感分析树库(Stanford Sentiment Treebank)上验证了该方法的有效性。Kalchbrenner

et al.[30]使用卷积神经网络学习句子的表示,在句子级情感分类任务上取得了非常出色的效果。Tai et al.[31]在序列化的LSTM (Long Short-Term Memory)模型的基础上加入了句法结构的因素,该方法在句法分析的结果上进行语义组合,在句子级情感分类和文本蕴含任务上都取得了很好的效果。 随着社交媒体的日益发展,用户在社交媒体上更侧重于喜怒哀乐多类别情感表达,由于多类别情感语料分布不均衡给情感分析带来一定困难,尽管采取了一些解决方案[32][33],但是多元分类在分类性能上不及褒贬分类。

4 情感分析应用系统

在上述分析技术的支持下产生了大批基于情感分析的系统和应用。总体来看,它们应用在商品/服务评论分析、社交网络分析、情感机器人这三方面。

传统的情感分析应用聚焦于来自消费产品和服务的评论。基于产品评论的代表性平台有Google Shopping ,它还可以为用户提供在线购物平台的商品检索和比价服务;OpinionEQ允许商业组织和个人按需定制产品分析服务。

微博、Twitter等社交网络服务的爆炸式发展也为研究人员带来了极大的机遇,研究人员能够通过分析大量富情感的数据来分析公众的情绪变化,并对政府管理、经济、娱乐领域产生影响。从政府和管理者角度出发,联合国开发了针对全球情感波动监测的应用Global Pulse ,北航的研究小组推出了第一个针对中文微博的在线情感系统MoodLens;2012年美国大选时罗姆尼和奥巴马在Twitter上展开了激烈宣传,借此影响普通民众及新闻从业者,成为互联网参与总统竞选典型案例。在金融应用方面,许多研究机构将情感分析技术应用于股票分析及预测系统,例如Stock Sonar 在每只股票的价格旁边展示了每天针对该股的积极和消极的情感信息,为投资者提供即时的参考,UIC开发的Twitter情感分析进行为股市的涨跌进行预测和追踪。在娱乐领域,阿里云的人工智能系统“小Ai” 在《我是歌手》节目中成功预测李玟夺冠,也是依靠现场数据以及社交网络上的点评数据进行分析预测,这其中都运用了对海量文本情感分析技术。可以看到,对社交媒体的情感大数据的监测和分析预测,不断影响着政府决策和大众选择。

除了在电商平台和社交网络得到广泛应用,情感分析技术还被引入到对话机器人领域。例如,微软的“小冰”机器人可以通过分析用户的文本输入和表情贴图,理解用户当前的情绪状况,并据此回复文本或者语音等情感回应。部分研究机构还将情感分析技术融入实体机器人中。日本软银公司的Pepper机器人依据常见的情感认知(喜怒哀惊)及对用户的面部表情、肢体语言和措辞的分析,了解用户的情绪并选择恰当的方式与用户交流。而香港Hanson Robotics公司开发的Han机器人不仅可以理解用户的情感,它还可以将情感反馈以模拟的面部表情展现出来。国内的Gowild公司也推出了可以提供生活助理和年轻人强社交情感交流服务的“公子小白”机器人。这些工作实际上并不是从认知机理出发,而是通过外在的形式(词语,表情,肢体)判断人类情感。

5 挑战与趋势

正如前文所述,现在的情感分析工作已经能够完成一些简单的任务,在上述任务上都表现出机器具有识别人类情感的能力,但也面临许多挑战。  在情感研究对象上,随着应用领域的不断扩展,情感对象从之前的对产品、服务等的褒贬倾向

性评论到对社交媒体中的用户、话题情绪分类,表现形式更加多样,情感种类更加繁多,研究的内容也会发生相应转变,包括更加关注用户的信息以及针对社交媒体中事件用户情感的变迁。  在情感表达形式上,人们对于情感的表达也多样化的,有直截了当的,也有含蓄不露的,更有

通过修辞手段及反讽的多种形式表达情感,因此需要更深层次的机器学习技术以及情感常识库的支持,如何构建常识知识库是亟待解决的问题。

 在情感分析学习算法上,深度学习的崛起,无疑也为情感分析中的许多任务提供了良好的工具,

并在一些任务上初现端倪,随着情感分析研究不断扩展和深入,会发挥更多的作用。

从认知科学角度,情感分析是人工智能的一部分,虽然尚不能完全了解人类情感产生的机理,但是可以和认知科学研究者开展合作研究,通过观察脑电波探知产生各种情感的脑波形和反射情况,为情感分析研究提供科学依据。 

 在情感分析应用上,情感分析和人工智能结合,将产生一系列的应用,在聊天机器人中识别用

{lstm情感分析}.

户情感,并给予情感抚慰。更进一步,未来情感分析应用于对文章及诗词的鉴赏,自动生成自己的观点、立场及情绪,表达机器自身的情感,从而向强人工智能迈进。 总之,情感分析研究及应用前途广大,尤其是和实体机器人结合,将多媒体技术融为一体,结合语音、图像处理技术,可以从语言、表情和行为方面理解人类情感并给出相应的情感回复,打造一个具有情感的机器人时代已经不远了!

参考文献

[1] Pang B, Lee L. Opinion mining and sentiment analysis[J]//Foundations and trends in information retrieval, 2008, 2(1-2):1–135.{lstm情感分析}.

[2] Liu B. Sentiment analysis and opinion mining[J]//Synthesis Lectures on Human Language Technologies, 2012, 5(1):1–167.

[3] Hu M, Liu B. Mining and summarizing customer reviews[C]//Proceedings of the tenth ACM SIGKDD Conference on Knowledge Discovery and Data Mining, 2004:168–177.

[4] Esuli A, Sebastiani F. Sentiwordnet: A publicly available lexical resource for opinion mining[C]//Proceedings of LREC, 2006, 6:417–422.

[5] Hatzivassiloglou V, McKeown K. Predicting the semantic orientation of adjectives[C]//EACL,

1997:174–181.

lstm情感分析篇二

语义分析的一些方法

语义分析的一些方法(上篇)

人工智能 林 17小时前 70℃ 0评论

作者:火光摇曳

念。wikipedia上的解释:In machine learning, semantic analysis of a corpus is the task of building structures that approximate concepts from a large set of documents(or images)。

工作这几年,陆陆续续实践过一些项目,有搜索广告,社交广告,微博广告,品牌广告,内容广告等。要使我们广告平台效益最大化,首先需要理解用户,Context(将展示广告的上下文)和广告,才能将最合适的广告展示给用户。而这其中,就离不开对用户,对上下文,对广告的语义分析,由此催生了一些子项目,例如文本语义分析,图片语义理解,语义索引,短串语义关联,用户广告语义匹配等。

接下来我将写一写我所认识的语义分析的一些方法,虽说我们在做的时候,效果导向居多,方法理论理解也许并不深入,不过权当个人知识点总结,有任何不当之处请指正,谢谢。

本文主要由以下四部分组成:文本基本处理,文本语义分析,图片语义分析,语义分析小结。先讲述文本处理的基本方法,这构成了语义分析的基础。接着分文本和图片两节讲述各自语义分析的一些方法,值得注意的是,虽说分为两节,但文本和图片在语义分析方法上有很多共通与关联。最后我们简单介绍下语义分析在广点通“用户广告匹配”上的应用,并展望一下未来的语义分析方法。 1 文本基本处理

在讲文本语义分析之前,我们先说下文本基本处理,因为它构成了语义分析的基础。而文本处理有很多方面,考虑到本文主题,这里只介绍中文分词以及Term Weighting。

1.1 中文分词

拿到一段文本后,通常情况下,首先要做分词。分词的方法一般有如下几种:  基于字符串匹配的分词方法。此方法按照不同的扫描方式,逐个查找词库进行分词。根据扫描方式可细分为:正向最大匹配,反向最大匹配,双向最大匹配,最小切分(即最短路径);总之就是各种不同的启发规则。

 全切分方法。它首先切分出与词库匹配的所有可能的词,再运用统计语言模型决定最优的切分结果。它的优点在于可以解决分词中的歧义问题。下图是一个示例,对于文本串“南京市长江大桥”,首先进行词条检索(一般用Trie存储),找到匹配的所有词条(南京,市,长江,大桥,南京市,长江大桥,市长,江大桥,江大,桥),以词网格(word lattices)形式表示,接着做路径搜索,基于统计语言模型(例如n-gram)[18]找到最优路径,最后可能还需要命名实体识别。下图中“南京市 长江 大桥”的语言模型得分,即P(南京市,长江,大桥)最高,则为最优切分。

图1. “南京市长江大桥”语言模型得分

 由字构词的分词方法。可以理解为字的分类问题,也就是自然语言处理中的sequence labeling问题,通常做法里利用HMM,MAXENT,MEMM,CRF等预测文本串每个字的tag[62],譬如B,E,I,S,这四个tag分别表示:beginning, inside, ending, single,也就是一个词的开始,中间,结束,以及单个字的词。 例如“南京市长江大桥”的标注结果可能为:“南(B)京(I)市(E)长(B)江(E)大(B)桥(E)”。由于CRF既可以像最大熵模型一样加各种领域feature,又避免了HMM的齐次马尔科夫假设,所以基于CRF的分词目前是效果最好的,具体请参考文献[61,62,63]。除了HMM,CRF等模型,分词也可以基于深度学习方法来做,如文献[9][10]

所介绍,也取得了

state-of-the-art的结果。

图2. 基于深度学习的中文分词

上图是一个基于深度学习的分词示例图。我们从上往下看,首先对每一个字进行Lookup Table,映射到一个固定长度的特征向量(这里可以利用词向量,boundary entropy,accessor variety等);接着经过一个标准的神经网络,分别是linear,sigmoid,linear层,对于每个字,预测该字属于B,E,I,S的概率;最后输出是一个矩阵,矩阵的行是B,E,I,S 4个tag,利用viterbi算法就可以完成标注推断,从而得到分词结果。

一个文本串除了分词,还需要做词性标注,命名实体识别,新词发现等。通常有两种方案,一种是pipeline approaches,就是先分词,再做词性标注;另一种是joint approaches,就是把这些任务用一个模型来完成。有兴趣可以参考文献[9][62]等。

一般而言,方法一和方法二在工业界用得比较多,方法三因为采用复杂的模型,虽准确率相对高,但耗时较大。

1.2 语言模型

前面在讲“全切分分词”方法时,提到了语言模型,并且通过语言模型,还可以引出词向量,所以这里把语言模型简单阐述一下。

语言模型是用来计算一个句子产生概率的概率模型,即P(w_1,w_2,w_3„w_m),m表示词的总个数。根据贝叶斯公式:P(w_1,w_2,w_3 „ w_m) =

P(w_1)P(w_2|w_1)P(w_3|w_1,w_2) „ P(w_m|w_1,w_2 „ w_{m-1})。

最简单的语言模型是N-Gram,它利用马尔科夫假设,认为句子中每个单词只与其前n–1个单词有关,即假设产生w_m这个词的条件概率只依赖于前n–1个词,则有P(w_m|w_1,w_2„w_{m-1}) = P(w_m|w_{m-n+1},w_{m-n+2} „ w_{m-1})。其中n越大,模型可区别性越强,n越小,模型可靠性越高。

N-Gram语言模型简单有效,但是它只考虑了词的位置关系,没有考虑词之间的相似度,词语法和词语义,并且还存在数据稀疏的问题,所以后来,又逐渐提出更多的语言模型,例如Class-based ngram model,topic-based ngram model,cache-based ngram model,skipping ngram model,指数语言模型(最大熵模型,条件随机域模型)等。若想了解更多请参考文章[18]。

最近,随着深度学习的兴起,神经网络语言模型也变得火热[4]。用神经网络训练语言模型的经典之作,要数Bengio等人发表的《A Neural Probabilistic Language Model》[3],它也是基于N-Gram的,首先将每个单词

w_{m-n+1},w_{m-n+2} „ w_{m-1}映射到词向量空间,再把各个单词的词向量组合成一个更大的向量作为神经网络输入,输出是P(w_m)。本文将此模型简称为ffnnlm(Feed-forward Neural Net Language Model)。ffnnlm解决了传统n-gram的两个缺陷:(1)词语之间的相似性可以通过词向量来体现;(2)自带平滑功能。文献[3]不仅提出神经网络语言模型,还顺带引出了词向量,关于词向量,后文将再细述。

{lstm情感分析}.

图3. 基于神经网络的语言模型

从最新文献看,目前state-of-the-art语言模型应该是基于循环神经网络

(recurrent neural network)的语言模型,简称rnnlm[5][6]。循环神经网络相比于传统前馈神经网络,其特点是:可以存在有向环,将上一次的输出作为本次的输入。而rnnlm和ffnnlm的最大区别是:ffnnmm要求输入的上下文是固定长度的,也就是说n-gram中的 n 要求是个固定值,而rnnlm不限制上下文的长度,可以真正充分地利用所有上文信息来预测下一个词,本次预测的中间隐层信息(例如下图中的context信息)可以在下一次预测里循环使用。

lstm情感分析篇三

语义分析方案贾俊华

本文主要由以下三部分组成:文本基本处理,文本语义分析,语义分析小结。先讲述文本处理的基本方法,这构成了语义分析的基础。接着分文本和图片两节讲述各自语义分析的一些方法,值得注意的是,虽说分为两节,但文本和图片在语义分析方法上有很多共通与关联。最后我们简单介绍下语义分析在广点通“用户广告匹配”上的应用,并展望一下未来的语义分析方法。

1文本基本处理

在讲文本语义分析之前,我们先说下文本基本处理,因为它构成了语义分析的基础。而文本处理有很多方面,考虑到本文主题,这里只介绍中文分词以及Term Weighting。

1.1中文分词

拿到一段文本后,通常情况下,首先要做分词。分词的方法一般有如下几种: 基于字符串匹配的分词方法。此方法按照不同的扫描方式,逐个查找词库进行分词。根据扫描方式可细分为:正向最大匹配,反向最大匹配,双向最大匹配,最小切分(即最短路径);总之就是各种不同的启发规则。

全切分方法。它首先切分出与词库匹配的所有可能的词,再运用统计语言模型决定最优的切分结果。它的优点在于可以解决分词中的歧义问题。下图是一个示例,对于文本串“南京市长江大桥”,首先进行词条检索(一般用Trie存储),找到匹配的所有词条(南京,市,长江,大桥,南京市,长江大桥,市长,江大桥,江大,桥),以词网格(word lattices)形式表示,接着做路径搜索,基于统计语言模型(例如n-gram)找到最优路径,最后可能还需要命名实体识别。下图中“南京市 长江 大桥”的语言模型得分,即P(南京市,长江,大桥)最高,则为最优切分。

图1.“南京市长江大桥”语言模型得分

由字构词的分词方法。可以理解为字的分类问题,也就是自然语言处理中的sequence labeling问题,通常做法里利用HMM,MAXENT,MEMM,CRF等预测文本串每个字的tag[62],譬如B,E,I,S,这四个tag分别表示:beginning, inside, ending, single,也就是一个词的开始,中间,结束,以及单个字的词。 例如“南京市长江大桥”的标注结果可能为:“南(B)京(I)市(E)长(B)江(E)大(B)桥(E)”。由于CRF既可以像最大熵模型一样加各种领域feature,又避免了HMM的齐次马尔科夫假设,所以基于CRF的分词目前是效果最好的。除了HMM,CRF等模型,分词也可以基于深度学习方法来做,也取得了state-of-the-art的结果。{lstm情感分析}.{lstm情感分析}.{lstm情感分析}.

图2.基于深度学习的中文分词

上图是一个基于深度学习的分词示例图。我们从上往下看,首先对每一个字进行Lookup Table,映射到一个固定长度的特征向量(这里可以利用词向量,boundary entropy,accessor variety等);接着经过一个标准的神经网络,分别是linear,sigmoid,linear层,对于每个字,预测该字属于B,E,I,S的概率;最后输出是一个矩阵,矩阵的行是B,E,I,S 4个tag,利用viterbi算法就可以完成标注推断,从而得到分词结果。

一个文本串除了分词,还需要做词性标注,命名实体识别,新词发现等。通常有两种方案,一种是pipeline approaches,就是先分词,再做词性标注;另一种是joint approaches,就是把这些任务用一个模型来完成。一般而言,方法一和方法二在工业界用得比较多,方法三因为采用复杂的模型,虽准确率相对高,但耗时较大。

1.2语言模型

前面在讲“全切分分词”方法时,提到了语言模型,并且通过语言模型,还可以引出词向量,所以这里把语言模型简单阐述一下。

语言模型是用来计算一个句子产生概率的概率模型,即P(w_1,w_2,w_3…w_m),m表示词的总个数。根据贝叶斯公式:P(w_1,w_2,w_3 … w_m) =

P(w_1)P(w_2|w_1)P(w_3|w_1,w_2) … P(w_m|w_1,w_2 … w_{m-1})。

最简单的语言模型是N-Gram,它利用马尔科夫假设,认为句子中每个单词只与其前n–1个单词有关,即假设产生w_m这个词的条件概率只依赖于前n–1个词,则有P(w_m|w_1,w_2…w_{m-1}) = P(w_m|w_{m-n+1},w_{m-n+2} … w_{m-1})。其中n越大,模型可区别性越强,n越小,模型可靠性越高。

N-Gram语言模型简单有效,但是它只考虑了词的位置关系,没有考虑词之间的相似度,词语法和词语义,并且还存在数据稀疏的问题,所以后来,又逐渐提出更多的语言模型,例如Class-based ngram model,topic-based ngram model,cache-based ngram model,skipping ngram model,指数语言模型(最大熵模型,条件随机域模型)等。

最近,随着深度学习的兴起,神经网络语言模型也变得火热[4]。用神经网络训练语言模型的经典之作,要数Bengio等人发表的《A Neural Probabilistic Language Model》[3],它也是基于N-Gram的,首先将每个单词

w_{m-n+1},w_{m-n+2} … w_{m-1}映射到词向量空间,再把各个单词的词向量组合成一个更大的向量作为神经网络输入,输出是P(w_m)。本文将此模型简称为ffnnlm(Feed-forward Neural Net Language Model)。ffnnlm解决了传统n-gram的两个缺陷:(1)词语之间的相似性可以通过词向量来体现;(2)自带平滑功能。文献《A neural probabilistic language model 2003》

不仅提出神经网络语言模型,还顺带引出了词向量,关于词向量,后文将再细述。

图3.基于神经网络的语言模型

从最新文献看,目前state-of-the-art语言模型应该是基于循环神经网络

(recurrent neural network)的语言模型,简称rnnlm。循环神经网络相比于传统

前馈神经网络,其特点是:可以存在有向环,将上一次的输出作为本次的输入。

而rnnlm和ffnnlm的最大区别是:ffnnmm要求输入的上下文是固定长度的,也就是说n-gram中的 n 要求是个固定值,而rnnlm不限制上下文的长度,可以真正充分地利用所有上文信息来预测下一个词,本次预测的中间隐层信息(例如下图中的context信息)可以在下一次预测里循环使用。

图4.基于simple RNN(time-delay neural network)的语言模型

如上图所示,这是一个最简单的rnnlm,神经网络分为三层,第一层是输入层,第二层是隐藏层(也叫context层),第三层输出层。 假设当前是t时刻,则分三步来预测P(w_m):

1,单词w_{m-1}映射到词向量,记作input(t)

2,连接上一次训练的隐藏层context(t–1),经过sigmoid function,生成当前t时刻的context(t)

3,利用softmax function,预测P(w_m)

《Rnnlm library》中列出了一个rnnlm的library,其代码紧凑。利用它训练中文语言模型将很简单,上面“南京市 长江 大桥”就是rnnlm的预测结果。

基于RNN的language model利用BPTT(BackPropagation through time)算法比较难于训练,原因就是深度神经网络里比较普遍的vanishing gradient问题(在RNN里,梯度计算随时间成指数倍增长或衰减,称之为Exponential Error Decay)。所以后来又提出基于LSTM(Long short term memory)的language model,LSTM也是一种RNN网络, LSTM通过网络结构的修改,从而避免vanishing gradient问题。

图5.LIST memory cell

如上图所示,是一个LSTM unit。如果是传统的神经网络unit,output activation bi = activation_function(ai),但LSTM unit的计算相对就复杂些了,它保存了该神经元上一次计算的结果,通过input gate,output gate,forget gate来计算输出,具体过程请参考《LSTM Neural Networks for Language Modeling》,《LONG SHORT-TERM MEMORY》。

1.3 Term Weighting

Term重要性

对文本分词后,接下来需要对分词后的每个term计算一个权重,重要的term应该给与更高的权重。举例来说,“什么产品对减肥帮助最大?”的term weighting结果可能是: “什么 0.1,产品 0.5,对 0.1,减肥 0.8,帮助 0.3,最大 0.2”。Term weighting在文本检索,文本相关性,核心词提取等任务中都有重要作用。 Term weighting的打分公式一般由三部分组成:local,global和normalization

[1,2]。即

TermWeight=L_{i,j} G_i N_j。L_{i,j}是term i在document j中的local weight,G_i是term i的global weight,N_j是document j的归一化因子。

常见的local,global,normalization weight公式[2]有:

  • nltk情感分析
  • r软性情感分析
  • 人群情感分析内容
  • lstm情感分析由美文导刊网(www.eorder.net.cn)收集整理,转载请注明出处!原文地址http://www.eorder.net.cn/meiwen170115/

    文章评论
    Copyright © 2006 - 2016 www.eorder.net.cn All Rights Reserved
    美文导刊网 版权所有