一种基于情感词典学习的文本情感分析方法和系统与流程

文档序号:12305336阅读:533来源:国知局
一种基于情感词典学习的文本情感分析方法和系统与流程

本发明自然语言处理领域,尤其涉及一种基于情感词典学习的文本情感分析方法和系统。



背景技术:

web2.0时代,每一个网民都成了互联网的信息发布源。各种用途的信息发布平台应运而生,诸如facebook、校内网、新浪微博等,供用户发表、获取、分享各种信息。由于互联网用户基数大,每个信息发布平台信息发布平台平均每天产生的信息量也大,所以互联网每天产生的信息量也巨大。而情感分析又称情感挖掘、意见挖掘,是对文本进行处理、分析、归纳并推理,得出文本的情感色彩的过程,基于互联网每天产生的巨大信息量,对互联网数据进行挖掘和情感分析的难度也非常大。

在文本情感分析方面,外国学者主要是针对twitter上的短文本信息作为语料进行分析。比如国外学者利用网站带情感标签的文本作为训练语料,采用文本抽象特征训练各种分类器进行主客观分类和情感极性分类。中文文本情感极性分析近来呈现高速发展的趋向,然而中文文本的复杂性比英文文本的复杂性要高得多,所以中文文本的分词质量往往对最后的分类结果影响很大。除此之外,由于中文的信息熵更大,中文文本内容丰富多彩,有很多网络词和新词加入其中,在研究工作中都是挑战。

就情感分析而言,有基于规则和基于学习的方法两种类别。基于规则的方法,一般由人工定义的规则库和情感词典组成,这种方法效果一般不错,但是人工工作量很大;基于学习的方法,大多是基于统计学习的方法,使用人工标注的语料进行模型训练,这种方法工作量较之前者稍低,但是效果不太理想。上述情感分析的各类方法中,人工标注处理的人力和物力成本很大且没有根据领域进行分领域处理,因此情感分析效果都不理想。



技术实现要素:

为解决上述技术问题,本发明提供了一种基于情感词典学习的文本情感分析方法和系统。

第一方面,本发明实施例提供了一种基于情感词典学习的文本情感分析方法,包括以下步骤:

步骤1,采集用于训练的初始文本数据,并对所述初始文本数据进行规范化处理,生成预处理文本数据;

步骤2,采取预设的聚类方法,将所述预处理文本数据聚类到预设关键词对应的预设领域;

步骤3,将预设的基础情感词典作为种子情感词典,并采用基于所述种子情感词典的情感词语发现方法,获取所述预处理文本数据中的第一情感词语,根据所述第一情感词语形成所述预处理文本数据对应预设领域的专有情感词典;

步骤4,对所述专有情感词典进行筛选,从所述专有情感词典的所述第一情感词语中获取符合预设判断规则的第二情感词语,并在所述专有情感词典对应预设领域的预处理文本数据中进行检索,获取包括所述第二情感词语的目标文本数据,将所述目标文本数据作为对应预设领域的初始训练语料;

步骤5,针对不同预设领域,使用每个预设领域的初始训练语料训练出对应领域的分类器;

步骤6,获取待分类文本,采用所有预设领域分别对应的分类器对所述待分类文本进行分类,生成所述待分类文本的情感分类结果并输出显示。

上述方案的有益效果在于:本发明的基于情感词典学习的文本情感分析方法通过对情感分析分领域进行处理,不断自动扩充不同领域对应的情感词典,同时使用多分类器结合的方式对输入文本进行情感分析。与现有技术相比,本发明具有以下优点和有益效果:

1、本发明可以自动建立每个领域的专有情感词典,避免了全由人工建立的成本问题;

2、本发明建立了每个领域的专有情感词典,并将所述专有情感词典和基础情感词典组成联合情感词典,使情感词更加准确和全面;

3、使用少量人工筛选的原始语料作为训练数据,减少人力成本;

4、使用多分类器对输入文本进行情感分析,防止过拟合,使分析结果更加准确。

进一步的,还包括步骤7,具体为:分析所述待分类文本的情感分类结果是否正确,若不正确,则将所述待分类文本作为所述初始文本数据,并重复步骤1~步骤5,根据所述待分类文本对对应预设领域的专有情感词典和分类器进行更新。

进一步,步骤1的所述规范化处理包括对所述初始文本数据进行去非文字符号处理和/或分隔符清理;所述步骤2中,采用elasticsearch检索工具将所述预处理文本数据聚类到预设关键词对应的预设领域。

进一步,所述步骤3具体包括:

计算所述预处理文本数据中每个词语的词向量,形成词向量表;

计算所述预处理文本数据中每个词语和所述种子情感词典中情感词语之间的pmi值,获取pmi值非0的目标词语;

