具体描述
自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法,涉及所有用计算机对自然语言进行的操作。
《python自然语言处理》是自然语言处理领域的一本实用入门指南,旨在帮助读者学习如何编写程序来分析书面语言。本书基于python编程语言以及一个名为nltk的自然语言工具包的开源库;但并不要求读者有python编程的经验。全书共11章,按照难易程度顺序编排。第1章到3章介绍了语言处理的基础,讲述如何使用小的python程序分析感兴趣的文本信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍语言处理的基本原理,包括标注、分类和信息提取等。第8章到第10章介绍了句子解析、句法结构识别和句意表达方法。第11章介绍了如何有效管理语言数据。后记部分简要讨论了nlp领域的过去和未来。
《python自然语言处理》的实践性很强,包括上百个实际可用的例子和分级练习。本书可供读者用于自学,也可以作为自然语言处理或计算语言学课程的教科书,或是人工智能、文本挖掘、语料库语言学等课程的补充读物。
作者简介
Steven Bird是墨尔本大学计算机科学和软件工程系副教授,宾夕法尼亚大学语言学数据联盟高级研究助理。
Ewan Klein是爱丁堡大学信息学院语言技术教授。
Edward Loper是毕业于宾夕法尼亚大学专注于机器学习的自然语言处理方向的博士,现在在波士顿的BBN Technologies担任研究员。
目录信息
第1章 语言处理与python 1
1.1 语言计算:文本和词汇 1
1.2 近观python:将文本当做词链表 10
1.3 计算语言:简单的统计 17
1.4 回到python:决策与控制 24
1.5 自动理解自然语言 29
1.6 小结 35
1.7 深入阅读 36
1.8 练习 37
第2章 获得文本语料和词汇资源 41
2.1 获取文本语料库 41
2.2 条件频率分布 55
2.3 更多关于python:代码重用 60
2.4 词典资源 63
2.5 wordnet 72
2.6 小结 78
2.7 深入阅读 79
2.8 练习 80
第3章 处理原始文本 84
3.1 从网络和硬盘访问文本 84
3.2 字符串:最底层的文本处理 93
3.3 使用unicode进行文字处理 100
3.4 使用正则表达式检测词组搭配 105
3.5 正则表达式的有益应用 109
3.6 规范化文本 115
3.7 用正则表达式为文本分词 118
3.8 分割 121
3.9 格式化:从链表到字符串 126
3.10 小结 132
3.11 深入阅读 133
3.12 练习 134
第4章 编写结构化程序 142
4.1 回到基础 142
4.2 序列 147
4.3 风格的问题 152
4.4 函数:结构化编程的基础 156
4.5 更多关于函数 164
4.6 程序开发 169
4.7 算法设计 175
4.8 python库的样例 183
4.9 小结 188
4.10 深入阅读 189
4.11 练习 189
第5章 分类和标注词汇 195
5.1 使用词性标注器 195
5.2 标注语料库 197
5.3 使用python字典映射词及其属性 206
5.4 自动标注 216
5.5 n-gram标注 221
5.6 基于转换的标注 228
5.7 如何确定一个词的分类 230
5.8 小结 233
5.9 深入阅读 234
5.10 练习 235
第6章 学习分类文本 241
6.1 监督式分类 241
6.2 监督式分类的举例 254
6.3 评估 258
6.4 决策树 263
6.5 朴素贝叶斯分类器 266
6.6 最大熵分类器 271
6.7 为语言模式建模 275
6.8 小结 276
6.9 深入阅读 277
6.10 练习 278
第7章 从文本提取信息 281
7.1 信息提取 281
7.2 分块 284
7.3 开发和评估分块器 291
7.4 语言结构中的递归 299
7.5 命名实体识别 302
7.6 关系抽取 306
7.7 小结 307
7.8 深入阅读 308
7.9 练习 308
第8章 分析句子结构 312
8.1 一些语法困境 312
8.2 文法的用途 316
8.3 上下文无关文法 319
8.4 上下文无关文法分析 323
8.5 依存关系和依存文法 332
8.6 文法开发 336
8.7 小结 343
8.8 深入阅读 344
8.9 练习 344
第9章 建立基于特征的文法 349
9.1 文法特征 349
9.2 处理特征结构 359
9.3 扩展基于特征的文法 367
9.4 小结 379
9.5 深入阅读 380
9.6 练习 381
第10章 分析语句的含义 384
10.1 自然语言理解 384
10.2 命题逻辑 391
10.3 一阶逻辑 395
10.4 英语语句的语义 409
10.5 段落语义层 422
10.6 小结 428
10.7 深入阅读 429
10.8 练习 430
第11章 语言数据管理 434
11.1 语料库结构:案例研究 434
11.2 语料库生命周期 439
11.3 数据采集 443
11.4 使用xml 452
11.5 使用toolbox数据 459
11.6 使用olac元数据描述语言资源 463
11.7 小结 466
11.8 深入阅读 466
11.9 练习 467
后记 470
参考文献 476
· · · · · · (收起)
读后感
粗略的看了一遍,最后几章几乎就是过了一眼。 有很多知识是暂时看不懂,过一段时间需要重读一遍。 没有提到中文的处理。不过大体的流程和原理应该是差不多的,书里提到了以下的技术,中文处理应该也同样需要,把看到大概的内容记录如下 1.Tokenize 2.Tagging,也就是给出词性...
粗略的看了一遍,最后几章几乎就是过了一眼。 有很多知识是暂时看不懂,过一段时间需要重读一遍。 没有提到中文的处理。不过大体的流程和原理应该是差不多的,书里提到了以下的技术,中文处理应该也同样需要,把看到大概的内容记录如下 1.Tokenize 2.Tagging,也就是给出词性...
入门级别的书,如果你对Python不太了解,里面还有介绍Python基本语法的内容。讲的主要是针对英文的自然语言处理,关于中文的基本没有,但大致思路是相通的。 这本书是基于python2的。里面有些代码已经运行不了了。但是作者在http://www.nltk.org/book/ 有本书基于python3的修订...
粗略的看了一遍,最后几章几乎就是过了一眼。 有很多知识是暂时看不懂,过一段时间需要重读一遍。 没有提到中文的处理。不过大体的流程和原理应该是差不多的,书里提到了以下的技术,中文处理应该也同样需要,把看到大概的内容记录如下 1.Tokenize 2.Tagging,也就是给出词性...
结合Python的语言特性,循序渐进介绍了很多自然语言处理方面的知识,以及如何使用nltk进行NLP。再次体会到Python在文本处理方面有着很多先天优势。 不过,如果Python较为熟悉,这本书的很多章节可以略过。
用户评价
这本书的书名是《Python自然语言处理》,看到这个书名,我就立刻被吸引了。我一直对人工智能和机器学习非常感兴趣,而自然语言处理(NLP)正是AI领域中最具魅力和挑战性的分支之一。从社交媒体上的情感分析,到智能助手的语音识别,再到机器翻译,NLP的应用无处不在,深刻地改变着我们的生活。我渴望深入了解NLP背后的原理和技术,并希望能亲手实现一些有趣的NLP应用。 当我拿到《Python自然语言处理》这本书时,我首先被它的厚度所震撼,这预示着内容将非常丰富和深入。翻开目录,我看到了诸如文本预处理、词汇学、句法分析、语义理解、情感分析、主题模型等一系列NLP的核心概念和技术。这正是我所期待的,这本书似乎能够为我构建一个全面而扎实的NLP知识体系。我特别期待其中关于深度学习在NLP中应用的章节,比如如何使用循环神经网络(RNN)和Transformer模型来处理文本序列,这在近几年的NLP研究中扮演着至关重要的角色。 读完第一章,我感觉自己仿佛踏上了一段激动人心的学习之旅。作者以一种非常直观和循序渐进的方式介绍了NLP的基本概念,并结合Python的实际代码示例,让抽象的理论变得触手可及。我尤其欣赏书中对文本清洗和特征提取的细致讲解,例如如何处理停用词、如何进行词干提取和词形还原,以及TF-IDF和词嵌入等重要的特征表示方法。这些基础知识对于后续的NLP任务至关重要,作者的讲解清晰易懂,让我在短时间内就掌握了这些关键技能,并跃跃欲试地想在实际项目中应用它们。 这本书的语言风格十分吸引人,读起来就像是在和一位经验丰富的NLP专家进行对话。作者在讲解复杂的算法和模型时,总能恰到好处地穿插一些生动有趣的例子,让我不会感到枯燥乏味。我特别喜欢其中关于语言模型构建的章节,它详细介绍了N-gram模型的工作原理,以及如何利用它来进行文本生成和预测。此外,书中还深入探讨了隐马尔可夫模型(HMM)和条件随机场(CRF)等在序列标注任务中的应用,这对于理解词性标注、命名实体识别等任务非常有帮助。 我一直对如何让计算机“理解”人类语言感到好奇,而《Python自然语言处理》这本书似乎给了我一个绝佳的答案。它不仅仅是理论的堆砌,更是对实践的高度重视。书中提供了大量的代码示例,让我能够跟随作者一步步地构建和训练各种NLP模型。我迫不及待地想学习如何利用这本书中的知识,去解决现实世界中的一些有趣问题,比如构建一个能够自动摘要新闻文章的程序,或者开发一个能够根据用户输入生成个性化推荐的系统。这本书无疑是我通往NLP世界的一把金钥匙。
在我看来,《Python自然语言处理》这本书并非是一本简单的技术手册,它更像是一扇通往人工智能核心领域的大门。这本书从最基础的文本预处理,到复杂的深度学习模型,几乎涵盖了NLP研究和应用的全貌。我尤其看重其中关于“特征工程”和“模型评估”的章节,因为这两部分是构建高效NLP系统的关键。 我对书中关于“文本分类”和“序列标注”等经典NLP任务的讲解尤为感兴趣。如何构建一个能够区分不同类型文本的分类器,或者如何让机器能够准确地识别出文本中的实体,这些都是NLP领域中的基础且重要的任务。书中详细介绍了各种算法,并提供了Python的实现,让我能够轻松上手。 这本书的写作风格非常独特。它既有学术论文的严谨,又不乏科普读物的趣味性。作者在讲解技术细节的同时,也穿插了一些NLP领域的历史发展和前沿动态,让读者能够更全面地了解这个领域。我尤其喜欢书中对一些经典NLP模型的历史演变过程的介绍,这让我能够更好地理解这些模型的设计思路。 书中对于“知识图谱”和“问答系统”等更高级的应用的探讨,也让我感到非常兴奋。如何构建一个能够理解用户问题的智能问答系统,或者如何利用知识图谱来增强文本的理解能力,这些都是NLP领域的前沿研究方向。这本书的讲解,让我对这些前沿技术有了初步的了解。 总而言之,《Python自然语言处理》这本书为我提供了一个系统且深入的学习NLP的框架。它不仅包含了NLP的核心技术,更重要的是,它通过丰富的案例和实践,将理论知识转化为解决实际问题的能力。这本书无疑是我在NLP领域深入探索的宝贵财富,让我对这个充满挑战和机遇的领域有了更深刻的认识和更坚定的追求。
拿到《Python自然语言处理》这本书,我的第一感觉就是它是一本“硬核”的作品。序言和目录都透露出一种严谨和全面的气息,涵盖了NLP从基础到进阶的各种主题,从传统的统计方法到最新的深度学习模型,几乎无所不包。我尤其关注书中关于机器学习在NLP中应用的章节,这部分内容对于理解如何让计算机从海量文本数据中学习规律至关重要。 我对书中关于“文本表示”部分的讲解尤为期待。如何将人类的语言转化为计算机能够理解和处理的数值,是NLP领域的一个核心难题。书中详细介绍了词袋模型(Bag-of-Words)、TF-IDF以及更先进的词向量(Word Embeddings)等技术,并给出了Python的实现。我非常想了解这些技术是如何工作的,以及它们在实际应用中的优劣势。 这本书的叙述风格非常吸引人。作者仿佛是一位循循善诱的老师,他用清晰的语言解释复杂的概念,并辅以丰富的代码示例。即使是对于一些相对晦涩的数学原理,作者也能用通俗易懂的方式进行阐述,并且常常联系实际应用场景,让我能够更好地理解其重要性。 我个人对书中关于“序列标注”和“文本生成”的章节尤其感兴趣。如何让计算机识别句子中的特定实体(如人名、地名),或者如何让计算机根据给定的输入生成一段连贯的文本,这些都是NLP领域非常有挑战性的任务。这本书的详细讲解,让我看到了实现这些功能的可能性。 这本书为我提供了一个非常扎实的NLP基础。它不仅教会了我NLP的理论知识,更重要的是,它让我掌握了使用Python来解决实际NLP问题的能力。这本书的深度和广度,以及其对理论与实践的完美结合,让我对NLP领域产生了强烈的学习兴趣,并相信它能够为我未来的学习和工作打下坚实的基础。
拿到《Python自然语言处理》这本书,我首先被其书名所吸引。作为一名对人工智能领域充满热情的研究者,我一直对如何让机器理解和处理人类语言的技术非常着迷。这本书的出现,恰好满足了我对NLP领域深入学习的渴望。其标题直接点明了主题,并且结合了时下最热门的编程语言Python,这让我对内容的实用性和前沿性充满了期待。 我特别关注书中关于“语义理解”的章节。如何让计算机不仅仅是识别文本中的词语,而是真正理解文本的含义,这无疑是NLP领域中最具挑战性的课题之一。书中对词义消歧、指代消解、文本蕴含等问题的探讨,让我感到非常兴奋。我希望通过这本书,能够了解到当前最先进的语义理解技术,以及如何利用Python来实现它们。 阅读这本书的过程,我感觉就像是在与一位经验丰富的导师进行一场深入的交流。作者的讲解非常清晰,并且善于使用生动形象的比喻来阐述复杂的概念。即使是对于一些初学者可能难以理解的数学模型,作者也能将其分解,并给出直观的解释。我尤其喜欢书中提供的许多实际案例,这些案例能够帮助我更好地理解理论知识,并激发我的学习兴趣。 书中对于“情感分析”和“主题模型”等应用领域的详细介绍,也让我受益匪浅。如何从大量的用户评论中提取出情感倾向,或者如何从海量的文档中发现隐藏的主题,这些都是在实际工作中非常常见的需求。这本书的讲解,让我能够掌握相关的技术,并有信心去解决这些问题。 总而言之,《Python自然语言处理》这本书为我提供了一个全面且深入的NLP学习路径。它不仅包含了NLP的各项核心技术,更重要的是,它通过丰富的代码示例和实际案例,将理论知识转化为可操作的能力。这本书无疑是我在NLP领域探索道路上的一个重要里程碑,让我对这个充满活力的领域有了更深刻的认识和更坚定的信心。
这本书给我最直观的感受就是内容的广度和深度都相当惊人。从文本的底层处理,比如分词、词性标注,到更高层次的语义理解,比如情感分析、主题建模,乃至当下最热门的深度学习在NLP领域的应用,几乎涵盖了NLP的方方面面。让我印象深刻的是,作者在介绍每一个概念时,都会追溯其历史发展和理论基础,然后再深入剖析其工作原理,并给出相应的Python实现。这不仅仅是一个“怎么做”的指南,更是一个“为什么这么做”的深度解析,非常适合想要系统性掌握NLP技术的读者。 我尤其对书中关于“语言模型”的部分感到兴奋。不仅仅是简单的N-gram,作者还详细讲解了更复杂的如循环神经网络(RNN)、长短期记忆网络(LSTM)以及目前主流的Transformer模型。书中对这些模型的推导和讲解非常详尽,并且给出了相应的代码实现,让我能够真正地动手去构建和训练一个属于自己的语言模型。这种从理论到实践的无缝衔接,极大地增强了我的学习信心,也让我对NLP的未来发展有了更深刻的认识。 对于我这样一个初学者来说,这本书的叙事方式非常友好。作者并没有一开始就抛出晦涩难懂的术语,而是循序渐进地引入,并且在讲解过程中穿插了大量的实际案例。比如,在讲解文本分类时,书中不仅介绍了常见的算法,还通过构建一个垃圾邮件分类器来演示整个流程。这种“学以致用”的方式,让我能够快速地将学到的知识应用到实际问题中,并从中获得成就感。 我非常欣赏这本书在理论讲解之外,对Python库的运用进行了深入的介绍。像NLTK、spaCy、Gensim等NLP领域常用的Python库,书中都有详细的讲解和应用示例。这对于我这样一个主要使用Python进行开发的学习者来说,无疑是一大福音。我能够直接学习如何利用这些强大的工具来处理文本数据,从而大大提高我的开发效率。 总体而言,这本书为我打开了NLP世界的大门。它不仅仅是一本技术手册,更像是一次思维的启迪。通过阅读这本书,我不仅学到了NLP的各种技术和方法,更重要的是,我开始能够从更宏观的角度去思考语言的本质,以及如何让计算机更好地理解和运用人类的语言。这本书的深度和广度,以及其理论与实践的完美结合,让我对NLP领域产生了浓厚的兴趣,并渴望继续深入探索。
14 年底刚进一家数据分析公司时曾和老板说过我也买了 nlp 的书,然后到今天我终于读完了…不过这书没想象的好,有 1/3 篇幅讲 python 基础,剩下的一多半讲 nltk,然后寥寥数语带过 ngram、决策树、朴素贝叶斯,最后两章的文法分析读的比较粗浅。也算了却一事
一个NLTK库 扯了近500页。。。
分词,断句,词性标注,命名实体识别,关系抽取,文法(Syntax)...
浅浅的
分词,断句,词性标注,命名实体识别,关系抽取,文法(Syntax)...