一种基于标签信息的图游走表示方法与流程

文档序号:12465985阅读:222来源:国知局
一种基于标签信息的图游走表示方法与流程

本发明针对大规模图数据中结点的多标签分类任务,设计了一种使用部分标签信息指导在图结点之间的游走方法,实现对图结点的向量表示学习。



背景技术:

图数据的表示学习为使用机器学习算法进行图数据的挖掘分析提供了可能。考虑到在图数据中,结点通常代表一个实体对象,边代表两个实体对象之间的某种关系,而且任意一条边,可以使用一对结点对唯一标示。因此,对于图概念中的两个元素:结点和边,目前的图数据表示学习算法都是基于一个结点代表一条样本数据,学习表示一个结点的特征表示。将图中结点表示为特征向量的三点意义:通过将图结点表示成特征向量,我们可以应用已经存在的成熟的算法对图数据进行挖掘,避免为再为不同图结构的数据设计单独的算法。

对于向量数据,有成熟的用于数据分析的概念,比如向量间的距离、内积等,以及分析的工具,将图结点表示为向量形式,可以方便的利用向量的概念和性质进行数据分析的工作。

对于具有复杂连接关系大规模的图数据,难以获取图数据的潜在的关系。但是,通过将图结点表示为低维向量,可以对结点之间的关系进行可视化的分析和展示。

传统的图结点表示学习的方法包括基于谱方法、基于最优化以及基于概率生成式模型的图结点表示学习算法。随着深度学习思想的普及,近年来有学者提出一种基于游走的图结点表示学习算法。

基于游走的图结点表示学习算法是利用了word2vec的理论方法,以及知识图谱中利用实体、属性及其之间的联系构建语义网络的思路,通过逆向思维,将普通图结构中的结点与自然语言处理中的词单元进行了类比,将图中的一条一条的连接路径类比作自然语言处理中的一条语句;利用概率语言模型中求解每一个词语之间共现关系(即所有的条件概率参数)的方法来探讨图结点之间的连接结构;利用生成词向量的方法生成了图中结点的向量表示方法。通过这种类比算法得到的图结点的向量,反映了对应图结点与周围邻居结点联系的结构特征,同时实现了图结点的低维向量表示,这就为基于图数据的一些数据挖掘和分析算法,比如图结点分类,链路预测,社区发现等等,提供了一个新的处理或者是优化的思路。

图结构是一种对数据之间的约束比较少,组织比较随意的存储数据的结构,这也导致了在图数据中可能存在的,相对于我们的学习目的冗余的甚至错误的数据关系。当在图中进行游走的时候,不加指导地完全随机游走将会引入大量的噪声,影响对于图结点特征的提取。对于图数据的特定的处理场景,或者学习目的下,图结点具有相似性的标准是不同的。通过定义一定的规则指导游走,可以实现在相应的相似标准下具有相似性的两个结点的特征表示也具有相近的空间距离。多标签的分类问题是图数据挖掘中的常见问题,也是目前评价图结点表示学习算法效果的主要任务。在不同的图数据集上,标签可能拥有不同的含义,比如社交网络图中,标签可以表示用户的兴趣爱好或者所属的社团等。



技术实现要素:

本发明针对多标签分类任务中,在基于游走的图结点特征表示学习算法中,游走的随机过程设计了使用部分的标签信息来指导游走。

为达到上述目的,本发明提出一种基于标签信息的图游走表示方法,包含以下步骤:

S1:加载图数据,建立起每一个图结点对应的邻居结点和标签信息的数据结构;

S2:为图中每一个结点,计算该结点的邻居结点被游走到的概率值,实现从该结点的邻居结点中随机选择若干次,每个邻居结点被选中的概率符合计算得到的概率值;

S3:根据上一步得到的概率值以及其他游走参数,启动游走,得到若干条游走路径;

S4:根据游走路径进行训练,得到词向量,即每一个图结点的向量表示形式;

S5:对图结点进行多标签的分类任务,检验算法的分类效果。

进一步,S2步骤中是根据该结点与其邻居结点的标签属性,以及指定的标签信息比例可调参数p计算该结点的邻居结点被游走到的概率值。

S2步骤中使用alias method实现从该结点的邻居结点中的随机选择。

S3步骤中的其他游走参数包括游走长度。

S4步骤中进行训练是通过调用word2vec算法完成的。

本发明的有益效果在于:

1,通过设置游走过程中的参数,可以调整游走过程中参考标签信息指导游走下一步的比例,使得图结点的特征表示中含有分类标签信息的特征的多少的灵活可调,实现了游走过程中在更加拟合本次多标签分类的目标和更加泛化的学习整个图数据之间的灵活性。

