Content
1.Intro
在 KDD 2018 中的 Tutorials 中一篇 Large-Scale Graph Algorithmics: Theory and Practice,提到:我们能够知识图谱,去找寻类似关键字在广告当中的模式、或是在Youtube当中共同观影者的行为表示…etc。并且,Google 也整理了复盖实践知识图谱的范畴:从构建图 (Graph Building) 、到运用标籤传播进行 Clustering、以及根据 PageRank 衡量节点重要性 (Centrality Scores/Ranking) 等。
Source: Large-Scale Graph Algorithmics: Theory and Practice
1.1 谈谈数据结构
图是由节点 (Node) 、边 ( Relationships)、属性 (Properties) 所构成。Neo4j 的官方图算法手册很好地以下图表现了 Dan 和 Ann 这对夫妻的关係,以及各自与车子的关係进行了表述。
1.Dan、Ann、Car 是下面这个视图中的三个实体,以节点表示。
2.各个节点当中有些他们的属性。
3.边的表示:Dan会开车、但Ann才是车的拥有者。
Source: Neo4j Graph Algorithms Book (O‘reilly)
1.2 生活中的知识图谱
在现实世界中,我们可以看到许多社交网络图、角色关係图,还有部分反欺诈案例的图以下面例子表示:
- 第一张是 Twitter名人的社交网络图彼此的连接关係,可以用社交网络的六度关係理论去理解:我的好友的好友的好友的好友的好友的好友…就会连接到 Elon Musk,也就是我跟 Elon Musk 之间只要透过边的连结,我这个实体就会连到 Elon Musk 这个实体。
- 第二张图是说明在整个网络当中,自然而然会有扮演连接不同实体的枢纽点(可以想像成扮演友谊桥樑的中介点)
- 建立在前两点的基础之上,第三张与第四张图是基于标籤传播想法,将一个大网络分成两个或以上不同的社区,进而达到分类/分群的目的。
(Source: 原图来自 Google Search )
1.3 考虑构建的图谱是否有稀疏性问题
然而在部分数据集当中,由于数据本身的信息有限,建立的图并无法产生如社交网络的密集的关係网络图,以我曾在 Kaggle 使用过的交易欺诈数据集为例 - Synthetic Financial Datasets for Fraud Detection,交易转出帐户多属于一次性交易,缺乏关联信息的特徵(例如电话、装置ID、IP位置等),无法仅靠交易转入转出帐户建立紧密的网络关係图。
*透过 neo4j 呈现的欺诈交易(灰色节点为交易转出帐户,红色节点为转入帐户)
因此,在评估该数据欲解决的问题,除了构建知识图谱以外ÿ