情感分析(Sentiment analysis,SA),又称倾向性分析、意见抽取(Opinion extraction)、意见挖掘(Opinion mining)、情感挖掘(Sentiment mining)、主观分析(Subjectivity analysis)
情感分析是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程
情感分析的目的是为了找出说话者/作者在某些话题上或者针对一个文本两极观点的态度。这个态度或许是他或她的个人判断或是评估,也许是他当时的情感状态(就是说,作者在做出这个言论时的情绪状态),或是作者有意向的情感交流(就是作者想要读者所体验的情绪)
文本情感分析的应用非常广泛,如网络舆情风险分析,信息预测等。如通过Twitter用户情感预测股票走势,**票房、选举结果等,均是将公众情绪与社会事件对比,发现一致性,并用于预测
首先安装SnowNLP中文情感分析库:
SnowNLP(Simplified Chinese Text Processing),是一个python语言编写的类库,可以方便的处理中文文本内容,其开发受到了TextBlob的启发
In [1]:
数据载入
In [2]:
Out[2]:
数据预处理
In [3]:
In [4]:
Out[4]:
In [7]:
Out[7]:
将所有数据打分
In [9]:
Out[9]:
将分数合并会原表格
In [11]:
Out[11]:
计算指标
In [12]:
Out[12]:
In [13]:
Out[13]:
In [14]:
Out[14]:
基础结论:中位数比平均值高很多,说明有少量异常低的评分拉低了均值
In [16]:
Out[16]:
看分数分布情况,直方图最合适
In [17]:
Out[17]:
少量数据,柱状图也可以
In [18]:
Out[18]:
In [19]:
Out[19]:
In [20]:
以分数排序,查看打分准确率
In [22]:
Out[22]:
好评
In [23]:
Out[23]:
In [24]:
Out[24]:
差评
In [25]:
Out[25]:
In [26]:
Out[26]:
In [27]:
Out[27]:
In [28]:
Out[28]:
In [29]:
Out[29]:
In [30]:
Out[30]:
结论
准确率比瞎猜高,但达不到人工打分准确率
SnowNLP库的训练基准数据是基于电商销售产品训练的,对饭店留言数据的打分准确率一般
做情感分析最好用户自行实现(网站增加打分功能,用户自行打分)
《京剧趣谈》中文眼是“嗟来之食,系留余地”的“留”字。它主要是表达了京剧表演艺术中的一种精妙技巧和思想感情,即通过表情和眼神来表现人物内心的世界,一方面传达人物所想所感,另一方面引导观众去领会和理解角色的思维和情感。特别是在表达愤怒、悲痛、失落等强烈情感时,京剧表演者往往会借助“留”字作为切入点,通过咬牙切齿、抽噎哽咽等表演技巧,传递内涵丰富、气势磅礴的感情,真正实现了“一日磨一剑,百日磨一眼”的艺术深度。
情感分析(Sentiment Analysis)
第一步,就是确定一个词是积极还是消极,是主观还是客观。这一步主要依靠词典。
英文已经有伟大词典资源:SentiWordNet 无论积极消极、主观客观,还有词语的情感强度值都一并拿下。
但在中文领域,判断积极和消极已经有不少词典资源,如Hownet,NTUSD但用过这些词典就知道,效果实在是不咋滴(最近还发现了大连理工发布的情感词汇本体库,不过没用过,不好评价)。中文这方面的开源真心不够英文的做得细致有效。而中文识别主客观,那真的是不能直视。
中文领域难度在于:词典资源质量不高,不细致。另外缺乏主客观词典。
第二步,就是识别一个句子是积极还是消极,是主观还是客观。
有词典的时候,好办。直接去匹配看一个句子有什么词典里面的词,然后加总就可以计算出句子的情感分值。
但由于不同领域有不同的情感词,比如看上面的例子,“蓝屏”这个词一般不会出现在情感词典之中,但这个词明显表达了不满的情绪。因此需要另外根据具体领域构建针对性的情感词典。
如果不那么麻烦,就可以用有监督的机器学习方法。把一堆评论扔到一个算法里面训练,训练得到分类器之后就可以把评论分成积极消极、主观客观了。
分成积极和消极也好办,还是上面那个例子。5颗星的评论一般来说是积极的,1到2颗星的评论一般是消极的,这样就可以不用人工标注,直接进行训练。但主客观就不行了,一般主客观还是需要人来判断。加上中文主客观词典不给力,这就让机器学习判断主客观更为困难。
中文领域的难度:还是词典太差。还有就是用机器学习方法判断主客观非常麻烦,一般需要人工标注。
另外中文也有找到过资源,比如这个用Python编写的类库:SnowNLP 就可以计算一句话的积极和消极情感值。但我没用过,具体效果不清楚。
到了第三步,情感挖掘就升级到意见挖掘(Opinion Mining)了。
这一步需要从评论中找出产品的属性。拿手机来说,屏幕、电池、售后等都是它的属性。到这一步就要看评论是如何评价这些属性的。比如说“屏幕不错”,这就是积极的。“电池一天都不够就用完了,坑爹啊”,这就是消极的,而且强度很大。
这就需要在情感分析的基础上,先挖掘出产品的属性,再分析对应属性的情感。
分析完每一条评论的所有属性的情感后,就可以汇总起来,形成消费者对一款产品各个部分的评价。
接下来还可以对比不同产品的评价,并且可视化出来。如图。
这一步的主要在于准确挖掘产品属性(一般用关联规则),并准确分析对应的情感倾向和情感强度。因此这需要情感分析作为基础。首先要找到评论里面的主观句子,再找主观句子里的产品属性,再计算属性对应的情感分。所以前面基础不牢固,后面要准确分析就有难度。
中文这个领域的研究其实很完善了,技术也很成熟。但需要完善前期情感分析的准确度。
总的来说,就是中文词典资源不好,工作做得不是很细很准。前期的一些基础不牢固,后面要得到准确的分析效果就不容易了。
是爱、成为爱等。
love中文解释为爱情,喜爱,热爱 近义词like,但本词并不局限于男女之间的或同性之间的爱,也包括亲情友情等。中文解释为爱情,喜爱。爱是一种发乎人内心的情感,在中文里有着很多解释,由某种事物给予人少许满足(如我爱进食这些食物)至为了爱某些东西而死(如爱国心、对偶结合)。爱也常常被认为是喜欢的最高境界或表达。比like一词的程度要更加深刻。
相关信息:
爱是与生俱来的,所以可以认为是人性的特质,换言之,爱是作为人必须具备的本质之一。虽然世界各民族间的文化差异使得一个普世的爱的定义难以道明,但并非不可能成立。
爱可以包括灵魂或心灵上的爱、对法律与组织的爱、对自己的爱、对食物的爱、对金钱的爱、对学习的爱、对权力的爱、对名誉的爱、对别人的爱,数之不尽。不同人对其所接受的爱有着不同的重视程度。爱本质上为抽象慨念,可以体验但难以言语。
意大利语我爱你的意思,完整的应该是Io ti amo,翻译成中文就是“我爱你”的意思。在意大利tiamo的意思是我爱你,在法语中却是爱过你。
并非我们猜测的英语或者拼音缩写,一般情况下其中文翻译为“提莫”,常用于一人对暗恋对象或者爱慕者的情感表达,也可以在亲人朋友之间使用,此外“TiAmo”这词还可以表达对宠物、物品等寄托了浓重的情感。
注意
“tiamo”也可以代指网络歌手韩义的英文别名,以及泰国**《yes or no》的两位主演名字Tina和Aom的简称,其中Tina的中文名为李缇娜,她于1991年2月12日出生。
是泰国著名的女演员、歌手,而李海娜是Aom的中文名字,其于1988年出生,在2009年因出演《爱在拜城》而正式出道。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)