2,通过该算法生成的图结点的向量表示可以更加体现多标签分类任务中标签的特征信息,从而使得多标签分类的正确率随着参考标签信息指导游走的比例参数的增加而显著的提升。

附图说明

图1为本发明整体的算法执行过程。

图2为本发明为每一个图结点的邻居结点计算被游走概率的流程图。

图3为使用标签指导游走的具体游走流程。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

下面给出算法整体计算过程:

第一步:加载图数据,建立起每一个图结点对应的邻居结点和标签信息的数据结构;

第二步:为图中每一个结点,根据该结点与其邻居结点的标签属性,以及指定的标签信息比例可调参数p,计算该结点的邻居结点被游走到的概率值,并使用alias method实现从该结点的邻居结点中随机选择若干次,每个邻居结点被选中的概率符合计算得到的概率值。

第三步:根据上一步得到的概率值以及其他游走参数,比如游走长度,启动游走,得到若干条游走路径;

第四步:根据游走路径,调用word2vec算法进行训练,得到词向量,也就是每一个图结点的向量表示形式;

第五步:对图结点进行多标签的分类任务,检验算法的分类效果。

图1为本发明的整体执行过程,具体来讲包括:

步骤1:加载图数据以及标签信息。其中,为便于后续处理,把不同组织格式的数据集转化为统一的类似连接表的字典结构,即图结点的值作为字典中的key,每一个结点的邻居结点或者该结点的标签信息组织成一个列表,作为相应的value,从而得到了表示图数据的字典G,以及表示标签信息的字典T;

步骤2:计算游走概率的过程,其原理如下。设待处理的图数据中共有N个结点,游走过程的当前结点为C,下面要从C的邻居结点中选择一个结点作为游走路径中的下一个结点,假设C结点共有E个邻居结点,表示为

neighbors(C)={n1,n2,n3,L,nE},0≤E<N (0.1)

同时将neighbors(C)中与结点C拥有共同标签的邻居结点表示成

common(C)={m1,m2,m3,L,mk},0≤k≤E (0.2)

显然common(C)属于neighbors(C)的子集合。设D结点被选中作为C结点的下一个结点被游走,其中D属于neighbors(C)集合。在本算法实现中,我们要求结点D属于common(C)集合的概率

P(D∈common(C))=p,D∈neighbors(C) (0.3)

其中,概率p为我们在游走开始前设定的游走参数。为了实现这一点,我们需要为结点C计算一组新的变量,即通过计算

来为C结点的每一邻居结点分配一个被游走到的概率。

图2详细列出了一种计算每一个图结点的邻居结点被游走的概率的实现流程。其中包括,首先统计每一个结点的邻居结点中,与该结点有共同标签的邻居的索引,以及与该结点有共同标签的邻居数目。如果,没有与该结点有共同标签的邻居,那么,为每一个邻居分配相同的被游走的概率。否则,利用式1.4为每一个邻居结点计算被游走的概率值。

然后,我们将这组概率值传递给AliasMethod算法中的alias_setup方法,建立AliasMethod算法中的alias_nodes变量。Alias_nodes变量同样相当于一个字典结构,其中的key仍为图中的所有结点,value为与该结点邻居列表等长的,对被游走概率序列进行调整之后的两个概率序列。在AliasMethod算法中的alias_draw方法中通过使用随机数与这两个概率序列进行比较,将返回一个下标索引。当重复多次地调用alias_draw方法时,返回的下标索引的概率分布将符合我们指定的被游走的概率值序列。

步骤3:启动游走。图3给出了使用前面计算得到的概率序列,指导在结点之间游走的具体实现过程。其中,在每次选择游走的下一结点时,通过调用alias_draw方法访问当前结点的alias_nodes变量,来选择下一个游走结点的索引,从而实现了有指导的游走。

步骤4:根据上一步得到的游走路径集合,调用word2vec方法,计算每一个图结点的向量表示。

步骤5:使用常见的分类算法(比如逻辑回归模型)对图结点的特征向量进行多标签分类。

综上所述,本发明针对现有的基于游走的大规模的图结点表示学习算法在游走过程中比较过于随机,引起的图结点的特征表示与应用场景中需要的结点特征匹配度过低的问题,设计了一种在多标签分类任务中,使用标签信息指导游走的方法。通过设置一个比例参数p,可以实现调整标签信息在游走过程中发挥指导作用的强弱,进而达到了图结点的特征表示与该多标签分类场景下的结点标签特征的匹配度的灵活可调。

以上所述仅为本发明的优选实施案例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行改进,或者对其中部分技术进行同等替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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