结合词聚合与词组合语义特征的文本相似性度量方法与流程

文档序号:15163959发布日期:2018-08-14 17:13阅读:261来源:国知局

本发明涉及结合文本集词聚合与词组合分布式语义特征的文本相似性度量方法,属于自然语言处理与机器学习领域。



背景技术:

目前,在多文本匹配、文本聚类/分类、信息检索等多个需要进行文本处理的应用场景中,文本相似性度量发挥着越来越重要的基础性的作用。另外,在基于流形学习的文本降维表示研究中,大部分算法本质上都建立在文本集上的近邻图构建或近邻文本集合的选择上,而这些算法的基础都依赖于良好的文本相似性度量。

文本相似性度量主要分为基于字符串的方法和基于语料库的方法。而基于语料库的文本相似性度量又可以分为两个步骤:首先通过语料库中词语的上下文(context)训练文本的词嵌入表示,词嵌入代表的文本的分布式语义信息,再利用词嵌入计算文本之间的相似性。

1.基于字符串的方法

基于字符串的文本相似性度量通常将文本转化为向量或者与向量类似的离散化数字序列,通过计算和比较这些向量和序列的某种距离测度作为文本相似性的度量。比如,damerau-levenshtein距离通过插入、删除、替换和交换相邻字符位置四种操作方式将一个文本转化为另一个文本,通过比较所需的操作步数来度量两个文本的相似性。也可以将文本转化为向量空间的一个点或者向量,通过比较向量空间中的点或者向量的距离来度量文本的相似性,比如欧式距离(euclideandistance)计算向量空间中两坐标点的直线距离,距离越小表示文本相似性越高。曼哈顿距离(manhattandistance)将两个点的直线距离在各坐标轴的投影距离之和,作为两个文本的相似性度量,距离越小,相似性越高。余弦距离(cosinesimilarity)计算向量空间中两个向量的余弦夹角,夹角越小,表示两个文本的相似性越高。最后,最长公共子序列(longestcommonsubstring)也是一种常用的文本相似性度量方法,它通过比较两个字符串中存在的最长的相同连续字符子序列,作为两者相似性的度量。

2.基于语料库的方法

基于字符串的文本相似性度量以字、词或短语作为独立的语义单元,没有充分考虑词语间搭配关系所暗含的语义联系,导致它们难以准确地刻画文本的语义相似性。

词义联系信息的缺失降低了最终文本相似性度量的准确性。为了有效地利用这种词义联系,基于语料库的文本相似性度量通过分析文本集中词语的分布式语义特征构建词语的向量表示,近年出现的词嵌入学习理论为该问题提供了有效的解决思路。

(1)词嵌入模型:关于词嵌入的最早的工作由bengio在2003提出,他在一系列论文中使用了神经概率语言模型(neuralprobabilisticlanguagemodels)使机器“习得语言的分布式表示”,从而达到将语言空间降维的目的。由于整个建模过程是基于n-gram模型,所以得到的词嵌入可以反映词语上下文之间的连续性,即文本的语义联系。词嵌入方法的灵感来自于分布式假说,即相似的语言单元分布具有相似的含义。主流的词嵌入方法研究侧重于从目标词语和它的上下文中提取特征,通过分布式语义联系进行建模。

(2)word2vec模型:word2vec由tomasmikolov于2013年提出,共包含continuousbag-of-words(cbow)和skip-gram(sg)两种模型,这两种模型使用简单的神经网络框架学习词的表示,首先为所有词语随机分配一个编码向量,通过一个固定长度的滑动窗口从语料库中收集目标词语wt的上下文分布式信息ct,再利用神经网络根据给定ct预测wt的过程(cbow)或给定wt预测ct(sg)。最终构建的词嵌入可以较好的反映出分布式语义信息。因为它的简单性,skip-gram和cbog模型可以在大数据集上进行训练,经过并行化处理,它们可以在24小时内学习一个上千亿词语的模型。但是,这两种模型的缺点是它们没有考虑全局的统计信息。

(3)glove模型:2014年斯坦福大学的pennington等人又提出glove模型,该模型采用一个全局词-词的矩阵表征分布式语义信息,它的主要目标是,观察词与词的共现率,来比较词在文本中的词义。glove模型首先建立一个词语共现矩阵,然后通过奇异值分解(svd)得到词的向量表示。glove模型提升了词嵌入的效果。

