文本分类方法及装置与流程

文档序号:17723430发布日期:2019-05-22 02:20阅读:170来源:国知局
文本分类方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种文本分类方法及装置。



背景技术:

随着科技的进步,互联网已经成了人们生活中不可或缺的一部分。在当今信息爆炸的时代,网络上每天都会产生大量的微博,新闻等文本数据,文本数据的挖掘越来越被人们所需要,挖掘文本中有价值的信息可以帮助决策者更好地做出决策。文本分类是文本挖掘技术的基础,它被广泛地应用在垃圾过滤,新闻分类,词性标注等问题中。

随着深度学习技术的发展,神经网络在文本分类中的应用逐渐成熟。循环神经网络(rnn)是一种重要的神经网络结构,在语音识别,机器翻译及预测、处理序列数据等方面有着广泛的应用。

目前基于循环神经网络的长文本分类方法,一种是将长文本截取成固定长度的短文本进行分类,不能充分体现文本的语义信息;另一种是基于窗口的方法,大大增加了计算量。因此现有技术中缺乏一种高效准确地对长文本进行分类的方法。



技术实现要素:

本发明实施例提供一种文本分类方法及装置,以实现一种高效准确地对长文本进行分类的方法。

本发明实施例的一个方面是提供一种文本分类方法,包括:

根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量;

根据每个句子的句子向量,确定每个句子的重要性评价参数;

根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息;

根据所述待分类文本的摘要信息,对所述待分类文本进行分类。

本发明实施例的另一个方面是提供一种文本分类装置,包括:

确定模块,用于根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量;根据每个句子的句子向量,确定每个句子的重要性评价参数;根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息;

分类模块,用于根据所述待分类文本的摘要信息,对所述待分类文本进行分类。

本发明实施例提供的文本分类方法及装置,通过根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量,根据每个句子的句子向量,确定每个句子的重要性评价参数,根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息,然后对摘要信息利用lstm网络进行分类代替直接对长文本进行分类,减少了计算量,避免了将长文本截取成短文本带来的语义信息缺失的问题。实现了高效准确地对长文本进行分类的方法。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本发明实施例提供的文本分类方法流程图;

图2为本发明实施例提供的lstm神经元的示意图;

图3为本发明另一实施例提供的文本分类方法流程图;

图4为本发明另一实施例提供的文本分类方法流程图;

图5为本发明实施例提供的文本分类装置的结构图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图1为本发明实施例提供的文本分类方法流程图。本发明实施例针对现有技术的如上技术问题,提供了文本分类方法,该方法具体步骤如下:

步骤101、根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量。

本实施例在对待分类文本进行分类之前,可以去除待分类文本中的特殊符号,如微博的转发符号、表情符号、视频图片链接等,并以句子为单位对待分类文本c进行切分c=[v1,...vs],其中,s表示对待分类文本c进行切分后的句子的个数。

对待分类文本c进行切分后的句子利用crf方法进行分词,并将每个分词表示成词向量。其中,利用crf方法对句子进行分词的过程为:将训练语料中的分词根据分词在句子中的位置,对分词进行如下标记处理:用b表示词首,e表示词尾,m表示词中,s表示单字词,将标记处理后的分词作为crf模型的输入,通过训练crf模型得到最终的分词结果,即每个分词的词向量。

例如,句子v中包括n个分词,n个分词中每个分词的词向量分别为w1,w2,…,wn,则句子v的句子向量可以是w1,w2,…,wn的平均值。句子v的句子向量记为va,则va=(w1+w2+…+wn)/n。可以理解,待分类文本c包括多个句子,每个句子的句子向量的计算方法同理于此,此处不一一赘述。

步骤102、根据每个句子的句子向量,确定每个句子的重要性评价参数。

根据不同句子的句子向量,可计算出不同句子之间的相似度,例如,vi表示待分类文本c中第i个句子的句子向量,vj表示待分类文本c中第j个句子的句子向量。根据vi和vj可计算出第i个句子和第j个句子相似度,进一步的,根据不同句子之间的相似度,可计算出每个句子的重要性评价参数。

