点评是非常重要的一类UGC数据,里面含有大量的用户反馈信息。点评情感分析(sentiment analysis)负责对点评进行情感信息的抽取、聚合和应用。基于情感分析结果,可以更加有效的过滤、筛选、排序、概括和展现点评的内容,方便用户对点评信息的使用;基于情感分析结果,还可以在语义维度实现产品的聚合、相关性计算,协助用户购物决策。



 一、情感分析入门


     按照Bing Liu教授【1】的观点,情感分析可以作如下形式化定义:

其中,

        


用一句通俗的话来说明,就是:


“什么人在什么时间对什么东西的哪一方面表达了怎样的情感”


举个例子,对于如下的点评:


情感分析的结构化结果如下:


{APPLE/苹果 IPHONE 4S(16G) IOS 手机, 信号, 不是很好, tztty, 2012-11-05}

 

二、几个关键概念


    对于一淘点评情感分析来说,上面定义的五个维度信息中,“评价的对象”就是评论所挂的商品或产品(当然,由于我们目前默认评论都是针对它所挂的商品而发,没有考虑评论中涉及其他商品的情况),“发表评论者”和“评论发表的时间”也都很容易获取。所以最重要的就是要知道“评价对象的具体哪一方面”以及“评论的情感极性”,从词典挖掘角度看,其中“评价对象的具体哪一方面”对应的是“属性词”,“评论的情感极性”对应的是“情感词”。

 

  1. 属性提示词

      

 属性就是评价中的评价方面,对于产品来说,

       

(1)一个产品,它本身由很多部件构成,比如iPhone4s手机这个产品,它由屏幕、电池、内存、CPU、外壳等等部件组成;

       

(2)对于iPhone4s本身,它有很多属性(attribute),比如价格、质量、性价比等等;

        

(3)对于iPhone4s的每一个部件,也有很多属性(attribute),比如对于屏幕,它的属性有大小、颜色、分辨率等等。

对此,对于一个产品,我们可以用一个树状图来表示:         


    对于商品而言,可以再加上一些像卖家服务相关的、物流相关的等属性。以上这些词都是属性提示词。

 

2. 属性词


    价格这个属性,在点评中会有不同的表达形式,比如:价格、价位、价钱、售价、价等等;外观这个属性,在点评中也会有不同的表达形式,比如:外观、外形、样子、外型、机身、样式、款式、造型等等。


    这些描述属性的具体词,就是上面说的属性提示词的概念。把这些描述同一个概念的属性提示词映射到一个词上,这个新词就是属性词。比如,可以把外观、外形、样子、外型、机身、样式、款式、造型这些属性提示词归一化为一个属性词”外观“。



3. 情感词

 

    情感词是指用户用来表达情感的词,简单可以分为褒义词、贬义词。比如,“好”、“不错”、“漂亮”、“时尚”、“便宜”等。情感词需要进行正负极性标注,正面情感词即是褒义词,负面情感词即是贬义词。

 

三、一淘点评情感分析方法


        除了属性提示词词典、属性词词典、情感词词典之外,还需要否定词词典、程度副词词典。否定词词典进行情感极性的翻转,程度副词词典进行情感强度的加权。


        整个情感分析的过程,可以简化为抽取<属性提示词,情感词>这样的结构对的过程。整个过程如下图所示:

 

 


    这里需要解释的是,对于<属性提示词,情感词>这种结构对(比如<外观,漂亮>),在有些情况下,由于情感词本身就能表明它所要描述的属性,因此属性提示词会被省略掉,比如,”便宜“,大家都知道在说”价格“,很多情况下,”价格“这个词就省略了。所以就会出现<, 情感词>这种只有情感词的情况。

 

四、一淘点评情感分析应用


        对点评做情感分析后,这种结构化、标签化的结果,可以在很多地方应用。比如:


1. 标签展现



2. 点评筛选


       对于上面的标签,当用户点击后,可以把包含这个标签内容的点评筛选出来。


3. 点评排序


       用点评的情感分析结果,作为评价点评质量的一个重要维度,从而影响点评的展现顺序。


4. 影响产品/商品排序


        可以把一个产品/商品的所有点评的情感分析结果进行汇总,然后或者把整个结果打成一个分数来影响产品/商品排序,也可以只根据某个属性维度来对产品/商品进行排序。比如,对于某款化妆水,当用户点击了”保湿效果好“这个标签后,可以把所有的化妆水按照保湿效果的情感得分情况进行排序并推荐给用户。


参考文献:

【1】Bing Liu,Web Data Mining