文本情感分析的方法及装置与流程

文档序号:12120978阅读:298来源:国知局
文本情感分析的方法及装置与流程

本发明属于自然语言处理技术领域,尤其涉及一种文本情感分析的方法及装置。



背景技术:

对文本情感数据进行自动化分析一直是人工智能、自然语言处理技术的一个重要研究及应用技术领域,其主要功能是通过自然语言处理技术和情感计算技术,自动分析和学习文本数据中蕴含的情感表达,根据情感表达将句子分为正面、负面和中性三种类别。随着信息技术的不断发展和信息系统应用范围的不断深化,对文本数据进行自动化情感分析是提高企业生产效率和竞争优势的重要技术措施。

目前,语句级文本情感分析相关传统的分析方法多采用同一模型处理同一数据集下的所有句子,忽略了不同句子类别表达情感的差异。近年来,随着互联网和高性能计算的快速发展,尤其是深度学习技术的发展,如何优化已有语句级文本情感分析的方法,越来越引起相关科研工作者的关注。其中一种行之有效的优化方法是采用“分而治之”的策略,先对句子进行分类,然后在不同类别中微调情感分类器,提高分类器的性能。

常见的基于句子类别判断的文本情感分析的方法主要是通过人工抽取、过滤、清洗特定类别的句子,然后在处理好的数据集上进行文本情感分析。常见的句子类别分类包括:主客观句分类、情感目标相关句情感分类、对比较句的情感分类、对否定句的情感分类、对条件句的情感分类以及对反讽句的情感分类。这些都需要人工收集和整理特定句子类别的句子作为有监督情感分类器的训练数据,无法对真实环境下的语句直接进行句子类别判断和情感分析。

对于需要处理大量文本数据的行业而言,采用传统的文本情感分析的方法对文本数据进行情感分类,不仅准确度差,而且工作效率也很低。



技术实现要素:

本发明的目的在于提供一种文本情感分析的方法及装置,旨在提高文本情感分类的效率、准确性和容错性,满足大规模语料处理的需求。

本发明是这样实现的,一种文本情感分析的方法,所述方法包括以下步骤:

步骤S1,获取原始语料,使用带有条件随机场的双向LSTM神经网络对所述原始语料的语句中的情感表达目标进行分析和识别;

步骤S2,统计识别出的所述情感表达目标的数量,根据所述情感表达目标的数量将所述语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;

步骤S3,将所述原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果。

本发明的进一步的技术方案是,所述获取原始语料,使用带有条件随机场的双向LSTM神经网络对所述原始语料的语句中的情感表达目标进行分析和识别的步骤包括:

步骤S101,将所述语句分割成词汇;

步骤S102,将所述词汇输入到带有条件随机场的双向LSTM神经网络,得到BIO序列标记;

步骤S103,统计所述语句对应的BIO序列标记的数量,将不带有BIO序列标记的句子归类为无情感表达目标的句子,将带有一个B标记的句子归类为带有一个情感表达目标的句子,将带有多个B标记的句子归类为带有多个情感表达目标的句子;

其中,B表示情感表达目标开始词,I表示情感表达目标中间词或者结尾词;O表示非情感表达目标词。

本发明的进一步的技术方案是,所述步骤S3还包括以下步骤:

步骤S301,将所述无情感表达目标的句子、带有一个情感表达目标的句子和/或带有多个情感表达目标的句子集合作为训练数据分别输入到三个一维卷积神经网络,对所述一维卷积神经网络进行训练和优化。

本发明的进一步的技术方案是,所述情感表达目标可以为情感表达作用的实体。

本发明的进一步的技术方案是,在所述步骤S3之后还包括:步骤S4,输出所述情感分类结果。

本发明还提供了一种文本情感分析的装置,所述装置包括:预处理模块、情感表达目标分类模块及情感分类模块;

其中,所述预处理模块,用于获取原始语料,使用带有条件随机场的双向LSTM神经网络对所述原始语料的语句中的情感表达目标进行分析和识别;

所述情感表达目标分类模块,用于统计识别出的所述情感表达目标的数量,并根据所述情感表达目标的数量将所述语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;

