图书前言

致中国读者

得知拙作被译成中文,得以与广大中文读者分享我的观点,我倍感荣幸!谨以此作,代为通往图世界的友好引介,以引领更多读者探索其强大与美妙。

——Tomaž Bratanič

本书作者,资深数据科学家,图算法专家、研究者,

现任Neo4j GraphML、GenAI团队负责人

I am truly humbled and deeply honored to see my book translated into Chinese, making these ideas accessible to such a vast new audience. It is my sincere hope that this edition serves as a welcoming introduction, helping many new readers discover the fascinating and powerful world of graphs.

在步入AI时代的当下,将图算法的前沿理解引入中国市场显得尤为关键。图算法已被证实能通过丰富数据维度,为AI与数据科学领域赋能,从而开拓更为广阔的应用场景。

Brandon Richards

Neo4j创始团队成员,LPG、RDF图架构领域专家,

现任Graphwise/Ontotext亚太区负责人

Bringing a better understanding of graph algorithms to the China market is critical as we enter the Age of AI.  They provide proven ways of enriching data that can be leveraged for better AI and data science outcomes for a wide range of use cases.

中文版推荐序

随着人工智能与大数据技术加速落地渗透,图数据库正从幕后走向台前,成为支撑复杂关系分析、驱动智能计算的“关键引擎”!全球巨头早已抢先布局:领英依托图数据库搭建起连接千万人的人脉桥梁,沃尔玛借助图算法让商品推荐精准“懂你”,思科、惠普利用图技术实现IT网络与主数据的高效管控,国际金融机构更是凭借图计算筑牢实时风控“安全网”——图技术,正在改写数据智能的游戏规则!

国内赛场同样火热,金融、社交、知识图谱等领域的龙头企业纷纷加码图技术,探索出贴合中国市场的创新路径,使其成为数字化转型的“核心助推器”。但目前行业痛点十分突出,市面上系统讲透图算法的中文书籍寥寥无几。既能深挖学术原理,又能落地行业实践的权威读物,更是业界从业者求而不得的稀缺资源。

就在此时,《数据科学的图算法》一书重磅来袭!2015年我创立微云数聚,正式深耕图技术赛道,小邬便与我一路并肩前行。他深耕图数据库与数据智能十余年,理论功底与行业经验双在线;近二十年海外成长经历,更让他在翻译时能够精准捕捉技术语境的精髓,搭建起中外理论互通的逻辑桥梁。这不止是一本译作,更是中外图计算智慧的“对话窗口”。

我坚信,本书会成为国内图领域研究者与工程师的“手边宝典”,既能提供系统化的学习路径,又能点燃图算法普及与创新的火种,为中国数据智能产业的发展注入源源不断的新活力!

——张帜

 微云数聚创始人,中国IT行业元老,中国图数据库先导者,大数据领域资深专家,WPS曲线汉字技术创始人,Windows激光照排技术创始人

译 者 序

在图数据库领域耕耘十载之际,我有幸完成本书的翻译,心中充满荣幸与感恩。首先要特别感谢引领我步入这一领域的中国图数据库先驱张帜老师,得益于他的启蒙与指导,我才精准找到图技术的探索之路。

同时,衷心感谢本书作者Tomaž Bratanič先生、Neo4j的各位专家同仁、清华大学出版社的各位编辑老师以及多年来一路相伴的客户、广大图数据库用户与爱好者朋友。正因诸位的智慧、陪伴与启发,此书方能以中文之姿,与更多读者相见。

回首我本人与图技术的缘分,始于2015年。初次相识,我便被其深刻的思想所震撼,并沉浸其中。世间数据浩瀚如烟海,而图技术则通过节点与关系的连接,清晰揭示出数据背后潜藏的关联逻辑与因果脉络。十年荏苒,图技术已从昔日仍需向人解释“此‘图’非彼‘图’”的阶段,悄然成长为数据分析专家们解决现实复杂难题的利器。从金融风控到供应链优化,从知识图谱构建到减少大模型幻觉的AI推理,其应用场景也在诸多领域不断扩展与深化。

