# 图智能
# 简介
图计算中的查询和算法只基于图上拓扑信息,而使用图神经网络(GNN),可以整合除了拓扑结构之外的节点属性等更丰富信息,更完整地抽取图特征。
eZoo图平台支持数据科学家、AI/ML从业者、业务专家根据需求定义GNN模型,进行模型的开发、设置、训练、存储,实现对图上数据的深层挖掘。
# 图神经网络
# 概念
随着机器学习、深度学习的发展,语音、图像、自然语言处理逐渐取得了很大的突破,语音、图像、文本都是简单的序列或者网格数据。
然而现实世界中并不是所有的事物都可以表示成在物理空间上相邻接的序列或者网格结构,例如社交网络、知识图谱、事件关联等。事物之间在物理空间上不具备相邻关系,但却通过某种逻辑关系关联起来。
图擅长表达数据之间的不规则关系,图中每个节点通过一些复杂的链接信息与其邻居相关,这些信息可用于捕获节点间的相互依赖关系。
因此,为了将深度学习方法应用到图数据领域,产生了图神经网络——GNN。

图神经网络是一种直接作用于图结构上的神经网络,它借助神经网络的“能力”(如深度特征抽取等)来处理图结构的数据,经过特定的神经网络结构,可以完成对图节点或边的分类、预测等功能。
在图神经网络中,相邻节点或边相互交换信息,结合自身及从邻居获取的信息计算嵌入式表示。
消息传递分三个步骤进行:
- 收集信息:对于图中的每个节点,收集所有相邻节点的消息(或嵌入)。
- 聚合信息:通过聚合函数(例如:sum)对聚合的消息进行计算。
- 更新:将聚合计算的结果更新为新的节点嵌入式表示。

这些步骤在利用图上节点或边自身属性特征的同时,也融合了图中的拓扑信息,相片传统的机器学习,可以更全面精准地对节点或边的特性进行计算。
# 应用
现实生产生活中,万物往往具备相互关联的特点。当希望通过各实体之间的关联关系,更全面的刻画一个逻辑网络中实体或者关系特征的时候,就是典型的GNN应用场景。
GNN的应用通常可以分为分类、预测两大类。
在一个用户网络中,挑选出对某种商品感兴趣的高价值用户;在金融信贷网络中,挑选出有欺诈嫌疑的危险账户,都是典型的GNN节点分类任务。
在一个包含多种复杂结构的客户关系网络中,从众多的关联关系(例如:朋友、合作伙伴、家人、同学等等)中挑选出家庭关系,便是GNN的边分类任务。
当在一个人物关系网络中,寻找失联人的联系方式时,我们往往会想到从网络中挑选出一些可能与失联人有较亲近关系且留有联系方式的人作为突破点。寻找这些可能存在的失联人“亲近关系”的工作就可以使用GNN的链接预测来完成。
# 图智能平台
eZoo的图智能平台产品(eZoo-Studio)集成了图智能相关能力,以eZooDB作为基础的数据底座,基于同一份图数据,在支持图的基础查询、图挖掘算法的同时,支持GNN相关的数据预处理、模型训练、结果解释及模型管理等相关功能。
# 产品形态
- 可视化界面
我们在eZoo-Studio上基于不同的使用场景,预置了相应的GNN案例,通过Studio的“图智能”菜单,可以访问到这些示例代码:

- SDK
eZoo的图神经网络SDK被封装成名为ezoognn的Python工具包,安装完成之后,即可支持多种数据方式加载eZoo数据库中的数据(本地加载、远程镜像)。同时支持对于图数据的特征工程、模型训练、可视化展示及模型存取等功能。
