发明内容
本发明解决的问题在于,针对一文本自动识别其所承载的情感概率,也就是情感分布。
更进一步的,获取情感词典的训练文本集可调节或由用户指定,使得情感词典的个性化特征更加显著。
更进一步的,可实现较细的情感粒度。
更进一步的,可针对不同语种进行文本情感识别。
更进一步的,便于情感词典的更新。
本发明公开了一种自动识别文本所承载的情感概率的方法,包括:
步骤1,获取多个文本以组成训练文本集,每个该文本包括多个情感元以及用户针对该文本对该情感元的投票数据;
步骤2,对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个特征词在各个文本中的出现概率、所有该情感元以及每个该情感元在每个文本中的得票率;
步骤3,根据该出现概率以及该得票率,计算该训练文本集中每个该特征词对应每个该情感元的条件概率,并组成情感词典;
步骤4,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用该条件概率以及每个该特征词在该待识别文本中的出现概率,计算该待识别文本对应每个情感元的概率。
步骤2的预处理步骤包括:
对文本进行分词处理,词干化处理,和/或,去除停用词。
该步骤3根据如下公式计算该条件概率:
其中,P(ek|wj)为特征词wj对应情感元ek的条件概率,rik为情感元ek在文本di中的得票率,P(wj|di)为特征词wj在文本di中的出现概率,N为文本总数,E为情感元总数。
步骤3、4之间还包括:
步骤31,针对每个特征词,利用P(B|w)=dfw/N计算特征词w属于背景词B的概率;
步骤32,判断P(B|w)是否大于P(e|w),如果是,执行步骤33,如果否,执行步骤34;
步骤33,将该特征词w从该情感词典中删除;
步骤34,在该情感词典中保留该特征词w;
其中,P(B|w)为特征词w属于背景词B的概率,dfw为包含该特征词的文本数量,N为该训练文本集包含的文本总数;
其中,P(e|w)为步骤3中的针对特征词w的P(ek|wj)的最大值、最小值或平均值。
该步骤4的计算该待识别文本对应每个情感元的概率的步骤根据如下公式进行:
为待识别文本di对应每个情感元ek的概率,p(wj|di)为特征词wj在待识别文本di中的出现概率,p(ek|wj)为特征词wj在该情感词典中的条件概率。
步骤4之后还包括步骤5,
依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签。
本发明还公开了一种自动识别文本所承载的情感概率的系统,包括:
获取装置,用于获取多个文本以组成训练文本集,每个该文本包括多个情感元以及用户针对该文本对该情感元的投票数据;
预处理装置,用于对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个特征词在各个文本中的出现概率、所有该情感元、以及每个该情感元在每个文本中的得票率;
情感词典构建装置,用于根据该出现概率以及该得票率,计算该训练文本集中每个该特征词对应每个该情感元的条件概率,并组成情感词典;
概率计算装置,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用该条件概率以及每个该特征词在该待识别文本中的出现概率,计算该待识别文本对应每个情感元的概率。
该预处理装置用于对文本进行分词处理,词干化处理,和/或,去除停用词。
该情感词典构建装置根据如下公式计算该条件概率:
其中,P(ek|wj)为特征词wj对应情感元ek的条件概率,rik为情感元ek在文本di中的得票率,P(wj|di)为特征词wj在文本di中的出现概率,N为文本总数,E为情感元总数。
该系统还包括:
用于针对每个特征词,利用P(B|w)=dfw/N计算特征词w属于背景词B的概率的装置;
用于判断P(B|w)是否大于P(e|w),如果是,将该特征词w从该情感词典中删除,如果否,在该情感词典中保留该特征词w的装置;
其中,P(B|w)为特征词w属于背景词B的概率,dfw为包含该特征词的文本数量,N为该训练文本集包含的文本总数;
其中,P(e|w)为情感词典构建装置中得到的针对特征词w的P(ek|wj)的最大值、最小值或平均值。
该概率计算装置执行如下公式:
为待识别文本di对应每个情感元ek的概率,p(wj|di)为特征词wj在待识别文本di中的出现概率,p(ek|wj)为特征词wj在该情感词典中的条件概率。
所述系统还包括依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签的装置。
本发明还公开了一种自动识别文本所承载的情感概率的方法,包括:
步骤1,获取多个文本以组成训练文本集,每个该文本包括多个情感元以及用户针对该文本对该情感元的投票数据;
步骤2,对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个特征词在各个文本中的出现概率、所有该情感元、以及每个该情感元在每个文本中的得票率;
步骤3,根据该预处理的结果,利用Gibbs抽样算法,计算该训练文本集中每个情感主题对应每个情感元的条件概率,以组成主题-情感词典,或者,利用Gibbs抽样算法,计算该训练文本集中每个特征词对应每个该情感元的条件概率,以组成词-情感词典;
步骤4,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用每个该特征词在该待识别文本中的出现概率以及该主题-情感词典,计算该待识别文本对应每个情感元的概率,或者,利用每个该特征词在该待识别文本中的出现概率以及该词-情感词典,计算该待识别文本对应每个情感元的概率。
该步骤3进一步包括:
步骤31,根据该情感元、该出现概率以及该得票率,利用Gibbs抽样算法,计算得到和其中,为情感元ek被分配为情感主题zm的次数,为文本di被分配为情感主题zm的次数,为特征词wj被分配为情感主题zm的次数;
步骤32,利用计算该训练文本集中每个该情感主题对应每个情感元的条件概率;
或者,利用计算该训练文本集中每个该特征词对应每个情感元的条件概率;
其中,P(ek|wj)为特征词wj对应情感元ek的条件概率,P(ek|zm)为情感主题zm对应情感元ek的条件概率,P(wj|zm)为情感主题zm对应特征词wj的条件概率,P(zm)为情感主题zm的先验概率,Z为情感主题zm的集合;
其中,
其中,α,β和γ为超参数,E是情感元ek的集合,W是特征词wj的集合,D为训练文本集。
该步骤4的计算该待识别文本对应每个情感元的概率的步骤根据如下公式进行:
或者
为待识别文本di对应每个情感元ek的概率,p(wj|di)为特征词wj在待识别文本di中的出现概率,p(ek|wj)为特征词wj在该词-情感词典中的条件概率;
P(zm|di)为待识别文本di对应情感主题zm的条件概率,其中,vi T为待识别文本di的矩阵形式,矩阵中的元素为该待识别文本di的每个特征词的出现概率,δm为情感主题zm的矩阵形式,矩阵中的元素为该情感主题zm对应每个特征词的条件概率p(wj|zm)。
步骤2的预处理步骤包括:
对文本进行分词处理,词干化处理,和/或,去除停用词。
步骤4之后还包括步骤5,
依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签。
本发明还公开了一种自动识别文本所承载的情感概率的系统,包括:
获取装置,获取多个文本以组成训练文本集,每个该文本包括多个情感元以及用户针对该文本对该情感元的投票数据;
预处理装置,对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个特征词在各个文本中的出现概率、所有该情感元、以及每个该情感元在每个文本中的得票率;
情感词典构建装置,根据该预处理的结果,利用Gibbs抽样算法,计算该训练文本集中每个情感主题对应每个情感元的条件概率,以组成主题-情感词典,或者,利用Gibbs抽样算法,计算该训练文本集中每个特征词对应每个该情感元的条件概率,以组成词-情感词典;
概率计算装置,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用每个该特征词在该待识别文本中的出现概率以及该主题-情感词典,计算该待识别文本对应每个情感元的概率,或者,利用每个该特征词在该待识别文本中的出现概率以及该词-情感词典,计算该待识别文本对应每个情感元的概率。
该情感词典构建装置进一步包括:
Gibbs抽样计算单元,根据该情感元、该出现概率以及该得票率,利用Gibbs抽样算法,计算得到和其中,为情感元ek被分配为情感主题zm的次数,为文本di被分配为情感主题zm的次数,为特征词wj被分配为情感主题zm的次数;
条件概率计算单元,利用计算该训练文本集中每个该情感主题对应每个情感元的条件概率;
或者,利用计算该训练文本集中每个该特征词对应每个情感元的条件概率;
其中,P(ek|wj)为特征词wj对应情感元ek的条件概率,P(ek|zm)为情感主题zm对应情感元ek的条件概率,P(wj|zm)为情感主题zm对应特征词wj的条件概率,P(zm)为情感主题zm的先验概率,Z为情感主题zm的集合;
其中,
其中,α,β和γ为超参数,E是情感元ek的集合,W是特征词wj的集合,D为训练文本集。
该概率计算装置采用如下公式:
或者
为待识别文本di对应每个情感元ek的概率,p(wj|di)为特征词wj在待识别文本di中的出现概率,p(ek|wj)为特征词wj在该词-情感词典中的条件概率;
P(zm|di)为待识别文本di对应情感主题zm的条件概率,其中,vi T为待识别文本di的矩阵形式,矩阵中的元素为该待识别文本di的每个特征词的出现概率,δm为情感主题zm的矩阵形式,矩阵中的元素为该情感主题zm对应每个特征词的条件概率p(wj|zm)。
该预处理装置还用于对文本进行分词处理,词干化处理,和/或,去除停用词。
还包括依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签的装置。
本发明允许用户指定训练文本集,适用于多语种(如中文、英文等),能够定期、快速地更新情感词典,同时情感标注的粒度更细。本发明还通过主题-情感词典的角度计算文本所承载的情感的概率,以丰富判断待识别文本的情感分布的方式,提高计算的准确度。
具体实施方式
为了针对一文本自动识别其所承载的情感概率,特别是确定由该文本引发各种情感元的概率,本发明公开了一种自动识别文本所承载的情感概率的方法。本发明通过对文本的解析,特别是借助表达了用户情感的投票数据,分析出文本与各个情感元的内在关联关系,从而可针对一待识别文本而自动识别出其对应各种情感元的情感概率,也就是情感分布。
本发明的方法包括两个主要部分,第一部分为根据收集的训练文本集构建情感词典,第二部分为利用构建好的情感词典分析某一待识别文本所承载的情感概率。
如图1、2、3所示为本发明的自动识别文本所承载的情感概率的方法的流程图。
步骤1,利用数据处理装置获取多个文本以组成训练文本集,每个该文本均包括多个情感元以及用户针对该文本对该情感元的投票数据。
数据处理装置可通过下载的方式获取该多个文本,也可由用户直接进行指定。该文本可以是一条微博、一网络帖子或一条聊天记录。
目前很多网络帖子都在帖子末尾处设有投票区,投票区预设有多种情感元,例如高兴、感动、同情、愤怒、搞笑、难过、新奇、流汗这八种。而用户可在浏览帖子后,对帖子的内容进行评价,而这种评价就通过为这八个情感元中的至少一个进行投票的方式来体现。投票区设置的情感元越多,本发明的情感标注的粒度更细。
本发明专门下载这种具有情感元及其投票数据的文本作为构建情感词典的原始数据基础。
在实际操作中可从同一大型网站,例如http://news.sina.com.cn/society/处下载大量文本,使得所下载的不同文本的预设的情感元保持一致,以便于后续计算处理。当然,也可从不同网址下载文本,不同文本具有不同情感元也可利用本发明的方法进行处理。
步骤2,数据处理装置对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个该特征词在每个文本中的出现概率、该多个文本中出现的所有情感元、以及每个该情感元在每个文本中的得票率。
该预处理包括:
步骤21,数据处理装置对下载的所有文本进行解析,以获取其中的所有文字内容;
步骤22,对所有文本的文字内容进行分词处理,词干化处理,和/或,去除停用词处理。
该分词处理包括中英文的分词处理,词干化处理包括英文的词干化处理。
分词是指把文本切分成称为词次(token)的单位。对中文文本进行分词常用的方法有正向最大匹配法、逆向最大匹配法、双向最大匹配法、基于统计的分词法等,英文文本中分词的主要线索是空格、制表符与换行符。
词干化是去除词缀只留词干的过程,其处理对象是英文等语言中的名词复数、动词的多种时态变换,以及形容词的比较级和最高级。常用的词干化方法包括基于规则(如Porter Stemmer)和基于词典(如K-Stem)两种算法。对于中文等东亚语言的文本来说,则不存在词干化的问题。
去除停用词是指文本中出现次数很多而本身没有实际意义的词,包括中文中的语气词(如“的”、“了”、“啊”)、连词(如“并且”、“或者”、“那么”)等,英文中大部分的介词(如at、to、in)、冠词(如a、an、the)等。去除停用词通常是基于一个停用词词表来对所有文本中的文字内容进行过滤。本发明的数据处理装置将文字内容中的词与停用词词表中的单词逐一进行比较,如果发现存在一致的词,则将该一致的词从该文字内容中删除。
步骤23,数据处理装置从该文字内容中提取所有特征词并计算每个特征词在其所在文本中的出现概率。
经过了步骤22的处理使得文字内容中的特征词较为明显的显现出来。该特征词是固定搭配的词语,其可能在不同文本中均出现。数据处理装置对训练文本集中出现过的所有特征词进行提取,还对特征词在每个文本中的出现概率进行统计。设特征词wj出现在文本di中,该出现概率即为特征词wj在文本di中出现的次数与该文本di中所有特征词出现的总次数的比值。
步骤24,数据处理装置统计在所有文本中出现过的情感元,统计每个情感元在每个文本中的得票率。
设W为训练文本集中出现过的特征词的种类数,E为情感的类别数,也就是情感元的个数。E个情感元记为向量e,e=(e1,e2,…,ek…,eE),文本di的用户情感元得票率记为向量ri,ri=(ri1,ri2,…,riE),且E个情感元的总得票率归一为100%,也就是说,|ri|=1。
另外,如果不同文本具有不同的情感元,例如,文本d1具有情感元ABCD,文本d2具有情感元ABEF,则数据处理装置首先统计出现过的所有情感元,也就是ABCDEF,在基于出现过的所有情感元ABCDEF为所有文本计算每个情感元的得票率。显然的,在文本d1中,情感元E、F的得票率均为0,文本d2中,情感元C、D的得票率也均为0。可见,本发明可通用不同的文本,则可将多种不同文本集整合作为训练文本集。
步骤3,数据处理装置根据该出现概率以及该得票率,计算该训练文本集中每个该特征词对应每个该情感元的条件概率,组成情感词典。
对于给定的由N个文本组成的训练文本集,数据处理装置自动生成一个W×E的数值矩阵以便于后续计算处理。W为训练文本集中出现过的特征词wj的总种类数,E为情感元ek的总个数。该矩阵中第j行、第k列的数值表示特征词wj引发情感元ek的概率P(ek|wj)。以下详细阐述该概率的计算方法:
由于E个情感元记为向量e,e=(e1,e2,…,ek…,eE),文本di的用户情感元得票率向量ri=(ri1,ri2,…,riE),且|ri|=1,则给定文本di出现向量ri的概率为:
其中,P(wj|di)为特征词wj出现在文本di中的概率,也就是特征词wj在文本di中的出现概率,P(ri|wj)为给定词wj出现向量ri的概率,P(rj|di)为给定文本di出现向量ri的概率。
其中,P(ri|wj)为多项式分布,即则:
目标函数l则是这N篇训练文本的P(ri|di)的联合概率,并使之最大化。记σij=P(wj|di),θjk=P(ek|wj),那么目标函数的log似然形式为:
根据Jensen不等式,上式可以表示为:
由于对目标函数的log似然加入一个拉格朗日乘子可得:
通过求解在θjk上的一阶偏导,以极大化上述似然函数,即:
求解得到:
由于可得:
将式(8)代入式(7)后得到:
即:
上式中,rik为文本di在情感元ek上的得票率;P(wj|di)为特征词wj在文本di中的出现概率。P(ek|wj)即为特征词wj对应情感元ek的条件概率,也就是用户面对特征词wj引发情感元ek的条件概率。则wj、ek与P(ek|wj)之间存在对应关系,三者共同组成一条记录,多条该记录即可构成情感词典。
故而,数据处理装置根据公式(10)计算每个特征词wj对应每个情感元ek的条件概率,则最终得到包括所有特征词的相关记录的情感词典。
上述步骤1-3属于本发明该实施例的第一部分,以下介绍属于本发明该实施例第二部分的内容。
步骤4,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用该条件概率以及每个该特征词在该待识别文本中的出现概率,计算该待识别文本对应每个情感元的概率。
当情感词典构建成功后,可用以自动识别任一待识别文本可能引发的情感的概率。由于情感词典中记录了每个特征词引发某种情感元的条件概率,则对于由多个特征词组成的文本,其与各种情感元之间也存在着与该条件概率相关关联的概率。
当数据处理装置接收到一待识别文本时,提取该待识别文本中出现的所有特征词、以及每个该特征词在该待识别文本中的出现概率,并根据以下公式进行计算:
为待识别文本di对应每个情感元ek的概率,p(wj|di)为特征词wj在待识别文本di中的出现概率,p(ek|wj)为该情感词典中的条件概率。公式(11)中的各个变量的数值均可实现统计或查找情感词典获得,则可以得出针对各个情感元ek的具体数值。
由于步骤1中收集的训练文本集覆盖了大量的文本,故而覆盖了大量的常用特征词,也基本可以覆盖待识别文本中的词语。如果数据处理装置发现,从该待识别文本中提取出的某个特征词在情感词典中没有对应记录,则无法输出该待识别文本针对各个情感元的概率。此时,数据处理装置可将该待识别文本加入该训练文本集,并重新执行步骤1-3,使得情感词典的记录得到丰富。如果数据处理装置发现,从该待识别文本中提取出的所有特征词均在情感词典中找到对应记录,即,存在对应的p(ek|wj),则根据公式(11)计算出该待识别文本针对每个情感元的情感概率,通过其中较高的几个概率,可以知道对应的情感元与该待识别文本的关联可能性最高,是用户针对该待识别文本最有可能产生的情感。通过这样的分析数据,便于对该待识别文本进行归类或筛选。例如,当该待识别文本为歌词时,可便于对该歌曲的自动归类。当该待识别文本为诗词时,便于根据诗词的情感类型为用户进行个性化推荐。
在另一实施中,步骤3、4之间,还可执行情感词典的精简步骤,以提高精度,提升本发明整体的运行效率。
情感词典所包括的记录将随着训练文本集中文本的扩大而增多,但是在扩充过程中不可避免的会将一些情感倾向不突出的特征词也包括进来。这将加大情感词典的维护成本,以及影响情感词典的应用效率。本发明将通过如下方法去除在情感方面鉴别力低的词(背景词),精炼出更具鉴别力的词。
背景词是指在训练文本集的多数文本中都出现,且情感鉴别力较低的词。与通用领域的停用词(如中文的“啊”、“的”、“了”等,英文的“the”、“a”等)不同,背景词只是词语的感情倾向较为中性,并非在句子结构上起从属或辅助作用的停用词。如新闻文档集合中的“报道”、“记者”等,这些词不具有情感的鉴别力,均属于背景词,而背景词的特点的出现的概率较高。背景词的概率计算公式如下:
P(B|w)=dfw/N. (12)
其中,P(B|w)为词w属于背景词B的概率,dfw为包含该词w的文本数量(即词文档概率),N为训练文本集的文本总数。由此可见,训练文本集中包含某一词的文本数越多,则该词属于背景词的概率越大。
通过比较词w属于背景词B的概率P(B|w)及其对应于情感元e的概率P(e|w),可以将情感鉴别力低的背景词从情感词典中去除。其操作流程如下:
步骤31,针对每个特征词wj,利用P(B|w)=dfw/N计算特征词wj属于背景词B的概率;
步骤32,根据步骤3的计算结果,针对特征词wj,判断P(B|w)是否大于P(e|w),如果是,执行步骤33,如果否,执行步骤34;
步骤33,将该特征词wj从该情感词典中删除;
步骤34,在该情感词典中保留该特征词wj。
其中,该P(e|w)为在步骤3中得出的,特征词wj的P(ek|wj)中的最大值、最小值或平均值。
可见,采用P(ek|wj)的最小值作为步骤32的精简标准的精简力度最大,此时情感词典中剩余词的情感鉴别力最强,其次为平均值,最后为最大值。
在步骤4之后,还可包括一步骤5,用于从步骤4中计算得到的所有特征词的所有P(ek|wj)中,筛选P(ek|wj)值最大的记录所对应的情感元,作为该文本的情感标签。或者,依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签。后续可并根据该情感标签对大量的待识别文本进行自动分类。
以上介绍了本发明的第一实施例,以下介绍本发明的第二实施例。在第一实施例中,所构建的情感词典其实为词-情感词典,也就是说,主要解决了通过构建词-情感词典来判断待识别文本的情感分布的技术问题。在第二实施例中,还进一步包括构建主题-情感词典,以丰富判断待识别文本的情感分布的方式。
与第一实施例不同,本实施例需基于以下的数学模型:
假设所有的文本均存在内在的词语关联性和情感关联性。也就是说,多个词语能够组成一篇具有内在含义的文章,形成一个文本,则该多个词语并非随机出现,并非相互之间毫无联系,而是有内在的关联性的。本领域的技术人员知道,随机出现的词语不可能组成一篇中心思想明确、风格统一的文章。则一篇文章中的所有的词语,在语义上必然存在某种相关性,同时,所有词语在蕴含的情感上,也具有相近或相关的特点。
则本发明开创性的假设一篇文章的诞生,并不是经人类大脑分析思考而获得的,而是基于内在关联性自动生成的。假设每篇生成的文章均对应至少一个概率主题,也就是说,每篇文章可对应一个或多个概率主题,各个概率主题对该文章的产生具有不同的重要性。该概率主题表达了语义主题的信息。概率主题由特征词及特征词的条件概率组成。该特征词的条件概率是,该特征词具备该概率主题表达的该语义的概率。
可见,文章的诞生是围绕语义主题,从对应该语义主题的概率主题所包含的特征词中反复抽取而实现的,所抽取得到的特征词就组成了该文章。这是从语义的角度生成该文章,而文章还承载有情感。因而,概率主题除了具有语义,还具有情感,具体来说,每个特征词除了具有语义,还具有情感的属性,则每个概率主题所对应的特征词,还可能对应不同的情感主题。情感元以及该情感元相对该情感主题的条件概率组成情感概率,概率主题与情感主题由于特征词的存在而相关联。而文章的诞生还包括,围绕该概率主题所对应的情感主题,反复抽取不同情感元,所抽取出的情感元用于标识该文章所对应的情感。
基于以上说明,请参阅图4,其介绍了生成本发明的文本d的数学模型示意图。
预先设置本发明的模型中包括8种情感元,情感元例如包括高兴、遗憾……。即所有文本均具有该8种情感元。该具体种类数可依据需求而设置。
如图4所示,设概率主题zd,w与情感主题zd,e的初始概率均为θd。该θd根据初始参数α生成。通过初始参数β建立起每个特征词wd,n与概率主题zd,w的关系。通过初始参数γ建立起情感元εd,e与情感主题zd,e之间的关系。
对于每个文本,其具体生成过程包括:从模型中为文本选择一个概率主题(语义主题)zd,w~Multinomial(θ);从给定概率主题zd,w中抽样一个特征词wd,n,该概率主题zd,w包括多项式条件概率p(wd,n|zd,w,β)。如此循环,获得所有特征词。另外,选择一个情感主题zd,e~Multinomial(θ);从给定情感主题zd,e中抽样一种情感元εd,e,该情感主题zd,e包括多项式条件概率p(εe|zd,e,γ),多项式条件概率决定了该情感元所能取得的得票率。D是所有文本的集合,E是所有情感元的集合,N是所有特征词的集合。
则利用该模型,可针对待识别文本计算其所对应的情感元。
上述为本实施例建立的数学模型,以下具体介绍本实施例的实现过程,本实施例与第一实施例的部分步骤相同。
步骤1’,获取多个文本以组成训练文本集,每个该文本包括多个情感元以及用户针对该文本对该情感元的投票数据。
步骤2’,对该多个文本进行预处理,以提取在该多个文本中出现过的所有特征词、每个特征词在各个文本中的出现概率、所有该情感元、以及每个该情感元在每个文本中的得票率;
步骤3’,数据处理装置根据该预处理的结果,利用Gibbs抽样算法,计算该训练文本集中每个情感主题对应每个情感元的条件概率,以组成主题-情感词典,或者,利用Gibbs抽样算法,计算该训练文本集中每个特征词对应每个该情感元的条件概率,以组成词-情感词典;
步骤4’,针对一待识别文本,提取该待识别文本中出现的所有特征词并计算每个该特征词在该待识别文本中的出现概率,利用每个该特征词在该待识别文本中的出现概率以及该主题-情感词典,计算该待识别文本对应每个情感元的概率,或者,利用每个该特征词在该待识别文本中的出现概率以及该词-情感词典,计算该待识别文本对应每个情感元的概率。
对于步骤3’,数据处理装置根据获取的该多个文本及其各情感元的得票率,运行Gibbs抽样算法,参数α,β,γ以及当前的情感元及得票率、特征词及其出现概率均做为已知量输入该Gibbs抽样算法中。Gibbs抽样算法为现有技术,则该Gibbs抽样算法可根据输入的已知值计算出所有情感元所能对应的多种情感主题,并输出ce z,cz d和cw z(矩阵)。其中,为情感元ek被分配为情感主题zm的次数(整数)。为文本di被分配为情感主题zm的次数(整数),为特征词wj被分配为情感主题zm的次数(整数)。如果本发明通过Gibbs算法计算得到100种情感主题,且模型中具有8种情感元,则也可表示为8×100的整数矩阵,以及同理。
利用该输出结果可以组成如第一实施例中的词-情感词典,该词典中的每条数据包括特征词wj及其对应情感元ek的条件概率P(ek|wj):
利用该输出结果还可以组成主题-情感词典,该词典中的每条数据包括情感元,以及,情感主题对应情感元的条件概率P(ek|zm):
其中,P(ek|wj)为特征词wj对应情感元ek的条件概率,P(ek|zm)为情感主题zm对应情感元ek的条件概率,P(wj|zm)为情感主题zm对应特征词wj的条件概率,P(zm)为情感主题zm的先验概率,Z为情感主题zm的集合;
其中,
其中,为情感元ek被分配为情感主题zm的次数,α,β和γ为超参数,E是情感元ek的集合,为文本di被分配为情感主题zm的次数,为特征词wj被分配为情感主题zm的次数。由于这些数据均为已知值,从而使得P(ek|wj)和P(ek|zm)可通过已知值计算得到。
通过如上的准备工作,词典建立起来。
则在步骤4’,该计算该待识别文本对应每个情感元的概率的步骤根据如下公式进行:
其中,为待识别文本di对应每个情感元ek的概率,P(zm|di)为待识别文本di对应情感主题zm的条件概率,其中,vi T为待识别文本di的矩阵形式,矩阵中的元素为该待识别文本di的每个特征词的出现概率,δm为情感主题zm的矩阵形式,矩阵中的元素为该情感主题zm对应每个特征词的条件概率,根据上面公式p(wj|zm)计算所得。
则通过上述算法,可计算得到待识别文本di对应每个情感元ek的概率,可选择其中概率数值较高者,作为该待识别文本di所对应情感元。
或者,步骤4’可采用与第一实施例中相同的公式,利用词-情感词典来计处理,和/或,去除停用词的步骤。步骤4’之后还包括依次判断该待识别文本对应每个情感元的概率是否大于一阈值,如果是,将该概率对应的情感元作为该待识别文本的情感标签的步骤,以计算得到最贴近该文本的情感的情感元。通过上述第二实施例,可通过对情感主题的判断而获得待识别文本所对应的情感元,且识别的正确度较高。
更为具体的,本发明进行了多次实验,选择了三种不同的训练文本集。
第一种,从腾讯娱乐频道(http://ent.qq.com/)下载了大量的中文文本,构成训练文本集。这些文本均包括高兴、感动、同情、愤怒、搞笑、难过、新奇、流汗这八种情感元,公众阅读每个文本后在这八种情感元上进行了投票。该训练文本集包含7160篇总投票数大于0的有效文本,80%用于训练以及构建情感词典,20%用于测试。实验这种训练文本集的目的是测试情感词典构建及其精简方法的有效性。
第二种,从新浪社会频道(http://news.sina.com.cn/society/)下载了大量的中文文本,构成训练文本集。这些文本均包括感动、同情、无聊、愤怒、搞笑、难过、新奇、温馨这八种情感元,公众阅读每个文本后在这八种情感元上进行了投票。该数据集包含32493篇总投票数大于0的有效文本,x(x=10%,20%…,90%)的数据用于训练,(1-x)的数据用于测试。实验这种训练文本集的目的是评测情感词典构建及其精简方法的可扩展性及稳定性。
第三种,为第四届Semantic Evaluations国际研讨会(SemEval)的第14项任务公布的情感分析英文数据集,下载入口为:http://www.cse.unt.edu/~rada/affectivetext/。该数据集包含1246篇总投票数大于0的有效文本。每个文本均包括愤怒、厌恶、恐惧、高兴、难过、新奇这六种情感元,公众在阅读每个文本后在这六种情感元上进行了投票(投票数量均正规化为0至100之间)。该数据集的test-set中的1000篇(80%)用于训练,trial-set中的246篇(20%)用于测试。实验这种训练文本集的目的是验证本方法的语言独立性。
在执行过步骤2的处理后,从第一种训练文本集的5728篇(占80%)训练文本中提取出34821个特征词;从第二种训练文本集的3249(占10%)至29244篇(占90%)训练文本中,提取出39278至72773个特征词;从第三种训练文本集的1000篇(占80%)训练文本中提取出2380个特征词(由于标题的词数过少,因而未去除英文停用词)。在分别计算每个特征词在每个文本中的出现概率(某特征词在某文本中未出现,则其中该文本中的出现概率为0)、各个文本的情感元各自的得票率后,代入公式(10)进行计算,可分别获得特征词-情感元-条件概率的对应关系,其代表性结果的示例如下:
第一种训练文本集:
高兴:大快人心(0.95)、咯咯(0.94)。
感动:球王(0.94)、贝利(0.94)。
同情:苦口婆心(0.87)、弃置(0.85)。
愤怒:权贵(0.91)、见死不救(0.91)。
搞笑:搞头(0.90)、看笑话(0.88)。
难过:遗愿(0.94)、节哀(0.94)。
新奇:lovecar(0.67)、妄言(0.47)。
流汗:做贼心虚(0.91)、贼头贼脑(0.91)。
事实上,每个特征词相对每个情感元均得到一个概率值,以上仅表示了某几个较高概率值所对应的特征词以及情感元。
针对该训练文本集,精简前的词典容量(特征词个数)为34821,依照P(ek|wj)的最大值、平均值或最小值分别进行词典精简后,删除的词的个数分别为15(占0.04%)、183(占0.53%)、2026(占5.82%)。
第二种训练文本集:
感动:感怀(1)、辛苦(0.89)。
同情:长年累月(1)、心软(0.67)。
无聊:浮云(1)、玩笑(0.74)。
愤怒:不正之风(1)、叫骂(0.92)。
搞笑:企鹅(0.91)、吹嘘(0.87)。
难过:愁眉苦脸(1)、奄奄一息(0.83)。
新奇:解放战争(0.83)、死而复生(0.74)。
温馨:献血法(1)、诫勉(0.61)。
对于各种大小的训练集,精简前的词典容量,以及按照P(ek|wj)的最大值(max)、平均值(ave)或最小值(min)分别进行精简的词的个数及比例如表1所示:
表1:各新浪训练集精简词数及比例
第三种训练文本集,基于“SemEval”新闻标题生成的情感词典的各代表词如下:
愤怒:congressman(国会议员,0.59)、anger(愤怒,0.48)。
厌恶:politician(政治家,0.79)、comment(批评,0.47)。
恐惧:tsunami(海啸,0.75)、cesarean(剖腹产,0.70)。
高兴:bliss(狂喜,1)、mallorca(马略卡岛,1)。
难过:slip(事故,0.9)、mourn(忧伤,0.85)。
新奇:coin(杜撰,1)、seal(海豹突击队,0.89)。
对于第三种训练文本集的1000篇文本,精简前的词典容量(特征词个数)为2380,按照P(ek|wj)的最大值、平均值或最小值分别进行词典精简,删除的词的个数分别为0、0、1634(占68.66%)。
另外,经统计发现,若采用P(ek|wj)的最小值对新闻标题生成的情感词典进行精简,7.30%的训练文本、11.38%的测试文本中的词在情感词典中不存在,这将影响情感词典对情感分布拟合及预测的效果。因此,对于词数很少的文本(如新闻标题)来说,无需进行情感词典精简操作。
针对第一实施例步骤4所进行的针对每个情感元的概率分布的预测,其准确度可采用如下两种指标进行衡量:
一是平均Pearson相关系数,记为r_average。Pearson相关系数反映了两个变量之间的线性相关度,某篇文本的情感分布的预测值与真实值之间的相关系数越大,表明对该文本情感分布趋势的预测越准确。通过计算全部测试文本情感分布的预测值与真实值之间的平均Pearson相关系数,能够评测情感词典用于情感分布预测的准确度。
二是预测的情感分布中,概率值最大的情感元(称为主导情感)与真实的主导情感的匹配率,记为p_max。例如,某篇文本的真实情感分布中,“高兴”的得票数最多,即真实的主导情感为“高兴”。若预测的主导情感也为“高兴”,则匹配数加1;若预测的主导情感为其它任何一种情感,则表明未匹配。对于全部测试文本,匹配的文本数占测试文本总数的比率(即p_max)越大,则表明情感分布预测的准确度越高。
利用上述两个指标评价上述三种训练文本集的预测准确度的结果如下:
第一种训练文本集:
对于1432篇测试文本集,采用精简前词典进行情感分类的r_average为0.55,p_max为45.39%。通过P(ek|wj)的最大值、平均值或最小值进行情感词典精简后,r_average分别为0.55、0.56、0.59,p_max分别为45.46%、45.53%、46.72%。这表明了预测的情感分布与真实分布之间的高度线性相关性,主导情感的高度匹配率,以及本方案在预测新文本的情感分布方面具有较高的有效性。
第二种训练文本集:
图5A、5B为精简前后的情感词典在情感概率计算中的应用效果示意图。其中,横坐标为测试集的文档数量,纵坐标为评价指标(即r_average与p_max)。对于各数据集的情感分布预测,除了个别数据集(12997篇)外,情感预测的准确度保持稳定;通过max、ave、min进行情感词典精简(rtf_max、rtf_ave、rtf_min),均比精简前(rtf)更为有效。其中,基于rtf_min构建并精简的情感词典删除了31.2%及以上的词,且在各种数据集上的应用效果最佳(r_average均在0.44及以上,p_max均在38.36%及以上)。良好的结果表明本发明的方法在不同大小的测试数据集上均可以进行较好的情感分布预测。
以下通过t假设检验验证精简方法rtf_min更为有效的统计显著性。采用的方法是随机删除一定比例的词(与各训练文本集通过rtf_min删除的词的比例相同,记为prune-random),并将这种随机精简后的词典用于情感概率计算,最后对rtf、rtf_min、prune-random的应用效果两两进行t假设检验,结果如表2所示。
对于随机精简(prune-random)与精简前(rtf)的情感词典,其应用在测试集上的P值均远远大于统计显著性水平0.05,表明随机精简相比精简前的词典在情感概率计算效果上无显著改善。从实际结果来看,当训练集的大小为9748、12997、19496时,prune-random的应用效果均差于rtf;其余大小的训练集则结果类似。
对于rtf_min与rtf(或prune-random),所有P值均远远小于统计显著性水平0.05,表明从统计意义来看,rtf_min相比rtf(或prune-random)的改善效果显著。
表2:统计显著性检验的P-value
第三种训练文本集:
以下通过r_average与p_max两种指标评测未精简的词典在情感分类中的应用效果。
对于具有246篇文本的测试文本集,r_average为0.36,p_max为45.53%。可见,预测的情感分布与真实分布之间具有较高的线性相关性,主导情感的高度匹配率,本发明的方法在预测新文本的情感分布方面具有较高的有效性。
综上可知,对于长文本(如新闻内容)来说,无论是将情感词典应用于训练文本集,还是预测新文本的情感分布上,本发明的技术方案均表现出良好的稳定性、有效性及可扩展性。同时,本发明的三种词典精简方法均提升了情感分布拟合及预测的性能,尤其是基于最小值的精简法,不仅最大程度地压缩了情感词典的容量,且应用效果最佳。与随机精简法和未精简的相比,基于最小值的精简法对性能的提升具有统计显著性。此外,本发明的技术方案只需少量的训练数据就可以达到较好的情感预测结果。
对于短文本(如新闻标题)来说,由于情感词典的容量很小,可用信息有限,无需进行情感词典的精简操作。而从未精简的情感词典的应用效果来看,其仍然表现极佳的情感分布拟合准确度及较好的预测性能。多语种的数据集也验证了本发明的技术方案的语言独立性。
通过本发明的技术方案构建与精简的情感词典,除了在上述应用中具有良好的性能,也能够反映公众对人物、机构、产品、地点等要素的情感趋势。
例如,“腾讯娱乐”数据集中,公众对“球王贝利”的“感动”的情感倾向;“SemEval”数据集中,“马略卡岛”引发了公众的“高兴”情绪等等。此外,基于新闻数据构建的情感词典,还能够反映公众对新闻事件的情感分布情况,如“新浪社会”数据集中的“假钞”、“血衣”等。
在比如,通过收集针对某个突发事件而发布的新闻、微博、博客、短信等文本,利用本发明的方案,可自动识别用户从这些文本中体现出的情感反应,从而作为掌握公众对某项公共措施的情感反应(拥护程度)的重要参考。
综上所述,本发明允许用户指定训练文本集,适用于多语种(如中文、英文等),能够定期、快速地更新情感词典,同时情感标注的粒度更细。