最初,我本打算撰写一本聚焦图技术实战应用的书籍,直至读到Tomaž Bratanič先生的这部著作,便毅然决定先从翻译入手。因为图算法正是从“顺藤摸瓜”的基础推理,迈向高阶应用的必经之路。若仅停留在图数据库本身,虽能对已知关系进行高效查询(即OLTP,在线事务处理),却难以应对更为复杂的挑战,如异常群体行为模式的发现、工业根因的精准挖掘、舆情传播规律的剖析以及关键意见领袖(KOL)的识别等。这正如数据库领域中OLTP和OLAP(在线分析处理)的不同。这也让我愈发确信,唯有深入图算法,方能真正触及图技术的高阶应用,而这也正是本书价值所在。

本书作者Tomaž Bratanič是图技术与数据科学领域的杰出代表。作为一名资深程序员与图科学家,他尤其擅长图机器学习与生成式人工智能技术,其深厚的理论造诣与丰富的项目落地经验,让他能将复杂的专业知识化为清晰易懂的语言,通过循序渐进的拆解与生动案例,引领读者从底层原理稳步走向实战。

十载泛舟图技之海,愿以此译作渡舟。我衷心希望,本书能帮助广大图技术爱好者在节点与关系交织的数据世界中,发现更深层的规律与价值,收获属于自己的见解与启发。

——邬瑞文

推 荐 序

希望你在阅读本书时,也能像我一样,为“关系”与“互联信息”所蕴含的强大力量而触动。15年前,当我在波罗的海的一次极客巡游中初次见到Neo4j的创始人之一埃米尔·艾弗雷姆(Emil Eifrém)时,便初次领略了这种力量。十年后,一次同样鼓舞人心且影响深远的会面在伦敦上演——那是我与本书作者托马兹(Tomaž)的初次谋面。在此之前,他已经在Neo4j社区活跃了一段时间。自那次会面后,他对社区的贡献呈爆发式增长,最初是帮助测试和编写图数据科学库前身版本的文档,后来逐渐成为一位高产的作家,发表了大量关于图、自然语言处理(Natural Language Processing,NLP)真实应用等数据科学主题的文章(bratanic-tomaz.medium.com)。当我们接到Manning出版社的邀请,讨论撰写一本关于图分析的著作时——也就是你手上这本,托马兹肯定已经发表了数百篇文章。他是本书作者当之无愧的最佳人选。他出色地将自己的经验、深入浅出的写作风格以及来自真实世界的案例熔于一炉,最终汇成这本见解深刻、趣味盎然的杰作。本书将带领你踏上一段深入探索互联数据奥妙的旅程,你将使用图算法和新兴的机器学习技术,例如节点嵌入、链接预测和节点分类等图机器学习方法。如今,其中许多技术都已在向量搜索以及基于Transformer(如GPT)的大语言模型等领域大放异彩。

