一种基于词项聚类的文本语义标签抽取方法与流程

文档序号:14911143发布日期:2018-07-10 23:26阅读:449来源:国知局

本发明属于数据挖掘领域,涉及一种基于词项聚类的文本语义标签抽取方法。



背景技术:

随着互联网的发展,互联网基础设施的快速增长,使得大量用户数据的收集变得越来月容易,而这些数据中有很大一部分就是自然语言形式的文本数据。而使用语义标签的方式对文本打上更概括更抽象的语义标签,使得文本数据的分析以及挖掘都变得更加便捷。

文本作为人思想的高层次抽象表达,形式丰富语义复杂,对计算机而言纯粹的文本是不可理解的,因而将文本转化成计算机可处理的数学表达形式,是计算机处理文本的基础。本专利单词分布式表示假说,在语言模型的基础上,采用词嵌入生成技术,提出了一种文本的关键词抽取方法。本模型使用低维空间中的向量作为单词的语义表示,采用聚类算法对低维空间中词项的分布进行语义计算,并使用向量到单词映射的方式对语义信息解码,从而抽取出文本的语义标签。



技术实现要素:

本发明所涉及的文本语义标签抽取是从文本中抽取出可代表文本语义信息的词语的过程,对自然语言的处理也有重要的应用价值。本方法基于Hinton的单词分布式表示假说,在神经网络语言模型的基础上,采用词嵌入生成技术,提出了一种文本的关键词抽取方法。本模型使用低维空间中的向量作为单词的语义表示,采用聚类算法对低维空间中词项的分布进行语义计算,并使用向量到单词映射的方式对语义信息解码,从而抽取出文本的语义标签。

本发明采用的技术方案为一种基于词项聚类的文本语义标签抽取方法,步骤总体上分为两步,其流程图如图1所示,该方法具体步骤为:

步骤一:词项在高维几何空间的向量映射。在所给的文本数据集上,以词项分布式假说的表示形式建立文本数据的语言模型,采用梯度下降算法同时对语言模型和词向量表示迭代训练,得到所有词项对应的向量。

步骤1.1:对文本数据集进行数据预处理。中文数据集中,首先对中文文本进行分词处理,将完整的句子划分成词语的集合;由于自然语言中存在很多无语义的连词、代词等词语,所以最后需要进行去停用词处理,滤掉无语义的词项。

步骤1.2:建立n元语言模型。CBOW语言模型中,CBOW语言模型的方法是,根据分布式假说,将词项W映射为d维空间中的向量表示,那么词项W写为W->V∈Rd。此时向量V中每个值均为待定的系数,文本语料中词项的共现关系即出现在同一句话中的词项提供确定这些系数的依据。依据N元语言模型理论,将一个完整的句子视为词项连接的序列,而序列中从第t-n到t+n个元素作为一个子单元,将第t-n到第t-1个元素和第t+1到t+n个元素作为模型的输入,第t个元素作为模型的标注值,以第n个单词的上下文信息预测第n个出现的概率。

模型的结构主要分为输入层、映射层和输出层三层,图2为n=2时的CBOW模型:输入层输入的是词项W(t)所处的上下文V(t-2)、V(t-1)、V(t+1)、V(t+2),其中V(t-2)、V(t-1)、V(t+1)、V(t+2)分别为W(t)所处的上下文词项W(t-2)、W(t-1)、W(t+1)、W(t+2)对应的分布式表示向量;映射层用以合并输入层各项的值,计算各个维度上的和,生成映射层向量有输出层根据映射层的值计算出输出W(t)。

步骤1.3:使用预处理过后的文本数据,使用层次softmax,对语言模型以及词向量训练过程加速。层次softmax为了加速模型的计算,以树形结构替代之前输出层的扁平结构,以词项在语料中出现频率构成的Huffman树作为模型的输出层。为了便于模型更新,Huffman树结构中引入以下计法:

a>pw:从根节点出点到达词项W对应叶子节点的路径。

b>lw:路径pw上包含的节点个数。

路径pw中的lw个节点,表示根节点,表示词项W对应叶节点。

词项W的Huffman编码由lw-1位编码构成,表示路径pw上第j个节点对应的编码即根节点不对应编码。

路径节点中非叶子结点对应的向量,表示路径pw上第j个非叶节点对应的权重向量。

非叶子结点作为二分类的解释,定义左子树即编码为1的分支为负类,右子树即编码为0的分支为正类,即有既然每个非叶子节点都作为一个二分类器,此处使用逻辑斯特回归算法来进行节点的分类,则在对于词项W,其路径pw中的第j个叶节点上有,其中p表示词项W在当前分类节点所代表的语义上表现为正类的概率,则1-p表示词项W在该语义上表现为负类的概率,为隐藏层的向量表示,为路径pw上第j个非叶节点对应的权重向量。而在整个模型中,要求在上下文为Context(w)的条件下,模型的输出为词项W,则要求其路径上所有非叶节点二分类器的分类结果路径编码为的概率最大。词项W在非叶节点上被分为的概率为:

词项W在非叶节点上被分为的概率或者为:

则词项W被分类为编码为的路径pw的概率为:

因此若想语言模型的性能和词向量的质量更好,则需要使上述概率尽可能的大,此时可最大化似然概率求解最大概率,从而使模型优化。计似然概率为:

使用梯度上升算法,求解最大化L时,参数xw和的更新公式,有:

根据参数的更新公式,遍历语料文本中全部语句,依次迭代训练处模型参数θ以及词项分布式表示向量V,则有模型训练算法:

由上述训练算法,多轮训练之后,得到的向量V(u)即是词项的分布式语义表示,而文本中所含所有词项的向量组成的矩阵则描述一篇文本的语义。

步骤二:根据语言模型训练过程中得到的词向量,在高维集合空间中做聚类计算,得到文本的中心语义向量,再根据该向量反映射,得到文本的中心语义标签。

步骤2.1:做K-means聚类计算,得到文本中心语义向量。算法流程如下:

输出:簇划分C={C1,C2,...,Ck}

在K-Means算法迭代收敛后,即可得到每个簇的簇心,而簇心即为当前文本中核心语义在d维空间的向量表示。

步骤2.2:根据该向量反映射,得到文本的中心语义标签。围绕簇心计算其最临近点,将其最邻近点对应的词项作为文本语义标签返回。

经实验结果证明,本方法得到的实验效果显著。

附图说明

图1:语言模型结构图。

图2:语言模型结构图。

图3:层次softmax模型优化图。

具体实施方式

下面结合相关附图对本发明进行解释和阐述:

步骤一:词项在高维几何空间的向量映射。

步骤1.1:在论文数据集上,以词项分布式假说的表示形式建立文本数据的语言模型(如附图2所示),其中输入层输入的是词项W(t)的上下文单词W(t-2)、W(t-1)、W(t+1)、W(t+2),而映射层主要用以合并输入层各项的值,计算各个维度上的和,生成映射层向量有H∈Rd。输出层根据映射层的值计算出输出W(t)。

步骤1.2:使用层次softmax结构(如附图3所示)替换输出层。模型最末端是一颗二叉树结构,该二叉树结构由全体文本数据中出现过的所有词项确定,每一个叶子节点都对应一个词项;而非叶子节点则表示一次二分类计算。

步骤1.3:采用梯度下降算法同时对语言模型和词向量表示迭代训练,根据公式

可知词项W(i)对应向量V的值在训练过程中不断迭代更新,直到训练结束。将最终得到的每个词项对应的向量V的值保存到一个map数据结构中。

步骤二:根据语言模型训练过程中得到的词向量,在高维集合空间中做聚类计算,得到文本的中心语义向量,再根据该向量反映射,得到文本的中心语义标签。

步骤2.1:a、输入用户需要做语义标签提取的文本数据,通过步骤一中训练的词向量以及词表的对应关系,将输入文本数据映射成集合空间点集R;

b、在几何空间中对点集R中的元素指定K个初始质心,并通过这K个初始质心计算每个点所属于的类别。

c、调整质心,根据每个点所属的不同类别,计算每个类别点的坐标均值,并以此均值替代原来的指定的质心。

d、重复过程c直到质心不再改变,返回k个质心集合C。

在K-Means算法迭代收敛后,即可得到每个簇的簇心,而簇心即为当前文本中核心语义在d维空间的向量表示。

步骤2.2:根据步骤一中计算的质心C以及点集R,对C中每个元素c计算点集R中离C最近的点rc。根据步骤一中保存词向量映射关系的map数据结构,将点rc对应向量反映射回词表中,得到元素c对应的语义标签W(c)。由此得到文本的语义标签集合L={wc1,wc2,...,wck},将所得语义标签集返回给用户。

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