ora00980同义词转换不再有效_基于Word2vec和潜在语义分析的有效文档分类方法

摘要—文档分类是从许多混合文档中自动对文档进行分类的过程,主要问题是如何在向量空间中完全表达文档内容。本文提出了一种新的模型,称为潜在语义分析(LSA)+ word2vec对文档进行分类。这是将word2vec与LSA结合进行文档分类的首次尝试,并且可以在充分保留文档内容的前提下将文档映射到向量空间。首先,我们通过文档矩阵创建一个术语(term),其元素由TF-IDF权重和word2vec训练的单词向量确定。该矩阵是3维矩阵,可以准确描述每个单词的含义和每个文档的内容。其次,对矩阵执行奇异值分解(SVD),从而降低了计算复杂度。该模型命名为LSA + word2vec。然后,将从新模型中获得的文档向量放入卷积神经网络(CNN)中进行训练。CNN是一种有效的深度学习算法,极大地提高了分类的准确性。我们使用20newsgroups语料库评估模型效果。结果表明,我们的模型对文档分类任务具有更好的效果,其准确性比LSA和向量空间模型(VSM)等传统方法提高了约15%。

1. 引言

如今,大量信息充斥着我们的生活,尤其是在互联网上,其中大多数是文本信息。为了进行大规模信息检索和快速文本数据处理,文档分类是处理此大数据问题的第一步。它可以根据文档的内容将文档分类为一个或多个预定义的类别,并且可以理解文本的含义,阐明文档之间的联系。因此,文档分类在用户行为分析,目标广告,文本检索,电子邮件过滤,新闻分类等方面具有重要意义。

过去,文本内容提取的研究主要使用传统方法,例如众所周知的VSM和LSA。但是它们全都基于单词的频率或TFIDF加权。传统方法的明显缺点是,逐个文档矩阵中的术语元素不能完全代表单词的含义,并且由它们组成的向量不能完美地代表文档

最近,word2vec模型和CNN模型为该领域带来了新的机遇。Word2vec是由在Google工作的Mikolov提出的一个开源项目。它可以将单词映射到向量,并被认为是向量空间中单词表示的理想估计。该模型的主要意义在于它以较低的计算成本大大提高了准确性,因此我们可以使用向量更好地表示单词。在此基础上,存在一种很好的方法来表示文档,方法是将文档矩阵中的term元素替换为从word2vec创建的向量。CNN是一种有效的深度学习模型,已被证明是理解文本或图像内容的有效模型,它提供了有关文本检测,检索,内容提取的最新结果。我们使用CNN进行最终分类操作,可以获得更高的分类精度。

在这项工作中,我们建立了一个新的LSA + word2vec模型,将文档转换为向量,并构建了使用CNN对其进行分类,这是将LSA与word2vec结合使用的首次尝试,解决了VSM中存在的多义性和同义词问题。该模型不仅比其他传统方法提高了约15%的精度,而且大大降低了计算复杂度。详细地说,我们首先使用VSM按文档矩阵创建术语,然后可以使用单词向量表示文档。从Google新闻读取的单词向量在此处进行了组合,以与TF-IDF加权相结合来表示单词的权重,因此文档被表示为二维向量,这是一种很好的特征向量表示形式。然后,为了更好地表示文档,在此过程中使用了LSA。LSA使用向量来表示术语和文档,与VSM相同,但是不同的是,LSA将术语和文档映射到潜在的语义空间,从而可以消除原始向量空间中的一些干扰并提高信息检索的准确性。基于之前创建的按文档矩阵表示的术语,我们执行SVD来减少向量的维数并获得更清晰的文档描述。最后,新的文档坐标被发送到CNN模型进行训练。CNN体系结构是专为文档分类任务而设计的,并被证明可以在这些任务上发挥出色的性能。因此,在对文档向量进行训练后,可以获得很高的分类精度。

本文的主要贡献可归纳如下。首先,我们提出了一种新的方法来基于word2vec通过文档矩阵创建术语,以便文档的含义可以完全由向量表示。其次,我们在新的3维矩阵上执行SVD,因此我们可以完美地表示文档的潜在语义。最后,将文档的二维向量放入CNN中进行训练。我们的CNN架构具有两个卷积层和两个池化层,并且通过训练提取了文档特征。根据特征进行分类,然后获得分类精度。我们基于20newsgroups语料库对新模型进行评估,达到50.4%的准确性,相应地,VSM的准确性为33.6%,LSA的准确性为34.2%。这是文件分类准确性的一大进步。

