与客观性信息不同,情感和观点是主观性信息,其体现在在诸多方面,例如:

  • 不同的人有不同的经历
  • 不同的人对相同的事物会有不同的看法
  • 不同的人会有不同的兴趣和不同的意识型态

因此研究针对多人的观点集合就比仅研究一人的观点重要的多,因为一个人的观点仅代表了他个人的主观看法。

2.1 观点

2.1.1 观点的定义

定义2.1(观点):观点是一个五元组:(e, a,s,h,t)。 e是观点评价都对象,a是实体 e 某一属性或侧面,s是对实体 e 的 a 属性所包含的情感倾向或打分,h 是观点持有者,t是观点发布时间。当观点针对整个实体进行评价时,使用一个特定的属性GENERAL进行表示。

基于此定义的情感分析常称为基于属性的情感分析或基于特征的情感分析。这个五元组实际上是个数据库模式(schema),基于这个模式,抽取出来的观点信息可以存人数据库表中。之后,对于观点的定性、定量和趋势的分析就可以使用一些数据库管理系统工具,或者在线分析处理工具(OLAP)去完成。
当然,不是所有应用都需要上述观点定义中的全部五个元组。例如在品牌管理领域,用户通常只对关于产品品牌(即实体)的观点感兴趣;在另一些应用中,用户可能不需要知道观点持有者或者观点的发布时间。在这种情况下,这些组件就可以省略。
此外,在一些应用中,可能很难区分实体和属性。例如,“I hate property tax increases.”我们可以用两种方法来处理。第一,可以把“property tax increase“当成一个一般性的议题,因此可以把它当成一个有 GENERAL 属性的单独实体。第二,我们可以把 property tax 当成一个实体,property tax increases 就属于它的一个属性,从而对于 property tax 来说就构成一个层次化的描述。采取的方法应该依具体情况而定。

定义2.2(实体):一个实体 e 可以是一个产品、服务、主题、个人、组织、论题或者事件。

每一个观点都有所评价的对象。一个句子如果有多个对象,我们就需要区分出针对每个对象所表达的不同观点的情感倾向。

定义2.3(情感):情感是观点中所蕴含的感受、态度、评价或情绪。通常情感由一个三元组表示,(y,o,i),
其中,y是情感类型,o是情感的倾向,i是情感的强度。

情感类型有基于语言学、心理学、消费者调研等的划分方法。基于消费者调研的分类方式可将情感分为理性情感和感性情感。感性情感比理性情感更强烈,在部分场景中更为重要。例如在产品营销中,为了保证新产品受到市场的欢迎,需要积累大量来自消费者感性的褒义评价,而仅仅获得正面的理性情感可能是不够的。当然,在实际应用中,用户可以自由设计情感类别。
人们常用两种方式表达他们的感情强度。一种是选择某种具有合适强度的情感表达(词或者短语),如good和excellent。另一种是使用强调词或减弱词,如 very、 slightly。
“This car is too small for a tall person”这句话表达了对汽车大小方面的负面评价,我们把“too small”称为引发对于汽车尺寸负面情绪的原因。另外,这句话仅仅说明这辆车对高个子来说太小了。我们把“for a tall person”称为这个观点的限定条件。

定义2.4(观点的原因):观点的原因就是引起或触发这个观点的缘由,或是对观点之所以如此的解释。 定义2.5(观点的限定条件):观点的限定条件可以限制和约束观点中的含义。

在实际应用中,搞清观点的原因非常重要。例如,可以为制造商指明产品需要提升的方向。观点的限定条件也非常重要,因为限定条件约束了观点的有效作用范围。但对于其抽取和聚类非常困难,相关研究甚少,此外,并不是每个观点都有原因或限定条件。

2.1.2 情感评分

实际应用中常用一些离散化的评分来表达情感的强度。常常分为5档,这5档情感评分可以解释如下:

  • 感性正向(+2分或5星)
  • 理性正向(+1分或4星)
  • 中立(0分或3星)
  • 理性负向( -1分或2星)
  • 感性负向(-2分或1星)

在绝大多数情况下,情感评分分为5档就足够了。如果不够,建议把感性正向和感性负向再分为2档。具有这种需求的应用可能包括对社会或政治事件及议题所持的观点情感,在这一场景下,人可能非常情绪化。

2.1.3 观点摘要的定义

观点摘要任务需要对于多个如评论这样的观点文档进行总结。不同于传统文本摘要,观点摘要是一种量化的形式。

定义2.6(基于属性的观点摘要):对于实体 e的基于属性的观点摘要结果具有如下形式:
GENERAL:对实体 e持正面观点的人数
对实体 e 持负面观点的人数 属性1:
对实体 e 的属性1持正面观点的人数
对实体 e 的属性1持负面观点的人数 ……

  1. 属性 n:<br /> 对实体 e 的属性 n 持正面观点的人数<br /> 对实体 e 的属性 n 持负面观点的人数<br />其中,GENERAL表示实体e本身,n表示e的属性总数。

2.1.4 观点的分类