查询所述词向量表,且计算所述目标词语的词向量与情感词语向量中值的cosin距离,若所述cosin距离小于预设阈值且极性与所述目标词语的pmi结果相一致,则将所述目标词语作为所述第一情感词语加入对应预设领域的专有情感词典。

进一步,所述步骤5具体为:对每个预设领域的初始训练语料进行分词处理生成分词结果,使用分词结果中每个词语的tf-idf值作为特征值训练svm,使用所述种子情感词典的情感词语和所述初始训练语料对应预设领域的专有情感词典的情感词语作为特征训练crf,使用全文本训练双层lstm神经网络,然后基于adaboost迭代算法进行训练,并组合成每个预设领域对应的强分类器。

第二方面,本发明提供了一种基于情感词典学习的文本情感分析系统,包括预处理模块、聚类模块、第一生成模块、第二生成模块、训练模块和分类模块,

所述预处理模块用于采集用于训练的初始文本数据,并对所述初始文本数据进行规范化处理,生成预处理文本数据;

所述聚类模块用于采取预设的聚类方法,将所述预处理文本数据聚类到预设关键词对应的预设领域;

所述第一生成模块用于将预设的基础情感词典作为种子情感词典,并采用基于所述种子情感词典的情感词语发现方法,获取所述预处理文本数据中的第一情感词语,根据所述第一情感词语形成所述预处理文本数据对应预设领域的专有情感词典;

所述第二生成模块用于对所述专有情感词典进行筛选,从所述专有情感词典的所述第一情感词语中获取符合预设判断规则的第二情感词语,并在所述专有情感词典对应预设领域的预处理文本数据中进行检索,获取包括所述第二情感词语的目标文本数据,将所述目标文本数据作为对应预设领域的初始训练语料;

所述训练模块用于针对不同预设领域,使用每个预设领域的初始训练语料训练出每个预设领域对应的分类器;

所述分类模块用于获取待分类文本,采用所有预设领域分别对应的分类器对所述待分类文本进行分类,生成所述待分类文本的情感分类结果并输出显示。

上述方案的有益技术效果在于:本发明的基于情感词典学习的文本情感分析系统通过对情感分析分领域进行处理,不断自动扩充不同领域对应的情感词典,同时使用多分类器结合的方式对输入文本进行情感分析。与现有技术相比,本发明可以自动建立每个领域的专有情感词典,避免了全由人工建立的成本问题;同时本发明建立了每个领域的专有情感词典,并将所述专有情感词典和基础情感词典组成联合情感词典,使情感词更加准确和全面;除此以外,本发明使用少量人工筛选的原始语料作为训练数据,减少人力成本,使用多分类器对输入文本进行情感分析,防止过拟合,使分析结果更加准确。

进一步,还包括修正模块,所述修正模块用于分析所述待分类文本的情感分类结果是否正确,若不正确,则将所述待分类文本作为所述初始文本数据,并驱动所述预处理模块、所述聚类模块、所述第一生成模块、所述第二生成模块、所述训练模块和所述分类模块,根据所述待分类文本对对应预设领域的专有情感词典和分类器进行更新。

进一步,所述预处理模块具体用于对所述初始文本数据进行去非文字符号处理和/或分隔符清理;所述聚类模块具体用于采用elasticsearch检索工具将所述预处理文本数据聚类到预设关键词对应的预设领域。

进一步,所述第一生成模块包括:

第一计算单元,用于计算所述预处理文本数据中每个词语的词向量,形成词向量表;

第二计算单元,用于计算所述预处理文本数据中每个词语和所述种子情感词典中情感词语之间的pmi值,获取pmi值非0的目标词语;

判断单元,用于查询所述词向量表,且计算所述目标词语的词向量与情感词语向量中值的cosin距离,若所述cosin距离小于预设阈值且极性与所述目标词语的pmi结果相一致,则将所述目标词语作为所述第一情感词语加入对应预设领域的专有情感词典。

进一步,所述训练模块具体用于对每个预设领域的初始训练语料进行分词处理生成分词结果,使用分词结果中每个词语的tf-idf值作为特征值训练svm,使用所述种子情感词典的情感词语和所述初始训练语料对应预设领域的专有情感词典的情感词语作为特征训练crf,使用全文本训练双层lstm神经网络,并基于adaboost迭代算法进行训练,组合成每个预设领域对应的强分类器。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明实施例1提供的一种基于情感词典学习的文本情感分析方法的示意性流程图;

图2为本发明实施例2提供的一种基于情感词典学习的文本情感分析系统的结构性示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定装置结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

如图1给出了本发明实施例1提供的一种基于情感词典学习的文本情感分析方法的示意性流程图。如图1所示,方法的执行主体可以是服务器,该方法包括以下步骤:

