第一步,就是确定一个词是积极还是消极,是主观还是客观。这一步主要依靠词典。
英文已经有伟大词典资源:SentiWordNet 无论积极消极、主观客观,还有词语的情感强度值都一并拿下。
但在中文领域,判断积极和消极已经有不少词典资源,如Hownet,NTUSD但用过这些词典就知道,效果实在是不咋滴(最近还发现了大连理工发布的情感词汇本体库,不过没用过,不好评价)。中文这方面的开源真心不够英文的做得细致有效。而中文识别主客观,那真的是不能直视。
中文领域难度在于:词典资源质量不高,不细致。另外缺乏主客观词典。
第二步,就是识别一个句子是积极还是消极,是主观还是客观。
有词典的时候,好办。直接去匹配看一个句子有什么词典里面的词,然后加总就可以计算出句子的情感分值。
但由于不同领域有不同的情感词,比如看上面的例子,“蓝屏”这个词一般不会出现在情感词典之中,但这个词明显表达了不满的情绪。因此需要另外根据具体领域构建针对性的情感词典。
如果不那么麻烦,就可以用有监督的机器学习方法。把一堆评论扔到一个算法里面训练,训练得到分类器之后就可以把评论分成积极消极、主观客观了。
分成积极和消极也好办,还是上面那个例子。5颗星的评论一般来说是积极的,1到2颗星的评论一般是消极的,这样就可以不用人工标注,直接进行训练。但主客观就不行了,一般主客观还是需要人来判断。加上中文主客观词典不给力,这就让机器学习判断主客观更为困难。
中文领域的难度:还是词典太差。还有就是用机器学习方法判断主客观非常麻烦,一般需要人工标注。
另外中文也有找到过资源,比如这个用Python编写的类库:SnowNLP 就可以计算一句话的积极和消极情感值。但我没用过,具体效果不清楚。
到了第三步,情感挖掘就升级到意见挖掘(Opinion Mining)了。
这一步需要从评论中找出产品的属性。拿手机来说,屏幕、电池、售后等都是它的属性。到这一步就要看评论是如何评价这些属性的。比如说“屏幕不错”,这就是积极的。“电池一天都不够就用完了,坑爹啊”,这就是消极的,而且强度很大。
这就需要在情感分析的基础上,先挖掘出产品的属性,再分析对应属性的情感。
分析完每一条评论的所有属性的情感后,就可以汇总起来,形成消费者对一款产品各个部分的评价。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)