前言 PREFACE 近年来,随着机器学习和深度学习的发展,TensorFlow作为它们的开源框架,也得到了快速发展。TensorFlow的核心组件包括分发中心、执行器、内核应用和设备层,它的工作原理是基于数据流图和计算图的相互转化过程。 TensorFlow的前身是DistBelief神经网络算法库,它的功能是构建各尺度下的神经网络分布式学习和交互系统,也被称为“第一代机器学习系统”。随着时间的推移,DistBelief逐渐发展并应用于许多谷歌产品中,包括语言识别、图像识别、自然语言处理等。随着异构硬件和多核在CPU上运行效率的需求,TensorFlow应运而生。由于TensorFlow灵活高效且支持各种不同类型的硬件,故其在各领域中得到了广泛的应用。 随着计算机和互联网的广泛应用,计算机可处理的自然语言文本数量空前增长,面向海量信息的文本挖掘、信息提取、跨语言信息处理、人工交互等应用需求急速增长,自然语言处理研究必将对人们的生活产生深远的影响。自然语言处理是人工智能中最困难的问题之一,对自然语言处理的研究是充满魅力与挑战的,其中汉语相对于其他语种更复杂,更难以分析。 近年来自然语言处理(NLP)技术已经取得了阶段性进展,在电商、金融、翻译、旅游等行业有了广泛应用,应用场景涵盖语音交互、文本分类、图像识别等。在深度学习技术的驱动下,自然语言处理技术应用又上了一个新台阶。TensorFlow作为广泛使用的深度学习框架,在自然语言处理领域得到了广泛应用。之所以结合TensorFlow进行自然语言处理,是因为TensorFlow完全绑定兼容Python,即具备Python的特点,所以利用TensorFlow完全可以对大数据进行提取、分析、降维。 本书首先介绍TensorFlow框架本身的特点与编程实现,然后介绍NLP在TensorFlow中的实现,此部分内容涉及词嵌入的各种方法、CNN/RNN/LSTM的TensorFlow实现及应用、LSTM在文本生成中的应用等。采用TensorFlow代码实现自然语言处理,可以使读者更容易理解自然语言处理技术的原理。 本书主要内容如下所述。 第1~3章介绍TensorFlow框架、自然语言处理与深度学习、神经网络算法等内容,主要包括TensorFlow软件特点及其编程实现,自然语言处理与深度学习的定义、联系、应用,神经网络的基础等内容。通过这些内容的学习,读者可对TensorFlow的特点、编程应用、自然语言处理、深度学习、神经网络算法等有简单的认识,轻松了解这些定义之间的区别与联系。 第4章介绍词嵌入的相关内容,主要包括词嵌入分布式表示、jieba分词处理、离散表示法、word2vec模型等内容。通过这些内容的学习,读者可对词嵌入有全面的认识,也能体会到利用TensorFlow框架实现词嵌入有多么简单、快捷、方便。 第5~8章介绍深度学习及自然语言处理相关内容,主要包括卷积神经网络、循环神经网络、长短期记忆、文本分析、语言模型、自动生成文本等内容。通过这些内容的学习,读者可从各个方面深入透彻地了解深度神经网络的相关概念,学会利用神经网络解决自然语言处理等机器问题,进一步了解TensorFlow的强大功能,同时也就明白了为什么TensorFlow可以成为现今最为流行的软件之一。 第9章介绍机器学习的综合实例,在深度神经网络、自然语言处理的基础上,综合应用深度神经网络知识求解实际问题。其中有几个实例使用的是同一组数据集,利用不同的方法进行求解,比较各种方法的求解结果,通过对比学习,读者能够更直观地感受各方法的优缺点,这样读者在以后的应用中可以根据需要选择合适的方法。 【配套资源】 本书提供教学课件、程序代码等配套资源,可以在清华大学出版社官方网站本书页面下载,或者扫描封底的“书圈”二维码在公众号下载。 由于时间仓促,加之编者水平有限,书中错误和疏漏之处在所难免,诚恳地期望各领域的专家和广大读者批评指正。 编者 2024年8月