我常说,在现实世界中,不存在孤立的个体,万物皆有联系——无论是人、事件、设备、内容、产品,还是艺术、历史、政治、市场、生物通路以及气候临界点,小到亚原子粒子(关系量子力学),大到宇宙中的星系结构。人类通过信息技术、互联网、社交网络、移动计算、物联网以及机器学习模型的广泛应用,加速了这些连接在数量和密度上的增长过程。我们每个人的生活依赖于所有这些网络的正常运转,即便对其中大部分细节一无所知。那么,我们要如何理解这些或明或暗的联系呢?正是这些联系,为每一个独立的数据点赋予了背景和意义。当然,你可以查询已知的模式,但那些“未知的未知”又该如何探寻呢?这正是图分析与基于图的机器学习技术大放异彩之处。它们能帮助你找到所需的洞见。我们从中心性或聚类算法(如PageRank或Louvain算法)入手,这些算法可用于对数据中元素的结构和重要性进行无监督学习。我最喜欢的案例之一,仍然是安德鲁·贝弗里奇(Andrew Beveridge)对《权力的游戏》中关系网络的分析。在这个项目中,他通过自然语言处理技术,利用《权力的游戏》原著中角色在文本空间上的邻近度,来判断其重要性、所属群体和依赖关系。这些算法得出的结论,与人类读者的感悟惊人地相似。将这些算法的计算结果作为特征向量引入你构建的机器学习模型,就已经能够提升预测的准确性,因为它们从结构和行为两个层面捕捉到了实体的上下文信息。但你还可以更进一步,基于图操作为节点显式地计算嵌入向量。这个领域的首批算法之一是node2vec,它将word2vec嵌入技术应用于从起点开始的随机游走路径(这种方法在概念上与PageRank相似)。如今,我们已经取得了长足的进步,知识图谱嵌入技术已能将图作为输入和输出,充分挖掘互联数据中蕴含的丰富信息。在当下的机器学习论文和架构中,你会发现图结构和图算法被频频提及,已然成为一种基础技术。托马兹将引领你踏上这段学习之旅,从数据建模、数据接入和查询开始,到图算法的初步应用,再到利用NLP技术从文本中提取知识图谱,最终将节点和图的嵌入向量应用于机器学习的训练任务。请尽情享受这次通往“图之妙悟”的旅程吧!希望读罢此书,你也能和我们一样,成为一名在图世界中“痴迷与沉醉”的人。

迈克尔·亨格(Michael Hunger)

Neo4j公司的用户创新高级总监

自    序

大约七年前,我开始投身于软件开发领域。仿佛是命运的安排,我的第一份开发工作便与“图”结下了不解之缘。我大概是为数不多的最先精通Cypher查询语言,然后才开始学习SQL或Python的人。我当时的老板克里斯蒂安·佩恰纳克(Kristjan Pećanac)预见,带标签的属性图就代表着未来。

当时,市面上的原生图数据库凤毛麟角,因此Neo4j几乎是毋庸置疑的选择。而随着对图和Neo4j的深入了解,我对它们的喜爱也愈发深切。然而,一个明显的挑战也接踵而至:尽管能用图技术完成许多激动人心的任务,但相关的文档和支持材料却相当匮乏。鉴于此,我开始撰写博客,旨在系统性地展示图技术的强大用途,并为开发者指明清晰的学习路径,从而省去在浩瀚资料中摸索的烦恼。此外,这个博客也逐步成为我个人的代码仓库,方便自己在项目中随时取用和复制代码。

五年间,我累计发表了70多篇博客,其中一篇关于自然语言处理与图结合的文章,可算是我那时的力作。有趣的是,我在文章的总结里写道,如果将来要写书,这篇文章的内容一定会成为其中一章。生活就是由一连串幸运和巧合构成的。迈克尔·亨格(Michael Hunger)读了我写的这篇NLP文章后,问我对于写书这件事是否是认真的。我半开玩笑地回答说,写书或许是个好主意,还能助我事业一臂之力。迈克尔却当了真,并在第二个月就安排我们与Manning出版社见了面。后面的故事就众所周知了。你面前的这本书,正是我这段旅程的结晶。我希望它能帮助你轻松地掌握图数据科学,并自信地将其付诸实践。

致    谢

最初,我并没有意识到写一本书需要耗费太多的心血。完成本书的写作后,我对每一位出版过著作的作者都肃然起敬。幸运的是,我身边有许多优秀的人,他们认真审阅,并提出了宝贵的想法和反馈,从而帮助我完善了这本书。

首先,我要感谢Manning出版社的策划编辑Dustin Archibald。他不仅帮助我提升了写作能力,还引导我了解了许多将一本书反复打磨至完善的理念与方法。同样要感谢项目编辑Deirdre Hiam、文字编辑Christian Berk、校对员Katie Tennant以及审稿编辑Aleksandar Dragosavljević。

我还要感谢为本书提出宝贵见解和审阅意见的所有人(排名不分先后):