其余文件的组织方式如下。第二节讨论了文档分类的相关工作。第三节介绍了我们的新模型及其相关的背景知识。第四部分描述了卷积神经网络并展示了我们的体系结构。在第五部分中,给出了该实验的各种结果。结论和未来工作在第六节

2. 相关工作

文档分类包括为文本文档分配预定义标签。它对处理网络信息具有重要意义,具有巨大的经济价值。例如,我们可以基于Web文本浏览历史来分析用户行为,并有针对性地推荐内容或广告。在过去的二十年中,文档分类已经在处理大量文本数据中得到了广泛的应用。

在文档分类任务中,已使用了许多统计分类方法和机器学习技术,包括Rocchio分类器,K最近邻,朴素贝叶斯算法,决策树,生成概率分类器,多元回归模型和VSM。VSM是一种传统而有效的文档分类模型,自Salton等人提出以来,它已成为对文档进行分类,检索和分类的通用方法。但是它仍然存在一些问题,例如多义性,同义词和过高的计算复杂性。为了减少特征向量表示并解决同义词问题,许多作者在文本分类问题中使用了SVD技术。LSA是最有代表性的方法,基于此,我们有一种有效的方法来用矢量表达文档的含义。有许多对文档进行分类的作品。

随着最近从Hinton开始的神经网络的复兴,深度神经网络已经成为提取特征,分类数据的通用且有效的解决方案。文档分类领域对此也有很多尝试。Chen等人提出了用于文档分类的分层神经网络系统和分类神经网络系统。Li等人提出了一种基于向量空间模型的文档分类自动构建的词库对应的反向传播神经网络。此外,还完成了许多基于特定语言的文档分类任务。

2013年,Google创建了一个模型,该模型可以对单词和短语及其组成进行分布式表示,称为word2vec。在此模型的基础上,我们可以使用向量来表达单词或短语的含义,并可以计算出它们与他人之间的相对性。通过使用许多人的作品,word2vec被认为是用向量代替单词表示形式的有效模型。因此,与VSM和LSA对应的word2vec是合理和可靠的。

我们的工作受到他人工作的启发,并结合了LSA,word2vec和CNN的优势。新的LSA+ word2vec模型解决了多义和同义问题,比传统方法具有更高的准确性,并大大降低了计算成本。

3. LSA + word2vec

A.向量空间模型

文档分类的最重要问题是了解文档的内容。简单的方法是使用几个单词代表整个文档来表达其内容。但是只有几个词不能表达文档的全部含义。解决此问题的基本思想是将单词或文档转换为向量,并且可以在向量空间中对每个单词或文档进行量化和比较。另外,可以计算两个单词或文档之间的相似度。

根据单词之间的相似度,我们可以计算出意思的差异。文档之间的相似性主要受文档中所含单词的影响。如果要基于矢量表示文档,则首先要考虑的是文档中单词的出现频率。因此,提出了VSM来表示向量空间中文档的含义。

向量空间是称为向量的对象的集合,可以将这些向量加在一起并乘以数字(在本文中称为标量)。标量通常是实数,有时是复数或有理数。在向量空间中,形成一个逐项文档矩阵,其行是单词,其列是文档。因此,文档被表示为向量,向量的每个元素始终是与该文档中单词相关的值。这些向量是矩阵的列,TF-IDF权重是作为矩阵元素的值。

B. Latent Semantic Analysis(LSA)

在VSM中,出现在文档中的单词出现频率被视为文档的功能,并且每个文档都有准确的单词映射。文件的含义表示为其中所含单词的权重。但是由于存在多义性和同义词,VSM无法表达语义级别的信息。例如,有一些文档,一个包含单词“ automobile”,另一个包含单词“ car”,这两个单词将被视为两个不同的单词,具有不同的TF-IDF权重,并且可能会影响文档的含义。最糟糕情况的是由于这两个词导致两个文档被分类为两种分类,但这两个词具有相同的含义。因此,LSA是必不可少的。

