法律状态公告日
法律状态信息
法律状态
2016-09-07
授权
授权
2014-05-21
实质审查的生效 IPC(主分类):G06F17/27 申请日:20140124
实质审查的生效
2014-04-23
公开
公开
技术领域
本发明涉及产品领域的情感文摘技术领域,更具体地,涉及一种用于度量主流情感信息的中文情感文摘系统及方法,适用于归纳总结各产品的评论数据,帮助用户快速了解产品的关键信息。
背景技术
情感文摘旨在提取具有明显倾向性的情感信息。情感信息的度量是获取情感文摘的主要步骤。在现有技术中,存在一些度量文摘中情感信息的方法。然而这些方法大多数是根据评价对象、评价词、极性来度量情感信息,并不足以表达情感信息的情感强度。这是因为,如果两个句子拥有同样的评价对象,评价对象所对应评价词的极性也是一样的,但是极性强度不一样,评论者所表达观点的情感强弱也不一样。
同时,情感文摘中应该包含尽可能多的产品属性及其观点,且文摘句子之间冗余信息应尽可能少,即多样性。目前,存在一些方法用于解决文本文摘中多样性问题。Wan等提出基于manifold-ranking的方法,先根据manifold-ranking算法计算句子和查询之间的相关度,选择排名最高的句子放进摘要中,接着加入惩罚函数,度量剩下句子和文摘句子之间的重叠值。Fukumoto 等提出采用谱聚类的方法代替K-means算法,实现降维去噪的目的,而且使得分类更准确,从而提高文摘结果的准确度。Yan等把多样性的问题转化为两个词分布之间的相似度问题,根据Kullback-Leibler散度的方法进行度量。然而,以上的方法大多适用于传统文档文摘,然而对于产品领域的情感文摘,用户更多关注的是评论者对产品属性所表达的观点。
因此,围绕这两个问题,引入极性强度,同时结合评价对象、评价短语等情感元素,分析这些情感元素对情感信息中情感强弱、多样性问题的影响,提出相对应的解决方案,以提高中文情感文摘的精度。
发明内容
本发明的目的在于提供一种用于度量主流情感信息的中文情感文摘系统及方法,该系统及方法有利于从评论数据中提取包含主流情感信息的情感文摘,准确度高,适应范围广。
为实现上述目的,本发明的技术方案是:一种用于度量主流情感信息的中文情感文摘系统,该系统包括:
评论数据预处理模块,用于抽取评论数据中每个句子包含的各个评价对象及其对应的评价短语,转化为由评价对象及其对应的情感强度等级构成的单位,所述情感强度等级由相应的评价短语计算得到;建立与各个评价对象相对应的评价对象数据结构,所述评价对象数据结构包含以下信息:评价对象、该评价对象在评论数据中对应的所有评价短语构成的集合即评价短语集合、该评价对象出现的次数、第一数组、第二数组、第三数组和第四数组,所述第一数组、第二数组、第三数组中的元素分别与评价短语集合中的元素一一对应,第一数组中每个元素表示所对应评价短语在评论数据中出现的次数,第二数组中每个元素表示所对应评价短语和该评价对象在评论数据中共现的次数,第三数组中每个元素表示所对应评价短语的情感强度等级,第四数组中包括n个元素,表示该评价对象与n类情感强度等级之间的情感信息量;将评论数据转化成句子集合,所述句子集合中的每个元素与评论数据中的每个句子相对应,句子集合中的每个元素包含以下信息:该句子在评论数据中的位置、该句子的内容、该句子的类别、该句子包含的所有单位构成的集合、该句子的情感信息量;
单位情感信息度量模块,用于计算每个单位的情感信息量:以评论数据预处理模块构建的评价对象数据结构作为输入,对于每个评价对象,根据情感强度等级不同对评价短语进行分类,然后计算评价对象和每一类评价短语的情感信息量,获取评价对象和n类情感强度等级之间的情感信息量,最后获得全部单位的情感信息量;
句子情感信息度量模块,用于计算每个句子的情感信息量:以句子集合和单位情感信息度量模块处理后的评价对象数据结构作为输入,先利用聚类算法对所有的句子进行分类,使内容相似的句子聚类,获得每个句子的类别,每个类别的情感信息量根据每个类别所包含的单位进行计算,句子和类别之间的关联程度也根据句子和类别所包含的单位进行计算,句子之间的关联程度根据句子所包含单位之间的距离进行计算,最后迭代求取每个句子的情感信息量;以及
情感文摘生成模块,用于生成情感文摘:以句子情感信息度量模块处理后的句子集合作为输入,根据句子的情感信息量大小对所有句子进行排序,选择前k个句子组成最终的情感文摘。
进一步的,所述评论数据预处理模块包括句法分析器和抽取模块,所述句法分析器用于对评论数据进行解析,即对评论数据进行分句、句法结构分析,所述抽取模块采用基于规则的无监督方法对句法分析器解析的结果进行处理,抽取评价对象及其对应的评价短语,组成<评价对象,评价短语>对,然后使用情感强度等级模块计算评价短语对应的情感强度等级,将<评价对象,评价短语>对转化为由评价对象及其对应的情感强度等级构成的单位,并建立所述评价对象数据结构和句子集合。
进一步的,所述情感强度等级模块按如下方法计算评价短语的情感强度等级:评价短语由评价词和修饰副词组成,从情感词典中获取评价词的极性强度,并根据评价词和修饰副词之间的关系,形成一定的评定规则,然后根据所述评定规则计算评价短语的极性强度,并将评价短语的极性强度离散化为n个情感强度等级,进而得到评价短语的情感强度等级。
本发明还提供了一种用于度量主流情感信息的中文情感文摘方法,该方法包括以下步骤:
步骤(1) 评论数据预处理模块抽取评论数据中每个句子包含的各个评价对象及其对应的评价短语,转化为由评价对象及其对应的情感强度等级构成的单位,所述情感强度等级由相应的评价短语计算得到;建立与各个评价对象相对应的评价对象数据结构,所述评价对象数据结构包含以下信息:评价对象、该评价对象在评论数据中对应的所有评价短语构成的集合、该评价对象出现的次数、第一数组、第二数组、第三数组和第四数组,所述第一数组、第二数组、第三数组中的元素分别与评价短语集合中的元素一一对应,第一数组中每个元素表示所对应评价短语在评论数据中出现的次数,第二数组中每个元素表示所对应评价短语和该评价对象在评论数据中共现的次数,第三数组中每个元素表示所对应评价短语的情感强度等级,第四数组中包括n个元素,表示该评价对象与n类情感强度等级之间的情感信息量;将评论数据转化成句子集合,所述句子集合中的每个元素与评论数据中的每个句子相对应,句子集合中的每个元素包含以下信息:该句子在评论数据中的位置、该句子的内容、该句子的类别、该句子包含的所有单位构成的集合、该句子的情感信息量;
步骤(2) 单位情感信息度量模块接收评论数据预处理模块构建的评价对象数据结构,计算每个单位的情感信息量:对于每个评价对象,根据情感强度等级不同对评价短语进行分类,然后计算评价对象和每一类评价短语的情感信息量,获取评价对象和n类情感强度等级之间的情感信息量,最后获得全部单位的情感信息量;
步骤(3) 句子情感信息度量模块接收句子集合和单位情感信息度量模块处理后的评价对象数据结构,计算每个句子的情感信息量:先利用聚类算法对所有的句子进行分类,使内容相似的句子聚类,获得每个句子的类别,每个类别的情感信息量根据每个类别所包含的单位进行计算,句子和类别之间的关联程度也根据句子和类别所包含的单位进行计算,句子之间的关联程度根据句子所包含单位之间的距离进行计算,最后迭代求取每个句子的情感信息量;
步骤(4) 情感文摘生成模块接收句子情感信息度量模块处理后的句子集合,根据句子的情感信息量大小对所有句子进行排序,选择前k个句子组成最终的情感文摘。
进一步的,所述步骤(1)中,由评价短语计算情感强度等级的方法如下:评价短语由评价词和修饰副词组成,从情感词典中获取评价词的极性强度,并根据评价词和修饰副词之间的关系,形成一定的评定规则,然后根据所述评定规则计算评价短语的极性强度,并将评价短语的极性强度离散化为n个情感强度等级,进而得到评价短语的情感强度等级。
本发明的有益效果是提出了一种面向产品领域的中文情感文摘系统及方法,该系统及方法能够高效、准确地从评论数据中提取包含主流情感信息的情感文摘,满足主流性、多样性、冗余性要求,即情感文摘中的每个产品属性的观点是大多数评论者赞同的,情感文摘的内容包含尽可能多的产品属性及其观点,情感文摘中每个句子之间冗余信息尽可能少,使用效果好,具有很强的实用性和广阔的应用前景。
附图说明
图1是本发明系统的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
本发明用于度量主流情感信息的中文情感文摘系统,如图1所示,包括评论数据预处理模块、单位情感信息度量模块、句子情感信息度量模块和情感文摘生成模块。
所述评论数据预处理模块,抽取评论数据中每个句子包含的各个评价对象及其对应的评价短语,转化为由评价对象及其对应的情感强度等级构成的单位,所述情感强度等级由相应的评价短语计算得到;建立与各个评价对象相对应的评价对象数据结构,所述评价对象数据结构包含以下信息:评价对象、该评价对象在评论数据中对应的所有评价短语构成的集合(即评价短语集合)、该评价对象出现的次数、第一数组、第二数组、第三数组和第四数组,所述第一数组、第二数组、第三数组中的元素分别与评价短语集合中的元素一一对应,第一数组中每个元素表示所对应评价短语在评论数据中出现的次数,第二数组中每个元素表示所对应评价短语和该评价对象在评论数据中共现的次数,第三数组中每个元素表示所对应评价短语的情感强度等级,第四数组中包括5个元素,表示该评价对象与5类情感强度等级之间的情感信息量;将评论数据转化成句子集合,所述句子集合中的每个元素与评论数据中的每个句子相对应,句子集合中的每个元素包含以下信息:该句子在评论数据中的位置、该句子的内容、该句子的类别、该句子包含的所有单位构成的集合、该句子的情感信息量。在评价对象数据结构中,评价对象和第三数组中的每个元素,组成1个单位。第四数组用于记录评价对象和每类情感强度等级(即单位)的情感信息量。
所述评论数据预处理模块包括句法分析器和抽取模块,所述句法分析器用于对评论数据进行解析,即对评论数据进行分句、句法结构分析,所述抽取模块采用基于规则的无监督方法对句法分析器解析的结果进行处理,抽取评价对象及其对应的评价短语,组成<评价对象,评价短语>对,然后使用情感强度等级模块计算评价短语对应的情感强度等级,将<评价对象,评价短语>对转化为由评价对象及其对应的情感强度等级构成的单位,并建立所述评价对象数据结构和句子集合。
所述情感强度等级模块按如下方法计算评价短语的情感强度等级:评价短语由评价词和修饰副词组成,修饰副词分为程度副词和否定副词,能够对评价词的极性强度起到增大、减小、置反的作用,从已存在的情感词典(SentiWordnet 1.0版)中获取评价词的极性强度,并根据评价词和修饰副词之间的关系,形成一定的评定规则,然后根据所述评定规则计算评价短语的极性强度,极性强度的范围在[-1,1]之间,为了更准确地表达语义,将评价短语的极性强度离散化为5个情感强度等级,进而得到评价短语的情感强度等级。
所述单位情感信息度量模块,计算每个单位的情感信息量:以评论数据预处理模块构建的评价对象数据结构作为输入,对于每个评价对象,根据情感强度等级不同对评价短语进行分类,然后计算评价对象和每一类评价短语的情感信息量,获取评价对象和5类情感强度等级之间的情感信息量,最后获得全部单位的情感信息量。
下面进一步描述单位情感信息度量模块是如何计算单位的情感信息量。主要思想是根据逐点交互信息理论表达评价对象和情感强度等级之间的关联程度。逐点交互信息值越高,两个者之间的关联程度越大,逐点交互信息值越低,关联程度越低。用两者之间的关联程度的高低表示情感信息量的大小。
在评论数据中,评价对象t,其对应评价短语集合为E。评价短语集合根据情感强度等级分成m个评价短语子集,即m类。如果评价对象t和第k类的评价短语子集的逐点交互信息值大,那么评价对象t与第k类评价短语子集的关联程度大,第k类所对应的情感强度等级就是语料中大多数评论者对评价对象t表达的情感强度。
具体步骤:
1.遍历评论数据,统计各个评价对象出现的数目Targetnum,各个评价短语的出现数目Phrasesnum,各个<评价对象,评价短语>出现的数目Tpnum;
2.初始化每一个I(ti,Pj)=0;
3.for(对于每一个评价对象ti)
{
计算评价对象在评论数据中的概率: ;
for(ti对应的评价短语集合中的每一个评价短语ej)
{
计算评价短语在评论数据中的概率:;
计算评价对象和评价短语在评论数据中的概率:;
计算情感强度等级:;
计算评价对象和情感强度等级之间的情感信息量: ;
}
}
4.计算出每个单位的情感信息量。
所述句子情感信息度量模块,计算每个句子的情感信息量:先做2个假设,假设句子的情感信息量和它所包含的单位有关,单位的情感信息量越多,句子的情感信息量越多,同时假设句子的情感信息量不仅和它关联的句子有关,而且和它所属的类别有关,如果句子和越多情感信息量高的句子有关联,而且它所属类别的情感信息量也高,那么该句子包含主流情感信息量高。以句子集合和单位情感信息度量模块处理后的评价对象数据结构作为输入,先利用聚类算法对所有的句子进行分类,使内容相似的句子聚类,获得每个句子的类别,每个类别的情感信息量根据每个类别所包含的单位进行计算,句子和类别之间的关联程度也根据句子和类别所包含的单位进行计算,句子之间的关联程度根据句子所包含单位之间的距离进行计算,最后迭代求取每个句子的情感信息量;
下面进一步描述句子情感信息度量模块是如何度量句子的情感信息量。主要根据2个假设,假设1句子的情感信息量和它所包含的单位有关,单位的情感信息量越多,句子的情感信息量越多。假设2句子的情感信息量不仅和它关联的句子有关,而且和它所属的类别有关。如果句子和越多情感信息量高的句子有关联,而且它所属类别的情感信息量也高,那么该句子包含主流情感信息量高。先利用聚类算法对所有的句子进行分类,使内容相似的句子聚在同一类,获得每个句子的类别。每个类别的情感信息量根据它所包含的单位进行计算,句子和类别之间的关联程度也根据它们所包含的单位进行计算,句子之间的关联程度根据所包含单位之间的距离进行计算。最后迭代求取每个句子的情感信息量;
具体步骤:
1. 对评价数据进行聚类,类集合:{c1,…ck}且对应关系:ci=clus(si);
2. 计算每个类所包含单位和评论数据所包含单位的情感信息量比
3. 计算每个句子所包含单位和对应类所包含单位的情感信息量比
4. for(对于评论数据中每个句子si) //求句子与句子之间的关联矩阵M
{
//计算句子si和句子sj的之间相似度,count函数表示tx在评论数据中出现的次数
for(对于评论数据中每个句子sj)
if(矩阵第i行的全部元素的和不为0) 进行归一化;
}
5. //计算每个句子的情感信息量,senscore值
do{
设置每个句子的初始情感信息量senscore值为1;
根据关联的句子(关联矩阵上值不为零)和所对应类,获取句子的
情感信息量
}while(直到全部句子的senscore值不再变化)
6. 获取所有句子的情感信息量senscore值
所述情感文摘生成模块,以句子情感信息度量模块处理后的句子集合作为输入,根据句子的情感信息量大小对所有句子进行排序,选择前k个句子组成最终的情感文摘。
相应地,本发明还提供了一种用于度量主流情感信息的中文情感文摘方法,该方法包括以下步骤:
步骤(1) 评论数据预处理模块抽取评论数据中每个句子包含的各个评价对象及其对应的评价短语,转化为由评价对象及其对应的情感强度等级构成的单位,所述情感强度等级由相应的评价短语计算得到;建立与各个评价对象相对应的评价对象数据结构,所述评价对象数据结构包含以下信息:评价对象、该评价对象在评论数据中对应的所有评价短语构成的集合(即评价短语集合)、该评价对象出现的次数、第一数组、第二数组、第三数组和第四数组,所述第一数组、第二数组、第三数组中的元素分别与评价短语集合中的元素一一对应,第一数组中每个元素表示所对应评价短语在评论数据中出现的次数,第二数组中每个元素表示所对应评价短语和该评价对象在评论数据中共现的次数,第三数组中每个元素表示所对应评价短语的情感强度等级,第四数组中包括5个元素,表示该评价对象与5类情感强度等级之间的情感信息量;将评论数据转化成句子集合,所述句子集合中的每个元素与评论数据中的每个句子相对应,句子集合中的每个元素包含以下信息:该句子在评论数据中的位置、该句子的内容、该句子的类别、该句子包含的所有单位构成的集合、该句子的情感信息量。
步骤(1)中,由评价短语计算情感强度等级的方法如下:评价短语由评价词和修饰副词组成,修饰副词分为程度副词和否定副词,能够对评价词的极性强度起到增大、减小、置反的作用,从已存在的情感词典(SentiWordnet 1.0版)中获取评价词的极性强度,并根据评价词和修饰副词之间的关系,形成一定的评定规则,然后根据所述评定规则计算评价短语的极性强度,极性强度的范围在[-1,1]之间,为了更准确地表达语义,将评价短语的极性强度离散化为5个情感强度等级,进而得到评价短语的情感强度等级。
步骤(2) 单位情感信息度量模块接收评论数据预处理模块构建的评价对象数据结构,计算每个单位的情感信息量:对于每个评价对象,根据情感强度等级不同对评价短语进行分类,然后计算评价对象和每一类评价短语的情感信息量,获取评价对象和5类情感强度等级之间的情感信息量,最后获得全部单位的情感信息量。
步骤(3) 句子情感信息度量模块接收句子集合和单位情感信息度量模块处理后的评价对象数据结构,计算每个句子的情感信息量:先利用聚类算法对所有的句子进行分类,使内容相似的句子聚类,获得每个句子的类别,每个类别的情感信息量根据每个类别所包含的单位进行计算,句子和类别之间的关联程度也根据句子和类别所包含的单位进行计算,句子之间的关联程度根据句子所包含单位之间的距离进行计算,最后迭代求取每个句子的情感信息量。
步骤(4) 情感文摘生成模块接收句子情感信息度量模块处理后的句子集合,根据句子的情感信息量大小对所有句子进行排序,选择前k个句子组成最终的情感文摘。
机译: 情感键盘情感信息服务系统及用于情感信息服务的情感信息服务方法
机译: 一种自动情感信息标记方法,用于提供情感信息的新闻文章
机译: 用于情感信息的情感防火墙的系统,方法和记录介质