所述情感分类模块,用于将所述原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果。

本发明的进一步的技术方案是,所述预处理模块还包括分割单元及序列标注预测单元;

其中,所述分割单元用于将所述语句分割成词汇;所述序列标注预测单元用于:

分析所述词汇带有BIO序列标记的数量,将不带有BIO序列标记的句子归类为无情感表达目标的句子,将带有一个B标记的句子归类为带有一个情感表达目标的句子,将带有多个B标记的句子归类为带有多个情感表达目标的句子;

其中,B表示情感表达目标开始词,I表示情感表达目标中间词或者结尾词;O表示非情感表达目标词。

本发明的进一步的技术方案是,所述情感分类模块还用于将所述无情感表达目标的句子、带有一个情感表达目标的句子和/或带有多个情感表达目标的句子集合作为训练数据分别输入到三个一维卷积神经网络,对所述一维卷积神经网络进行训练和优化。

本发明的进一步的技术方案是,所述情感表达目标可以为情感表达作用的实体。

本发明的进一步的技术方案是,所述文本情感分析的装置还包括结果输出模块,所述结果输出模块,用于输出所述情感分类结果。

本发明的有益效果是:本发明提供的文本情感分析的方法及装置,通过上述方案:获取原始语料,使用带有条件随机场的双向LSTM神经网络对所述原始语料的语句中的情感表达目标进行分析和识别;统计识别出的所述情感表达目标的数量,根据所述情感表达目标的数量将所述语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;将所述原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果,提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。

附图说明

图1是本发明文本情感分析的方法第一实施例的流程示意图;

图2是本发明文本情感分析的方法第二实施例的流程示意图;

图3是本发明文本情感分析的方法BIO标记结果示意图;

图4是本发明文本情感分析的方法第三实施例的流程示意图;

图5是本发明文本情感分析的装置第一实施例的功能模块示意图;

图6是本发明文本情感分析的装置第二实施例的功能模块示意图;

图7是本发明文本情感分析的装置第三实施例的功能模块示意图。

附图标记:

预处理模块-10;

情感表达目标分类模块-20;

情感分类模块-30;

分割单元-40

序列标注预测单元-50;

结果输出模块-60。

具体实施方式

本发明实施例的解决方案主要是:获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别;统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果。本发明通过上述方案提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。下面结合实施例对本发明作具体地阐述。

第一实施例:

参照图1,图1是本发明文本情感分析的方法第一实施例的流程示意图;本发明文本情感分析的方法第一实施例包括以下步骤:

步骤S1:获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别。

其中,情感表达目标是情感表达作用的实体或者实体的某个方面。

带有条件随机场的双向LSTM神经网络,简称BiLSTM-CRF序列模型,其结合了基于深度学习的双向LSTM模型和传统的基于贝叶斯概率理论的条件随机场模型。终端获取到原始语料后,使用带有条件随机场的双向LSTM神经网络模型对原始语料的语句中的情感表达目标的分析和识别,提高了对原始语料的语句中的情感表达目标的分析和识别的效率。

步骤S2:统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句。

使用带有条件随机场的双向LSTM神经网络分析和识别出原始语料的语句中的情感表达目标以后,统计识别出的情感表达目标的数量,将情感表达目标的数量作为步骤S3中对情感语句进行分类的依据。

具体地,无情感表达目标的语句中没有情感表达目标,比如祈使句、短局或者省略句等语句,带有一个情感目标的语句中只有一个情感表达目标,这样的语句通常为主谓宾结构的语句,带有多个情感目标的语句通常为拥有多个从句的复杂句、比较句等。

步骤S3:将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果。

一维卷积神经网络是用于自然语言处理领域的一种高效的分类算法,它具有结构简单、训练参数少和适应性强等特点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。

另外,情感分类结果可以分为正面、负面或者中性三种类别中的一种。当然,也可以采用其他方式对情感分类结果进行描述,比如采用积极、消极或者中性等。

本实施例通过上述方案:获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别;统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句输入到一维卷积神经网络中进行情感分类,得到情感分类结果。本发明通过上述方案提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。

第二实施例:

基于图1所述第一实施例的具体描述,本发明文本情感分析的方法第二实施例对上述步骤S1作了进一步的改进,请参照图2,图2是本发明文本情感分析的方法第二实施例对上述步骤S1作了进一步的改进的流程示意图;本实施例与上述实施例的区别是:上述步骤S1,获取原始语料,使用带有条件随机场的双向LSTM神经网络对所述原始语料的语句中的情感表达目标进行分析和识别的步骤包括:

步骤S101,将语句分割成词汇。

步骤S102,将所述词汇输入到带有条件随机场的双向LSTM神经网络,得到BIO序列标记;

步骤S103,统计所述语句对应的BIO序列标记的数量,将不带有BIO序列标记的句子归类为无情感表达目标的句子,将带有一个B标记的句子归类为带有一个情感表达目标的句子,将带有多个B标记的句子归类为带有多个情感表达目标的句子;

BIO序列标记是标示情感表达目标,让计算机能够处理情感表达目标的方法。由于情感表达目标可能是一个很长的短语表达,所以用B表示情感表达目标开始词,I表示情感表达目标中间词或者结尾词;O表示非情感表达目标词。

语句都是由词汇构成的,多个单个的词汇组合在一起,就构成了语句,下面以语句“小明喜欢看书”为例,对本发明进一步作详细的阐述。

终端获取到原始语料中的语句“小明喜欢看书”后,将该语句分割为词汇:“小明喜欢看书”。

将语句“小明喜欢看书”分割成词汇:“小明喜欢看书”后,分将词汇输入到带有条件随机场的双向LSTM神经网络,对神经网络进行训练和优化,分析得到词汇“小明喜欢看书”对应的BIO标记,如图3所示,图3是本发明文本情感分析的方法BIO标记结果示意图,将词汇“小明”标记为“O”,将词汇“喜欢”标记为“O”,将词汇“看”标记为“B”,将词汇“书”标记为“I”。其中,情感表达目标“看”“书”为情感表达作用的实体。

对神经网络进行训练时,首先将数据按照一定比例分成训练集、验证集和测试集,其中比例可以为8:1:1或者6:2:2,然后将训练集、验证集和测试集转换为神经网络可以识别的数值向量表示形式,将训练集和验证集的向量表达形式输入到神经网络中,神经网络中的各层网络逐层计算训练误差,将误差结果反向传递给神经网络的输入层,对神经网络的各层网络参数进行逐层调节。训练几个周期后,神经网络在验证集上计算误差,当验证集上的误差足够小或者训练周期足够长的时候(最小训练误差和最长训练误差这两个阈值由人工根据经验值设定),训练结束,最后将测试集的向量表达形式输入到训练好的神经网络中,得到测试结果。

神经网络的优化与神经网络的训练是同步的,神经网络的优化的方法主要有随机梯度下降法SGD、Adagrad、Adadelta等。本实施例中,带有条件随机场的双向LSTM神经网络使用的是随机梯度下降法SGD、学习效率可以设定为0.005,当然,具体实施时,也可以采用其他优化方法,学习率也可以根据经验设定为其他值。

本实施例仅对上述步骤S1的进一步改进:上述步骤S101、步骤S102,进行具体描述,有关本发明文本情感分析的方法的其他步骤请参照相关实施例的具体描述,在此不再赘述。

根据情感表达目标识别结果,语句“小明喜欢看书”中只有一个情感表达目标:“看书”,因此将待分类句子划分为:带有一个情感表达目标的句子,将该语句“小明喜欢看书”输入到专门针对一个情感表达目标的语句的一维卷积神经网络中进行情感分类,得到分类结果:正面情感。

另外,在将带有一个情感表达目标的语句“小明喜欢看书”输入到专门针对一个情感表达目标的语句的一维卷积神经网络中进行情感分类的同时,与其他无情感表达目标的语句和/或带有多个情感表达目标的语句集合作为训练数据输入到一维卷积神经网络,针对不同的句子类别对一维卷积神经网络进行训练和优化。

