作者: (印)迪潘简·撒卡尔(Dipanjan Sarkar) 译者: 闫龙川 高德荃 李君婷
丛书名: 数据科学与工程技术丛书
出版社:机械工业出版社
ISBN:9787111593249
出版日期:2018 年4月
开本:16开
版次:1-1
前言
1章自然语言基础
1��1自然语言
1��1��1什么是自然语言
1��1��2语言哲学
1��1��3语言习得和用法
1��2语言学
1��3语言句法和结构
1��3��1词
1��3��2短语
1��3��3从句
1��3��4语法
1��3��5语序类型学
1��4语言语义
1��4��1词汇语义关系
1��4��2语义网络和模型
1��4��3语义表示
1��5文本语料库
1��5��1文本语料库标注及使用
1��5��2热门的语料库
1��5��3访问文本语料库
1��6自然语言处理
1��6��1机器翻译
1��6��2语音识别系统
1��6��3问答系统
1��6��4语境识别与消解
1��6��5文本摘要
1��6��6文本分类
1��7文本分析
1��8小结
2章Python语言回顾
2��1了解Python
2��1��1Python之禅
2��1��2应用:何时使用Python
2��1��3缺点:何时不用Python
2��1��4Python实现和版本
2��2安装和设置
2��2��1用哪个Python版本
2��2��2用哪个操作系统
2��2��3集成开发环境
2��2��4环境设置
2��2��5虚拟环境
2��3Python句法和结构
2��4数据结构和类型
2��4��1数值类型
2��4��2字符串
2��4��3列表
2��4��4集合
2��4��5字典
2��4��6元组
2��4��7文件
2��4��8杂项
2��5控制代码流
2��5��1条件结构
2��5��2循环结构
2��5��3处理异常
2��6函数编程
2��6��1函数
2��6��2递归函数
2��6��3匿名函数
2��6��4迭代器
2��6��5分析器
2��6��6生成器
2��6��7itertools和functools模块
2��7类
2��8使用文本
2��8��1字符串文字
2��8��2字符串操作和方法
2��9文本分析框架
2��10小结
3章处理和理解文本
3��1文本切分
3��1��1句子切分
3��1��2词语切分
3��2文本规范化
3��2��1文本清洗
3��2��2文本切分
3��2��3删除特殊字符
3��2��4扩展缩写词
3��2��5大小写转换
3��2��6删除停用词
3��2��7词语校正
3��2��8词干提取
3��2��9词形还原
3��3理解文本句法和结构
3��3��1安装必要的依赖项
3��3��2机器学习重要概念
3��3��3词性标注
3��3��4浅层分析
3��3��5基于依存关系的分析
3��3��6基于成分结构的分析
3��4小结
4章文本分类
4��1什么是文本分类
4��2自动文本分类
4��3文本分类的蓝图
4��4文本规范化处理
4��5特征提取
4��5��1词袋模型
4��5��2TF�睮DF模型
4��5��3高级词向量模型
4��6分类算法
4��6��1多项式朴素贝叶斯
4��6��2支持向量机
4��7评估分类模型
4��8建立一个多类分类系统
4��9应用
4��10小结
5章文本摘要
5��1文本摘要和信息提取
5��2重要概念
5��2��1文档
5��2��2文本规范化
5��2��3特征提取
5��2��4特征矩阵
5��2��5奇异值分解
5��3文本规范化
5��4特征提取
5��5关键短语提取
5��5��1搭配
5��5��2基于权重标签的短语提取
5��6主题建模
5��6��1隐含语义索引
5��6��2隐含Dirichlet分布
5��6��3非负矩阵分解
5��6��4从产品评论中提取主题
5��7自动文档摘要
5��7��1隐含语义分析
5��7��2TextRank算法
5��7��3生成产品说明摘要
5��8小结
6章文本相似度和聚类
6��1重要概念
6��1��1信息检索
6��1��2特征工程
6��1��3相似度测量
6��1��4无监督的机器学习算法
6��2文本规范化
6��3特征提取
6��4文本相似度
6��5词项相似度分析
6��5��1汉明距离
6��5��2曼哈顿距离
6��5��3欧几里得距离
6��5��4莱文斯坦编辑距离
6��5��5余弦距离和相似度
6��6文档相似度分析
6��6��1余弦相似度
6��6��2海灵格-巴塔恰亚距离
6��6��3Okapi BM25排名
6��7文档聚类
6��8佳影片聚类分析
6��8��1k�瞞eans聚类
6��8��2近邻传播聚类
6��8��3沃德凝聚层次聚类
6��9小结
7章语义与情感分析
7��1语义分析
7��2探索WordNet
7��2��1理解同义词集
7��2��2分析词汇的语义关系
7��3词义消歧
7��4命名实体识别
7��5分析语义表征
7��5��1命题逻辑
7��5��2一阶逻辑
7��6情感分析
7��7IMDb电影评论的情感分析
7��7��1安装依赖程序包
7��7��2准备数据集
7��7��3有监督的机器学习技术
7��7��4无监督的词典技术
7��7��5模型性能比较
7��8小结
探索文字的奥秘:深度解析文本数据背后的价值 在信息爆炸的时代,文字不仅仅是沟通的媒介,更蕴含着海量的数据和洞察。如何从海量的文本信息中挖掘出有价值的知识,理解人类的语言,并利用这些洞察力解决实际问题,已成为当今科技和商业领域的核心挑战之一。本书系正是为了应对这一挑战而精心编纂,旨在为读者提供一套系统、深入且实用的文本分析与自然语言处理(NLP)的知识体系。 第一卷:Python文本分析入门与进阶 本书的开篇,我们将带领读者踏入Python文本分析的奇妙世界。Python以其简洁的语法、丰富的库生态以及强大的社区支持,已成为数据科学领域无可争议的首选语言。本书将从最基础的文本处理概念讲起,逐步深入到复杂的文本分析技术。 核心内容概览: 文本数据获取与预处理: 我们将学习如何使用Python从各种来源(如文件、网络爬虫、API)获取文本数据,并掌握必要的预处理技术,包括: 文本清洗: 移除噪声字符、HTML标签、特殊符号等,确保数据干净整洁。 分词(Tokenization): 将连续的文本分解为有意义的词语或符号单元,这是后续分析的基础。我们将介绍基于规则和统计的分词方法,并探讨不同语言(特别是中文)分词的挑战与解决方案。 去除停用词(Stop Word Removal): 识别并移除对文本意义影响不大的常见词语(如“的”、“是”、“在”),突出核心信息。 词形还原(Lemmatization)与词干提取(Stemming): 将词语还原到其基本形式,减少词汇的维度,提高分析效率。我们将深入比较这两种方法的异同及其适用场景。 大小写转换、数字处理等: 标准化文本格式,为后续计算做好准备。 文本特征表示: 将文本转化为计算机能够理解和处理的数值形式是文本分析的关键步骤。本书将详细介绍几种主流的文本特征表示方法: 词袋模型(Bag-of-Words, BoW): 最基础的文本表示方法,关注词语出现的频率,忽略词语顺序。我们将学习如何使用`CountVectorizer`等工具实现BoW。 TF-IDF(Term Frequency-Inverse Document Frequency): 衡量一个词语在文档中的重要性,同时考虑其在整个语料库中的普遍性。我们将详细解析TF-IDF的计算原理,并学习使用`TfidfVectorizer`。 N-grams: 考虑词语的组合(如二元词组、三元词组),捕捉词语之间的局部依赖关系,提升表示的精细度。 词嵌入(Word Embeddings): 这是现代NLP领域的核心技术,将词语映射到低维度的向量空间,捕捉词语之间的语义关系。我们将深入介绍: Word2Vec(Skip-gram与CBOW): 解释其训练机制,理解词向量的含义。 GloVe: 结合全局统计信息和局部上下文的词向量模型。 FastText: 考虑词语内部结构(子词信息)的模型,对稀疏词汇表现更佳。 预训练词向量的使用: 如何加载和应用现有的预训练词向量模型,快速提升文本分析能力。 文本聚类与分类: 利用数值化的文本特征,我们可以对文本进行组织和区分。 文本聚类: 将相似的文本分组,发现隐藏的主题和模式。我们将介绍K-Means、DBSCAN等聚类算法在文本数据上的应用,以及如何评估聚类效果。 文本分类: 将文本划分到预定义的类别中,实现自动化的信息归档、情感分析、垃圾邮件检测等。我们将深入讲解: 监督学习分类器: Naive Bayes(朴素贝叶斯)、Logistic Regression(逻辑回归)、Support Vector Machines(SVM)、Decision Trees(决策树)、Random Forests(随机森林)等。 深度学习分类器: Convolutional Neural Networks(CNN)和Recurrent Neural Networks(RNN)在文本分类中的应用,以及如何利用预训练的词向量加速模型训练。 模型评估指标: 准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-Score,以及混淆矩阵的解读。 主题建模(Topic Modeling): 发现文本集合中潜藏的抽象主题。 Latent Dirichlet Allocation(LDA): 最经典和常用的主题模型。我们将详细讲解LDA的生成过程,并学习如何使用Python库(如`gensim`)实现LDA,解释主题的含义。 其他主题模型: 简要介绍Non-negative Matrix Factorization(NMF)等方法。 文本相似度计算: 衡量两个文本之间的相似程度,应用于文档去重、信息推荐、问答系统等。 基于向量的相似度: 余弦相似度(Cosine Similarity)、欧氏距离(Euclidean Distance)等。 基于编辑距离的相似度: Levenshtein距离等。 Python常用文本分析库实战: NLTK(Natural Language Toolkit): 经典的NLP库,提供丰富的文本处理工具和语料库。 spaCy: 高效、快速的NLP库,专注于工业级应用。 gensim: 强大的主题建模和词向量库。 scikit-learn: 机器学习库,包含丰富的文本特征提取和分类模型。 第二卷:精通Python自然语言处理:深度挖掘语言的智慧 在掌握了文本分析的基础知识后,本书的第二卷将带领读者进入更广阔、更深入的自然语言处理(NLP)领域。我们将探索NLP在理解、生成和交互式应用中的核心技术,并重点关注如何利用Python实现这些高级功能,从而真正“精通”NLP。 核心内容概览: 深度学习在NLP中的革命: 深度学习模型彻底改变了NLP的格局。我们将深入探讨: 循环神经网络(RNN)及其变体: LSTM(Long Short-Term Memory)与GRU(Gated Recurrent Unit): 解决传统RNN的梯度消失/爆炸问题,有效处理长序列依赖。我们将详细解析其内部机制,并演示如何在文本序列建模中使用它们(如语言模型、序列标注)。 卷积神经网络(CNN)在NLP中的应用: 虽然CNN常用于图像处理,但其在文本特征提取方面也表现出色,尤其是在短文本分类、句子建模等方面。 注意力机制(Attention Mechanism): NLP领域的一项革命性技术,使模型能够聚焦于输入序列中的重要部分,极大地提升了模型性能,是Transformer模型的基石。 Transformer模型及其变种: 自注意力(Self-Attention): Transformer的核心,允许模型并行处理序列,捕捉全局依赖。 BERT(Bidirectional Encoder Representations from Transformers): 革命性的预训练模型,通过掩码语言模型和下一句预测任务进行预训练,能够生成强大的上下文相关的词向量,并在多项NLP任务上取得了SOTA(State-of-the-Art)效果。我们将深入讲解BERT的原理,并学习如何使用Hugging Face的`transformers`库进行微调,应用于文本分类、命名实体识别、问答等任务。 GPT(Generative Pre-trained Transformer)系列: 强大的生成式预训练模型,在文本生成、摘要、翻译等任务上表现突出。我们将探讨GPT模型的生成原理,以及如何利用其进行创意写作、代码生成等。 其他Transformer模型: RoBERTa, XLNet, T5 等,了解它们在BERT和GPT基础上的改进与发展。 高级NLP任务详解与实践: 命名实体识别(Named Entity Recognition, NER): 识别文本中的专有名词,如人名、地名、组织机构名等。我们将学习基于规则、基于统计(CRF)以及基于深度学习(BiLSTM-CRF, Transformer)的NER方法,并使用Python实现。 词性标注(Part-of-Speech Tagging, POS Tagging): 为文本中的每个词语赋予其语法属性(如名词、动词、形容词)。 依存句法分析(Dependency Parsing): 分析句子中词语之间的语法关系,揭示句子的结构。 语义角色标注(Semantic Role Labeling, SRL): 识别句子中谓词的论元结构,理解谁做了什么、对谁做了等。 关系抽取(Relation Extraction): 从文本中识别实体之间的语义关系,例如“人物-所属公司”、“药物-治疗疾病”。 文本摘要(Text Summarization): 抽取式摘要: 从原文中选取关键句子组成摘要。 生成式摘要: 利用模型生成新的、概括性的文本摘要。我们将深入探讨Seq2Seq模型、Transformer模型在生成式摘要中的应用。 机器翻译(Machine Translation, MT): 将一种语言的文本翻译成另一种语言。我们将回顾传统的统计机器翻译方法,并重点讲解基于深度学习(Seq2Seq with Attention, Transformer)的机器翻译模型。 问答系统(Question Answering, QA): 根据用户提出的问题,从文本或知识库中找到答案。我们将介绍基于检索的QA和基于生成式的QA,以及如何利用BERT等模型构建强大的QA系统。 情感分析(Sentiment Analysis)与观点挖掘(Opinion Mining): 理解文本中蕴含的情感倾向(正面、负面、中性)和表达的观点。我们将深入探讨基于词典、基于机器学习以及基于深度学习的情感分析方法,并关注细粒度情感分析。 对话系统(Dialogue Systems)与聊天机器人(Chatbots): 构建能够与人类进行自然语言交互的系统。我们将介绍对话状态跟踪、意图识别、回复生成等核心技术。 NLP模型评估与优化: 针对不同NLP任务的评估指标: BLEU, ROUGE, METEOR (机器翻译、摘要), F1 score (NER, 分类), Perplexity (语言模型) 等。 超参数调优与模型解释性: 如何科学地调整模型参数,以及如何理解模型的决策过程。 领域适应性与迁移学习: 如何将在大规模语料上训练好的模型应用于特定领域的数据。 Python NLP工具链与生态: Hugging Face `transformers` 库: 掌握其API,高效使用预训练模型。 `spaCy` 的高级功能: 探索其管道(pipeline)、自定义组件等。 `NLTK` 的进一步应用: 学习其更高级的算法和数据集。 PyTorch / TensorFlow: 深度学习框架,用于构建和训练自定义NLP模型。 本书系特色: 理论与实践并重: 每一项技术都辅以详细的理论讲解和代码实现,读者可以通过动手实践加深理解。 循序渐进,体系完整: 从基础概念到前沿技术,由浅入深,构建完整的NLP知识体系。 聚焦Python实现: 充分利用Python丰富的NLP库和深度学习框架,提供可执行的代码示例。 贴近实际应用: 涵盖了情感分析、信息抽取、问答系统、文本生成等多个实际应用场景,帮助读者解决实际问题。 持续更新的趋势: 关注NLP领域的最新发展,介绍Transformer等前沿模型,让读者掌握最有效的工具。 无论您是初学者希望踏入文本数据分析的领域,还是有一定基础希望深入掌握NLP的尖端技术,本书系都将是您不可或缺的学习伙伴。通过本书的学习,您将能够自信地驾驭海量的文本信息,从中提炼出宝贵的洞察,并构建出智能的语言处理应用,真正释放文字数据的无限潜力。
作为一名资深软件工程师,我一直想把我的后端服务能力延伸到利用非结构化数据进行更深层次的服务优化上,但市面上关于Python和NLP结合的书籍,往往侧重于前端的数据展示或者算法的理论证明,很少有关于如何将这些分析能力高效、稳定地部署到生产环境的讨论。这套书的后半部分给了我一个惊喜。它没有止步于模型训练和准确率评估,而是涉及到了如何使用Flask或Django这样的Web框架来封装训练好的模型,实现实时的文本预测服务。虽然不是专门的DevOps书籍,但它提供的工程实践建议非常务实,比如如何处理并发请求、如何进行模型版本管理的基本思路,这些都是我在实际工程中会遇到的痛点。这种“从数据到API”的完整流程展示,让我看到了如何将一个纯粹的数据分析项目转化为一个可投入生产环境的软件模块。这对于我们这类追求效率和稳定性的工程师来说,价值远超单纯的算法介绍。