一种基于深度学习的短文本聚类方法与流程

文档序号:11155601阅读:437来源:国知局
一种基于深度学习的短文本聚类方法与制造工艺

本发明涉及深度学习和文本挖掘技术领域,尤其涉及一种基于深度学习的短文本聚类方法。



背景技术:

文本聚类是数据挖掘和自然语言处理领域中聚类分析算法的一大主题。随着因特网的高速普及和信息技术的飞速发展,数据总量越来越庞大,数据之间的关系也变得越来越复杂;同时,又因为社交媒体的发展使得文本数据飞速增长,且通常以短文本的形式出现:比如微博、产品评论以及地理位置信息等,如何准确且快速的从规模庞大的短文本数据集中抽取出有价值的信息成为了一个新的挑战。

通常的做法是使用文本聚类等方法对短文本信息进行有效的组织,但传统的聚类算法在文本特征表示方面的做法基本相同,都是通过短文本中每个单词的词频组合成向量的方式来表示每个短文本,这种方式有着很明显的优点,就是模型简单,易于构造。但是缺点是并没有考虑到短文本之间语义上的联系,使得聚类的效果不理想。



技术实现要素:

本发明的目的在于通过一种基于深度学习的短文本聚类方法,来解决以上背景技术部分提到的问题。

为达此目的,本发明采用以下技术方案:

一种基于深度学习的短文本聚类方法,其包括如下步骤:

S101、通过卷积神经网络计算得到短文本之间的语义相似度;

S102、将所述语义相似度应用到聚类算法中,对短文本进行聚类操作。

特别地,所述步骤S101包括:

S1011、选取训练短文本,短文本的形式是“文本A文本B相似度”;

S1012、从短文本A与短文本B中各抽取连续的K个单词,并将两者按照原有的顺序组成新的短文本段;获取所述新的短文本段中每一个词的词向量表示并组成映射矩阵;利用所述映射矩阵与相同大小的卷积核进行卷积,获得一个标量;

S1013、重复执行步骤S1012,完成所有的文本组合以及一维卷积操作;将得到的所有标量按照原有的顺序组合起来,形成能够表达文本A与文本B语义信息的局部特征矩阵;

S1014、对所述局部特征矩阵进行二维池化操作,得到全局特征矩阵;

S1015、对所述全局特征矩阵交替进行二维卷积操作和二维池化操作,并把最终的全局特征矩阵通过一个全连接层变换成一个特征向量;把特征向量输入到一个多层感知机中,并通过多层感知机的处理输出两个文本的语义相似度;

S1016、将通过所述步骤S1011-S1015训练好的用来计算两个短文本语义相似度的卷积神经网络模型存储到磁盘。

特别地,所述步骤S102包括

S1021、执行聚类算法,选取好聚类中心;将所要进行聚类操作的短文本集合中的每一个短文本与选取好的聚类中心进行两两组合得到文本对;从所述磁盘中载入训练好的卷积神经网络模型;将组合得到的所述文本对输入卷积神经网络模型中,得到文本对中两个短文本的语义相似度;

S1022、根据获得的短文本与每个聚类中心的相似度,将短文本分到相似度最高的聚类簇中;

S1023、更新聚类中心,继续执行步骤S1021-S1022对短文本进行聚类,得到聚类结果。

特别地,所述步骤S102中聚类算法选用K均值聚类算法。

特别地,所述步骤S1012中从短文本A与短文本B中各抽取连续的K个单词时,对于短的文本采取填充的方式使得两个文本的长度一致。

特别地,所述步骤S1012中获取所述新的短文本段中每一个词的词向量表示并组成映射矩阵;利用所述映射矩阵与相同大小的卷积核进行卷积,获得一个标量,具体包括:

对所述新的短文本段,通过查表的方式得到每个词的词向量表示,形成映射矩阵,滑动窗口将在两个文本上进行滑动直至得到所有可能的组合情况;所述映射矩阵的形式如公式(1)的数学表达式所示:

其中,是对短文本x第i个单词开始与短文本y中第j个单词开始的连续的k个词进行组合得到的映射矩阵,Dε表示词向量的维度;

对于从短文本A中抽取的连续k个单词和从短文本B中抽取的连续k个单词组合得到的映射矩阵进行一维形式的卷积操作得到特征值,该特征值是一个单一的标量值。

特别地,所述步骤S1013中将得到的所有标量按照原有的顺序组合起来,形成能够表达文本A与文本B语义信息的局部特征矩阵,具体包括:

将得到的所有的特征值进行组合得到一个能够表达文本A与文本B语义信息的局部特征矩阵一个局部特征矩阵,该局部特征矩阵的数学计算式如公式(2):

其中,(l,f)表示在第l个卷积层对特征矩阵f进行操作;zi,j(l,f)表示得到的新的特征矩阵,σ()是激活函数,W(l,f)是与等大的卷积核,b(l,f)是偏置项;g(z)是一个阈值函数,当组合的矩阵z都是填充单词的时候就令g(z)=0,否则g(z)=1。