LSA的目的是找到文档中单词的真实含义并解决上述问题。详细地说,它使用的模型具有合理的尺寸来表示大量文档的单词和文档。例如,有1000个文档和8000个单词,LSA将创建100维空间并将所有单词和文档映射到该空间。将文档映射到此空间的过程是SVD和缩小尺寸。减小尺寸是最重要的过程。通过此操作,噪声得以消除,语义体系变得清晰。

C. word2vec

Word2vec具有两种新颖的模型体系结构,用于从非常大的数据集中计算单词的连续向量表示形式。第一种体系结构是连续词袋模型(CBOW),它根据周围的单词来预测当前单词,第二种体系结构是Skip-gram 模型,它根据当前词来预测周围的单词(见图1)。

CBOW的训练目标是找到可以根据周围单词预测当前单词的分布式单词表示形式。它删除了最耗时的非线性隐藏层,只有3层。所有单词都共享投影层,每个单词都投影到第二层的相同位置。CBOW不仅使用过去的单词,而且使用将来的单词。与Skip-gram模型不同,它使用上下文的连续分布式表示。因此,获得了基于i个前单词和i个后单词预测当前单词的最佳性能。

通过训练,word2vec将上下文处理简化为K维向量空间中的向量处理。我们可以得到单词的向量表示,并且可以计算单词之间的相似度。单词的向量可以视为从上下文空间到向量空间的映射,并且可以完全表示单词。

84d0036ad93155be144325a5c296ef19.png

D. 新术语和文档关系矩阵

由word2vec训练的单词向量准确地表示单词的含义,TF-IDF加权描述了单词对文档的影响。但是,只有词向量集或TF-IDF加权集不能表示文档的内容。因此,本文将TF-IDF加权和词向量用于同时表示文档。

在我们的工作中,VSM中每个文档矩阵术语的元素由TF-IDF加权和word2vec训练的单词向量确定。我们将词向量与TF-IDF权重相乘,然后将结果乘以文档矩阵,以表示单词和文档之间的关系。因此,创建了m×n×v(m是单词数,n是文档数,v是word2vec训练的向量的长度)矩阵,并将文档表示为m×v矩阵,如图2所示。

28a43a16a3debbdb959193934a59b6b7.png

在新的3维矩阵中,每个文档都表示为一个矩阵,每一行都是TF-IDF加权与word2vec训练的单词向量的乘积。为了完全表达单词的含义,单词向量经过Google新闻的训练,并被视为标准单词向量集。单词的每个向量都充分表达了单词的含义,TF-IDF加权可以表达单词在文档中的重要性,二维文档向量可以准确地表达文档的含义。

efd736fdf24b73cc46310af19940548f.png

E. LSA+word2vec

在本文中,在创建了新的术语与文档关系矩阵之后,每个文档中的SVD均由文档二维矩阵完成。文档矩阵中的每一项都分解为C = USV T,而V S矩阵的每一行都可以将文档区分为文档坐标。因此,构建了三维文档坐标矩阵。在此矩阵中,每个文档坐标都表示为n×v矩阵。这个新的文档向量表达了文档的潜在语义,并具有可以在向量空间中完全表示单词含义的每个单词向量。文档坐标的结构如图3所示。

新文档坐标矩阵是n×n×v矩阵。在接下来的过程中,将数据集放入CNN模型中进行分类,并在最后一步计算出分类精度。

基于新的文档分类模型,大大减少了CNN训练的计算复杂度。在VSM中,按文档矩阵表示的术语是m×n矩阵(m >> n,m是单词数,n是文档数)。与word2vec组合后,该矩阵变为m×n×v矩阵(v是词向量的长度),并且它是一个非常大的矩阵。执行SVD,并创建我们的新LSA + word2vec模型。新矩阵是一个n×n×v矩阵,它比m×n×v矩阵小得多。因此,我们新的LSA + word2vec模型不仅提高了分类的准确性,而且减少了训练时间。

4. 卷积神经网络

在构造新的术语和文档关系矩阵并执行SVD创建LSA + word2vec矩阵之后,所有文档向量都在CNN架构上进行了训练。CNN的结构如图4所示。

397ef5ff43c650b4b45ea16b44cacda9.png