按观点在文本中的主观性把观点分为两种:

  • 主观观点:在主观陈述中表达的观点。主观观点大体上可以分为理性型观点和情绪型观点。
  • 隐含在事实中的观点:通常是一个客观或真实的事实陈述中蕴含的观点。这个客观事实陈述通常表达了陈述人期望达到或不期望达到的事实或动作。这种观点可以进一步分为两种:
    • 隐含在个人事实中的观点:例如: “The battery life of this phone is longer than my previous Samsung phone.”
    • 隐含在非个人事实中的观点:这种类型的观点常见于事实报道之中,而被报道的事实中也不含有任何人的任何观点,例如:“Google’s revenue went up by 30%.”这个事实并未暗含任何看法,但从发文人的动机分析,通常是表达了一定的期望,但从竞争者等读者的角度来看,也可能表达了不期望。

区分个人事实和非个人事实非常重要,因为隐含在非个人事实中的观点代表了一种完全不同的观点类型,因此需要进行一些特殊处理。该如何处理则视情况而定。我的建议是基于常识来看这句子是否对相应的实体(比如谷歌)描述了期望或不期望达到的一个事实,从而判定它是否包含了正面或负面的观点倾向。
在一些应用中,需要区分当前观点是作者自己的观点,还是作者对别人观点所表达出的种认可。

  • 第一人称观点。这种观点表达了一个人自己对一个实体的态度。例如:“Coke tastes better than Pepsi.”。
  • 非第一人称观点。这种观点是由一个人转述他人的观点,即相信他人会持有某种观点,例如,“I think John likes Lenovo PCs.”

    2.1.5 情感分析的目标和任务

    目标:给定一个包含观点信息的文档d,找出d中所有的观点五元组。对于更高级的分析需求,还要找出观点五元组中情感的原因和限定条件。

    定义2.7(实体类别和实体表达):实体类别指的是一个唯一特定的实体,实体表达指的是段落中实际表示一个实体类别的词或短语。 定义2.8(属性类别和属性表达):实体的一个属性类别指的是这个实体的一个唯一特定的属性,而一个属性表达是段落中实际表示一个属性的词或短语。

每个实体或实体类别都应当在一个特定应用中有唯一的名称。把不同具有相同语义但不同文本的实体表达聚合为实体类别的过程叫作实体消解( entity resolution)或者实体聚类( entity grouping)。
每个属性或属性类别都应该在一个特定应用中有唯一的名称。把不同具有相同语义但不同文本的属性表达聚合为属性类别的过程称为属性消解(aspect resdution)或属性聚类(aspect grouping)。

定义2.9(显式属性表达):在观点文本中以名词、名词短语出现的属性表达称为显式属性表达。 定义2.10(隐式属性表达):不是名词或名词短语,但也指明了某个属性的文本表达称为隐式属性表达。

例如,“This camera is expensive”中的 expensive 就是一个隐式属性表达,它暗含了相机的价格属性。大部分隐式属性表达都是形容词和副词,当然,它们可以是任意复杂的文本表达方式。
属性抽取是一个很有挑战性的任务,尤其当它涉及动词和动词短语的时候。例如,一条吸尘器评论,“The vacuum cleaner does not get the crumbs out of thick carpets(吸尘器吸不掉厚地毯上的碎屑)”,这句话似乎描述了一个特别特殊的属性,即“get the crumbs out of thick carpets”。但把它分成两个属性对于实际更有用,即(1)“get the crumbs”和(2)“thick carpets”。属性1表示吸尘器吸走面包屑的吸力,而属性2表示其对于厚地毯的吸力。两个属性都很重要且有用,因为不同人有不同的关注点。
实体模型。一个实体 e 由它自己的整体,以及它的一个有限的属性集合 A = {a2. 什么是情感分析 - 图1,a2. 什么是情感分析 - 图2,…,a2. 什么是情感分析 - 图3}来表示;在文本中,实体 e 可以由实体表达的有限集合{ee2. 什么是情感分析 - 图4,ee2. 什么是情感分析 - 图5,…,ee2. 什么是情感分析 - 图6}中的任一元素来表示。实体 e 的每个属性 a ∈ A 也可以由属性表达的有限集合{ae2. 什么是情感分析 - 图7,ae2. 什么是情感分析 - 图8,…,ae2. 什么是情感分析 - 图9}中的任一元素表示。
观点文档模型。一个包含观点的文档 d 包含针对一个有限实体集合{e2. 什么是情感分析 - 图10,e2. 什么是情感分析 - 图11,…,e2. 什么是情感分析 - 图12}及其属性子集的观点信息。这些观点来自有限的观点持有者集合{h2. 什么是情感分析 - 图13,h2. 什么是情感分析 - 图14,…,h2. 什么是情感分析 - 图15},且在一个特定时间点t给出。
给定一个观点文档集合D,情感分析主要包括如下6个任务:

  1. 实体抽取和消解。抽取 D 中所有实体表达,并把相似实体表达聚类为一些实体簇(或类别)。每个实体表达簇都对应一个唯一的实体e。
  2. 属性抽取和消解。抽取这些实体的所有属性表达,并把这些属性表达聚合为类。每个属性表达簇代表该实体一个特定的属性 a。
  3. 观点持有者抽取和消解。从文本或结构化数据中抽取观点的持有者表达,并将这些表达进行聚类。
  4. 时间抽取和标准化。抽取每个观点的发布时间并把不同时间格式标准化。
  5. 属性的情感分类和回归。确定关于一个属性α(或实体 e)的观点是正面、负面还是中立的(分类任务),或者给这个属性(或实体)赋予一个数值化的情感得分(回归任务)。
  6. 生成观点五元组。使用任务1~5的结果构造D中所有的观点五元组。

对于更高级的观点分析,可以附加观点原因抽取和消解、观点限定条件抽取和消解任务。
下面举例展示上述过程与结果:

Review B: Posted by bigJohn
Date: September 15, 2011
(1)I bought a Samsung camera and my friend brought a Canon camera last month.(2) In the past week, we both used the cameras a lot. (3) The photos from my Samy are not clear for night shots, and the battery life is short too. (4) My friend was very happy with his camera and loves its picture quality.(5)I want a camera that can take good photos. (6) I am going to return it tomorrow.

任务1应当从评论文本中抽取出实体表达Samsung、Samy和Canon,并把Samsung和Samy聚在一起。任务2应当抽取属性的文本表达picture、photo和battery life,并把 picture 和 photo聚在一起。任务3应当在句子3中识别出观点持有者是bigJohn(博客作者),并且在句子4中识别出观点持有者是 bigJohn 的朋友。任务4 应当找出博客发布时间是2011年9月15日。任务5应当发现句子3对三星相机的照片质量给出了负面评价,也对它的电池续航时间给出了负面评价。句子4对佳能相机整体及它的照片质量均给出了正面评价。句子5似乎表达了正面的观点(good),但实际上没有。要为句子4生成所定义的观点五元组,我们应当知道his camera 和its指代的是什什么。任务6最终生成的观点五元组如下:

(Samsung, picture_quality, negative, bigJohn, Sept-15-2011)
(Samsung, battery_life, negative, bigJohn, Sept-15-2011)
(Canon, GENERAL, positive, bigJohn’s_friend, Sept-15-2011)
(Canon, picture_quality, positive, bigJohn's_friend, Sept-15-2011)

上述所定义的观点以及应用场景示例均为常规型观点,此外,还有一种观点类型为比较型观点。

定义2.11(比较型观点):对两个或更多实体之间的相同或不同点进行比较,表达了观点持有者对其中一个的偏好。

2.2 情绪

在选择语法和词汇时,人们通常有如下几种表达情绪和心情的方法:

  1. 使用如love、disgust、angry 等描述情绪和心情的情感词。
  2. 描述情绪相关的行为,例如:“He cried after he saw this mother”。
  3. 使用强度词。如very,so,extremely等;为了表达进一步的强调,强调词可能重复,例如“This car is very very good”。
  4. 使用最高级。例如“This car is simply the best”(这辆车简直是最好的)。
  5. 使用贬义词、褒义词,以及表示反讽的词(例如,“What a great car,it broke the second day”)。
  6. 使用咒骂、诅咒、侮辱、指责和威胁性质的文本表达。

依经验看,利用这些线索用来识别文本中的情绪和心情信息已经足够了,尽管转折词、敬语、疑问词、名言警句等也可以用来表达情绪感受,但在实际文本中,它们出现的频率较少,且难以进行识别。

定义2.12(情绪):情绪是一个五元组(e, a, m,f, t),
其中,e是目标实体,a是e的属性,m是情绪的类型或者是一个情绪类型与强度等级所组成的元组,f是情绪的接受者,t是表达时间。

比如,对于句子“I am so upset with the manager of the hotel”,实体是 the hotel,属性是the manager of the hotel,情绪类型是愤怒,情绪的接受者是 I。再举一例, “ After hearing of his brother’s death,he burst into tears”,目标实体是his brother’s death,这是一个事件且没有属性可言。情绪的类型是悲伤,情绪的接受者是he。
情绪的致因:在前面的例子中,his brother’s death 既是目标实体又是致因。然而,在很多情形中,目标和情绪的致因是不同
的。例如句子“I am so mad with the manager of the hotel because he refused to refund my booking fee”,目标实体是the hotel,目标属性是the manager of the hotel,mad 情绪的致因是“he refused to refund my booking fee”。在“his brother’s death”这个例子中,his brother或death 本身都不是情绪表达的目标。只有合起来的整个事件才是目标,也是悲伤情绪的致因。
描述情绪和心情的句子总会包括情绪接受者以及情绪的文本表达,却不一定会指明情绪抒发的目标或者造成某种情绪的原因,例如,“I felt a bit sad this morning”。表述理性类观点的句子往往会同时关注观点目标和针对目标上的情感,而观点持有者的信息往往被省略(例如,“The pictures from this camera are great”。这些所需要的信息往往包含在句子的上下文,抽取非常困难。