步骤103、根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息。

具体的,可以将重要性评价参数大于预设值的句子作为所述待分类文本的摘要信息。

步骤104、根据所述待分类文本的摘要信息,对所述待分类文本进行分类。

具体的,采用长短期记忆网络(longshort-termmemory,简称lstm)对待分类文本的摘要信息进行分类,从而根据待分类文本的摘要信息的分类,确定待分类文本的分类。

本实施例采用长短期记忆网络(longshort-termmemory,简称lstm)。当遇到复杂的语言环境时,当前文本对此前出现的文本依赖情况不同,有价值的信息间隔长短不一,这时长短期记忆网络比一般的循环神经网络效果更好。lstm通过输入门,遗忘门,输出门,使此前的信息有选择地影响当前的状态。

lstm神经元的示意图如图2所示,其中,遗忘门的作用是使神经网络忘记前面没有参考价值的信息,它由t时刻的输入、t-1时刻的状态和t-1时刻的输出共同决定。输入门的作用则是向t时刻补充最新的信息。输出门会根据t时刻最新的状态、t-1时刻的输出和t时刻的输入来决定t时刻的输出。

单个lstm神经元具体的计算过程如下:

输入门的激活函数可表示为如下公式(1):

it=σ(wixt+uiht-1+bi)(1)

t时刻状态的预备函数可表示为如下公式(2):

ft=σ(wfxt+ufht-1+bf)(2)

遗忘门激活函数可表示为如下公式(3):

ft=σ(wfxt+ufht-1+bf)(3)

t时刻的状态可表示为如下公式(4):

最终得到t时刻的输出,表示为如下公式(5)和(6):

ht=ot*tanh(ct)(5)

ot=σ(w0xt+u0ht-1+b0)(6)

其中,xt表示当前t时刻的输入,ht-1表示t-1时刻的输出,ct-1表示t-1时刻的状态,wi、w0、wf、wc、uf、uc、ui、u0表示权值矩阵,b0、bf、bc、bi表示偏置,σ、tanh表示激活函数。

该步骤可根据实际需要设置多个lstm隐含层,每层的输出作为下一层的输入。注意,同一层的lstm单元之间,将前一时刻的输出作为下一时刻的输入。将lstm层的输出经过平均池化减少数据量。全连接层选择softmax函数作为激活函数,得到文本摘要属于每个类的概率,根据概率值的大小确定文本属于哪一类。

本发明实施例通过根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量,根据每个句子的句子向量,确定每个句子的重要性评价参数,根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息,然后对摘要信息利用lstm网络进行分类代替直接对长文本进行分类,减少了计算量,避免了将长文本截取成短文本带来的语义信息缺失的问题。实现了高效准确地对长文本进行分类的方法。

图3为本发明另一实施例提供的文本分类方法流程图。在上述实施例的基础上,该方法具体步骤如下:

步骤301、根据待分类文本中每个句子中的分词在所述待分类文本中的上下文语境,确定所述分词的词向量,所述分词的词向量为所述分词的分布式表示。

本实施例利用cbow神经网络语言模型训练得到词的分布式表示:本发明采用分布式表示(distributedrepresentation)来表示词向量,利用cbow神经网络模型,无需人工标注,从大量未标记的语料中无监督地学习出词语的分布式表示。该模型的主要思想是根据当前词的上下文语境,计算得到当前词语,最终得到词的分布式表示。可选的,cbow神经网络模型具体分为以下几层:

查找层:随机初始化列向量f1,f2,…,fv,其中,v表示句子的长度,fi表示初始词向量。

输入层:将当前词t上下文语境中的c个列向量进行首尾拼接组成特征向量x,并把该特征向量x作为神经网络的输入。

隐藏层:z=tanh(hx+d),其中,h表示权值矩阵,d表示偏置,tanh表示激活函数。

