TensorFlow知识图谱实战
上QQ阅读APP看书,第一时间看更新

前言

知识图谱(Knowledge Graph)的概念由谷歌首先提出,旨在实现更智能的搜索引擎。目前,随着智能信息服务应用的不断发展,知识图谱已被广泛应用于智能搜索、智能问答、个性化推荐、情报分析、反欺诈等领域。另外,通过知识图谱能够将Web上的信息、数据以及链接关系聚集为知识,使信息资源更易于计算、理解以及评价,并且形成一套Web语义知识库。知识图谱以其强大的语义处理能力与开放互联能力可为互联网上的知识互联奠定扎实的基础,使Web 3.0提出的“知识之网”愿景成为可能。

随着深度学习在各个领域中获得的成功应用,科研人员尝试着使用深度学习去解决知识图谱构建的问题,因为这两个领域的相关特征信息都是相对低层次的,可以借助深度学习的强大学习能力学习其中的复杂信息,目前来看这个尝试是成功的,应用深度学习技术可以简单有效地构建知识图谱。

本书选用TensorFlow 2作为深度学习的框架,从基础语法开始到使用TensorFlow 2进行深度学习知识图谱的构建和实战代码的编写,全面介绍使用TensorFlow 2进行知识图谱构建的核心技术和涉及的相关知识,内容翔实。

同时,本书并不是一个简单的实战案例书,而是在讲解和演示实例代码的过程中,对TensorFlow 2核心内容进行深入分析,重要内容均结合代码进行实战讲解,围绕深度学习基本原理介绍了大量实战案例。读者通过这些实例,可以深入地掌握深度学习和TensorFlow 2的相关内容,并能掌握使用深度学习构建知识图谱的技能。

本书是一本面向初级和中级读者的优秀教程。通过本书的学习,读者能够掌握使用深度学习进行知识图谱构建的方法,以及在TensorFlow 2框架下使用神经网络的要点,掌握基于深度学习应用程序的编写技巧。

本书特色

(1)重实战,讲原理。本书立足于深度学习,以知识图谱实战为目的进行讲解,提供完整可运行的知识图谱代码,并对基本原理进行讲解,可以让读者直接将其应用到实际生产环境中。

(2)版本新,易入门。本书详细介绍TensorFlow 2.4的安装,包括CPU版本和GPU版本,同时还包括各种开发工具和框架的安装。

(3)作者经验丰富,代码编写细腻。作者是长期奋战在科研和工业界的一线算法设计和程序编写人员,实战经验丰富,对代码中可能会出现的各种问题和“坑”有丰富的处理经验,能够使读者少走很多弯路。

(4)理论扎实,深入浅出。在代码设计的基础上,本书还深入浅出地介绍深度学习需要掌握的一些基本理论,作者通过公式与图示结合的方式对理论做介绍,方便读者理解相关内容。

(5)对比多种应用方案,实战案例丰富。本书采用大量的实例,同时提供一些实现同类功能的其他解决方案,覆盖使用TensorFlow 2进行深度学习开发中常用的知识。

本书内容及知识体系

本书完整地介绍使用TensorFlow 2构建知识图谱的方法,主要内容如下:

第1章是理论基础篇,首先讲解知识图谱的概念、它与自然语言处理的关系,然后搭建知识图谱的开发环境,包括Anaconda、PyCharm、TensorFlow 2.4,最后构建一个简单的知识图谱。

第2章从Model的设计开始,循序渐进地介绍TensorFlow 2的编程方法,以及结合Keras进行TensorFlow 2模型设计的完整步骤和自定义层的方法。本章内容看起来很简单,却是本书的技术基础和核心精华,读者一定要反复阅读,认真掌握其中的所有知识点和代码编写方法。

第3章是TensorFlow 2的理论部分,介绍反馈神经网络的实现和最核心的两个算法,通过图示结合理论公式的方式详细介绍这两个算法,最后手动实现一个反馈神经网络。使用卷积神经网络来识别物体是深度学习的一个经典应用。

第4章详细介绍卷积神经网络的原理以及各个模型的使用和自定义方法,并借助卷积神经网络(CNN)算法构建一个简单的CNN模型以进行MNIST数字识别。

第5章介绍TensorFlow新版本的数据读写方法,以及TensorFlow 2自带的Dataset API进行数据的序列化存储方法,重点演示将数据重新读取和调用的程序编写技巧。

第6章介绍ResNet的基本思想和设计技术。ResNet是一个具有里程碑性质的框架,标志着粗犷的卷积神经网络设计向着精确化和模块化的方向转化,ResNet本身的程序编写非常简单,但是其中蕴含的设计思想却是跨越性的。

第7章主要介绍自然语言处理的最基本的词嵌入的训练和使用,以一个有趣的问题引导读者从文本清洗开始,到词嵌入的计算,以及利用文本的不同维度和角度对文本进行拆分。

第8章主要介绍自然语言处理的一个基本架构——循环神经网络的基本理论和方法。本章与第6章内容互补,可以加深读者对深度学习中不同模块和架构的理解。

第9章开始进行更细化的自然语言处理部分,总结和复习本书前面所学的内容,并使用深度学习工具实现一个“解码器”,从而解决拼音到文字的转换。这一章的目的是对前期内容的总结,也为后续的预训练模型的基本理论和使用打下基础。

第10章是预训练模型的部分,综合应用前文介绍的“注意力模型”,介绍使用预训练模型进行深度学习训练的方法,并教会读者可以使用不同的预训练模型达到不同的效果。

第11~12章分别演示多标签文本分类实战和命名实体识别实战,同时这两个实战也是分步构建知识图谱的基础。这两章内容既复习了前面章节所讲解的知识,也为下一章构建知识图谱联合抽取模型打下基础。

第13章的实战案例综合本书讲解的知识,融合前两章的模型构建了知识图谱,并提出其性能优化的方法。此实战案例既可以用于学习演示,也可以作为实际应用的程序进行移植。

源码、课件、数据集、开发环境下载

本书配套源码、课件、数据集、开发环境,需要使用微信扫描右边二维码下载,可按页面提示把链接转发到自己的邮箱中下载。如果有问题,请联系booksaga@163.com,邮件主题为“TensorFlow知识图谱实战”。

适合阅读本书的读者

  • Python编程人员
  • AI初学者
  • 知识图谱初学者
  • 深度学习初学者
  • 自然语言处理初学者
  • 人工智能专业的师生
  • 培训机构的师生
  • 其他对智能化、自动化感兴趣的开发者

勘误和感谢

由于笔者的水平有限,加上TensorFlow版本的演进较快、本书编写时间跨度较长,书中难免会出现疏漏的地方,恳请读者来信批评指正。

感谢出版社的所有编辑在本书编写和审核过程中提供的无私帮助和宝贵建议,正是由于他们的耐心和支持才让本书得以出版。感谢家人对笔者的支持和理解,这些都给予笔者莫大的动力,让自己的努力更加有意义。

王晓华

2021年9月