(4)2013年stephaneclinchant利用一个高斯混合模型(gmm)构建词嵌入表示,其中每一维的词嵌入都可以看作是一个话题,这样就把整个文本转化为词嵌入的一个集合,一篇文本就可以通过一个长度不定的向量来表示,最后使用一个fisher核函数将代表原来文本的这个长度不定的向量映射成一个长度固定的文档表示向量,最后使用余弦距离来计算文本之间的相似性。

(5)2014年,baotianhu设计了一种使用深度卷积神经网络(cnn)训练的句子级别的匹配模型,这个模型保持句子中词语的先后顺序,把句子转化为一个由词嵌入向量构成的矩阵,然后逐层进行卷积操作,得到矩阵中相邻词语的组合表示,在深度卷积神经网络的池化层,该模型采用局部最大池化操作对潜在的词语组合进行选择,最后通过一个全连接层神经网络层得到一个长度固定的句子级别的文本向量表示。这个模型的缺点是,由于普通文本往往包含多条语句,单个句子的向量表示无法反应文本的语义特性,如何利用句子向量构造整个文本的向量表示仍然有待更深入的研究。因此,这种方式的效果尚有提升空间。

(6)2014年quocle和tomasmikolov基于cbow和sg架构又提出paragraphvector,它是一个非监督学习算法,通过将文本看作成为一个与真实词语等价的“虚拟词语”,经过额外的一层映射层之后,进入word2vec网络结构中训练,并与共同出现的wt和ct共同训练,最终,原文本被表示为词嵌入空间中的一个固定长度的向量。与之相似的成果还有2017年chenminmin提出的doc2vec,该模型从文本中随机抽取一组词嵌入,利用词嵌入的平均化操作构造出文本表示向量,从而提升了训练过程的执行效率。

总结以上文本相似性度量方法可以得出:(1)基于字符串的文本相似性度量方法忽略了文本中词语间的语义信息,导致它们无法准确反映深层的文本相似性;(2)词嵌入方法没有考虑词组合、词聚合两种分布式语义特征的差异性,这必然会引起词嵌入丢失一部分分布式语义信息。



技术实现要素:

本发明的目的是为解决文本相似性的高准确率度量问题,提出一种非参数化文本相似性度量方法。本方法结合文本的词聚合与词组合联系特征,将文本看作是关于出现词语的词嵌入集合,构建一个自编码词嵌入学习框架(spc),通过一个类似“填词预测”的过程,得到文本的相似性度量。

本发明的设计原理为:按照分布式假设对词语分布形式的定义,在词语之间存在一种“正交的”二维分布式语义联系特征:词聚合、词组合联系。利用词语的词聚合、词组合分布形式的差异带来的语义层面的差异,先将目标词汇从其上下文窗口中去除,再通过一个编解码的过程预测目标词汇以及其它可以替代目标词汇“填空”的词汇,最后通过自编码网络进行训练,可以构建词嵌入编码网络用于抽取词嵌入表示。

本发明的技术方案包括构建全文统计信息邻接矩阵和自编码填词预测两个过程,具体实现步骤如下:

步骤1,构造一个关于词典v的有向连通图,其中每个节点表示词典中一个词语,有向连边表示词语之间前后组合联系,将这个有向图表示为一个邻接矩阵,通过邻接矩阵的非对角元素表示上下文中词语的顺序组合联系(局部信息),同时通过对角元素收集全文中词语的统计信息(全局信息);

步骤2,基于步骤1建立的邻接矩阵,通过编解码的过程预测目标词汇以及具有聚合联系的词语,具体过程如下:

步骤2.1,给定一个上下文和pi={pi(wt)}t∈v∈c,假设聚合词汇是wt,目标词汇是tk(l+l)=ws∈v(窗口中间位置的词语),令zi(ws)表示关于目标词汇上下文重构,zi(wt)表示关于聚合词汇的上下文重构,按照编解码过程,根据预测ci和pi(wt),整个过程可以表示为公式

模型的目标是最小化重构的损失,采用均方误差来度量重构损失,模型的目标函数可以表示为以下重构损失度量公式

通过最小化重构损失,找出尽可能正确的“答案”填入空格,具体步骤如下:

步骤2.1.1,将目标词汇的上下文词组合邻接矩阵提供的信息分解为全文统计信息的对角区元素向量和上下文组合结构子矩阵;

步骤2.1.2,通过梯度下降算法对这些保留下来的权重进行迭代式参数更新;