输出层:softmax(wz+b)=p(ft\fc),其中,w表示权值矩阵,b表示偏置,其中,第i个输出值为p(ft\fc),表示当前词语的特征为fi的概率。

对于每一个训练样本模型的目标是最大化p(ft\fc),最终获得词的分布式表示。

分布式表示方法相比独热(one-hotrepresentation)方法,避免了词典特别大的时候带来的维数灾难,同时很好地表示了词的语义信息,将词表示成长度相对短的向量,将每个词向量看作词向量空间的一个点,这样可以根据距离公式计算词的相似性。

步骤302、根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量。

步骤302与步骤102的具体原理和实现方式均一致,此处不再赘述。

步骤303、根据每个句子的句子向量,确定不同句子之间的相似度。

根据不同句子的句子向量,可计算出不同句子之间的相似度,例如,vi表示待分类文本c中第i个句子的句子向量,vj表示待分类文本c中第j个句子的句子向量。根据vi和vj可计算出第i个句子和第j个句子之间的相似度,第i个句子和第j个句子之间的相似度wij可表示为如下公式(7):

步骤304、根据不同句子之间的相似度,确定每个句子的重要性评价参数。

例如,第i个句子的重要性评价参数记为ws(vi),ws(vi)可通过如下公式(8)确定:

其中,所有句子的初始分数取为1,d表示阻尼常数,(0<d<1),通常取d=0.85。

in(vi)表示与句子vi相似度大于0的句子集合。

out(vj)表示与句子vj相似度大于0的句子集合。

wij表示第i个句子和第j个句子之间的相似度。

依次迭代计算每个句子的分数,直到分数不再变化为止。

步骤305、根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息。

具体的,可以将重要性评价参数大于预设值的句子作为所述待分类文本的摘要信息。

步骤306、根据所述待分类文本的摘要信息,对所述待分类文本进行分类。

对于上述步骤得到的待分类文本的摘要信息,可利用lstm对该摘要信息分类,可以理解,该摘要信息的分类为该待分类文本的分类。下面详细介绍利用lstm对该摘要信息分类的过程。

分词:对待分类文本的摘要信息使用crf++分词工具进行分词。

分词的向量表示:根据cbow模型得到的分词的分布式表示,将分词后的文本摘要中每个词用词向量表示得到[v1,v2,...,vm],其中vi为词向量,m为摘要信息的长度。

lstm层:如图2所示的lstm神经元,根据实际需要设置多个lstm隐含层,每层的输出作为下一层的输入。注意,同一层的lstm单元之间,将前一时刻的输出作为下一时刻的输入。

平均池化层:将lstm层的输出经过平均池化减少数据量。

全连接层:全连接层选择softmax函数作为激活函数,得到文本摘要属于每个类的概率,根据概率值的大小确定文本属于哪一类。

本实施例采用crf分词方法,克服了hmm独立性假设及最大熵模型标记偏见的问题;利用cbow模型及深度学习技术无监督地训练词向量模型,真实地体现了词的语义信息,同时无监督的训练方式大大减轻了人工标注的工作量;采用lstm文本分类方法,克服了标准循环神经网络的梯度消失和梯度爆炸问题。

图4为本发明另一实施例提供的文本分类方法流程图。在上述实施例的基础上,该方法具体步骤如下:

步骤401、根据待分类文本中每个句子中的分词在所述待分类文本中的上下文语境,确定所述分词的词向量,所述分词的词向量为所述分词的分布式表示。

步骤401与步骤301的具体实现方式和原理一致,此处不再赘述。

步骤402、根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量。

步骤402与步骤302的具体实现方式和原理一致,此处不再赘述。

步骤403、根据每个句子的句子向量,确定不同句子之间的相似度。

步骤403和与步骤303的具体实现方式和原理一致,此处不再赘述。

步骤404、根据不同句子之间的相似度,确定每个句子的重要性评价参数。

