一种基于认知评价理论的汉语文本情感识别方法 ( 一 ) 技术领域
本发明涉及模式识别领域, 具体涉及一种汉语文本情感识别方法。 ( 二 ) 背景技术
随着互联网的飞速发展, 文本信息已经成为人类最常用的交互方法之一。研究文 本中蕴含的情感信息已成为人机交互领域的研究热点。 文本情感信息的提取在诸如语音合 成、 信息安全、 智能机器人、 个性化文本等领域也有着广泛的应用前景。
传统的文本情感识别模型主要通过分析文本的字面特征提取句子的情感倾向, 这 些方法的准确率很大程度上受到情感语料库和常识库的影响, 目前较为常用的汉语文本常 识库有 HowNet, 而汉语文本情感语料库则较为匮乏。 另外由于人类语言的复杂性, 仅仅考虑 字面特征而不区分概念之间的逻辑关系很难精确识别文本情感信息。
根据认知评价理论, 情感是人们对某个其主观上认为重要的事件进行评价而产生 的。在评价理论中最有影响力的是 Ortony、 Clore 和 Collins 提出的 OCC 理论。OCC 模型 是第一个以计算机实现为目的发展起来的模型。OCC 模型认为情感来源于人们对由事件 (Event)、 智能体 (Agent) 和对象 (Object) 组成的情境的认知评价。OCC 理论的基本原理 是: 根据一组评价标准将人对特定情境的反应区分为正面或负面, 然后根据评价标准的不 同取值组合确定相应的情感类型。OCC 模型共定义了 22 种情感类型。
在汉语文本情感识别方面, 目前绝大多数方法仅能识别褒义和贬义两种情感极 性, 这对于汉语文本所表达的丰富的情感信息是远远不够的。将 OCC 模型应用于汉语文本 情感识别, 可以有效解决汉语文本情感识别领域存在的情感识别类别少, 识别准确度不高 等问题。 因此, 针对汉语文本研究一种能够准确识别多种情感的方法具有重要的现实意义。 ( 三 ) 发明内容
本发明要解决的技术问题是提供一种能够准确识别多种情感的汉语文本情感识 别方法。
根据本发明的一个方面, 提供了一种基于认知评价理论的汉语文本情感识别方 法, 包括下列步骤 :
1) 使用自然语言处理工具对汉语文本进行预处理, 得到句子成分之间的依存关 系;
2) 根据情感识别变量的确定方法确定句子所包含的情感识别变量并将句子成分 赋值给情感识别变量 ;
3) 根据情感识别变量的赋值方法确定情感识别变量的取值 ;
4) 根据情感规则确定句子表达的情感类型。
在上述方法中, 所述步骤 3) 还包括 :
31) 对 HowNet 常识库的义原添加情感极性标注, 根据词语情感极性的赋值方法得 到词语的情感极性。在上述方法中, 所述步骤 2) 中情感识别变量如表 1 所示。 表 1 情感识别变量在上述方法中, 所述步骤 2) 中情感识别变量的确定方法包括 :
情感主体考察句子的主语部分, 利用句法分析工具可以得到句子的主谓宾关系。 根据主语的特征进行赋值, 第一人称赋值为 self, 其它人称赋值为 other, 非人称的事物赋 值为 object ;
主体极性考察取值为 other 的情感主体及其相关的定语修饰词 ;
事物极性考察取值为 object 的情感主体及其相关的定语修饰词 ;
事件极性和行为极性均考察句子的谓语部分和宾语部分组成的结构, 其中谓语部 分由谓语和状语构成, 宾语部分由宾语和定语构成 ;
事件状态考察句子中的状语部分, 采用关键词识别的方法确定取值 ;
自身反应考察句子中具有明显情感倾向的词语, 采用关键词识别的方法确定取 值。
在上述方法中, 所述步骤 31) 中词语情感极性的赋值方法包括 :
对 HowNet 中所有义原的极性进行标注, 分为正面、 负面、 中性和无极性 4 种 ;
完成义原的情感极性标注后, 采用下述公式得到词语的情感极性 :
表示词语 W 的情感极性, 其值为正表示正面情感, 为负表示负面情感, 为零表示中性情感, n 表示词语 W 包含的义原总个 数, Si 表示词语 W 的第 i 个义原, Polarity(Si) 表示义原 Si 的极性, 其中正面赋值 1, 负面赋 值 -1, 中性和无极性赋值为 0, αi 表示义原 Si 在词语 W 情感极性中的权重, 主要针对 HowNet 中采用动态角色与特征标注的复杂词语, 取值为 0 或 1。
在上述方法中, 所述步骤 3) 中情感识别变量的赋值方法包括 :
主体极性考察取值为 other 的情感主体及其相关的定语修饰词, 利用词语情感极 性的判别方法判断情感主体和相关修饰词的极性即 Orientation(W1) 和 Orientation(W2)。 若无相关修饰词, 则 Orientation(W2) = 0, 若 Orientation(W1) 和 Orientation(W2) 的极性 相矛盾, 以修饰词的极性为准。其它情况则将 Orientation(W1) 和 Orientation(W2) 相加, 为正则将主体极性赋值 positive, 为负则赋值 negative, 为零则赋值 neutral。
事物极性考察取值为 object 的情感主体及其相关的定语修饰词, 采用与主体极 性一样的判定, 结果为正值将事物极性赋值为 attractive, 负值赋值为 unattractive, 零 值赋值为 neutral。
事件极性和行为极性均考察句子的谓语部分和宾语部分组成的结构。 谓语部分的极性考察谓语和相关的状语修饰词的极性, 宾语部分的极性考察宾语和相关的定语修饰词 的极性。 两者均采用与主体极性一样的判定, 结果为正值将极性赋值为 positive, 负值赋值 为 negative, 零值赋值为 neutral。
对于事件或者行为极性的判定, 采用以下规则 :
如果谓语部分或宾语部分的极性均为 neutral, 则事件或行为的极性赋值为 neutral ;
如果谓语部分或宾语部分的极性有且仅有一个为 neutral, 则事件或行为的极性 与另一个的极性赋值相同 ;
如 果 谓 语 部 分 的 极 性 和 宾 语 部 分 的 极 性 相 同, 则事件或行为的极性赋值为 positive ;
如 果 谓 语 部 分 的 极 性 和 宾 语 部 分 的 极 性 不 同, 则事件或行为的极性赋值为 negative。
在 HowNet 中, Event 类中包含 Static 和 Act 两种子类, 对于谓语中的义原属于 Static 类的结构, 定义该结构为一个事件, 对于谓语中义原属于 Act 类的结构, 定义该结构 为一个行为, 另外, 对于谓语中义原属于 Act 类的结构, 如果该结构是被动语态, 则视为一 个事件。 通 过 以 上 规 则, 若 谓 宾 结 构 是 事 件, 根 据 极 性 判 定 值 positive、 negative 和 neutral 分别将事件极性赋值为 desirable、 undesirable 和 neutral, 若谓宾结构是行为, 根据极性判定值 positive、 negative 和 neutral 分别将行为极性赋值为 praiseworthy、 blameworthy 和 neutral。
事件状态考察句子中的状语部分, 采用关键词识别的方法确定取值。 根据 《哈工大 信息检索研究室同义词词林扩展版》 , 对于状语中表达 “未确定” 含义的词语, 将事件状态赋 值为 unconfirmed, 对于状语中表达 “已确定” 含义的词语, 将事件状态赋值为 confirmed, 对于状语中表达 “已否定” 含义的词语, 将事件状态赋值为 disconfirmed。
自身反应考察句子中具有明显情感倾向的词语, 依据 HowNet 发布的中文正面情 感词语数据库和负面情感词语数据库, 采用关键词识别的方法确定取值。对于正面情感赋 值为 pleased, 对于负面情感赋值为 displeased。
在上述方法中, 所述步骤 4) 中情感规则如表 2 所示。
表 2 情感规则
* 符号定义 : & 表示条件与, | 表示条件或, NA 表示该变量不存在。
本发明提供的汉语文本情感识别方法有效解决了汉语文本情感识别领域存在的 情感识别类别少, 识别准确度不高等问题。 该方法有如下优点 : 所使用的常识知识库中的概 念只需要包含正负情感权值 ; 考虑了句子结构对情感判断的影响, 准确率提高 ; 基于规则
的判定准则在理论上受到大众认可, 情感分类更加详细。 ( 四 ) 附图说明
图 1 汉语文本情感识别框图。
图 2 句子成分及其依存关系。 ( 五 ) 具体实施方式
为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图, 对根据本发 明三个实施例的汉语文本情感识别方法进一步详细说明。应当理解, 此处所描述的具体实 施例仅用以解释本发明, 并不用于限定本发明。
本发明的基本思想是通过分析句子结构, 找到符合定义的情感识别变量, 根据具 有情感信息的 HowNet 常识库对情感识别变量赋值, 再通过定义的情感规则识别句子所表 达的情感类型。
根据以上思想, 本发明的流程框图如图 1 所示。
下面通过三个具体的实施例说明汉语文本情感的识别方法。
(1) 李小姐得到了 1000 元钱的奖金。
(2) 我明天可能被他们邀请参加舞会。
(3) 我为我救起一名落水儿童的行为感到高兴。
通过哈尔滨工业大学信息检索研究中心的语言技术平台可以得到句子的成分及 其之间的依存关系, 如图 2 所示。
(1) 主语 : 小姐 ; 谓语 : 得到 ; 宾语 : 奖金 ; 定语 : 李 ( 修饰小姐 )。
(2) 主语 : 我; 谓语 : 邀请 ; 宾语 : 舞会 ; 状语 : 可能 ( 修饰邀请 )、 被 ( 修饰邀请, 被 动态 )。
(3) 该句为两个句子嵌套结构。主句, 主语 : 我; 谓语 : 感到 ; 补语 : 高兴 ( 修饰感 到); 子句, 主语 : 我; 谓语 : 救起 ; 宾语 : 儿童 ; 定语 : 落水 ( 修饰儿童 )。
根据情感变量的考察方法得到 :
(1) 情感主体 : 李小姐 ; 事件或行为 : 得到奖金。
(2) 情感主体 : 我; 事件或行为 : 可能被邀请舞会。
(3) 主句, 情感主体 : 我; 事件或行为 : 感到高兴 ; 子句, 情感主体 : 我; 事件或行 为: 救起落水儿童 ;
根据情感变量的赋值方法 :
(1) 情感主体的判定 : “小姐” 为其它人称, 则 Emotion_subject = other ; “李小 姐” 的极性判定 : Orientation( 小姐 ) = 0, Orientation( 李 ) = 0, 则 Subject_polarity = neutral ; “得到奖金” 的极性判定 : 谓语部分 “得到” 的极性为 neutral, 宾语部分 “奖金” 的极性为 positive, 由于 “得到” 在 HowNet 中从属于 Event 类下的 Static 子类, 判定 “得 到奖金” 为一个事件, 则 Event_polarity = desirable。
(2) 情感主体的判定 : “我” 为第一人称, 则 Emotion_subject = self, 此时不需 要再作情感主体的极性判定 ; “可能被邀请舞会” 的极性判定 : 谓语部分 “邀请” 的极性为 neutral, 宾语部分 “舞会” 的极性为 positive, 虽然 “邀请” 在 HowNet 中从属于 Event 类下的Act 子类, 但由于被动态, 判定 “被邀请舞会” 为一个事件, 则 Event_polarity = desirable ; 由于状语 “可能” 表达了未确定的状态, 则 Event_status = unconfirmed。
(3) 对于主句, 情感主体的判定 : “我” 为第一人称, 则 Emotion_subject = self ; “感到高兴” 的极性判定 : 谓语部分 “感到” 的极性为 neutral, 无宾语部分, 由于 “感到” 的义 原 “心怀” 和 “认为” 在 HowNet 中均从属于 Event 类下的 Static 子类, 判定 “感到高兴” 为一 个事件, 则 Event_polarity = neutral ; 由于补语 “高兴” 表达了明显的正面情感, 则 Self_ reaction = pleased。对于子句, 情感主体的判定 : “我” 为第一人称, 则 Emotion_subject = self ; “救起落水儿童” 的极性判定 : 谓语部分 “救起” 的极性为 positive, 宾语部分 “落水 儿童” 的极性为 neutral, 由于 “救起” 的义原 “帮助” 和 “救助” 在 HowNet 中均从属于 Event 类下的 Act 子类, 判定 “救起落水儿童” 为一个行为, 则 Action_polarity = praiseworthy。
综合以上情感变量的取值得到 :
(1)Emotion_subject = other ; Subject_polarity = neutral ; Event_polarity = desirable。由规则得到此句子表达了 “欣喜” 的情感。
(2)Emotion_subject = self ; Event_polarity = desirable ; Event_status = unconfirmed。由规则得到此句子表达了 “希望” 的情感。 (3)Emotion_subject = self ; Event_polarity = neutral ; Self_reaction = pleased ; Action_polarity = praiseworthy。由于 Event_polarity = neutral 不属于 22 条规则中的任何一条规则的判定变量, 则舍去, 由规则得到此句子表达了 “满意” 的情感。
应该注意到并理解, 在不脱离后附的权利要求所要求的本发明的精神和范围的情 况下, 能够对上述详细描述的本发明做出各种修改和改进。 因此, 要求保护的技术方案的范 围不受所给出的任何特定示范教导和限制。