特别地,所述步骤S1014具体包括:对所述局部特征矩阵按照如下公式(3)进行计算,得到k最大池化之后的全局特征矩阵:

zi,j(l,f)=max({z2i-1,2j-1(l,f),z2i-1,2j(l,f),z2i,2j-1(l,f),z2i,2j(l,f)}) (3)。

特别地,所述步骤S102中所述聚类算法具体包括如下步骤:

读取短文本数据集,并将其转化成词向量的形式,然后存成矩阵的形式;

选取初始聚类中心;

从短文本数据集中选取一个文本;

从聚类中心中选取一个文本;

将两个文本组合成文本对;

载入基于卷积神经网络计算文本语义相似度的卷积神经网络模型;

将文本对输入所述卷积神经网络模型中,并计算两个文本语义上的相似度;

如果相似度大于阈值则将文本放入此聚类中心,并继续载入所述卷积神经网络模型,否则继续选取其余的初始聚类中心,并重复上述操作;

如果程序收敛或达到停止条件则停止程序,否则继续重复上述操作。

本发明提出的基于深度学习的短文本聚类方法通过卷积神经网络计算出不同文本之间的语义相似度,并根据计算得出的相似度来进行聚类,提高了现有的短文本聚类准确度,进而能够更加快速和准确的对海量短文本数据进行聚类分析,可广泛应用于短文本聚类任务、情感分析、推荐系统等领域,同时本发明利用卷积神经网络计算短文本相似度部分和短文本聚类部分都不需要对输入的短文本数据进行预处理,且输入短文本的长度可以是变长的。

附图说明

图1为本发明实施例提供的基于深度学习的短文本聚类方法流程图;

图2为本发明实施例提供的用来计算两个短文本语义相似度的卷积神经网络模型架构示意图;

图3为本发明实施例提供的基于卷积神经网络计算得到的语义相似度的K均值聚类算法流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容,除非另有定义,本文所使用的所有技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施例,不是旨在于限制本发明。

请参照图1所示,图1为本发明实施例提供的基于深度学习的短文本聚类方法流程图。

本实施例中基于深度学习的短文本聚类方法包括如下步骤:

S101、通过卷积神经网络计算得到短文本之间的语义相似度。

S102、将所述语义相似度应用到聚类算法中,对短文本进行聚类操作。

下面对步骤S101,S102的具体过程进行详细说明:

如图2所示,图2为本发明实施例提供的用来计算两个短文本语义相似度的卷积神经网络模型架构示意图。

选取训练短文本,短文本的形式是“文本A文本B相似度”。

在网络的第一层,由于需要从短文本A与短文本B中各抽取连续的K个单词,所以就要求短文本A与短文本B的长度相同,为了对两者顺利的进行组合,对于短的文本采取填充的方式使得两个文本的长度一致即对较短的句子进行填充单词,直到两者的单词数目相等。

接着,对短文本A与短文本B进行组合操作,这里假设词向量的维度是De。组合的方式是采用类似滑动窗口的形式,分别从两个短文本A与短文本B中选取连续的k个单词,并且按照单词的原有顺序组合起来形成新的短文本段。

对新的短文本段,通过查表的方式得到每个词的词向量表示,形成映射矩阵,滑动窗口将在两个文本上进行滑动直到得到所有可能的组合情况。映射矩阵的形式如公式(1)的数学表达式所示:

其中,是对短文本x第i个单词开始与短文本y中第j个单词开始的连续的k个词进行组合得到的映射矩阵,Dε表示词向量的维度;

对于从短文本A中抽取的连续k个单词和从短文本B中抽取的连续k个单词组合得到的映射矩阵进行一维形式的卷积操作得到特征值,该特征值是一个单一的标量值。将得到的所有的特征值进行组合得到一个能够表达文本A与文本B语义信息的局部特征矩阵一个局部特征矩阵,该局部特征矩阵的数学计算式如公式(2):

其中,(l,f)表示在第l个卷积层对特征矩阵f进行操作;zi,j(l,f)表示得到的新的特征矩阵,σ()是激活函数,W(l,f)是与等大的卷积核,b(l,f)是偏置项;g(z)是一个阈值函数,当组合的矩阵z都是填充单词的时候就令g(z)=0,否则g(z)=1。

在网络的第二层,对所述局部特征矩阵按照如下公式(3)进行计算,得到k最大池化之后的全局特征矩阵:

zi,j(2,f)=max({z2i-1,2j-1(2,f),z2i-1,2j(2,f),z2i,2j-1(2,f),z2i,2j(2,f)}) (3)。

通过第一层的一维卷积与第二层的二维池化操作,算法得到了一种两个文本之间交互信息的低级表示形式,接着把二维池化得到的特征矩阵作为一个图片的方式来进行处理,就获得了特征的更高阶的表示zi,j,接下来的二维卷积操作的数学计算式可以表示为公式(4)的形式:

其中表示在第l-1层经过二维卷积和二维池化后得到的特征矩阵。比如,在第三层算法接着用大小为k1×k2的卷积核对二维池化操作得到的特征矩阵进行二维卷积操作:

接下来,网络可以有更多的二维卷积层和二维池化层,并对之前二维池化得到的全局特征矩阵进行操作。

这种逐层交替进行二维卷积和二维池化的操作借鉴了用于图像处理的卷积神经网络的思想,相对于传统的只进行一维卷积得到特征向量的方式,这种做法能够的保持文本中词的位置信息,也能更好的保持文本的语义信息。

本实施例中所述聚类算法选用K值聚类算法,如图3所示,具体包括如下步骤:图中文本用x表示,聚类中心用C表示。

读取短文本数据集,并将其转化成词向量的形式,然后存成矩阵的形式;

选取初始聚类中心;

从短文本数据集中选取一个文本;

从聚类中心中选取一个文本;

将两个文本组合成文本对;

载入基于卷积神经网络计算文本语义相似度的卷积神经网络模型;

将文本对输入所述卷积神经网络模型中,并计算两个文本语义上的相似度;

如果相似度大于阈值则将文本放入此聚类中心,并继续载入所述卷积神经网络模型,否则继续选取其余的初始聚类中心,并重复上述操作;

如果程序收敛或达到停止条件则停止程序,否则继续重复上述操作。

对于本实施例中所采用的环境参数和模型参数,说明如下:

本实施例中,所采用的硬件环境为但不限于此:Ubuntu 14、64为操作系统,Intel Core i7处理器、CPU主频3.5GHz,内存32G,GPU为GTX 980、显存4G。在所述用于计算短文本对的语义相似度的卷积神经网络中,卷积层采用的卷积核宽度为3,模型训练时学习率为λ=0.001。

实验说明及结果:

本发明的方法可以分为两个部分,第一个部分是用卷积神经网络计算不同文本之间语义相似度,第二个部分是把第一部分计算得到的相似度用于文本聚类算法。下面分别对两个部分用的数据集进行说明。

用卷积神经网络计算不同文本之间语义相似度这一部分用了两个不同的短文本数据集对网络进行训练,分别是MSRP(Microsoft Research Paraphrase Corpus)数据集和SICK(Sentences Involving Compositional Knowledge)数据集。

MSRP数据集来源于新闻,总共有5801个句子对。其中4076个句子对用于卷积神经网络模型的训练,1725个句子对用于模型准确度的测试。每一个句子对都有一个标签来表征它们的语义相关性:0表示两个句子不相关,1则表示两个句子相关。

SICK数据集是对图片和视频的文字描述,总共有9927个句子对。其中4500对用于卷积神经网络模型的训练,500对用于模型训练情况的验证,而剩下的4927对用于模型准确度的测试。由于原数据集用了5种标签来表征句子对的语义相关性,与本论文提出的卷积神经网络模型不匹配,故本论文对此数据集进行了预处理,使其标签与上面相同只用0或1表示相似与否。

文本聚类算法部分用的是StackOverflow数据集。

StackOverflow数据集是一个由Kaggle整理并开源的短文本数据集,总共有20000个句子,可以分为20种不同的类别标签,每个句子都有一个标签来表示它所属的类别。

本发明使用公开的GloVe在大规模语料库中预先通过无监督的方式训练好的词向量。它是在Wikipedia 2014、Gigaword 5数据集上训练得到的,总共有400000个词汇,且都已经转化为小写的形式,其中词向量的维度为50维。

为了验证本发明提出的文本聚类模型在短文本上的聚类效果,本发明实验分别使用另外2种不同的聚类算法在同一个短文本数据集上进行了聚类操作,并对实验结果进行对比分析。本发明实验中采用以下对比聚类方法:

对比方法一:K均值聚类算法,该方法直接在原始特征上采用K均值方法,而原始特征分别采用词频(TF)和词频-逆文档频率(TF-IDF)进行加权。

对比方法二:谱聚类(Spectral Clustering)算法,该算法首先用拉普拉斯映射计算出特征向量,然后把这些特征向量作为聚类中心,并应用K均值方法进行聚类。

实验对具有20000个短文本的数据集迭代了10次,实验结果表明,本发明提出的聚类算法的效果比基于TF的K均值算法的聚类效果有着明显的提升。

综上所述,本发明的技术方案通过卷积神经网络计算两个文本之间语义相似度,并根据计算得出的相似度来进行聚类的方法,在可行性上是可以肯定的。它能够在一定程度上比较充分的挖掘利用短文本的语义信息,并结合预训练的词的语义向量表示对所述短文本进行语义扩展,有效解决短文本在进行语义向量表示时遇到的数据稀疏性和语义敏感性问题,从而改善聚类算法的准确度。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

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