java 做不了
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
情感分析自从2002年由Bo Pang提出之后,获得了很大程度的关注,特别是在在线评论的情感倾向性分析上获得了很大的发展。本文主要关注无监督的情感分析方法,由于不需要大量标注语料,无监督情感分析方法一直受到许多研究者的青睐,但同时效果也低于有监督的情感分析方法。
Turney首次提出基于种子词的非监督学习方法,使用“excelent”和“poor”两个种子词与未知词在搜索网页中的互信息来计算未知词的情感极性,并用以计算整个文本的情感极性。后续的非监督情感分析方法大都是基于生成或已有的情感词典或者相关资源进行情感分析。
例 如,Kennedy和Inkpen考虑文本中词的极性转移关系并基于种子词集合进行词计数决定情感倾向。朱嫣岚等人将 一组已知极性的词语集合作为种子,基于HowNet对未知词语与种子词进行语义计算,从而判别未知词的极性。Lin等采用LSM 模型、JST模型、Reverse-JST模型构建了三种无监督的情感分析系统。但是由于深层情感分析必然涉及到语义的分析, 以及文本中情感转移现象的经常出现,所以基于深层语义的情感分析效果并不理想,本文针对中文文本中经常出现的情感转移现象提出情感极性转移模型,提高了深层语义情感分析的分析效果。
情感分析可以细分成几个点:
1 主客观
2 观点句提取(评价对象--情感词)
3 情感极性判断
看看你要做的到底是哪个方面?
其中2是难度比较大的,特别是评价对象的提取。
都可以转化为分类问题,2可以参考一下淘宝的。
情感分析(Sentiment Analysis)
第一步,就是确定一个词是积极还是消极,是主观还是客观。这一步主要依靠词典。
英文已经有伟大词典资源:SentiWordNet 无论积极消极、主观客观,还有词语的情感强度值都一并拿下。
但在中文领域,判断积极和消极已经有不少词典资源,如Hownet,NTUSD但用过这些词典就知道,效果实在是不咋滴(最近还发现了大连理工发布的情感词汇本体库,不过没用过,不好评价)。中文这方面的开源真心不够英文的做得细致有效。而中文识别主客观,那真的是不能直视。
中文领域难度在于:词典资源质量不高,不细致。另外缺乏主客观词典。
第二步,就是识别一个句子是积极还是消极,是主观还是客观。
有词典的时候,好办。直接去匹配看一个句子有什么词典里面的词,然后加总就可以计算出句子的情感分值。
但由于不同领域有不同的情感词,比如看上面的例子,“蓝屏”这个词一般不会出现在情感词典之中,但这个词明显表达了不满的情绪。因此需要另外根据具体领域构建针对性的情感词典。
如果不那么麻烦,就可以用有监督的机器学习方法。把一堆评论扔到一个算法里面训练,训练得到分类器之后就可以把评论分成积极消极、主观客观了。
分成积极和消极也好办,还是上面那个例子。5颗星的评论一般来说是积极的,1到2颗星的评论一般是消极的,这样就可以不用人工标注,直接进行训练。但主客观就不行了,一般主客观还是需要人来判断。加上中文主客观词典不给力,这就让机器学习判断主客观更为困难。
中文领域的难度:还是词典太差。还有就是用机器学习方法判断主客观非常麻烦,一般需要人工标注。
另外中文也有找到过资源,比如这个用Python编写的类库:SnowNLP 就可以计算一句话的积极和消极情感值。但我没用过,具体效果不清楚。
到了第三步,情感挖掘就升级到意见挖掘(Opinion Mining)了。
这一步需要从评论中找出产品的属性。拿手机来说,屏幕、电池、售后等都是它的属性。到这一步就要看评论是如何评价这些属性的。比如说“屏幕不错”,这就是积极的。“电池一天都不够就用完了,坑爹啊”,这就是消极的,而且强度很大。
这就需要在情感分析的基础上,先挖掘出产品的属性,再分析对应属性的情感。
分析完每一条评论的所有属性的情感后,就可以汇总起来,形成消费者对一款产品各个部分的评价。
接下来还可以对比不同产品的评价,并且可视化出来。如图。
这一步的主要在于准确挖掘产品属性(一般用关联规则),并准确分析对应的情感倾向和情感强度。因此这需要情感分析作为基础。首先要找到评论里面的主观句子,再找主观句子里的产品属性,再计算属性对应的情感分。所以前面基础不牢固,后面要准确分析就有难度。
中文这个领域的研究其实很完善了,技术也很成熟。但需要完善前期情感分析的准确度。
总的来说,就是中文词典资源不好,工作做得不是很细很准。前期的一些基础不牢固,后面要得到准确的分析效果就不容易了。
在情感分析、词云分析、词频分析和聚类分析中,可以通过文本分析技术实现的是:
1 情感分析:通过对文本进行情感分类,判断其中表达的情绪或情感倾向,如正面、负面或中性情感。
2 词云分析:通过对文本中词语的频率进行统计和可视化,生成词云图,以展示文本中重要或常见的关键词。
3 词频分析:通过计算文本中不同词语的出现频率,确定其在文本中的重要性或热度,并展示出现频率较高的词语。
4 聚类分析:通过将文本按照其相似性进行分组或聚类,将具有相似主题、内容或特征的文本归为一类,以揭示文本数据的结构和相关性。
这些技术都是通过对文本进行分析和处理,提取出文本的特征或信息,并进行进一步的处理和可视化,以帮助理解文本的含义、趋势或关联性。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)