步骤1,采集用于训练的初始文本数据,并对所述初始文本数据进行规范化处理,生成预处理文本数据;

步骤2,采取预设的聚类方法,将所述预处理文本数据聚类到预设关键词对应的预设领域;

步骤3,将预设的基础情感词典作为种子情感词典,并采用基于所述种子情感词典的情感词语发现方法,获取所述预处理文本数据中的第一情感词语,根据所述第一情感词语形成所述预处理文本数据对应预设领域的专有情感词典;

步骤4,对所述专有情感词典进行筛选,从所述专有情感词典的所述第一情感词语中获取符合预设判断规则的第二情感词语,比如获取情感倾向明显且无歧义的词语为第二情感词语,并在所述专有情感词典对应预设领域的预处理文本数据中进行检索,获取包括所述第二情感词语的目标文本数据,将所述目标文本数据作为对应预设领域的初始训练语料;

步骤5,针对不同预设领域,使用每个预设领域的初始训练语料训练出对应领域的分类器;

步骤6,获取待分类文本,采用所有预设领域分别对应的分类器对所述待分类文本进行分类,生成所述待分类文本的情感分类结果并输出显示。

本实施例的基于情感词典学习的文本情感分析方法可以建立并不断自动扩充不同领域对应的专有情感词典,不仅避免了全由人工建立产生的成本问题,而且可以将所述专有情感词典和基础情感词典组成联合情感词典,使情感词更加准确和全面;同时通过对情感分析分领域进行处理,且使用多分类器结合的方式对输入文本进行情感分析,可以防止过拟合,使分析结果更加准确。

以下对实施例1方法的每个步骤进行详细说明。

一个优选实施例的步骤1中,所述用于训练的初始文本数据可以是互联网的公开数据,也可以是通过其他途径采集到的其他数据,比如杂志数据等等,通过对所述初始文本数据进行去非文字符号、分隔符清理等处理,得到规范化的预处理文本数据,从而方便后面步骤根据所述预处理文本数据形成专有情感词典和分类词。

另一个优选实施例的步骤2中,可以采用elasticsearch检索工具或者其他的检索工具将所述预处理文本数据聚类到预设关键词对应的预设领域。elasticsearch是一个实时的分布式搜索和分析引擎,它可以采用全文搜索分析和结构化搜索分析对大规模数据进行处理,而且处理数据的速度非常快,从而可以快速的将所述预处理文本数据聚类到预设关键词对应的预设领域,比如将所述预处理文本数据聚类到篮球、证券和禽流感等预设关键词对应的体育、金融和疾病等预设领域。

在一个优选实施例中,建立每个预设领域的专有情感词典,即所述步骤3具体包括以下步骤:

s301,计算所述预处理文本数据中每个词语的词向量,形成词向量表;

s302,计算所述预处理文本数据中每个词语和所述种子情感词典中情感词语之间的pmi值,获取pmi值非0的目标词语;

s303,查询所述词向量表,且计算所述目标词语的词向量与情感词语向量中值的cosin距离,若所述cosin距离小于预设阈值且极性与所述目标词语的pmi结果相一致,则将所述目标词语作为所述第一情感词语加入对应预设领域的专有情感词典。

上述优选实施例中可以采用文本深度表示模型(如word2vec)将预处理文本数据中的单词进行表征获得词向量。word2vec是一个将单词转换成向量形式的工具,可以把对文本内容的处理简化为向量空间中的向量运算。而pmi值,即point-wisemutualinformation的简称,在统计中经常被用来检验两个事物的相关程度,其公式为:|

其中,p(x)是x单独出现的概率,而p(x,y)是x和y同时出现的概率。当x和y独立时,pmi值为0,在本发明中即表示预处理文本数据的词语和种子情感词典的情感词语完全不相关;而x和y正相关性越高,pmi值也越大,因此通过计算pmi值,即可获取到预处理文本数据中与种子情感词典的情感词语相关的目标词语。而两个向量的cosin距离即这两个向量之间的夹角,通过cosin距离即可判断目标词语和种子情感词典的情感词语的相似度,当相似度达到预设阈值且极性相同时,则可以将所述目标词语作为所述第一情感词语加入对应预设领域的专有情感词典,形成每个预设领域对应的专有情感词典,从而对输入的待分类文本按领域进行分类,提高了文本分析的准确性。

