电影评论的数据挖掘是我一直以来的项目。最近的刚完成的一个工作是于分析影评中表露出来的对演员角色的情感倾向。主要的工作便是识别评论中人名+情感分析。
评论人名抽取与情感分析
影迷用户的电影评论中往往包含大量对本部电影中演员的评价和看法,为了了解观众对一位演员的情感倾向,我们首先需要识别一位演员在众多评论中的称呼、叫法,接着再在涉及该演员的相关短句中判断情感。
主流的命名实体识别方法及其存在的问题
目前效果比较好的命名实体识别方法主要采用隐马尔科夫模型(HMM)和条件随机场(CRF)模型。基于HMM的NE识别问题就是如何在给定的模型下,从一定的观察序列(评论句子)的所有可能的状态下,选取最有可能的标记序列,如图一。而条件随机场是一种用于在给定输入结点值时计算指定输出结点值的条件概率的无向图模型。与HMM相比,CRF不需要严格的独立性假设条件,CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是给定当前状态条件下,定义下一个状态的分布,如图二所示。因而,CRF能够更好地利用待识文本上下文的信息,识别的准确率更高。
图一:HMM模型示意图
图二:CRF模型示意图
然而由于电影评论的特殊性,评论中包含大量昵称、简称还有不少需要背景知识的称呼,例如在电影《战狼2》的豆瓣影评中很多人评价演员张翰时用的是“瀚哥”(昵称)、“熊孩子”(与影片中饰演的角色有关)、”塘主“(演员以前饰演过其他角色)等等。通过百度百科我们能够获取影片中演员及其角色名,如何将上述称呼与对应的演员挂钩是解决电影评论领域命名实体识别的重要难点。此外,部分称呼会被hanlp标记为“nz”,即专有名词。导致只保留标记为“nr”(即人名)的词语虽然有较高的准确率,召回率却不尽人意。