一维卷积神经网络的训练和优化方法与上述LSTM的训练与优化方法相类似,区别在于本实施例中一维卷积神经网络使用的优化方法采用了Adadelta方法,学习率参数设定为0.95,当然一维卷积神经网络的训练和优化方法也可以采用其他方法,学习率参数也可以根据经验设定为其他值,这里不再穷举。

第三实施例:

基于图1所述第一实施例的具体描述,如4所示,图4是本发明文本情感分析的方法第三实施例的流程示意图,本实施例在上述步骤S3,将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句输入到一维卷积神经网络中进行情感分类,得到情感分类结果的步骤之后,还包括步骤S4:输出情感分类结果。

对语句“小明喜欢看书”进行情感分类并得到分类结果为正面情感后,可以通过显示界面输出,以可视化方法将分类结果呈现给用户,也可以通过无线网络发送至网络终端等多种输出方式。

综上所述,本发明通过上述方案:获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别;统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句输入到一维卷积神经网络中进行情感分类,得到情感分类结果,提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。

基于上述文本情感分析的方法,本发明还提供了一种文本情感分析的装置。下面结合实施例对本发明作具体地阐述。

第一实施例:

如图5所示,图5是本发明文本情感分析的装置第一实施例的功能模块图,该装置包括:预处理模块10、情感表达目标分类模块20及情感分类模块30。其中:

预处理模块10用于获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别。

其中,情感表达目标是情感表达作用的实体或者实体的某个方面。

带有条件随机场的双向LSTM神经网络,简称BiLSTM-CRF序列模型,结合了深度学习网络模型双向LSTM和传统的基于贝页斯概率理论的条件随机场模型。终端获取到原始语料后,使用带有条件随机场的双向LSTM神经网络模型对原始语料的语句中的情感表达目标的分析和识别,提高了对原始语料的语句中的情感表达目标的分析和识别的效率。

情感表达目标分类模块20用于统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;

使用带有条件随机场的双向LSTM神经网络分析和识别出原始语料的语句中的情感表达目标以后,统计识别出的情感表达目标的数量,将情感表达目标的数量作为将情感语句进行分类的依据。

具体地,无情感表达目标的语句中没有情感表达目标,比如祈使句、短局或者省略句等语句,带有一个情感目标的语句中只有一个情感表达目标,这样的语句通常为主谓宾结构的语句,带有多个情感目标的语句通常为多个从句的复杂句、比较句等。

情感分类模块30用于将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句输入到一维卷积神经网络中进行情感分类,得到情感分类结果。

其中,情感分类结果可以分为正面、负面或者中性三种类别中的一种。当然,也可以采用其他方式对情感分类结果进行描述,比如采用积极、消极或者中性等词语进行描述。

本实施例通过上述方案:预处理模块10获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别;情感表达目标分类模块20统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;情感分类模块30将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句分别输入到三个一维卷积神经网络中进行情感分类,得到情感分类结果。本发明通过上述方案提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。

第二实施例:

基于图5所述第一实施例的具体描述,如图6所示,本发明文本情感分析的装置第二实施例对上述第一实施例作了进一步的改进,在本实施例中,预设模块包括分割单元40及序列标注预测单元50。

其中,分割单元40用于将语句分割成词汇。

序列标注预测单元50用于分析词汇对应的BIO序列标记的数量,将不带有BIO序列标记的句子归类为无情感表达目标的句子,将带有一个B标记的句子归类为带有一个情感表达目标的句子,将带有多个B标记的句子归类为带有多个情感表达目标的句子;

对神经网络进行训练时,首先将数据按照一定比例分成训练集、验证集和测试集,其中比例可以为8:1:1或者6:2:2,然后将训练集、验证集和测试集转换为神经网络可以识别的数值向量表示形式,将训练集和验证集的向量表达形式输入到神经网络中,神经网络中的各层网络逐层计算训练误差,将误差结果反向传递给神经网络的输入层,对神经网络的各层网络参数进行逐层调节。训练几个周期后,神经网络在验证集上计算误差,当验证集上的误差足够小或者训练周期足够长的时候(最小训练误差和最长训练误差这两个阈值由人工根据经验值设定),训练结束,最后将测试集的向量表达形式输入到训练好的神经网络中,得到测试结果。