步骤404和与步骤304的具体实现方式和原理一致,此处不再赘述。

步骤405、将重要性评价参数大于预设值的句子作为所述待分类文本的摘要信息。

步骤406、采用lstm对所述待分类文本的摘要信息进行分类。

对于上述步骤得到的待分类文本的摘要信息,可利用lstm对该摘要信息分类。利用lstm对该摘要信息分类的过程具体如上述实施例所述的过程,此处不再赘述。

步骤407、根据所述摘要信息的分类确定所述待分类文本的分类。

可以理解,该摘要信息的分类为该待分类文本的分类。

本实施例采用crf分词方法,克服了hmm独立性假设及最大熵模型标记偏见的问题;利用cbow模型及深度学习技术无监督地训练词向量模型,真实地体现了词的语义信息,同时无监督的训练方式大大减轻了人工标注的工作量;采用lstm文本分类方法,克服了标准循环神经网络的梯度消失和梯度爆炸问题。

图5为本发明实施例提供的文本分类装置的结构图。本发明实施例提供的文本分类装置可以执行文本分类方法实施例提供的处理流程,如图5所示,文本分类装置50包括:确定模块51和分类模块52;其中,确定模块51用于根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量;根据每个句子的句子向量,确定每个句子的重要性评价参数;根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息;分类模块52用于根据所述待分类文本的摘要信息,对所述待分类文本进行分类。

本发明实施例提供的文本分类装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量,根据每个句子的句子向量,确定每个句子的重要性评价参数,根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息,然后对摘要信息利用lstm网络进行分类代替直接对长文本进行分类,减少了计算量,避免了将长文本截取成短文本带来的语义信息缺失的问题。实现了高效准确地对长文本进行分类的方法。

在上述实施例的基础上,确定模块51根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量之前,还用于:根据待分类文本中每个句子中的分词在所述待分类文本中的上下文语境,确定所述分词的词向量,所述分词的词向量为所述分词的分布式表示。

可选的,确定模块51根据每个句子的句子向量,确定每个句子的重要性评价参数时,具体用于:根据每个句子的句子向量,确定不同句子之间的相似度;根据不同句子之间的相似度,确定每个句子的重要性评价参数。

可选的,确定模块51根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息时,具体用于:将重要性评价参数大于预设值的句子作为所述待分类文本的摘要信息。

可选的,分类模块52根据所述待分类文本的摘要信息,对所述待分类文本进行分类时,具体用于:采用lstm对所述待分类文本的摘要信息进行分类;根据所述摘要信息的分类确定所述待分类文本的分类。

本发明实施例提供的文本分类装置可以具体用于执行上述图3或图4所提供的方法实施例,具体功能此处不再赘述。

本发明实施例采用crf分词方法,克服了hmm独立性假设及最大熵模型标记偏见的问题;利用cbow模型及深度学习技术无监督地训练词向量模型,真实地体现了词的语义信息,同时无监督的训练方式大大减轻了人工标注的工作量;采用lstm文本分类方法,克服了标准循环神经网络的梯度消失和梯度爆炸问题。

综上所述,本发明实施例通过根据待分类文本中每个句子中的分词的词向量,确定每个句子的句子向量,根据每个句子的句子向量,确定每个句子的重要性评价参数,根据每个句子的重要性评价参数,确定所述待分类文本的摘要信息,然后对摘要信息利用lstm网络进行分类代替直接对长文本进行分类,减少了计算量,避免了将长文本截取成短文本带来的语义信息缺失的问题。实现了高效准确地对长文本进行分类的方法;采用crf分词方法,克服了hmm独立性假设及最大熵模型标记偏见的问题;利用cbow模型及深度学习技术无监督地训练词向量模型,真实地体现了词的语义信息,同时无监督的训练方式大大减轻了人工标注的工作量;采用lstm文本分类方法,克服了标准循环神经网络的梯度消失和梯度爆炸问题。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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