• 自然语言处理入门


    https://www.ituring.com.cn/book/2706

    https://hanlp.hankcs.com/

    https://blog.csdn.net/weixin_41510260/article/details/104175399

    从基本概念出发,逐步介绍中文分词、词性标注、命名实体识别、信 息抽取、文本聚类、文本分类、句法分析这几个热门问题的算法原理与工程实现。

    书中通过对多种算法的讲解,比较了它们的优缺点和适用场景,同时详细演示生产级成熟代码,助你真正将自然语言处理应用在生产环境中。

    https://www.ptpress.com.cn/shopping/buy?bookId=d27b0241-ec7e-43a2-b8a2-9aa9614c6329


    目录:

    第 1 章 新手上路 1

    1.1 自然语言与编程语言 . 2

    1.1.1 词汇量 . 2

    1.1.2 结构化 . 2

    1.1.3 歧义性 . 3

    1.1.4 容错性 . 3

    1.1.5 易变性 . 4

    1.1.6 简略性 . 4

    1.2 自然语言处理的层次 . 4

    1.2.1 语音、图像和文本 .. 5

    1.2.2 中文分词、词性标注和命名实体识别 . 5

    1.2.3 信息抽取 . 6

    1.2.4 文本分类与文本聚类 .. 6

    1.2.5 句法分析 . 6

    1.2.6 语义分析与篇章分析 .. 7

    1.2.7 其他高级任务 7

    1.3 自然语言处理的流派 . 8

    1.3.1 基于规则的专家系统 .. 8

    1.3.2 基于统计的学习方法 .. 9

    1.3.3 历史 . 9

    1.3.4 规则与统计 . 11

    1.3.5 传统方法与深度学习 11

    1.4 机器学习 .. 12

    1.4.1 什么是机器学习 13

    1.4.2 模型 .. 13

    1.4.3 特征 .. 13

    1.4.4 数据集 .. 15

    1.4.5 监督学习 .. 16

    1.4.6 无监督学习 . 17

    1.4.7 其他类型的机器学习算法 .. 18

    1.5 语料库 19

    1.5.1 中文分词语料库 19

    1.5.2 词性标注语料库 19

    1.5.3 命名实体识别语料库 20

    1.5.4 句法分析语料库 20

    1.5.5 文本分类语料库 20

    1.5.6 语料库建设 . 21

    1.6 开源工具 .. 21

    1.6.1 主流NLP 工具比较 .. 21

    1.6.2 Python 接口 23

    1.6.3 Java 接口 . 28

    1.7 总结 . 31

    第 2 章 词典分词 32

    2.1 什么是词 .. 32

    2.1.1 词的定义 .. 32

    2.1.2 词的性质--齐夫定律 .. 33

    2.2 词典 . 34

    2.2.1 HanLP 词典 . 34

    2.2.2 词典的加载 . 34

    2.3 切分算法 .. 36

    2.3.1 完全切分 .. 36

    2.3.2 正向最长匹配 . 37

    2.3.3 逆向最长匹配 . 39

    2.3.4 双向最长匹配 . 40

    2.3.5 速度评测 .. 43

    2.4 字典树 46

    2.4.1 什么是字典树 . 46

    2.4.2 字典树的节点实现 47

    2.4.3 字典树的增删改查实现 .. 48

    2.4.4 首字散列其余二分的字典树 . 50

    2.4.5 前缀树的妙用 . 53

    2.5 双数组字典树 55

    2.5.1 双数组的定义 . 55

    2.5.2 状态转移 .. 56

    2.5.3 查询 .. 56

    2.5.4 构造* 57

    2.5.5 全切分与最长匹配 60

    2.6 AC 自动机 .. 60

    2.6.1 从字典树到AC 自动机 61

    2.6.2 goto 表 61

    2.6.3 output 表 .. 62

    2.6.4 fail 表 63

    2.6.5 实现 .. 65

    2.7 基于双数组字典树的AC 自动机 . 67

    2.7.1 原理 .. 67

    2.7.2 实现 .. 67

    2.8 HanLP 的词典分词实现 71

    2.8.1 DoubleArrayTrieSegment 72

    2.8.2 AhoCorasickDoubleArrayTrie-Segment . 73

    2.9 准确率评测 . 74

    2.9.1 准确率 .. 74

    2.9.2 混淆矩阵与TP/FN/FP/TN .. 75

    2.9.3 精确率 .. 76

    2.9.4 召回率 .. 76

    2.9.5 F1 值 .. 77

    2.9.6 中文分词中的P、R、F1 计算 .. 77

    2.9.7 实现 .. 78

    2.9.8 第二届国际中文分词评测 .. 79

    2.9.9 OOV Recall Rate 与IV Recall Rate . 81

    2.10 字典树的其他应用 . 83

    2.10.1 停用词过滤 .. 83

    2.10.2 简繁转换 87

    2.10.3 拼音转换 90

    2.11 总结 . 91

    第3章 二元语法与中文分词 . 92

    3.1 语言模型 .. 92

    3.1.1 什么是语言模型 92

    3.1.2 马尔可夫链与二元语法 .. 94

    3.1.3 n 元语法 .. 95

    3.1.4 数据稀疏与平滑策略 96

    3.2 中文分词语料库 . 96

    3.2.1 1998 年《人民日报》语料库PKU . 97

    3.2.2 微软亚洲研究院语料库MSR 98

    3.2.3 繁体中文分词语料库 98

    3.2.4 语料库统计 . 99

    3.3 训练 . 100

    3.3.1 加载语料库 .. 101

    3.3.2 统计一元语法 .. 101

    3.3.3 统计二元语法 .. 103

    3.4 预测 .. 104

    3.4.1 加载模型 104

    3.4.2 构建词网 107

    3.4.3 节点间的距离计算 111

    3.4.4 词图上的维特比算法 . 112

    3.4.5 与用户词典的集成 115

    3.5 评测 .. 118

    3.5.1 标准化评测 .. 118

    3.5.2 误差分析 118

    3.5.3 调整模型 119

    3.6 日语分词 122

    3.6.1 日语分词语料 .. 122

    3.6.2 训练日语分词器 . 123

    3.7 总结 .. 124

    第4章 隐马尔可夫模型与序列标注 . 125

    4.1 序列标注问题 . 125

    4.1.1 序列标注与中文分词 . 126

    4.1.2 序列标注与词性标注 . 127

    4.1.3 序列标注与命名实体识别 128

    4.2 隐马尔可夫模型 .. 129

    4.2.1 从马尔可夫假设到隐马尔可夫模型 129

    4.2.2 初始状态概率向量 . 130

    4.2.3 状态转移概率矩阵 . 131

    4.2.4 发射概率矩阵 .. 132

    4.2.5 隐马尔可夫模型的三个基本用法 .. 133

    4.3 隐马尔可夫模型的样本生成 133

    4.3.1 案例--医疗诊断 . 133

    4.3.2 样本生成算法 .. 136

    4.4 隐马尔可夫模型的训练 .. 138

    4.4.1 转移概率矩阵的估计 . 138

    4.4.2 初始状态概率向量的估计 139

    4.4.3 发射概率矩阵的估计 . 140

    4.4.4 验证样本生成与模型训练 141

    4.5 隐马尔可夫模型的预测 .. 142

    4.5.1 概率计算的前向算法 . 142

    4.5.2 搜索状态序列的维特比算法 .. 143

    4.6 隐马尔可夫模型应用于中文分词 . 147

    4.6.1 标注集 148

    4.6.2 字符映射 149

    4.6.3 语料转换 150

    4.6.4 训练 151

    4.6.5 预测 152

    4.6.6 评测 153

    4.6.7 误差分析 154

    4.7 二阶隐马尔可夫模型* 154

    4.7.1 二阶转移概率张量的估计 155

    4.7.2 二阶隐马尔可夫模型中的维特比算法 156

    4.7.3 二阶隐马尔可夫模型应用于中文分词 158

    4.8 总结 .. 159

    第5章 感知机分类与序列标注 . 160

    5.1 分类问题 160

    5.1.1 定义 160

    5.1.2 应用 161

    5.2 线性分类模型与感知机算法 161

    5.2.1 特征向量与样本空间 . 162

    5.2.2 决策边界与分离超平面 164

    5.2.3 感知机算法 .. 167

    5.2.4 损失函数与随机梯度下降* 169

    5.2.5 投票感知机和平均感知机 171

    5.3 基于感知机的人名性别分类 174

    5.3.1 人名性别语料库 . 174

    5.3.2 特征提取 174

    5.3.3 训练 175

    5.3.4 预测 176

    5.3.5 评测 177

    5.3.6 模型调优 178

    5.4 结构化预测问题 .. 180

    5.4.1 定义 180

    5.4.2 结构化预测与学习的流程 180

    5.5 线性模型的结构化感知机算法 .. 180

    5.5.1 结构化感知机算法 . 180

    5.5.2 结构化感知机与序列标注 182

    5.5.3 结构化感知机的维特比解码算法 .. 183

    5.6 基于结构化感知机的中文分词 .. 186

    5.6.1 特征提取 187

    5.6.2 多线程训练 .. 189

    5.6.3 特征裁剪与模型压缩* . 190

    5.6.4 创建感知机分词器 . 192

    5.6.5 准确率与性能 .. 194

    5.6.6 模型调整与在线学习* . 195

    5.6.7 中文分词特征工程* . 197

    5.7 总结 .. 199

    第6 章 条件随机场与序列标注 . 200

    6.1 机器学习的模型谱系 200

    6.1.1 生成式模型与判别式模型 201

    6.1.2 有向与无向概率图模型 202

    6.2 条件随机场 .. 205

    6.2.1 线性链条件随机场 . 205

    6.2.2 条件随机场的训练* 207

    6.2.3 对比结构化感知机 . 210

    6.3 条件随机场工具包 . 212

    6.3.1 CRF++ 的安装 212

    6.3.2 CRF++ 语料格式 213

    6.3.3 CRF++ 特征模板 214

    6.3.4 CRF++ 命令行训练 215

    6.3.5 CRF++ 模型格式* 216

    6.3.6 CRF++ 命令行预测 217

    6.3.7 CRF++ 代码分析* 218

    6.4 HanLP 中的CRF++ API 220

    6.4.1 训练分词器 .. 220

    6.4.2 标准化评测 .. 220

    6.5 总结 .. 221

    第7章 词性标注 . 222

    7.1 词性标注概述 . 222

    7.1.1 什么是词性 .. 222

    7.1.2 词性的用处 .. 223

    7.1.3 词性标注 223

    7.1.4 词性标注模型 .. 223

    7.2 词性标注语料库与标注集 . 224

    7.2.1 《人民日报》语料库与PKU 标注集 .. 225

    7.2.2 国家语委语料库与863 标注集 . 231

    7.2.3 《诛仙》语料库与CTB 标注集 .. 234

    7.3 序列标注模型应用于词性标注 .. 236

    7.3.1 基于隐马尔可夫模型的词性标注 .. 237

    7.3.2 基于感知机的词性标注 238

    7.3.3 基于条件随机场的词性标注 .. 240

    7.3.4 词性标注评测 .. 241

    7.4 自定义词性 .. 242

    7.4.1 朴素实现 242

    7.4.2 标注语料 243

    7.5 总结 .. 244

    第8章 命名实体识别 . 245

    8.1 概述 .. 245

    8.1.1 命名实体 245

    8.1.2 命名实体识别 .. 245

    8.2 基于规则的命名实体识别 . 246

    8.2.1 基于规则的音译人名识别 247

    8.2.2 基于规则的日本人名识别 248

    8.2.3 基于规则的数词英文识别 249

    8.3 命名实体识别语料库 .. 250

    8.3.1 1998 年《人民日报》语料库 . 250

    8.3.2 微软命名实体识别语料库 251

    8.4 基于层叠隐马尔可夫模型的角色标注框架 252

    8.4.1 基于角色标注的中国人名识别 .. 252

    8.4.2 基于角色标注的地名识别 .. 257

    8.4.3 基于角色标注的机构名识别 .. 258

    8.5 基于序列标注的命名实体识别 .. 260

    8.5.1 特征提取 261

    8.5.2 基于隐马尔可夫模型序列标注的命名实体识别 .. 262

    8.5.3 基于感知机序列标注的命名实体识别 264

    8.5.4 基于条件随机场序列标注的命名实体识别 265

    8.5.5 命名实体识别标准化评测 265

    8.6 自定义领域命名实体识别 . 266

    8.6.1 标注领域命名实体识别语料库 .. 267

    8.6.2 训练领域模型 .. 267

    8.7 总结 .. 268

    第9章 信息抽取 . 270

    9.1 新词提取 270

    9.1.1 概述 270

    9.1.2 基本原理 270

    9.1.3 信息熵 271

    9.1.4 互信息 272

    9.1.5 实现 273

    9.2 关键词提取 .. 276

    9.2.1 词频统计 277

    9.2.2 TF-IDF .. 278

    9.2.3 TextRank .. 280

    9.3 短语提取 283

    9.4 关键句提取 .. 284

    9.4.1 BM25 . 284

    9.4.2 TextRank .. 285

    9.5 总结 .. 287

    第10 章 文本聚类 . 288

    10.1 概述 .. 288

    10.1.1 聚类 288

    10.1.2 聚类的应用 .. 290

    10.1.3 文本聚类 290

    10.2 文档的特征提取 291

    10.2.1 词袋模型 291

    10.2.2 词袋中的统计指标 . 293

    10.3 k 均值算法 293

    10.3.1 基本原理 294

    10.3.2 初始质心的选取 . 294

    10.3.3 更快的准则函数 . 297

    10.3.4 实现 298

    10.4 重复二分聚类算法 .. 300

    10.4.1 基本原理 300

    10.4.2 自动判断聚类个数k .. 301

    10.4.3 实现 302

    10.5 标准化评测 .. 303

    10.5.1 P、R 和F1 值 .. 303

    10.5.2 语料库 304

    10.5.3 评测试验 305

    10.6 总结 .. 305

    第11 章 文本分类 . 306

    11.1 文本分类的概念 306

    11.2 文本分类语料库 307

    11.3 文本分类的特征提取 . 308

    11.3.1 分词 309

    11.3.2 卡方特征选择 .. 309

    11.3.3 词袋向量 312

    11.4 朴素贝叶斯分类器 .. 312

    11.4.1 朴素贝叶斯法原理 . 312

    11.4.2 朴素贝叶斯文本分类器实现 .. 314

    11.5 支持向量机分类器 .. 317

    11.5.1 线性支持向量机* .. 317

    11.5.2 线性支持向量机文本分类器实现 319

    11.6 标准化评测 .. 320

    11.6.1 评测指标P、R、F1 320

    11.6.2 试验结果 321

    11.7 情感分析 321

    11.7.1 ChnSentiCorp 情感分析语料库 322

    11.7.2 训练情感分析模型 . 322

    11.7.3 拓展试验 323

    11.8 总结 .. 323

    第12 章 依存句法分析 . 324

    12.1 短语结构树 .. 324

    12.1.1 上下文无关文法 . 324

    12.1.2 短语结构树 .. 325

    12.1.3 宾州树库和中文树库 . 326

    12.2 依存句法树 .. 327

    12.2.1 依存句法理论 .. 327

    12.2.2 中文依存句法树库 . 328

    12.2.3 依存句法树的可视化 . 331

    12.3 依存句法分析 . 333

    12.3.1 基于图的依存句法分析 333

    12.3.2 基于转移的依存句法分析 333

    12.4 基于转移的依存句法分析 .. 334

    12.4.1 Arc-Eager 转移系统 . 334

    12.4.2 特征提取 336

    12.4.3 Static 和Dynamic Oracle 337

    12.4.4 Dynamic Oracle 与感知机在线学习 . 338

    12.4.5 柱搜索 339

    12.5 依存句法分析API 340

    12.5.1 训练模型 340

    12.5.2 标准化评测 .. 341

    12.6 案例:基于依存句法树的意见抽取 .. 342

    12.7 总结 .. 344

    第13 章 深度学习与自然语言处理 345

    13.1 传统方法的局限 345

    13.1.1 数据稀疏 345

    13.1.2 特征模板 347

    13.1.3 误差传播 348

    13.2 深度学习与优势 348

    13.2.1 深度学习 348

    13.2.2 用稠密向量解决数据稀疏 352

    13.2.3 用多层网络自动提取特征表示 .. 352

    13.2.4 端到端的设计 .. 353

    13.3 word2vec .. 353

    13.3.1 语言学上的启发 . 354

    13.3.2 CBOW 模型 . 354

    13.3.3 训练词向量 .. 355

    13.3.4 单词语义相似度 . 357

    13.3.5 词语类比 358

    13.3.6 短文本相似度 .. 359

    13.4 基于神经网络的高性能依存句法分析器 . 360

    13.4.1 Arc-Standard 转移系统 .. 360

    13.4.2 特征提取 361

    13.4.3 实现与接口 .. 361

    13.5 自然语言处理进阶 .. 363

    自然语言处理学习资料推荐 . 365

  • 相关阅读:
    paip.字符串操作uapi java php python总结..
    paip. java resin 远程 调试 java resin remote debug
    paip. http 405 的解决..
    paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
    paip. 调试技术打印堆栈 uapi print stack java php python 总结.
    paip.数组以及集合的操作uapi java php python总结..
    paip.java 以及JavaScript (js) 的关系以及区别
    paip.提升用户体验提升java的热部署热更新能力
    paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结
    paip.调试js 查看元素事件以及事件断点
  • 原文地址:https://www.cnblogs.com/hbuwyg/p/13099640.html
Copyright © 2020-2023  润新知