神经网络的优化与神经网络的训练是同步的,神经网络的优化的方法主要有随机梯度下降法SGD、Adagrad、Adadelta等。本实施例中,带有条件随机场的双向LSTM神经网络使用的是随机梯度下降法SGD、学习效率可以设定为0.005,当然,具体实施时,也可以采用其他优化方法,学习率也可以根据经验设定为其他值。

BIO序列标记是标示情感表达目标,让计算机能够处理情感表达目标的方法。由于情感表达目标可能是一个很长的短语表达,所以用B表示情感表达目标开始词,I表示情感表达目标中间词或者结尾词;O表示非情感表达目标词。

语句都是由词汇构成的,多个单个的词汇组合在一起,就构成了语句,下面以语句“小明喜欢看书”为例,对本发明进一步作详细的阐述。

终端获取到原始语料中的语句“小明喜欢看书”后,分割单元40将该语句分割为词汇:“小明喜欢看书”。

分割单元40将语句“小明喜欢看书”分割成词汇:“小明喜欢看书”后,序列标注预测单元50分析词汇中BIO序列标记的数量,将不带有BIO序列标记的句子归类为无情感表达目标的句子,将带有一个B标记的句子归类为带有一个情感表达目标的句子,将带有多个B标记的句子归类为带有多个情感表达目标的句子;如图3所示,序列标注预测单元50将词汇“小明”标记为“O”,将词汇“喜欢”标记为“O”,将词汇“看”标记为“B”,将词汇“书”标记为“I”。其中,情感表达目标“看”“书”为情感表达作用的实体。

根据情感表达目标识别结果,语句“小明喜欢看书”中只有一个情感表达目标:“看书”,因此,情感表达目标分类模块20将该待分类句子划分为:带有一个情感表达目标的句子,将该语句“小明喜欢看书”输入到专门针对一个情感表达目标的语句的一维卷积神经网络中通过情感分类模块30进行情感分类,得到分类结果:正面情感。

一维卷积神经网络是用于自然语言处理领域的一种高效的分类算法,它具有结构简单、训练参数少和适应性强等特点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。

另外,在将带有一个情感表达目标的语句“小明喜欢看书”输入到专门针对一个情感表达目标的语句的一维卷积神经网络中进行情感分类的同时,与其他无情感表达目标的语句和/或带有多个情感表达目标的语句集合作为训练数据输入到一维卷积神经网络,针对不同的句子类别对一维卷积神经网络进行训练和优化。

一维卷积神经网络的训练和优化方法与上述LSTM的训练与优化方法相类似,区别在于本实施例中一维卷积神经网络使用的优化方法采用了Adadelta方法,学习率参数设定为0.95,当然一维卷积神经网络的训练和优化方法也可以采用其他方法,学习率参数也可以根据经验设定为其他值,这里不再穷举。

第三实施例:

基于图5所述第一实施例及图6所述的第二实施例的具体描述,如7所示,图7是本发明文本情感分析的装置第三实施例的功能模块示意图,本实施例中,本发明文本情感分析的装置还包括结果输出模块60,该结果输出模块60用于将情感分类结果输出给用户。

情感分类模块30对语句“小明喜欢看书”进行情感分类并得到分类结果为正面情感后,可以通过显示界面输出,以可视化方法将分类结果呈现给用户,也可以通过无线网络发送至网络终端等多种输出方式输出给用户。

综上所述,本发明通过上述方案:预处理模块10获取原始语料,使用带有条件随机场的双向LSTM神经网络对原始语料的语句中的情感表达目标进行分析和识别;情感表达目标分类模块20统计识别出的情感表达目标的数量,并根据情感表达目标的数量将语句判断为无情感表达目标的语句、带有一个情感表达目标的语句或带有多个情感表达目标的语句;情感分类模块30将原始语料中的无情感表达目标的语句、带有一个情感表达目标的语句和/或带有多个情感表达目标的语句输入到一维卷积神经网络中进行情感分类,得到情感分类结果,提高了文本情感分类的效率、准确性和容错性,满足了大规模语料处理的需求。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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