步骤3,计算词对之间的相似性度量δst,考虑步骤2得到的词对(ws,wt),其中ws∈ωi,wt∈ωj,通过词嵌入ws与文本ωj所有词嵌入执行内积计算来表示彼此之间的相似性,记作δ(s)=ws·ωj;同样的,通过词嵌入wt与ωi中所有词嵌入进行求内积计算来表征两者之间的相似性,记作δ(t)=wt·ωi,然后利用softmax函数公式

对上述两种情况进行归一化处理,分别记作σ(δ(s))t和σ(δ(t))s,最后选择两者中较大的值作为词对的相似性度量,计算公式为

δst=max(σ(δ(s))t,σ(δ(t))s);

步骤4,由步骤3得到的词与文本的相似性度量δst,通过平均化最大加权匹配距离(normalizedmaximummatchingdistance,nmd)得到文本的相似性度量,nmd的计算公式为

同时,根据步骤2所述重构损失度量过程,步骤2.1.1中将编码网络与解码网络中负责重构目标词汇的解码网络设置为共享关系,进而降低需要估计的参数量级,防止模型过拟合。

有益效果

相比于基于字符串的文本相似性度量方法,本发明采用的基于语料库的文本相似性度量方法具有准确率高、反映文本语义特征等特点。经过构建全文统计信息邻接矩阵和自编码填词预测,本发明可以达到更高的准确率,同时可以有效利用词语间语义联系,并提供丰富分布式语义信息,从而进一步提升文本相似性度量效果。

通过词嵌入编码网络所构建词嵌入表示计算词嵌入的最大加权匹配距离,可以充分利用词嵌入所提供的分布式语义信息,更加准确的刻画文本的语义相似性,具有很好的应用价值和推广价值。

附图说明

图1为本发明的结合词聚合词组合分布式语义词嵌入学习算法原理图;

图2具体实施方式中上下文词组合特征的有向图表示实例;

图3具体实施方式中基于词组合、聚合联系的编解码框架;

图4为具体实施方式中实验(2)的结果图;

图5为具体实施方式中文本相似性度量算法原理图;

图6为具体实施方式中实验(3)的结果图;

图7为具体实施方式中实验(4)的结果图。

具体实施方式

为了更好的说明本发明的目的和优点,下面结合附图和实施例对本发明方法的实施方式做进一步详细说明。

1.通过和现有的词嵌入构建方法进行(1)词类比实验和(2)词义辨析对比实验,验证spc对词嵌入的分布式语义信息具有增强作用。对比的具体方法包括cbow和sg、glove、hdc、cwin和ssg。同时只根据目标词语的上下文和全文信息进行填词预测,对spc进行简化,记作spc-1;在spc-1的基础上,通过只根据上下文信息预测目标词语,得到spc-0。

2.通过(3)文本聚类实验和(4)文本分类实验定量分析nmd的聚类和分类效果,对比的方法包括欧式距离,余弦距离,wmd距离。

下面对上述四个实验流程逐一进行说明,所有测试均在同一台计算机上完成,具体配置为:intel(r)core(tm)i7-477lk四核处理器,3.50ghz,物理内存(ram)32gb。试验开发环境:windows7spl,microsoftvs2013,python2.7,matlab2015a。

(1)利用2010年4月公开的维基百科语料库(wikipedia2010)进行词类比实验,该语料库包含约200万个文本和990万个词汇。经过预处理以后,将所有单词改为小写,并筛选出出现次数大于20的词语进行训练。词类比实验使用语料库的细节情况见表1:

表1.词类比实验使用语料库细节情况

词类比实验通过计算词嵌入的余弦距离,从所有的词嵌入中,搜索与向量最相近的向量从而回答诸如“词嵌入wa与词嵌入wb的关系类似于词嵌入wc与哪一个词嵌入”。本实验采用正确率(accuracy)作为评价指标,其计算公式为:

accuracy=ntrue/n

其中,n是问题的总数,ntrue表示与正确答案精确匹配的回答数目。

(2)利用wordsim-353(ws-353)和斯坦福的语境相似度(scws)两个公共数据集进行词义辨析实验。ws-353由353对名词组成,每个名词相互独立,不存在相关的上下文信息,由人类对相似性和相关性的主观判断给出一个由0到10打分结果。scws数据集将每个单词与其上下文一起提供,可以根据上下文反映出目标词汇的语义变化。