Ljubica Lazarevic、Gopi Krishna Phani Dathar、David Allen、Charles Tapley Hoyt、Pere-Lluís Huguet Cabot、Amy Hodler、Vlad Batushkov、Jaglan Gaurav、Megan Tomlin、Al Krinker、Andrea Paciolla、Atilla Ozgur、Avinash Tiwari、Carl Yu、Chris Allan、Clair Sullivan、Daivid Morgan、Dinesh Ghanta、Hakan Lofquist、Ian Long、Ioannis Atsonios、Jan Pieter Herweijer、Karthik Rajan、Katie Roberts、Lokesh Kumar、Marcin Sęk、Mark Needham、Mike Fowler、Ninoslav Cerkez、Pethuru Raj、Philip Patterson、Prasad Seemakurthi、Richard Tobias、Sergio Govoni、Simone Sguazza、Subhash Talluri、Sumit Pal、Syed Nouman Hasany、Thomas Joseph Heiman、Tim Wooldridge、Tom Kelly、Viron Dadala 和 Yogesh Kulkarni。

要特别感谢Jerry Kuch和Arturo Geigel提出的宝贵技术意见。Arturo是来自波多黎各的独立研究员,他获得了诺瓦东南大学的计算机科学博士学位,是“神经木马”(Neural Trojans)的发明者,目前的研究领域包括机器学习、图论和图算法分析。

前    言

本书旨在帮助你将图分析工具集整合到你的分析工作流中。本书的初衷是引领一位从未接触过图的读者,从构建第一个图模型、执行图聚合操作开始,一步步深入,最终掌握更高级的图机器学习工作流,例如节点分类和链接预测。

本书目标读者

本书面向希望通过引入图算法来探索数据点之间的关系,从而扩充其数据分析工具库的数据分析师和开发人员。对于掌握了Python和机器学习(如分类模型)基础概念,并渴望提升数据分析能力的个人而言,本书是绝佳的选择。本书编排合理,层次分明,内容覆盖广泛。既能帮助初级分析师奠定坚实的图算法基础,也能为经验丰富的分析师提供新颖的视角和高级技术,从而帮助他们拓展数据分析的技能边界,深化行业洞察力。

本书组织结构

本书内容共分12章,3个部分。第Ⅰ部分介绍图的基础知识,并引导你完成一项图建模任务。

●  第1章  介绍图的概念以及如何识别图相关问题。该章还将介绍你将在全书中学习到的各类图算法。

●  第2章  首先介绍描述图时需要用到的基本术语,接着介绍带标签的属性图模型,并引导你完成一项图建模任务。

第Ⅱ部分介绍Cypher查询语言和常用的图算法。

●  第3章  涵盖Cypher查询语言的基本语法和子句,并演示如何从CSV文件导入图。

●  第4章  引导你进行探索性的图分析。你将学习如何使用Cypher查询语言来检索、筛选和聚合数据。

●  第5章  演示如何使用Cypher查询语言和图算法来描绘图的特征,并展示如何通过PageRank算法找出最重要的节点。

●  第6章  阐述如何将数据点之间的间接关系转换为直接关系,以便将其作为图算法的输入。此外,该章将介绍一些图算法(如节点度和PageRank)的加权变体。

●  第7章  展示如何投影一个共现网络,其中节点对之间的共同邻居数量定义了它们的相似程度。

●  第8章  演示如何使用各种特征和指标来描述网络中节点的角色。在该章的后半部分,你将学习如何构建一个k最近邻图,并找出具有相似角色的节点社区。

第Ⅲ部分涵盖更高级的图机器学习工作流,如节点分类和链接预测。

●  第9章  介绍节点嵌入模型,并引导你完成一项节点分类任务。

●  第10章  引导你完成链接预测任务。你将使用Cypher查询语言提取相关特征,并用这些特征来训练一个链接预测模型。

●  第11章  分析对比简单图与复杂图中所用的链接预测方法,并介绍知识图谱嵌入模型,该模型可用于预测复杂网络中的链接。

