新書推薦:
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
你当我好骗吗?
》
售價:NT$
550.0
《
跨代伴侣治疗
》
售價:NT$
440.0
《
精华类化妆品配方与制备手册
》
售價:NT$
990.0
《
经纬度丛书:出祁山:诸葛亮北伐得与失
》
售價:NT$
440.0
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:NT$
440.0
《
心理咨询与治疗技术经典入门(第3版)
》
售價:NT$
650.0
《
无冕之王:齐桓公与齐国崛起
》
售價:NT$
290.0
|
編輯推薦: |
(1)三位作者资历深厚,分别是阿里巴巴的数据架构师和NLP专家、百炼智能的NLP专家(前明略数据的技术合伙人和科学家)、七牛云AI实验室NLP&OCR方向负责人
阿里巴巴、前明略数据和七牛云的资深NLP专家撰写
(2)以实战为导向,绕开各种复杂数学公式与证明,确保读者零基础入门,详细讲解自然语言处理 的各种核心技术、方法论和经典算法
(3)阿里巴巴达摩院高级算法专家、百炼智能CEO、七牛云AI LAB负责人、天善智能创始人联袂推荐
|
內容簡介: |
这是一本自然语言处理理论和实践完美结合的教材。读者在了解自然语言处理全貌的同时,可以根据本书的一些实践案例快速上手并应用于自己的项目中。作者结合自己的实践经验,重点介绍了真实场景下快速构建一些自然语言处理项目所需的技能,并提供了一些工具推荐或算法实现。本书着眼于实际应用场景,主要介绍了分词、词性标注和名实体识别、句法分析等基本技术,并通过剖析近年来在自然语言处理领域大放光彩的深度学习技术,力求快速地带领读者入门自然语言处理。作者在后还通过在大数据平台上的实战项目,完整呈现了真实场景下自然语言处理项目的整个环节,以供读者参考。
|
關於作者: |
涂铭:
阿里巴巴数据架构师,对大数据、自然语言处理、Python、Java相关技术有深入的研究,积累了丰富的实践经验。曾就职于北京明略数据,是大数据方面的高级咨询顾问。
在工业领域参与了设备故障诊断项目,在零售行业参与了精准营销项目。在自然语言处理方面,担任导购机器人项目的架构师,主导开发机器人的语义理解、短文本相似度匹配、上下文理解,以及通过自然语言检索产品库,在项目中构建了NoSQL 文本检索等大数据架构,也同时负责问答对的整理和商品属性的提取,带领NLP团队构建语义解析层。
刘祥:
百炼智能自然语言处理专家,主要研究知识图谱、NLG等前沿技术,参与机器自动写作产品的研发与设计。
曾在明略数据担当数据技术合伙人兼数据科学家,负责工业、金融等业务领域的数据挖掘工作,在这些领域构建了诸如故障诊断、关联账户分析、新闻推荐、商品推荐等模型。
酷爱新技术,活跃于开源社区,是SparkMLlib和Zeppelin的Contributor。涂铭:
阿里巴巴数据架构师,对大数据、自然语言处理、Python、Java相关技术有深入的研究,积累了丰富的实践经验。曾就职于北京明略数据,是大数据方面的高级咨询顾问。
在工业领域参与了设备故障诊断项目,在零售行业参与了精准营销项目。在自然语言处理方面,担任导购机器人项目的架构师,主导开发机器人的语义理解、短文本相似度匹配、上下文理解,以及通过自然语言检索产品库,在项目中构建了NoSQL 文本检索等大数据架构,也同时负责问答对的整理和商品属性的提取,带领NLP团队构建语义解析层。
刘祥:
百炼智能自然语言处理专家,主要研究知识图谱、NLG等前沿技术,参与机器自动写作产品的研发与设计。
曾在明略数据担当数据技术合伙人兼数据科学家,负责工业、金融等业务领域的数据挖掘工作,在这些领域构建了诸如故障诊断、关联账户分析、新闻推荐、商品推荐等模型。
酷爱新技术,活跃于开源社区,是Spark MLlib和Zeppelin的Contributor。
刘树春:
七牛云高级算法专家,七牛AI实验室NLP&OCR方向负责人,主要负责七牛NLP以及OCR相关项目的研究与落地。在七牛人工智能实验室期间,参与大量NLP相关项目,例如知识图谱、问答系统、文本摘要、语音相关系统等;同时重点关注NLP与CV的交叉研究领域,主要有视觉问答(VQA),图像标注(Image Caption)等前沿问题。
曾在Intel DCSG数据与云计算部门从事机器学习与云平台的融合开发,项目获得IDF大奖。硕士就读于华东师范大学机器学习实验室,在校期间主攻机器学习,机器视觉,图像处理,并在相关国际会议发表多篇SCIEI论文。
|
目錄:
|
目录
序一
序二
前言
第1章 NLP基础1
1.1 什么是NLP1
1.1.1 NLP的概念1
1.1.2 NLP的研究任务3
1.2 NLP的发展历程5
1.3 NLP相关知识的构成7
1.3.1 基本术语7
1.3.2 知识结构9
1.4 语料库10
1.5 探讨NLP的几个层面11
1.6 NLP与人工智能13
1.7 本章小结15
第2章 NLP前置技术解析16
2.1 搭建Python开发环境16
2.1.1 Python的科学计算发行版——Anaconda17
2.1.2 Anaconda的下载与安装19
2.2 正则表达式在NLP的基本应用21
2.2.1 匹配字符串22
2.2.2 使用转义符26
2.2.3 抽取文本中的数字26
2.3 Numpy使用详解27
2.3.1 创建数组28
2.3.2 获取Numpy中数组的维度30
2.3.3 获取本地数据31
2.3.4 正确读取数据32
2.3.5 Numpy数组索引32
2.3.6 切片33
2.3.7 数组比较33
2.3.8 替代值34
2.3.9 数据类型转换36
2.3.10 Numpy的统计计算方法36
2.4 本章小结37
第3章 中文分词技术38
3.1 中文分词简介38
3.2 规则分词39
3.2.1 正向最大匹配法39
3.2.2 逆向最大匹配法40
3.2.3 双向最大匹配法41
3.3 统计分词42
3.3.1 语言模型43
3.3.2 HMM模型44
3.3.3 其他统计分词算法52
3.4 混合分词52
3.5 中文分词工具——Jieba53
3.5.1 Jieba的三种分词模式54
3.5.2 实战之高频词提取55
3.6 本章小结58
第4章 词性标注与命名实体识别59
4.1 词性标注59
4.1.1 词性标注简介59
4.1.2 词性标注规范60
4.1.3 Jieba分词中的词性标注61
4.2 命名实体识别63
4.2.1 命名实体识别简介63
4.2.2 基于条件随机场的命名实体识别65
4.2.3 实战一:日期识别69
4.2.4 实战二:地名识别75
4.3 总结84
第5章 关键词提取算法85
5.1 关键词提取技术概述85
5.2 关键词提取算法TFIDF算法86
5.3 TextRank算法88
5.4 LSALSILDA算法91
5.4.1 LSALSI算法93
5.4.2 LDA算法94
5.5 实战提取文本关键词95
5.6 本章小结105
第6章 句法分析106
6.1 句法分析概述106
6.2 句法分析的数据集与评测方法107
6.2.1 句法分析的数据集108
6.2.2 句法分析的评测方法109
6.3 句法分析的常用方法109
6.3.1 基于PCFG的句法分析110
6.3.2 基于最大间隔马尔可夫网络的句法分析112
6.3.3 基于CRF的句法分析113
6.3.4 基于移进–归约的句法分析模型113
6.4 使用Stanford Parser的PCFG算法进行句法分析115
6.4.1 Stanford Parser115
6.4.2 基于PCFG的中文句法分析实战116
6.5 本章小结119
第7章 文本向量化120
7.1 文本向量化概述120
7.2 向量化算法word2vec121
7.2.1 神经网络语言模型122
7.2.2 C&W模型124
7.2.3 CBOW模型和Skip-gram模型125
7.3 向量化算法doc2vecstr2vec127
7.4 案例:将网页文本向量化129
7.4.1 词向量的训练129
7.4.2 段落向量的训练133
7.4.3 利用word2vec和doc2vec计算网页相似度134
7.5 本章小结139
第8章 情感分析技术140
8.1 情感分析的应用141
8.2 情感分析的基本方法142
8.2.1 词法分析143
8.2.2 机器学习方法144
8.2.3 混合分析144
8.3 实战电影评论情感分析145
8.3.1 卷积神经网络146
8.3.2 循环神经网络147
8.3.3 长短时记忆网络148
8.3.4 载入数据150
8.3.5 辅助函数154
8.3.6 模型设置155
8.3.7 调参配置158
8.3.8 训练过程159
8.4 本章小结159
第9章 NLP中用到的机器学习算法160
9.1 简介160
9.1.1 机器学习训练的要素161
9.1.2 机器学习的组成部分162
9.2 几种常用的机器学习方法166
9.2.1 文本分类166
9.2.2 特征提取168
9.2.3 标注169
9.2.4 搜索与排序170
9.2.5 推荐系统170
9.2.6 序列学习172
9.3 分类器方法173
9.3.1 朴素贝叶斯Naive Bayesian173
9.3.2 逻辑回归174
9.3.3 支持向量机175
9.4 无监督学习的文本聚类177
9.5 文本分类实战:中文垃圾邮件分类180
9.5.1 实现代码180
9.5.2 评价指标187
9.6 文本聚类实战:用K-means对豆瓣读书数据聚类190
9.7 本章小结194
第10章 基于深度学习的NLP算法195
10.1 深度学习概述195
10.1.1 神经元模型196
10.1.2 激活函数197
10.1.3 感知机与多层网络198
10.2 神经网络模型201
10.3 多输出层模型203
10.4 反向传播算法204
10.5 最优化算法208
10.5.1 梯度下降208
10.5.2 随机梯度下降209
10.5.3 批量梯度下降210
10.6 丢弃法211
10.7 激活函数211
10.7.1 tanh函数212
10.7.2 ReLU函数212
10.8 实现BP算法213
10.9 词嵌入算法216
10.9.1 词向量217
10.9.2 word2vec简介217
10.9.3 词向量模型220
10.9.4 CBOW和Skip-gram模型222
10.1
|
內容試閱:
|
PREFACE前言为什么要写这本书这是一本关于中文自然语言处理(简称NLP)的书,NLP是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。NLP是一门融语言学、计算机科学、数学于一体的科学。本书偏重实战,不仅系统介绍了NLP涉及的知识点,同时也教会读者如何实际应用与开发。围绕这个主题,本书从章节规划到具体的讲述方式,具有以下两个特点:
第一个特点是本书的主要目标读者定位为高校相关专业的大学生(统计学、计算机技术)、NLP爱好者,以及不具备专业数学知识的人群。NLP是一系列学科的集合体,其中包含了语言学、机器学习、统计学、大数据以及人工智能等方面,尤其依赖数学知识才能深入理解其原理。因此本书对专业知识的讲述过程必须绕过复杂的数学证明,从问题的前因后果、创造者思考的过程、概率或几何解释代替数学解释等一系列迂回的路径去深入模型的本源,这可能多少会牺牲一些严谨性,但是却能换来对大多数人更为友好的阅读体验。
第二个特点是本书是一本介绍中文自然语言处理的书,中文分词相对于英文分词来说更为复杂,读者将通过例子来学习,体会到能够通过实践验证自己想法的价值,我们提供了丰富的来自NLP领域的案例。在本书的内容编制上,从知识点背景介绍到原理剖析,辅以实战案例,所有的代码会在书中详细列出或者上传Github方便读者下载与调试,帮助读者快速上手掌握知识点,同时可以应用到后续实际的开发项目中。在实际项目章节中,选取目前在NLP领域中比较热门的项目,将之前的知识点进行汇总,帮助读者巩固与提升。本书难度适中属于入门和扩展级读物。
读者将学到什么如何用NLP 与语言学的关键概念来描述和分析语言NLP 中的数据结构和算法是怎样的自然语言处理目前主流的技术与方法论信息检索技术与大数据应用读者对象1)统计学或相关IT专业学生本书的初衷是面向相关专业的学生——大量基于理论知识的认知却缺乏实战经验的人员,让其在理论的基础上深入了解。通过本书,学生可以跟随本书的教程一起操作学习,达到对自己使用的人工智能工具、算法和技术知其然亦知其所以然的目的。
2)信息科学和计算机科学爱好者本书是一部近代科技的历史书,也是一部科普书,还可以作为一部人工智能思想和技术的教科书去阅读。通过本书可以了解到行业先驱们在探索人工智能道路上所做出的努力和思考,理解他们不同的观点和思路,有助于开拓自己的思维和视野。
3)人工智能相关专业的研究人员本书具体介绍了NLP相关知识。通过本书可以了解理论知识,了解哪些才是项目所需的内容以及如何在项目中实现,能够快速上手。
如何阅读本书本书内容针对NLP从以下几个方面进行阐述:
第一部分的内容包括第1、2、11章,主要介绍了NLP所需要了解的Python科学包、正则表达式以及Solr检索。
第二部分的内容包括第5~10章的内容,主要是介绍NLP相关的各个知识点。分别是:
第3~5章主要介绍了词法分析层面的一些技术,这一部分是NLP技术的基础,需要读者熟练掌握。
第6章介绍了句法分析技术,该部分目前理论研究较多,工程实践中使用门槛相对较高,且效果多是依赖结合业务知识进行规则扩展,因此本书未做深入探讨,读者了解即可。
第7章介绍了常用的向量化方法。这些方法常用于各种NLP任务的输入,读者需重点掌握。
第8章介绍了情感分析相关的概念、场景以及一般做情感分析的流程,情感分析在很多行业都有应用,所以需要读者熟练掌握。
第9章介绍了机器学习的一些基本概念,重点突出NLP常用的分类算法、聚类算法,同时还介绍了几个案例,这章是NLP的基础内容,需要重点掌握。
第10章介绍了NLP中常用的深度学习算法,这些方法比较复杂,但是非常实用,需要读者耐心学习。
除了以上内容外,以下信息是在本书中涉及特定内容的解释和说明:
内容延伸。本书每个章节都有一定的内容延伸章节,其内容是对于有兴趣深入研究的读者推荐的资料或进一步了解的知识点,由于每个主题都涵盖很多内容,因此本书仅在内容延伸中抛砖引玉,有兴趣的读者可以加以了解和学习。
相关知识点。本书很多章节中都有“相关知识点”的内容介绍,其对特定工具、知识、算法、库等方面做了较为详细的介绍,它们是本书的知识堡垒。
本章小结。每章的结尾都有“本章小结”,在小结中包含4部分内容。
内容小结。内容小结是有关本章内容的总结。
重点知识。重点知识是本章重点需要读者掌握的知识和内容。
外部参考。外部参考是本章提到过但是无法详细介绍的内容,都在外部参考中列出,有兴趣的读者可以基于比构建自己的知识图谱。
应用实践。基于本章内容推荐读者在实践中落地的建议。
提示。对于知识点的重要提示和应用技巧,相对“相关知识点”而言,每条提示信息的内容量较少,一般都是经验类的总结。
注意。特定需要引起注意的知识,这些注意点是应用过程中需要避免的“大坑”。
关于附件的使用方法除了第1章外,本书的每一章都有对应源数据和完整代码,该内容可在本书中直接找到,有些代码需要从Github下载,地址是https:github.comnlpinactionlearning-nlp。需要注意的是,为了让读者更好地了解每行代码的含义,笔者在注释信息中使用了中文标注,且每个程序文件的编码格式都是UTF-8。
勘误和支持由于笔者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。读者可通过以下途径联系并反馈建议或意见:
即时通讯。添加个人微信(kennymingtu)反馈问题。
电子邮件。发送E-mail到kenny_tm@hotmail.com。
致谢在本书的撰写过程中,得到了来自多方的指导、帮助和支持。
首先要感谢的是机械工业出版社华章公司的杨福川编辑,他在本书出版过程中给予我极大的支持和鼓励,并为此书的撰写提供了方向和思路指导。
其次要感谢黄英和周剑老师在自然语言处理项目和工作中提供的宝贵经验和支持。
再次要感谢全程参与审核、校验等工作的张锡鹏、孙海亮编辑以及其他背后默默支持的出版工作者,是他们的辛勤付出才让本书得以顺利面世。
最后感谢我的父母、家人和朋友,使得我有精力完成本书的编写。
谨以此书献给热爱数据工作并为之奋斗的朋友们,愿大家身体健康、生活美满、事业有成!
涂铭2018年1月于上海书籍初成,感慨良多。
在接受邀请撰写本书时,从未想到过程如此艰辛。
感谢我的女友和家人的理解与支持,陪伴我度过写书的漫长岁月。
感谢我的合著者——涂铭和刘树春,与他们合作轻松愉快,给予我很多的理解和包容。
感谢参与审阅、校验等工作的孙海亮老师等出版社工作人员,是他们在幕后的辛勤付出保证了本书的出版成功。
再次感谢一路陪伴的所有人!
刘祥2018年1月于北京首先要感谢我的两位合作者——涂铭和刘祥,能够相聚在一起写书是缘分。当初聊到出版NLP入门书籍的想法时我们一拍即合,然而真正开始执笔才发现困难重重,业余时间常常被工作挤占,进度一拖再拖,在伙伴们的支持下,克服了拖延症,顺利完成本书。
特别感谢我的爱人和家人的悉心照料和支持。
感谢孙海亮老师、张锡鹏老师等出版社工作人员,没有他们的辛劳付出就没有本书保质保量的完成。
最后感谢帮我校稿的林博、谢雨飞、陈敏,谢谢他们在生活和工作上给我的支持与帮助。
最后,祝大家学习快乐。
刘树春2018年1月于上海
|
|