CN108733644A - 一种文本情感分析方法、计算机可读存储介质及终端设备 - Google Patents
一种文本情感分析方法、计算机可读存储介质及终端设备 Download PDFInfo
- Publication number
- CN108733644A CN108733644A CN201810309676.7A CN201810309676A CN108733644A CN 108733644 A CN108733644 A CN 108733644A CN 201810309676 A CN201810309676 A CN 201810309676A CN 108733644 A CN108733644 A CN 108733644A
- Authority
- CN
- China
- Prior art keywords
- text
- vector
- emotion
- input
- participle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机技术领域,尤其涉及一种文本情感分析方法、计算机可读存储介质及终端设备。所述方法对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种文本情感分析方法、计算机可读存储介质及终端设备。
背景技术
文本情感分析是指根据文本所表达的含义和情感信息将文本分为正面或负面的两种或多种情感类型的技术。目前的文本情感分析方法主要是统计文本中代表不同情感的形容词的数量,并对此进行一个定量分析,这种方法对只包含单一情感主体的语句文本进行情感分析时准确率较高,但在对包含多个情感主体的语句文本进行情感分析时,则难以反映多个情感主体的复杂情感,例如,某一语句文本为“A公司销售业绩大幅超越B公司”,其中,共包含了两个情感主体,分别为“A公司”和“B公司”,对于情感主体“A公司”而言,该语句文本应为正面情感类型,但是对于情感主体“B公司”而言,该语句文本却为负面情感类型,而目前的文本情感分析方法所得到的分析结果是与情感主体无关的,只能得到一个唯一的不区分情感主体的情感类型。
发明内容
有鉴于此,本发明实施例提供了一种文本情感分析方法、计算机可读存储介质及终端设备,以解决目前的文本情感分析方法难以反映多个情感主体的复杂情感的问题。
本发明实施例的第一方面提供了一种文本情感分析方法,可以包括:
对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
本发明实施例的第三方面提供了一种文本情感分析终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词,然后在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,再从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体,最后将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型。与现有技术相比,本发明实施例中除了考虑整体的语句文本外,还将情感主体的列向量作为了一个单独的输入,通过神经网络模型的处理,得到的是所述情感主体在所述语句文本中的情感类型,也即将情感主体的选择作为了影响最终的情感类型的一个决定条件,这样,在对包含多个情感主体的语句文本进行情感分析时,通过对不同的情感主体的选择,可以得到与之对应的情感类型,极好地反映出多个情感主体的复杂情感。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中一种文本情感分析方法的一个实施例流程图;
图2为本发明实施例中在词向量数据库中查找当前分词的列向量的示意流程图;
图3为本发明实施例中文本情感分析神经网络模型的数据处理过程的示意流程图;
图4为本发明实施例中文本情感分析神经网络模型的训练过程的示意流程图;
图5为本发明实施例中一种文本情感分析装置的一个实施例结构图;
图6为本发明实施例中一种文本情感分析终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种文本情感分析方法的一个实施例可以包括:
步骤S101,对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词。
切词处理是指将一个语句文本切分成一个一个单独的词,也即各个所述分词,在本实施例中,可以根据通用词典对语句文本进行切分,保证分出的词语都是正常词汇,如词语不在词典内则分出单字。当前后方向都可以成词时,例如“要求神”,会根据统计词频的大小划分,如“要求”词频高则分出“要求/神”,如“求神”词频高则分出“要/求神”。
在拆分出每个分词后,如考虑二元组合词的话,则可将邻近的单词两两组合,增加“庆祝大会”,“大会顺利”,“顺利闭幕”等二元组合词语。优选地,还可以再根据词频对这些二元组合词进行筛选。具体地,预先设置一个筛选的频率阈值,获取各个二元组合词出现的频率,若某个二元组合词出现的频率大于或等于该频率阈值,则保留该二元组合词,若某个二元组合词出现的频率小于该频率阈值,则剔除掉该二元组合词,也即将其视为两个独立的一元词。若我们设定的频率阈值为5,则剔除所有出现次数在5以下的二元组合词。
步骤S102,在预设的词向量数据库中分别查找各个所述分词的列向量。
所述词向量数据库为记录词语与列向量之间的对应关系的数据库。所述列向量可以是根据word2vec模型训练词语所得到对应的词向量。即根据词语的上下文信息来表示该词出现的概率。词向量的训练依然按照word2vec的思想,先将每个词表示成一个0-1向量(one-hot)形式,再用词向量进行word2vec模型训练,用n-1个词来预测第n个词,神经网络模型预测后得到的中间过程作为词向量。具体地,如“庆祝”的one-hot向量假设定为[1,0,0,0,……,0],“大会”的one-hot向量为[0,1,0,0,……,0],“顺利”的one-hot向量为[0,0,1,0,……,0],预测“闭幕”的向量[0,0,0,1,……,0],模型经过训练会生成隐藏层的系数矩阵W,每个词的one-hot向量和系数矩阵的乘积为该词的词向量,最后的形式将是类似于“庆祝[-0.28,0.34,-0.02,…...,0.92]”这样的一个多维向量。
在本实施例中,所述词向量数据库可以为K级树状分片存储结构,则步骤S102可以包括如图2所示的步骤:
步骤S1021,使用多个相互独立的哈希函数对当前分词进行哈希运算。
所述当前分词为任意一个所述分词。
具体地,可以根据下式分别使用K个相互独立的哈希函数对当前分词进行哈希运算:
HashKeyk=HASHk(BasicWord)
其中,BasicWord为所述当前分词,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数。
步骤S1022,计算所述当前分词所属的各级存储分片的序号。
具体地,可以根据下式计算所述当前分词所属的第k级存储分片的序号:
其中,MaxHashKeyk为哈希函数HASHk的最大取值,FragNumk为第k级子树的存储分片的数目,Ceil为向上取整函数,Floor为向下取整函数,WordRoute为记录存储路径的数组,WordRoute[k-1]为所述当前分词所属的第k级分片的序号,且为WordRoute的第k个元素。
步骤S1023,在记录的存储路径下查找所述当前分词的列向量。
具体地,即在数组WordRoute所记录的存储路径下查找所述当前分词的列向量。例如,若数组WordRoute=[1,2,1,3,5],则存储路径为:第1级子树序号为1的存储分片—>第2级子树序号为2的存储分片—>第3级子树序号为1的存储分片—>第4级子树序号为3的存储分片—>第5级子树序号为5的存储分片,在该存储路径下查找所述当前分词的列向量。
步骤S103,将各个所述分词的列向量组成输入矩阵。
其中,所述输入矩阵的每一列均对应一个列向量,即第一个分词的列向量组成所示输入矩阵的第一列,第二个分词的列向量组成所示输入矩阵的第二列,……,第N个分词的列向量组成所示输入矩阵的第N列。N为所述分词的数目。
步骤S104,从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体。
例如,某一语句文本为“A公司销售业绩大幅超越B公司”,其中,共有两个情感主体可供选择,分别为“A公司”和“B公司”,若当前想要分析“A公司”在所述语句文本中的情感类型,即所述分析对象为“A公司”,则选取“A公司”作为文本情感分析的情感主体,若当前想要分析“B公司”在所述语句文本中的情感类型,即所述分析对象为“B公司”,则选取“B公司”作为文本情感分析的情感主体。
步骤S105,将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型。
所述输入向量为所述情感主体的列向量。
所述文本情感分析神经网络模型的数据处理过程可以包括如图3所示的步骤:
步骤S1051,计算所述输入矩阵和所述输入向量之间的耦合向量。
具体地,可以根据下式计算所述输入矩阵和所述输入向量之间的耦合向量:
CoupVec=(CoupFactor1,CoupFactor2,......,CoupFactorn,......,CoupFactorN)T,
其中,1≤n≤N,N为所述输入矩阵的列数,T为转置符号,
WordVecn为所述输入矩阵的第n列,MainVec为所述输入向量,WeightMatrix、WeightMatrix′均为预设的权值矩阵,CoupVec为所述耦合向量。
步骤S1052,计算所述语句文本的复合向量。
具体地,可以根据下式计算所述语句文本的复合向量:
CompVec=WordMatrix*CoupVec,
其中,CompVec为所述复合向量,WordMatrix为所述输入矩阵,
且WordMatrix=(WordVec1,WordVec2,......,WordVecn,......,WordVecN)。
步骤S1053,分别计算各个情感类型的概率值。
具体地,可以根据下式分别计算各个情感类型的概率值:
其中,1≤m≤M,M为情感类型的个数,WeightMatrixm为预设的与第m个情感类型对应的权值矩阵,Probm为第m个情感类型的概率值。
具体的情感类型分类可以根据实际情况设置,例如可以将其分为正面情感类型和负面情感类型两类,也可以将其分为正面情感类型、负面情感类型和中性情感类型三类,还可以将其分为更多的类型。
步骤S1054,将概率值最大的情感类型确定为所述情感主体在所述语句文本中的情感类型。
优选地,所述文本情感分析神经网络模型的训练过程可以包括如图4所示的步骤:
步骤S401,选取预设数目的训练样本。
每个样本包括一个输入矩阵、一个输入向量和一个预期输出情感类型。
优选地,可以以训练样本对的形式成对选取训练样本,每个训练样本对包括两个训练样本,同一训练样本对中的两个训练样本的输入矩阵相同,为同一语句文本的各个分词的列向量所组成的矩阵,同一训练样本对中的两个训练样本的输入向量不同,分别为同一语句文本的两个不同情感主体的列向量,同一训练样本对中的两个训练样本的预期输出情感类型不同,一个为正面情感类型,另一个为负面情感类型。
步骤S402,将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理。
具体的处理过程与步骤S105类似,具体可参照步骤S105中的说明,在此不再赘述。
步骤S403,计算本轮训练的全局误差。
具体的,可以根据下式计算本轮训练的全局误差:
其中,CalcProbl,m为第m个情感类型在第l个训练样本中的概率值,ExpProbl,m为第m个情感类型在第l个训练样本中的预期概率值,
且ExpSeq为第l个训练样本的预期输出情感类型的序号,1≤l≤L,L为所述训练样本的数目,1≤m≤M,M为情感类型的个数,ln为自然对数函数,LOSSl为第l个训练样本的训练误差,LOSS为所述全局误差。
步骤S404,判断所述全局误差是否小于预设的误差阈值。
若所述全局误差大于或等于所述误差阈值,则执行步骤S405,若所述全局误差小于所述误差阈值,则执行步骤S406。
步骤S405,对所述文本情感分析神经网络模型的参数进行调整。
具体调整的参数可以包括上述的WeightMatrix、WeightMatrix′、WeightMatrixm等参数。在完成参数调整后,返回执行步骤S402,直至所述全局误差小于所述误差阈值为止。
步骤S405,结束训练。
当所述全局误差小于所述误差阈值时,即说明所述文本情感分析神经网络模型已经达到了预期的分析精度,此时可结束对其的训练过程,使用其进行实际的文本情感分析。
综上所述,本发明实施例首先对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词,然后在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,再从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体,最后将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型。与现有技术相比,本发明实施例中除了考虑整体的语句文本外,还将情感主体的列向量作为了一个单独的输入,通过神经网络模型的处理,得到的是所述情感主体在所述语句文本中的情感类型,也即将情感主体的选择作为了影响最终的情感类型的一个决定条件,这样,在对包含多个情感主体的语句文本进行情感分析时,通过对不同的情感主体的选择,可以得到与之对应的情感类型,极好地反映出多个情感主体的复杂情感。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种文本情感分析方法,图5示出了本发明实施例提供的一种文本情感分析装置的一个实施例结构图。
本实施例中,一种文本情感分析装置可以包括:
文本切词模块501,用于对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
列向量查找模块502,用于在预设的词向量数据库中分别查找各个所述分词的列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
输入矩阵组成模块503,用于将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量;
情感主体选取模块504,用于从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
文本情感分析模块505,用于将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
进一步地,所述文本情感分析模块可以包括:
耦合向量计算单元,用于根据下式计算所述输入矩阵和所述输入向量之间的耦合向量:
CoupVec=(CoupFactor1,CoupFactor2,......,CoupFactorn,......,CoupFactorN)T,
其中,1≤n≤N,N为所述输入矩阵的列数,T为转置符号,
WordVecn为所述输入矩阵的第n列,MainVec为所述输入向量,WeightMatrix、WeightMatrix′均为预设的权值矩阵,CoupVec为所述耦合向量;
复合向量计算单元,用于根据下式计算所述语句文本的复合向量:
CompVec=WordMatrix*CoupVec,
其中,CompVec为所述复合向量,WordMatrix为所述输入矩阵,且WordMatrix=(WordVec1,WordVec2,......,WordVecn,......,WordVecN);
情感类型概率值计算单元,用于根据下式分别计算各个情感类型的概率值:
其中,1≤m≤M,M为情感类型的个数,WeightMatrixm为预设的与第m个情感类型对应的权值矩阵,Probm为第m个情感类型的概率值;
情感类型确定单元,用于将概率值最大的情感类型确定为所述情感主体在所述语句文本中的情感类型。
进一步地,所述文本情感分析装置还可以包括:
训练样本选取模块,用于选取预设数目的训练样本,每个样本包括一个输入矩阵、一个输入向量和一个预期输出情感类型;
全局误差计算模块,用于将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理,并根据下式计算本轮训练的全局误差:
其中,CalcProbl,m为第m个情感类型在第l个训练样本中的概率值,ExpProbl,m为第m个情感类型在第l个训练样本中的预期概率值,且ExpSeq为第l个训练样本的预期输出情感类型的序号,1≤l≤L,L为所述训练样本的数目,1≤m≤M,M为情感类型的个数,ln为自然对数函数,LOSSl为第l个训练样本的训练误差,LOSS为所述全局误差;
参数调整模块,用于若所述全局误差大于或等于预设的误差阈值,则对所述文本情感分析神经网络模型的参数进行调整;
结束训练模块,用于若所述全局误差小于所述误差阈值,则结束训练。
进一步地,所述训练样本选取模块可以包括:
第一选取单元,用于以训练样本对的形式成对选取训练样本,每个训练样本对包括两个训练样本,同一训练样本对中的两个训练样本的输入矩阵相同,为同一语句文本的各个分词的列向量所组成的矩阵,同一训练样本对中的两个训练样本的输入向量不同,分别为同一语句文本的两个不同情感主体的列向量,同一训练样本对中的两个训练样本的预期输出情感类型不同,一个为正面情感类型,另一个为负面情感类型。
进一步地,所述列向量查找模块可以包括:
哈希运算单元,用于根据下式分别使用K个相互独立的哈希函数对当前分词进行哈希运算,所述当前分词为任意一个所述分词:
HashKeyk=HASHk(BasicWord)
其中,BasicWord为所述当前分词,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数;
存储分片序号计算单元,用于根据下式计算所述当前分词所属的第k级存储分片的序号:
其中,MaxHashKeyk为哈希函数HASHk的最大取值,FragNumk为第k级子树的存储分片的数目,Ceil为向上取整函数,Floor为向下取整函数,WordRoute为记录存储路径的数组,WordRoute[k-1]为所述当前分词所属的第k级分片的序号,且为WordRoute的第k个元素;
列向量查找单元,用于在数组WordRoute所记录的存储路径下查找所述当前分词的列向量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图6示出了本发明实施例提供的一种文本情感分析终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述文本情感分析终端设备6可以是手机、平板电脑、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该文本情感分析终端设备6可包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机可读指令62,例如执行上述的文本情感分析方法的计算机可读指令。所述处理器60执行所述计算机可读指令62时实现上述各个文本情感分析方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器60执行所述计算机可读指令62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至505的功能。
示例性的,所述计算机可读指令62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令62在所述文本情感分析终端设备6中的执行过程。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述文本情感分析终端设备6的内部存储单元,例如文本情感分析终端设备6的硬盘或内存。所述存储器61也可以是所述文本情感分析终端设备6的外部存储设备,例如所述文本情感分析终端设备6上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述文本情感分析终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机可读指令以及所述文本情感分析终端设备6所需的其它指令和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种文本情感分析方法,其特征在于,包括:
对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
2.根据权利要求1所述的文本情感分析方法,其特征在于,所述文本情感分析神经网络模型的数据处理过程包括:
根据下式计算所述输入矩阵和所述输入向量之间的耦合向量:
CoupVec=(CoupFactor1,CoupFactor2,......,CoupFactorn,......,CoupFactorN)T,
其中,1≤n≤N,N为所述输入矩阵的列数,T为转置符号,
WordVecn为所述输入矩阵的第n列,MainVec为所述输入向量,WeightMatrix、WeightMatrix′均为预设的权值矩阵,CoupVec为所述耦合向量;
根据下式计算所述语句文本的复合向量:
CompVec=WordMatrix*CoupVec,
其中,CompVec为所述复合向量,WordMatrix为所述输入矩阵,且WordMatrix=(WordVec1,WordVec2,......,WordVecn,......,WordVecN);
根据下式分别计算各个情感类型的概率值:
其中,1≤m≤M,M为情感类型的个数,WeightMatrixm为预设的与第m个情感类型对应的权值矩阵,Probm为第m个情感类型的概率值;
将概率值最大的情感类型确定为所述情感主体在所述语句文本中的情感类型。
3.根据权利要求1所述的文本情感分析方法,其特征在于,所述文本情感分析神经网络模型的训练过程包括:
选取预设数目的训练样本,每个样本包括一个输入矩阵、一个输入向量和一个预期输出情感类型;
将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理,并根据下式计算本轮训练的全局误差:
其中,CalcProbl,m为第m个情感类型在第l个训练样本中的概率值,ExpProbl,m为第m个情感类型在第l个训练样本中的预期概率值,且ExpSeq为第l个训练样本的预期输出情感类型的序号,1≤l≤L,L为所述训练样本的数目,1≤m≤M,M为情感类型的个数,ln为自然对数函数,LOSSl为第l个训练样本的训练误差,LOSS为所述全局误差;
若所述全局误差大于或等于预设的误差阈值,则对所述文本情感分析神经网络模型的参数进行调整,并返回执行所述将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理的步骤,直至所述全局误差小于所述误差阈值为止;
若所述全局误差小于所述误差阈值,则结束训练。
4.根据权利要求3所述的文本情感分析方法,其特征在于,所述选取预设数目的训练样本包括:
以训练样本对的形式成对选取训练样本,每个训练样本对包括两个训练样本,同一训练样本对中的两个训练样本的输入矩阵相同,为同一语句文本的各个分词的列向量所组成的矩阵,同一训练样本对中的两个训练样本的输入向量不同,分别为同一语句文本的两个不同情感主体的列向量,同一训练样本对中的两个训练样本的预期输出情感类型不同,一个为正面情感类型,另一个为负面情感类型。
5.根据权利要求1至4中任一项所述的文本情感分析方法,其特征在于,所述词向量数据库为K级树状分片存储结构,所述在预设的词向量数据库中分别查找各个所述分词的列向量包括:
根据下式分别使用K个相互独立的哈希函数对当前分词进行哈希运算,所述当前分词为任意一个所述分词:
HashKeyk=HASHk(BasicWord)
其中,BasicWord为所述当前分词,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数;
根据下式计算所述当前分词所属的第k级存储分片的序号:
其中,MaxHashKeyk为哈希函数HASHk的最大取值,FragNumk为第k级子树的存储分片的数目,Ceil为向上取整函数,Floor为向下取整函数,WordRoute为记录存储路径的数组,WordRoute[k-1]为所述当前分词所属的第k级分片的序号,且为WordRoute的第k个元素;
在数组WordRoute所记录的存储路径下查找所述当前分词的列向量。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的文本情感分析方法的步骤。
7.一种文本情感分析终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
对待分析的语句文本进行切词处理,得到构成所述语句文本的各个分词;
在预设的词向量数据库中分别查找各个所述分词的列向量,并将各个所述分词的列向量组成输入矩阵,其中,所述输入矩阵的每一列均对应一个列向量,所述词向量数据库为记录词语与列向量之间的对应关系的数据库;
从所述语句文本中选取一个与预设的分析对象对应的分词作为文本情感分析的情感主体;
将所述输入矩阵和输入向量输入到预设的文本情感分析神经网络模型中,得到所述情感主体在所述语句文本中的情感类型,所述输入向量为所述情感主体的列向量。
8.根据权利要求7所述的文本情感分析终端设备,其特征在于,所述文本情感分析神经网络模型的数据处理过程包括:
根据下式计算所述输入矩阵和所述输入向量之间的耦合向量:
CoupVec=(CoupFactor1,CoupFactor2,......,CoupFactorn,......,CoupFactorN)T,
其中,1≤n≤N,N为所述输入矩阵的列数,T为转置符号,
WordVecn为所述输入矩阵的第n列,MainVec为所述输入向量,WeightMatrix、WeightMatrix′均为预设的权值矩阵,CoupVec为所述耦合向量;
根据下式计算所述语句文本的复合向量:
CompVec=WordMatrix*CoupVec,
其中,CompVec为所述复合向量,WordMatrix为所述输入矩阵,且WordMatrix=(WordVec1,WordVec2,......,WordVecn,......,WordVecN);
根据下式分别计算各个情感类型的概率值:
其中,1≤m≤M,M为情感类型的个数,WeightMatrixm为预设的与第m个情感类型对应的权值矩阵,Probm为第m个情感类型的概率值;
将概率值最大的情感类型确定为所述情感主体在所述语句文本中的情感类型。
9.根据权利要求7所述的文本情感分析终端设备,其特征在于,所述文本情感分析神经网络模型的训练过程包括:
选取预设数目的训练样本,每个样本包括一个输入矩阵、一个输入向量和一个预期输出情感类型;
将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理,并根据下式计算本轮训练的全局误差:
其中,CalcProbl,m为第m个情感类型在第l个训练样本中的概率值,ExpProbl,m为第m个情感类型在第l个训练样本中的预期概率值,且ExpSeq为第l个训练样本的预期输出情感类型的序号,1≤l≤L,L为所述训练样本的数目,1≤m≤M,M为情感类型的个数,ln为自然对数函数,LOSSl为第l个训练样本的训练误差,LOSS为所述全局误差;
若所述全局误差大于或等于预设的误差阈值,则对所述文本情感分析神经网络模型的参数进行调整,并返回执行所述将各个所述训练样本分别输入到所述文本情感分析神经网络模型中进行处理的步骤,直至所述全局误差小于所述误差阈值为止;
若所述全局误差小于所述误差阈值,则结束训练。
10.根据权利要求7至9中任一项所述的文本情感分析终端设备,其特征在于,所述词向量数据库为K级树状分片存储结构,所述在预设的词向量数据库中分别查找各个所述分词的列向量包括:
根据下式分别使用K个相互独立的哈希函数对当前分词进行哈希运算,所述当前分词为任意一个所述分词:
HashKeyk=HASHk(BasicWord)
其中,BasicWord为所述当前分词,HASHk为序号为k的哈希函数,HashKeyk为运算得到的序号为k的哈希值,1≤k≤K,K为大于1的整数;
根据下式计算所述当前分词所属的第k级存储分片的序号:
其中,MaxHashKeyk为哈希函数HASHk的最大取值,FragNumk为第k级子树的存储分片的数目,Ceil为向上取整函数,Floor为向下取整函数,WordRoute为记录存储路径的数组,WordRoute[k-1]为所述当前分词所属的第k级分片的序号,且为WordRoute的第k个元素;
在数组WordRoute所记录的存储路径下查找所述当前分词的列向量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810309676.7A CN108733644B (zh) | 2018-04-09 | 2018-04-09 | 一种文本情感分析方法、计算机可读存储介质及终端设备 |
PCT/CN2018/093344 WO2019196208A1 (zh) | 2018-04-09 | 2018-06-28 | 文本情感分析方法、可读存储介质、终端设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810309676.7A CN108733644B (zh) | 2018-04-09 | 2018-04-09 | 一种文本情感分析方法、计算机可读存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733644A true CN108733644A (zh) | 2018-11-02 |
CN108733644B CN108733644B (zh) | 2019-07-19 |
Family
ID=63941208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810309676.7A Active CN108733644B (zh) | 2018-04-09 | 2018-04-09 | 一种文本情感分析方法、计算机可读存储介质及终端设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108733644B (zh) |
WO (1) | WO2019196208A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390002A (zh) * | 2019-06-18 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 通话资源配置方法、装置、计算机可读存储介质及服务器 |
CN110717022A (zh) * | 2019-09-18 | 2020-01-21 | 平安科技(深圳)有限公司 | 一种机器人对话生成方法、装置、可读存储介质及机器人 |
CN111191438A (zh) * | 2019-12-30 | 2020-05-22 | 北京百分点信息科技有限公司 | 一种情感分析方法、装置和电子设备 |
CN112214576A (zh) * | 2020-09-10 | 2021-01-12 | 深圳价值在线信息科技股份有限公司 | 舆情分析方法、装置、终端设备及计算机可读存储介质 |
CN112445898A (zh) * | 2019-08-16 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 对话情感分析方法及装置、存储介质及处理器 |
CN112818681A (zh) * | 2020-12-31 | 2021-05-18 | 北京知因智慧科技有限公司 | 文本情感分析方法、***及电子设备 |
US11748573B2 (en) | 2019-12-16 | 2023-09-05 | Tata Consultancy Services Limited | System and method to quantify subject-specific sentiment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469145A (zh) * | 2016-09-30 | 2017-03-01 | 中科鼎富(北京)科技发展有限公司 | 文本情感分析方法及装置 |
CN106776581A (zh) * | 2017-02-21 | 2017-05-31 | 浙江工商大学 | 基于深度学习的主观性文本情感分析方法 |
CN106844330A (zh) * | 2016-11-15 | 2017-06-13 | 平安科技(深圳)有限公司 | 文章情感的分析方法和装置 |
CN107066449A (zh) * | 2017-05-09 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
-
2018
- 2018-04-09 CN CN201810309676.7A patent/CN108733644B/zh active Active
- 2018-06-28 WO PCT/CN2018/093344 patent/WO2019196208A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469145A (zh) * | 2016-09-30 | 2017-03-01 | 中科鼎富(北京)科技发展有限公司 | 文本情感分析方法及装置 |
CN106844330A (zh) * | 2016-11-15 | 2017-06-13 | 平安科技(深圳)有限公司 | 文章情感的分析方法和装置 |
CN106776581A (zh) * | 2017-02-21 | 2017-05-31 | 浙江工商大学 | 基于深度学习的主观性文本情感分析方法 |
CN107066449A (zh) * | 2017-05-09 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390002A (zh) * | 2019-06-18 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 通话资源配置方法、装置、计算机可读存储介质及服务器 |
CN112445898A (zh) * | 2019-08-16 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 对话情感分析方法及装置、存储介质及处理器 |
CN110717022A (zh) * | 2019-09-18 | 2020-01-21 | 平安科技(深圳)有限公司 | 一种机器人对话生成方法、装置、可读存储介质及机器人 |
US11748573B2 (en) | 2019-12-16 | 2023-09-05 | Tata Consultancy Services Limited | System and method to quantify subject-specific sentiment |
CN111191438A (zh) * | 2019-12-30 | 2020-05-22 | 北京百分点信息科技有限公司 | 一种情感分析方法、装置和电子设备 |
CN111191438B (zh) * | 2019-12-30 | 2023-03-21 | 北京百分点科技集团股份有限公司 | 一种情感分析方法、装置和电子设备 |
CN112214576A (zh) * | 2020-09-10 | 2021-01-12 | 深圳价值在线信息科技股份有限公司 | 舆情分析方法、装置、终端设备及计算机可读存储介质 |
CN112214576B (zh) * | 2020-09-10 | 2024-02-06 | 深圳价值在线信息科技股份有限公司 | 舆情分析方法、装置、终端设备及计算机可读存储介质 |
CN112818681A (zh) * | 2020-12-31 | 2021-05-18 | 北京知因智慧科技有限公司 | 文本情感分析方法、***及电子设备 |
CN112818681B (zh) * | 2020-12-31 | 2023-11-10 | 北京知因智慧科技有限公司 | 文本情感分析方法、***及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108733644B (zh) | 2019-07-19 |
WO2019196208A1 (zh) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733644B (zh) | 一种文本情感分析方法、计算机可读存储介质及终端设备 | |
CN111444320B (zh) | 文本检索方法、装置、计算机设备和存储介质 | |
Bhardwaj et al. | Sentiment analysis for Indian stock market prediction using Sensex and nifty | |
CN108363790A (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
US20240185130A1 (en) | Normalizing text attributes for machine learning models | |
CN108073568A (zh) | 关键词提取方法和装置 | |
CN110874439B (zh) | 一种基于评论信息的推荐方法 | |
CN103365997B (zh) | 一种基于集成学习的观点挖掘方法 | |
CN110377759A (zh) | 事件关系图谱构建方法及装置 | |
JP2021504789A (ja) | Esg基盤の企業評価遂行装置及びその作動方法 | |
CN106202032A (zh) | 一种面向微博短文本的情感分析方法及其*** | |
CN112270546A (zh) | 基于stacking算法的风险预测方法、装置和电子设备 | |
CN105022754A (zh) | 基于社交网络的对象分类方法及装置 | |
CN108108347B (zh) | 对话模式分析***及方法 | |
CN111767393A (zh) | 一种文本核心内容提取方法及装置 | |
CN111815432A (zh) | 金融服务风险预测方法及装置 | |
CN103678436A (zh) | 信息处理***和信息处理方法 | |
CN106445915A (zh) | 一种新词发现方法及装置 | |
CN107644051A (zh) | 用于同类实体分组的***和方法 | |
JP5682448B2 (ja) | 因果単語対抽出装置、因果単語対抽出方法および因果単語対抽出用プログラム | |
CN116402166B (zh) | 一种预测模型的训练方法、装置、电子设备及存储介质 | |
CN113095723A (zh) | 优惠券的推荐方法及装置 | |
CN110377706B (zh) | 基于深度学习的搜索语句挖掘方法及设备 | |
CN107704763A (zh) | 多源异构漏洞情报去重方法、分级方法及装置 | |
CN111597336A (zh) | 训练文本的处理方法、装置、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |