一种融合文本和标签网络的社交内容表征方法和系统与流程

文档序号:18193639发布日期:2019-07-17 05:42阅读:194来源:国知局
一种融合文本和标签网络的社交内容表征方法和系统与流程

本申请涉及神经网络技术,尤其涉及一种融合文本和标签网络的社交内容表征方法和系统。



背景技术:

文本分类是自然语言处理(naturallanguageprocessing,nlp)领域的一项基础工作,在工业界拥有大量且丰富的应用场景。传统的文本分类需要依赖很多词法、句法相关的人为提取的特征,而利用深度学习能够实现无监督的训练。自深度学习技术快速发展之后,尤其是循环神经网络(recurrentneuralnetwork,rnn)、卷积神经网络(convolutionalneuralnetwork,cnn)在nlp领域逐渐获得广泛应用,使得传统的文本分类任务变得更加容易,准确率也不断提升。基于预先训练好的词嵌入向量(wordembedding),采用cnn训练了一个词级别的句子分类器,并进行了一系列的实验来验证分类效果。实验证明,一个简单的cnn模型,如图1所示,只需要调整少量超参数和wordembedding,在多个标准数据集上都取得了很好的效果。rnn也是nlp任务中最常用的网络结构之一,因为它的递归结构非常适合处理不同长度的文本。rnn可以基于词(word)的嵌入向量(embedding),把句子文本抽取成一个矩阵。

然而利用文本cnn(textcnn)模型完成文本分类时,创建的文本序列的矩阵包括2个维度,一个维度是文本中的词,另一个维度是各个词维度。在进行卷积操作的时候并不能对矩阵的宽维度进行卷积,只能用与矩阵宽度一样的卷积核,进行卷积操作的结果会得到一个列向量,无法继续进行卷积。

并且,目前的技术没有利用文本多标签分类中标签之间的关联,对于复杂的文本数据集,如rcv1,20news这样存在标签的网络,标签之间有不同的距离,目前没有很好的办法能够利用这个距离来优化分类效果。

申请内容

为解决上述技术问题,本申请实施例提供了一种融合文本和标签网络的社交内容表征方法和系统。

本申请实施例提供的神经网络处理数据的方法,包括:

对文本数据进行处理,得到该文本数据的图表示,并对得到的子图中节点按照bfs进行排序;

对所述图表示进行数据结构化处理;建立标签网络,并根据元路径在标签网络中随机游走得到标签的向量表示;

将处理得到的结构化数据输入神经网络中,基于标签网络和元路径得到标签的向量表示对所述神经网络进行lstm+rnn训练。

本申请实施例提供的神经网络处理数据的装置,包括:

图表示模块,用于对文本数据进行处理,得到该文本数据的图表示,并对得到的子图中节点按照bfs进行排序;

结构化处理模块,用于对所述图表示进行数据结构化处理;建立标签网络,并根据元路径在标签网络中随机游走得到标签的向量表示;

训练模块,用于将处理得到的结构化数据输入神经网络中,基于标签网络和元路径得到标签的向量表示对所述神经网络进行lstm+rnn训练。

采用本申请实施例的上述技术方案,1)有效地利用显式和隐式标签依赖信息,非连续和长距离语义文本建模,字嵌入和lstm+rnn网络方法来学习高级和区分文本特征;2)在多标签文本分类方面展示了强大的成果。甚至,极大地推动了从单标签到多标签任务的转移学习;3)实现了正则化的对抗lstm+rnn网络,用于多任务文本分类。4)算法多参数可调,可根据需求设置,算法内部耦合性低,可移植性好。5)提出了层次分类嵌入方法来测量标签之间的距离,并且标签距离也被整合到新的加权交叉熵中。

附图说明

图1为textcnn的结构图;

图2为本申请实施例提供的神经网络处理数据的方法的流程示意图;

图3为本申请实施例提供的原理整体架构图;

图4为本申请实施例提供的数据结构化表示与所用的深度神经网络结构图;

图5为本申请实施例提供的标签网络及元路径的示意图;

图6为本申请实施例提供的神经网络处理数据的装置的结构组成示意图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

本申请实施例的技术方案基于宽度图模型建立更复杂的文本表示方法,使原来不能在宽度方向进行卷积操作的问题,通过增加了一个维度后,能够进行卷积,并用于深度神经网络。同时,本申请实施例的技术方案我们改进了神经网络的训练过程,利用数据集中的标签之间的关系优化了神经网络训练过程。

图2为本申请实施例提供的神经网络处理数据的方法的流程示意图,如图2所示,所述神经网络处理数据的方法包括以下步骤:

步骤201:对文本数据进行处理,得到该文本数据的图表示,并对得到的子图中节点按照bfs进行排序。

需要说明的是,本申请实施例中的方法步骤可以在部署和配置python的tensorflow运行环境中实现,不局限于此,本申请实施例中的方法步骤还可以在其他机器学习框架中实现。

本申请实施例中,文本数据首先需要进行图(graph)表示,具体地,可以通过以下步骤来实现文本数据的graph表示:

1)对所述文本数据进行分词,去掉词中的停用词;

2)利用固定的滑动窗口尺寸计算词之间的共生程度,得到所述文本数据对应的词网络图,其中节点是文本单词,如果两个单词存在于同一个滑动窗口内,则它们之间具有一条边。

步骤202:对所述图表示进行数据结构化处理;建立标签网络,并根据元路径在标签网络中随机游走得到标签的向量表示。

本申请实施例中,为了使神经网络能够对图表示进行处理,需要对所述图表示进行数据结构化处理。具体地,可以通过以下步骤来实现数据结构化处理:

1)在所述图表示中,按照紧密中心度对图中所有节点进行排序,取最大的n个词,n为正整数;

2)对于所述n个词中的每个词,使用广度优先搜索算法得到与该词最相邻的ks个词,其中ks个词的排列顺序与它们通过bfs加入的顺序一致,将该词和所述ks个词组成长度为m的序列,其中,m=ks+1;

3)将k维词嵌入表示运用到所述序列中,得到n*m*k的文本表示。

本申请实施例中,元路径分为父子父,子父子,在标签网络中按照这两条元路径进行随机游走得到语料,将语料放入word2vec中进行训练得到标签的向量表示。

步骤203:将处理得到的结构化数据输入神经网络中,基于标签网络和元路径得到标签的向量表示对所述神经网络进行lstm+rnn训练。

本申请实施例中,在对所述神经网络进行lstm+rnn训练的过程中,利用标签网络调节所述神经网络中的损失系数,所述标签网络包含有标签之间的关联关系。

具体地,获取所述标签网络中各个标签的嵌入表示,基于所述各个标签的嵌入表示计算标签与标签之间的余弦相似度,其中,simm,n表示标签m与标签n之间的余弦相似度;

计算标签n对应的参数其中,t为所述文本数据命中的标签集合;

其中,所述标签n对应的sn的取值越大,则表明所述标签n与正确的标签越相近,减慢损失系数对应于所述标签n的学习速率;所述标签n对应的sn的取值越小,则表明所述标签n与正确的标签越不相近,加快损失系数对应于所述标签n的学习速率;损失函数为ln=-wn[yn·logxn+(1-yn)·log(1-xn)],xn是第n个标签的预测,yn是第n个标签的label。

优选地,所述神经网络的损失函数的权重基于以下公式确定:

其中,wn代表损失函数的权重,p为常数。

以下结合具体应用实例对本申请实施例的技术方案做进一步说明。参照图3,图3为本申请实施例提供的原理整体架构图。

(1)文本数据的graph表示

将文本转化成矩阵,我们需要考虑到单词的共生,文本中的每个单词都不是独立的,他们与各个单词之间都是有关系的,将他们的关系使用graph的形式表现出来。

首先我们对文本分词,去掉词中各种停用词来减少噪声,同时还要对单词进行词源化。正如在设计图中的样子,我们利用滑动窗口来计算单词之间的共生程度,有一个滑动的窗口在词组中向前滑动,窗口里的词都算是共生,同时统计各个词之间的共生程度。这样我们就能得到整个文本的词网络图,以及利用每个点的邻近点集组成的子图。

(2)对graph表示进行数据结构化处理

统计词组中出现最多的词,取前n个词,对于选择的每个词,从他的子图中使用广度优先搜索算法得到与词最相邻的ks个词,加上这个词的本身,组成长度为m=ks+1的序列。将k维词嵌入表示(word-embedding)运用到该矩阵中,获得n*m*k的文本表示。

举个例子,n=100,m=20,k=50,参照图4,图4为本申请实施例提供的数据结构化表示与所用的深度神经网络结构图。

(3)多标签分类与标签网络

对于多标签分类方法,主要使用二元交叉熵损失(binarycrossentropyloss)函数,本申请实施例的技术方案利用多标签数据集中的标签网络来调节损失(loss)系数,公式如下:

其中,ln=-wn[yn·logxn+(1-yn)·log(1-xn)]。

其中,标签网络可以参照图5所示,标签网络包含了标签之间的关系,其中,(1)为元路径1(meta-path1),一个父节点(father0)连接两个子节点(child1和child2)。(2)为元路径2(meta-path2),两个父节点(father1和father2)连接1个子节点(child0)。(3)为各个标签的层次化和图形化结构(hierarchicalandgraphicalstructureoflabels),组成了标签网络。

利用节点嵌入表示(nodeembedding)获得各个标签的n维嵌入表示(embedding),根据这个计算出标签与标签之间的余弦相似度:simm,n,其中,0<simm,n<1,表明标签m与标签n之间的余弦相似度。标签n与标签m之间关联度越大,simm,n越大,反之simm,n越小。

对于一个样本,命中了t={a,b,c,.....},那么这个样本中ya=1,yb=1.......,本申请实施例定义在这个样本中其他未标签到这命中标签可表示为:

当标签n的sn比较大时,证明在这个样本中标签n与正确的标签相近,此时应该减慢loss在标签n时的学习速率,在loss中应该减少-yn·logxn的大小,那么应该加一个小于1的权重,反之则加一个大于1的权重。为了平衡命中和未命中的情况,避免加了参数后学习不平衡,本申请实施例最终确定损失函数权重的公式为:

其中,wn代表损失函数的权重,p为常数,优选地,p=1.581978。

图6为本申请实施例提供的神经网络处理数据的装置的结构组成示意图,如图6所示,所述装置包括:

图表示模块601,用于对文本数据进行处理,得到该文本数据的图表示,并对得到的子图中节点按照bfs进行排序;

结构化处理模块602,用于对所述图表示进行数据结构化处理;建立标签网络,并根据元路径在标签网络中随机游走得到标签的向量表示;

训练模块603,用于将处理得到的结构化数据输入神经网络中,基于标签网络和元路径得到标签的向量表示对所述神经网络进行lstm+rnn训练。

在一实施方式中,所述图表示模块601,用于:

对所述文本数据进行分词,去掉词中的停用词;

利用固定的滑动窗口尺寸计算词之间的共生程度,得到所述文本数据对应的词网络图,其中节点是文本单词,如果两个单词存在于同一个滑动窗口内,则它们之间具有一条边。

在一实施方式中,所述结构化处理模块602,用于:

在所述图表示中,按照紧密中心度对图中所有节点进行排序,取最大的n个词,n为正整数;

对于所述n个词中的每个词,使用广度优先搜索算法得到与该词最相邻的ks个词,其中ks个词的排列顺序与它们通过bfs加入的顺序一致,将该词和所述ks个词组成长度为m的序列,其中,m=ks+1;

将k维词嵌入表示运用到所述序列中,得到n*m*k的文本表示。

在一实施方式中,所述结构化处理模块602,用于:在标签网络中按照父子父,子父子这两条元路径进行随机游走得到语料,将语料放入word2vec中进行训练得到标签的向量表示。

在一实施方式中,所述训练模块603,用于:

利用标签网络调节所述神经网络中的损失系数,所述标签网络包含有标签之间的关联关系。

在一实施方式中,所述训练模块603,用于:

获取所述标签网络中各个标签的嵌入表示,基于所述各个标签的嵌入表示计算标签与标签之间的余弦相似度,其中,simm,n表示标签m与标签n之间的余弦相似度;

计算标签n对应的参数其中,t为所述文本数据命中的标签集合;

其中,所述标签n对应的sn的取值越大,则表明所述标签n与正确的标签越相近,减慢损失系数对应于所述标签n的学习速率;所述标签n对应的sn的取值越小,则表明所述标签n与正确的标签越不相近,加快损失系数对应于所述标签n的学习速率;损失函数为ln=-wn[yn·logxn+(1-yn)·log(1-xn)],xn是第n个标签的预测,yn是第n个标签的label。

在一实施方式中,所述神经网络的损失函数的权重基于以下公式确定:

其中,wn代表损失函数的权重,p为常数。

本领域技术人员应当理解,图6所示的神经网络处理数据的装置中的各模块的实现功能可参照前述神经网络处理数据的方法的相关描述而理解。图6所示的神经网络处理数据的装置中的各模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。

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