●  第12章  展示如何使用命名实体识别和关系提取等自然语言处理技术来构建图。

总之,第1~2章主要介绍图的基本理论和术语,同时会讨论推特(Twitter)图模型,该模型将在第3~8章中使用。第3章和第4章旨在让你熟悉Cypher查询语言。后续章节则设计为独立的分析师任务,并在需要时引入相关的图算法。

关于代码

本书包含大量源代码示例,它们有的以带编号的代码清单形式出现,有的则直接内嵌在正文中。在这两种情况下,源代码都采用等宽字体格式,以便与普通文本区分。有时代码还会以粗体显示,以突出显示与前序步骤相比发生变化的代码,例如,在现有代码行中添加了新功能。许多情况下,我们对原始源代码进行了格式重排,例如,添加换行符和调整缩进,以适应书中有限的页面空间。在极少数情况下,这样做仍不足以解决问题,此时代码清单中会包含换行符(➥)。此外,如果正文中已经对代码进行了解释,那么源代码清单中的注释通常会被删除。许多代码示例都包含详细的注释,以突出重要概念。

第3~8章的源代码仅作为本书的一部分提供,而第9~12章的源代码则以Jupyter Notebook的形式在GitHub仓库中提供。有关本书的源代码,读者可以通过网址https:// github.com/tomasonjo/graphs-network-science下载,也可通过扫描本书封底的二维码下载。

作者简介

托马兹·布拉塔尼奇(Tomaž Bratanič)是一位网络科学家,其研究方向为图与机器学习的交叉领域。他曾将图相关技术应用于多个领域(涵盖欺诈检测、生物医学、商业导向分析及推荐系统等)的项目实践中。

译者简介

邬瑞文,微云数聚(北京)科技有限公司商务负责人。自幼留学海外,历经十余载跨国求学与职场历练,造就了开阔的全球视野与扎实的专业功底。2006年归国后,他加入国内一家重要政策性金融机构,先后从事数据挖掘、行业分析及征信体系建设等工作。2014年起,他投身于图数据库这一新兴领域,作为国内最早一批从业者,持续深耕十二年。他从理论探索到实践落地,深度参与了多家头部企业的图技术项目,在图数据建模、知识图谱构建及复杂关系网络分析等方面,积累了深厚的专业知识和丰富的实战经验。如今,他凭借深厚的行业积淀与前瞻视野,持续专注于图技术的研发与应用,成为该领域兼具理论深度与实践经验的资深专家。

殷海英,计算机科学博士,资深研究员及算法专家。长期活跃于学术研究与技术创新的前沿,并担任多本国际权威SCI期刊审稿人。目前在海外顶尖科研机构担任高级研究员与博士生导师,深耕计算科学与人工智能领域,研究方向重点聚焦于具身智能、复杂环境下的自主控制以及大语言模型的优化。作为一名资深的算法专家,他不仅具备深厚的学术造诣,更拥有丰富的工程落地经验,致力于将前沿AI技术转化为高效的企业级解决方案。他拥有计算机科学与工商管理双硕士学位,并曾在耶鲁大学、斯坦福大学等国际名校完成跨学科进修。科研之余,作为联合国教科文组织认证教师,始终热衷于数据科学与AI领域的知识普及。多年来坚持技术沉淀与输出,参与撰写、翻译了近40部涵盖深度学习、大语言模型及云原生架构等方向的计算机技术著作。

关于封面插图

《数据科学的图算法》的封面插图为“利马的女人”(Femme de Lima),源自 Jacques Grasset de Saint-Sauveur于1797年出版的一部作品集。该作品集中的每一幅插图都绘制精美,均为手工上色。

在那个年代,人们仅凭衣着就能轻易辨别出一个人来自何方、从事的行业及社会地位。数百年前,地域文化异彩纷呈,通过该作品集,这些古老的文化得以重现生机。Manning出版社选用这些图像作为封面,以此颂扬计算机行业蕴含的创造性与不懈的进取精神。