这种CNN结构旨在对文档进行准确的分类,从底层的局部特征提取层到高层的分类层。第一层为输入层,它包含文档的矩阵(可以看作二维向量),并且对于LSA + word2vec模型,每个矩阵的大小为n×n(n为文档数)。之后,有两个卷积层,每个卷积层之后是一个最大池化层,以提高鲁棒性并降低计算复杂度。

在第二个池化层之后,需要连接层。执行分类操作并获得分类精度。CNN体系结构完全提取了文档特征,并提高了约15%的分类精度,这是该领域的重大进步。

5. 实验

A.   实验数据集

为了评估新框架的性能,在实验中使用了20newsgroups语料库。由于机器的限制,我们从3个类别中选择3000个文档,每个类别包含1000个文档。3类是Comp.sys.mac.hardware,Rec.sport.baseball,Talk.politics.guns。这些不同类别的内容是电子产品,体育,政治,它们之间的差异很大并且很容易区分。我们使用80%的文档进行培训,并使用20%进行测试。该语料库足以评估性能并获得客观结果。

文档语料库中的文档是通用的自然语言文本,并且它们具有许多无用的字符来理解其内容。因此,必须对文件进行预处理。我们删除所有标点符号,将每个大写字母转换为小写字母。完成这些操作后,每个文档仅包含单词,每个字母均为小写。文档语料库减少了字体格式和独立字符的影响。它更易于处理,并获得更高的分类精度。算法是用Python编写的。

B. LSA+word2vec模型试验

在我们新的LSA + word2vec模型中,文档集中的每个文档都通过我们新的LSA + word2vec模型转换为二维向量,它可以完全表示文档内容。然后将文档向量发送到我们上面构建的CNN架构。在神经网络中,输入节点的数量等于文档坐标的大小(n×v),输出节点的数量等于分类的数量。经过多次迭代,获得了测试精度。图5给出了我们系统架构的概述。

b8a1c62a289f4ff01e1f8be0aa610649.png

LSA + word2vec模型是用C++编写的,而CNN架构是基于caffe架构开发的。我们所有的实验是在运行Intel Xeon处理器和NVIDIA Tesla K20Xm GPU的Dell PowerEdge R720服务器上进行的。

我们用来评估新模型性能的是分类的准确性。在我们的CNN模型的输出层中,使用n向softmax来预测n个不同身份上的概率分布。分类算法公式为:

e97dd14928b65185d6f581911828637f.png

66a585142dbc374ab4e80dd30406a6aa.png

y'它是一个线性函数,将l个特征xi组合为节点j的输入。yj是它的输出。创建分类功能后,使用测试集检查分类的准确性。

测试损失是CNN性能评估中的重要指标。在我们的实验中,文档分类测试损失如图6所示。我们可以看到,VSM和LSA模型的测试损失始终很高,徘徊在1.1左右,新的LSA + word2vec模型的测试损失在开始,并最终稳定在0.87。较低的测试损失意味着较高的准确性,从该图可以知道,LSA + word2vec模型将比VSM或LSA获得更高的文档分类准确性

000f5a1a64e311d2c9ee48d8d2a160c7.png

09250c19d84bc20c6f9fdbb4ef07d585.png

在测试精度收敛的情况下,我们可以在图7中看到详细信息。在阶段开始时,我们新的LSA + word2vec模型的测试精度正在迅速增长,并且在经过一定数量的迭代后其速度会降低,然后发生波动和降低逐渐关闭。相比之下,传统文档分类模型VSM和LSA的测试精度在开始时增长缓慢,然后迅速收敛到较低的值。最终结果表明,我们的新LSA + word2vec模型在文档分类任务中表现出色,并且比传统模型具有更高的分类精度。

表二表明,VSM的准确度为33.6%,LSA的准确度为34.2%,LSA +word2vec模型的准确度为50.4%。与单一VSM或LSA相比,我们的新LSA + word2vec模型具有更好的性能,并且文档分类准确性提高了约15%。这意味着我们的工作在文档分类任务方面取得了重大进展。

ff90a027076ae003a994d16ca5fa9921.png

C. 实验的计算复杂度

在CNN的训练过程中,训练时间和硬件资源的成本非常巨大。因此,降低培训复杂性对于我们的研究和工业应用非常重要。