在另一优选实施例中,所述步骤5具体为:对每个预设领域的初始训练语料进行分词处理生成分词结果,使用分词结果中每个词语的tf-idf值作为特征值训练svm,使用所述种子情感词典的情感词语和所述初始训练语料对应预设领域的专有情感词典的情感词语作为特征训练crf,使用全文本训练双层lstm神经网络,并基于adaboost迭代算法进行训练,组合成每个预设领域对应的强分类器,从而根据用户的输入,将输入文本归为相应类别,即得到由多分类器计算出的情感分析结果,比如积极、消极或者中性。上述优选实施例可以快速训练出每个预设领域对应的分类器,从而通过多分类器对输入的待分类文本按领域进行分类,提高了情感分析的速度。

在其他优选实施例中,还包括步骤7,具体为:分析所述待分类文本的情感分类结果是否正确,若不正确,则将所述待分类文本作为所述初始文本数据,并重复步骤1~步骤5,根据所述待分类文本对对应预设领域的专有情感词典和分类器进行更新。上述优选实施例可以将分类明显错误的数据加入训练语料,从而对该预设领域的专有情感词典和分类器不断修正,进一步提高本发明文本情感分析方法的分类准确性。

图2为本发明实施例2提供的一种基于情感词典学习的文本情感分析系统的结构性示意图,如图2所示,包括预处理模块、聚类模块、第一生成模块、第二生成模块、训练模块和分类模块;

所述预处理模块用于采集用于训练的初始文本数据,并对所述初始文本数据进行规范化处理,生成预处理文本数据;

所述聚类模块用于采取预设的聚类方法,将所述预处理文本数据聚类到预设关键词对应的预设领域;

所述第一生成模块用于将预设的基础情感词典作为种子情感词典,并采用基于所述种子情感词典的情感词语发现方法,获取所述预处理文本数据中的第一情感词语,根据所述第一情感词语形成所述预处理文本数据对应预设领域的专有情感词典;

所述第二生成模块用于对所述专有情感词典进行筛选,从所述专有情感词典的所述第一情感词语中获取符合预设判断规则的第二情感词语,比如获取情感倾向明显且无歧义的词语为第二情感词语,并在所述专有情感词典对应预设领域的预处理文本数据中进行检索,获取包括所述第二情感词语的目标文本数据,将所述目标文本数据作为对应预设领域的初始训练语料;

所述训练模块用于针对不同预设领域,使用每个预设领域的初始训练语料训练出每个预设领域对应的分类器;

所述分类模块用于获取待分类文本,采用所有预设领域分别对应的分类器对所述待分类文本进行分类,生成所述待分类文本的情感分类结果并输出显示。

上述实施例的基于情感词典学习的文本情感分析系统可以建立并不断自动扩充不同领域对应的专有情感词典,不仅避免了全由人工建立产生的成本问题,而且可以将所述专有情感词典和基础情感词典组成联合情感词典,使情感词更加准确和全面;同时通过对情感分析分领域进行处理,且使用多分类器结合的方式对输入文本进行情感分析,可以防止过拟合,使分析结果更加准确。

优选实施例中,上述基于情感词典学习的文本情感分析系统还包括修正模块,所述修正模块用于分析所述待分类文本的情感分类结果是否正确,若不正确,则将所述待分类文本作为所述初始文本数据,并驱动所述预处理模块、所述聚类模块、所述第一生成模块、所述第二生成模块、所述训练模块和所述分类模块,根据所述待分类文本对对应预设领域的专有情感词典和分类器进行更新。上述优选实施例可以将分类明显错误的数据加入训练语料,从而对该预设领域的专有情感词典和分类器不断修正,进一步提高本发明文本情感分析方法的分类准确性。

在另一优选实施例中,所述预处理模块具体用于对所述初始文本数据进行去非文字符号处理和/或分隔符清理;所述聚类模块具体用于采用elasticsearch检索工具将所述预处理文本数据聚类到预设关键词对应的预设领域。

在另一优选实施例中,所述第一生成模块包括:

第一计算单元,用于计算所述预处理文本数据中每个词语的词向量,形成词向量表;

第二计算单元,用于计算所述预处理文本数据中每个词语和所述种子情感词典中情感词语之间的pmi值,获取pmi值非0的目标词语;

判断单元,用于查询所述词向量表,且计算所述目标词语的词向量与情感词语向量中值的cosin距离,若所述cosin距离小于预设阈值且极性与所述目标词语的pmi结果相一致,则将所述目标词语作为所述第一情感词语加入对应预设领域的专有情感词典。

在另一优选实施例中,所述训练模块具体用于对每个预设领域的初始训练语料进行分词处理生成分词结果,使用分词结果中每个词语的tf-idf值作为特征值训练svm,使用所述种子情感词典的情感词语和所述初始训练语料对应预设领域的专有情感词典的情感词语作为特征训练crf,使用全文本训练双层lstm神经网络,并基于adaboost迭代算法进行训练,组合成每个预设领域对应的强分类器。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1