首先通过不同词语的词嵌入向量表示计算出任意词对之间的余弦相似性,然后计算这些词对之间的余弦相似性得分与人类主观判断打分之间的斯皮尔曼等级相关性ρ,进此评估构建的词嵌入表示向量对于词语间的语义的辨析效果。针对n个词对,令yi表示某个词对之间人类主观打分的等级排序,xi表示根据该词对的词嵌入向量表示计算得到的余弦相似性得分的等级排序,那么,斯皮尔曼等级相关性计算公式为:

(3)利用20newsgroups和rcv1公开数据集进行文本聚类实验,其中20newsgroups由20个不同的新闻主题组成。而rcv1是由路透社提供的一个包含超过80万个新闻稿的多类别文本数据集,本实验从中选择4个类别进行相关测试,m11(equitymarkets)、m12(bondmarkets)、m131(interbankmarkets)和m132(forexmarkets)。具体的统计信息见表2。

表2.两种文本集上的部分统计信息

采用平均互信息(normalizedmutualinformation,nmi)作为评价指标,其取值范围是[0,1],取值越高表明聚类分组与真实分组越相似。其计算公式为:

其中,c={ci}表示经过聚类算法之而t={ti}表示文本真实类别情况。h(c)和h(t)分别对应两种情况的熵值,mi(c,t)是两种情况之间的互信息,它的计算公式为:

p(ci,ti)是文本xi∈ci,ti的联合概率,表示从文本集中随机选取一篇文本同时属于ci,ti的概率,而p(ci)表示随机选取一篇文本xi∈ci的概率,p(ti)表示随机选取一篇文本xi∈ti的概率。

(4)文本分类实验采用的数据集和文本聚类一样。分类实验采用加权f值来评估最终分类结果的准确性,值越高表明分类结果越准确,其计算公式为:

其中,ci表示类别i的文本占整个测试集上比例,c表示测试集的整体大小。fi是关于类别i的f值,它与精确率(precision)pi和召回率(recall)ri密切相关,这三种评价指标的计算公式为:

实验结果

对于实验(1),结果见表3。在总体效果上,spc超越了其它词嵌入构建方法。这表明联合文本集词聚合与词组合分布式语义特征进行自编码填词预测,建立词嵌入编码网络,可以充分利用词语间的语义联系,建立分布式语义信息更加丰富的词嵌入表示,从而为下一步提高文本相似性度量的准确性提供保证。

表3.词类比评价任务中回答结果的正确率(%)

对于实验(2),两个数据集下,spc在不同词嵌入维度下性能均好于对比方法,这验证了通过联合文本集中词聚合、词组合分布式语义特征建立词嵌入编码网络可以有效地提升词嵌入对于词义辨析的准确性,更好的描述词义间的相似性。实验(2)的结果见图4。

对于实验(3),从整体效果可以看出,基于词嵌入的nmd和wmd效果要好于传统的文本相似性度量,在20newsgroups语料上可以达到63.1%。这表明利用词嵌入编码网络可有效利用词语间语义联系,并提供的丰富分布式语义信息,从而进一步提升文本相似性度量效果。实验(3)的结果见图6。

对于实验(4),实验结果表明,利用词嵌入编码网络所构建的词嵌入表示,可以充分利用词语间语义联系,增强同类文本间相似性度量的准确性,因而更准确的刻画文本语义相似性。当k增加到20的时候,wmd的分类效果出现了退化,而nmd仍能保持较好的表现,可以达到71.59%。这说明nmd可以有效利用spc提供的分布式语义信息,进一步提升文本相似性度量的准确性。实验(4)的结果见图7。

上述4项实验的实验结果表明,本发明具有准确率高、分布式语义特征丰富的特点。在词嵌入的词类比实验中,正确率达到73.95%,在词嵌入的词义辨析实验中,斯皮尔曼等级相关性达到74.12。通过结合文本集中词聚合、词组合分布式语义特征,构建词嵌入编码网络可以有效利用词语的语义联系,建立分布式语义信息更加丰富的词嵌入表示,更好的描述词语之间的语义相似性。

在文本聚类实验中,nmd的聚类nmi效果达到63.1%,在文本分类实验中,nmd的分类效果提升至71.59%。通过词嵌入编码网络所构建词嵌入表示计算词嵌入的最大加权匹配距离,可以充分利用词嵌入所提供的分布式语义信息,更加准确的刻画文本的语义相似性,进一步提升文本相似性度量的准确性。

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