为了构建可以准确表达单词含义的文档分类模型,将VSM与word2vec结合使用是一种简单有效的方法。但是,存在一个很大的问题,即文档语料库中的单词过多,文档坐标矩阵太大,因此,如果在CNN中使用这些向量进行训练,则会花费大量时间,并占用大量计算资源。以我们在实验中使用的数据集为例,20newsgroups语料库包含18845个文档,总共70万个单词,词汇量为2K。矩阵公式为:

d776e4d91325bfa19b556cf8ad82271d.png

其中m是单词数,n是文档数,v是word2vec训练的单词向量的长度,主导项是m。然后,在我们特定的CNN架构中训练文档坐标矩阵,每个输入数据都是一个m×v矩阵。由于存在卷积,反向传播和其他参数传递算法,因此需要大量的时间,计算机内存和其他计算资源。我们新的LSA + word2vec模型为该问题提供了完美的解决方案。SVD的操作在新的术语和文档关系矩阵上执行,每个文档坐标矩阵都简化为一个小的矩阵。我们使用新的文档坐标矩阵在CNN中进行训练。在CNN上训练的矩阵可以表示为:

158f6a0ec61a33e1e4a99edbfed67410.png

其中n是文档数,并且比m小得多,v是word2vec训练的单词向量的长度。因此,CNN模型中的计算复杂度变得比以前小得多。我们的新LSA + word2vec模型节省了大量计算资源和计算时间,并加速了科学研究的进展,降低了成本,并使工业应用变得更加容易。

D. 实验分析

在本节中,我们将根据上述实验结果对我们提出的新LSA + word2vec模型进行整体分析。在传统模型中,VSM只能代表词频在文档内容和含义中的作用,而不能表达多义性和同义词现象。这导致具有相同含义的单词,并且拼写不同的单词被视为完全不同的单词,最糟糕的情况是,导致包含这些单词的文档被分类为不同的类别。该模型的分类精度仅能达到33.6%。因此,提出了LSA来解决该问题,并执行SVD并缩小术语和文档关系矩阵的维数。所生成的文档向量和词向量可以很好地表示文档或单词的潜在语义,这使得计算单词与单词之间,单词与文档之间的相似度变得更加可靠。在一定程度上解决了向量空间模型无法解析的同义问题,获得了34.2%的分类精度。但是仍然存在多义性的问题。

由Mikolov在Google中提出的word2vec模型提供了向量空间中单词表示的有效估计。在大数据集上训练该模型后,每个单词都可以表示为一个向量,并且该向量可以充分表达单词的含义。基于该模型,多义性问题有很好的解决方法。

我们的新LSA + word2vec模型结合了VSM,LSA和word2vec的优势,完美解决了多义性问题。通过将VSM与word2vec结合使用,我们的新模型表达了词频对文档含义的影响,并准确地描述了词义,从而解决了多义性问题。然后借助SVD和降维方法,提取出文档的潜在语义,完美解决了同义词问题。因此,由我们的新LSA +word2vec模型生成的文档向量可以准确表达文档的内容,并在向量空间中完全表示它们。

从我们的新LSA + word2vec模型获得的文档向量将发送到CNN进行训练和分类。经过两个卷积层,两个池化层和一个完整的连接层后,我们得到了一个很好的分类模型,该模型的分类精度为50.4%,比VSM或LSA高出约15%。

6. 总结和未来工作

在本文中,我们提出了一个称为LSA + word2vec模型的新模型,该模型在向量空间中创建文档向量,从而使用CNN模型获得分类的准确性并评估分类的性能。我们的新文档矢量矩阵是基于20newsgroups语料库的子集创建的。与其他常规方法(例如VSM和LSA)相比,我们的方法可以在文档分类中提高15%的准确性。通过与SVD和word2vec结合使用,每个二维文档向量都可以在向量空间空间中完全表示文档,并且大大降低了计算复杂度。因此,我们的新模型比其他传统模型有了很大的进步。

将来,我们将在中文文档语料库上测试新的LSA + word2vec模型并评估其性能。在中文语料库中,首先需要做的是分词,也许要处理的许多细节都与英语语料库不同。它对非字母语言文本的处理具有重要意义。此外,我们不仅在将文档转换为矢量的阶段,而且在使用深度神经网络的分类阶段,都将尝试尽可能地提高文档分类准确性的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值