TensorFlow自然语言处理pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:TensorFlow自然语言处理pdf/doc/txt格式电子书下载
推荐语:
作者:(澳)图珊·加内格达拉,马恩驰,陆建等译
出版社:机械工业出版社
出版时间:2019-06-01
书籍编号:30500568
ISBN:9787111629146
正文语种:中文
字数:175298
版次:1
所属分类:互联网+-人工智能
版权信息
书名:TensorFlow自然语言处理
作者:【澳】图珊·加内格达拉
译者:马恩驰 陆建
出版社:机械工业出版社
出版时间:2019-06-01
ISBN:9787111629146
免责声明:本站所有资源收集整理于网络,版权归原作者所有。
本站所有内容不得用于商业用途。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!
译者序
近几年来,自然语言处理(NLP)技术已经取得了阶段性进展,在电商、金融、翻译、智能硬件、医疗、旅游等行业广泛应用,应用场景涵盖语音交互、文本分类、情感分析、意图分析、图像识别等。在深度学习技术的驱动下,自然语言处理技术应用又上了一个台阶。这其中比较有代表性的是语音交互技术,在深度学习的驱动下,语音识别、声纹识别、语音合成等技术已经大规模应用于工业领域。以天猫精灵为代表的智能音箱也已经走入家庭生活中。根据Statista统计数据显示,在2018年,全球自然语言处理的市场规模达5.83亿美元,到2024年预计将达到约21亿美元,自然语言处理技术的应用前景广阔。
TensorFlow作为广泛使用的深度学习框架,在自然语言处理领域被广泛使用。比较成熟的应用场景有搜索引擎、个性化推荐、商业化广告、语音识别等。本书主要介绍NLP在TensorFlow中的实现,内容涉及词嵌入的各种方法、CNN/RNN/LSTM的TensorFlow实现及应用、LSTM在文本生成及图像标题生成方面的应用以及从统计机器翻译到神经网络翻译的转变,最后探讨自然语言处理的未来。通过结合TensorFlow的代码实现,可以让读者更容易理解自然语言处理技术的原理。
回顾2018年,自然语言处理技术的一个聚焦点是谷歌的BERT(Bidirectional Encoder Representations from Transformers)。谷歌AI团队新发布的BERT模型在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:两项衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩。毋庸置疑,BERT模型开启了NLP的新时代。BERT是基于Transformer的双向编码器表征。与其他语言表征模型不同,BERT旨在通过联合调节所有层中的上下文来预训练深度双向表征。BERT的另一个亮点是预训练,在预训练过程中作者随机掩蔽15%的标记,随机掩蔽的时候10%的单词会被替代成其他单词,10%的单词不替换,剩下80%才被替换为[MASK]。在预训练语料选取上,作者强调语料的选取很关键,要选用文档级别的语料而不是句子级别的,这样可以具备抽象表达连续长序列特征的能力。如果说BERT是预训练语言模型的代表,那么无监督机器翻译、常识推理、元学习、理解表示、使用大文档的QA问答系统和推理等领域在2018年一样备受关注。
尽管NLP在过去一段时间取得阶段性进展,但仍需要继续突破。比如BERT仍然强依赖于训练数据,阅读理解还是在给定问句的情况下从文章中抽取答案,推理进展相对缓慢。当前自然语言处理主要基于CNN和RNN及各种衍生,问答模型通常会阶段收敛,学习不到语言真正深层的表达。综上所述,当前自然语言处理的水平仍在推理和深层表征上与人类有较大的差距,还有很长一段路要走。
本书是我和陆健利用业余时间合作翻译完成的。第1~7章由陆健翻译,内容涉及TensorFlow介绍、词嵌入的各种方法、CNN/RNN/LSTM的TensorFlow实现及应用。第8~11章及附录由我翻译,内容涉及LSTM在文本生成及图像标题生成方面的应用、从统计机器翻译到神经网络翻译的转变以及自然语言处理的未来。由于译者水平有限,翻译过程难免会有瑕疵,如有相关问题请发邮件至maec1208@gmail.com。
感谢华章公司编辑在翻译过程中给予的协助,感谢我的爱人和孩子在本书翻译过程中给予的理解与支持。
马恩驰
人工智能实验室@杭州
2019年3月
前言
在我们所处的数字信息时代,数据量呈指数级增长,在我们阅读本书时,它也正以前所未有的速度增长。此类数据大多数是与语言相关的数据(文本或语言),例如电子邮件、社交媒体帖子、电话和网络文章。自然语言处理(NLP)有效地利用这些数据来帮助人们开展业务或日常工作。NLP已经彻底改变了我们使用数据改善业务和生活的方式,并且这种改变将在未来一直持续。
NLP最普遍的应用案例之一是虚拟助手(VA),例如Apple的Siri、Google的Assistant和Amazon的Alexa。当你向VA询问“瑞士最便宜的酒店价格”时,就会触发一系列复杂的NLP任务。首先,VA需要了解(解析)你的请求(例如,它需要知道你要检索酒店价格,而不是寻找附近的公园)。VA需要做出的另一个决定是“哪家酒店便宜?”接下来,VA需要对瑞士的城市进行排名(可能基于你过去的旅行历史)。然后,VA可能会访问Booking.com和Agoda.com等网站,获取瑞士的酒店价格,并通过分析每家酒店的价格和评论对其进行排名。因此,你在几秒钟内看到的是执行了一系列非常复杂的NLP任务的结果。
那么,是什么使得这些NLP任务在处理我们的日常任务时如此聪明和准确?其底层方法是深度学习算法。深度学习算法本质上是复杂的神经网络,它可以将原始数据映射到所需的输出,而无须针对特定任务执行任何特征工程。这意味着只需提供客户的酒店评论,算法就可以直接回答“客户对这家酒店的评价如何?”这样的问题。此外,深度学习已经在一系列NLP任务(例如,语音识别和机器翻译)中达到甚至超过了人类的表现。
通过阅读本书,你可以学习如何使用深度学习去解决许多有趣的NLP问题。如果你想成为一个改变世界的人,那么研究NLP是至关重要的。这些任务包括学习单词的语义,生成全新的故事,以及通过研究双语句对进行语言翻译。所有技术章节都附有练习,这些练习会指导读者逐步实现这些系统。对于本书中的所有练习,我们都使用基于Python的TensorFlow库,TensorFlow是一种流行的分布式计算库,可以非常方便地实现深度神经网络。
本书读者
本书适用于那些有志于利用语言数据改造世界的初学者。本书将为你提供解决NLP任务的坚实基础。在本书中,我们将涵盖NLP的各个方面,更多地关注实际应用而不是理论基础。等到学习这些方法的更高级理论时,拥有解决各种NLP任务的良好实践知识将帮助你实现更平稳的过渡。此外,扎实的实践知识可以帮助你最大限度地将算法从一个特定领域迁移到更多领域。
本书内容
第1章是对NLP的简单介绍。该章将首先讨论我们需要NLP的原因。接下来,将讨论NLP中一些常见的子任务。之后,将讨论NLP的两个主要阶段,即传统阶段和深度学习阶段。通过研究如何使用传统算法解决语言建模任务,我们将了解传统阶段NLP的特点。然后,将讨论深度学习阶段,在这一阶段中深度学习算法被大量用于NLP。我们还将讨论深度学习算法的主要系列。最后,将讨论一种最基本的深度学习算法:全连接神经网络。该章结束时会提供一份路线图,简要介绍后面的内容。
第2章介绍Python TensorFlow库,这是我们实现解决方案的主要平台。首先在TensorFlow中编写一段代码,执行一个简单的计算,并讨论从运行代码到得到结果这一过程中到底发生了什么。我们将详细介绍TensorFlow的基础组件。把Tensorflow比作丰富的餐厅,了解如何完成订单,以便进一步加强对TensorFlow的理解。稍后,将讨论TensorFlow的更多技术细节,例如数据结构和操作(主要与神经网络相关)。最后,我们将实现一个全连接的神经网络来识别手写数字。这将帮助我们了解如何使用TensorFlow来实现端到端解决方案。
第3章首先讨论如何用TensorFlow解决NLP任务。在该章中,我们将讨论如何用神经网络学习单词向量或单词表示。单词向量也称为词嵌入。单词向量是单词的数字表示,相似单词有相似值,不同单词有不同值。首先,将讨论实现这一目标的几种传统方法,包括使用称为WordNet的大型人工构建知识库。然后,将讨论基于现代神经网络的方法,称为Word2vec,它在没有任何人为干预的情况下学习单词向量。我们将通过一个实例来了解Word2vec的机制。接着,将讨论用于实现此目的的两种算法变体:skip-gram和连续词袋(CBOW)模型。我们将讨论算法的细节,以及如何在TensorFlow中实现它们。
第4章介绍与单词向量相关的更高级方法。首先,会比较skip-gram和CBOW,讨论其中哪一种有明显优势。接下来,将讨论可用于提高Word2vec算法性能的几项改进。然后,将讨论一种更新、更强大的词嵌入学习算法:GloVe(全局向量)算法。最后,将在文档分类任务中实际观察单词向量。在该练习中,我们将看到单词向量十分强大,足以表示文档所属的主题(例如,娱乐和运动)。
第5章讨论卷积神经网络(CNN),它是擅长处理诸如图像或句子这样的空间数据的神经网络家族。首先,讨论如何处理数据以及处理数据时涉及哪种操作,以便对CNN有较深的理解。接下来,深入研究CNN计算中涉及的每个操作,以了解CNN背后的数学原理。最后,介绍两个练习。第一个练习使用CNN对手写数字图像进行分类,我们将看到CNN能够在此任务上很快达到较高的准确率。接下来,我们将探讨如何使用CNN对句子进行分类。特别地,我们要求CNN预测一个句子是否与对象、人物、位置等相关。
第6章介绍递归神经网络。递归神经网络(RNN)是一个可以模拟数据序列的强大的神经网络家族。首先讨论RNN背后的数学原理以及在学习期间随时间更新RNN的更新规则。然后,讨论RNN的不同变体及其应用(例如,一对一RNN和一对多RNN)。最后,用RNN执行文本生成任务的练习。我们用童话故事训练RNN,然后要求RNN生成一个新故事。我们将看到在持久的长期记忆方面RNN表现不佳。最后,讨论更高级的RNN变体,即RNN-CF,它能够保持更长时间的记忆。
第7章介绍长短期记忆网络。RNN在保持长期记忆方面效果较差,这使我们需要探索能在更长时间内记住信息的更强大技术。我们将在该章讨论一种这样的技术:长短期记忆网络(LSTM)。LSTM功能更强大,并且在许多时间序列任务中表现得优于其他序列模型。首先通过一个例子,研究潜在的数学原理和LSTM的更新规则,以说明每个计算的重要性。然后,将了解为什么LSTM能够更长时间地保持记忆。接下来,将讨论如何进一步提高LSTM预测能力。最后,将讨论具有更复杂结构的几种LSTM变体(具有窥孔连接的LSTM),以及简化LSTM门控循环单元(GRU)的方法。
第8章介绍LSTM的应用:文本生成。该章广泛评估LSTM在文本生成任务中的表现。我们将定性和定量地衡量LSTM产生的文本的好坏程度,还将比较LSTM、窥孔连接LSTM和GRU。最后,将介绍如何将词嵌入应用到模型中来改进LSTM生成的文本。
第9章转到对多模态数据(即图像和文本)的处理。在该章中,我们将研究如何自动生成给定图像的描述。这涉及将前馈模型(即CNN)与词嵌入层及顺序模型(即LSTM)组合,形成一个端到端的机器学习流程。
第10章介绍有关神经机器翻译(NMT)模型的应用。机器翻译指的是将句子或短语从源语言翻译成目标语言。首先讨论机器翻译是什么并简单介绍机器翻译历史。然后,将详细讨论现代神经机器翻译模型的体系结构,包括训练和预测的流程。接下来,将了解如何从头开始实现NMT系统。最后,会探索改进标准NMT系统的方法。
第11章重点介绍NLP的现状和未来趋势。我们将讨论前面提到的系统的相关最新发现。该章将涵盖大部分令人兴奋的创新,并让你直观地感受其中的一些技术。
附录向读者介绍各种数学数据结构(例如,矩阵)和操作(例如,矩阵的逆),还将讨论概率中的几个重要概念。然后将介绍Keras,它是在底层使用TensorFlow的高级库。Keras通过隐藏TensorFlow中的一些有难度的细节使得神经网络的实现更简单。具体而言,通过使用Keras实现CNN来介绍如何使用Keras。接下来,将讨论如何使用TensorFlow中的seq2seq库来实现一个神经机器翻译系统,所使用的代码比在第11章中使用的代码少得多。最后,将向你介绍如何使用Tenso
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询