自然语言处理入门

  |  

摘要: 《自然语言处理入门》这本书

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


HanLP 作者何晗汇集多年经验,从基本概念出发,逐步介绍中文分词、词性标注、命名实体识别、信息抽取、文本聚类、文本分类、句法分析这几个问题的算法原理与工程实现。注意这本书偏传统算法,深度学习(word2vec, RNN)和预训练(Bert, GPT)这两块需要额外找资料学习。

自然语言处理入门


新手上路

  • 自然语言与编程语言
    • 词汇量
    • 结构化
    • 歧义性
    • 容错性
    • 易变性
    • 简略性
  • 自然语言处理的层次
    • 语音、图像和文本
    • 中文分词、词性标注和命名实体识别
    • 信息抽取
    • 文本分类与文本聚类
    • 句法分析
    • 语义分析与篇章分析
    • 其他高级任务
  • 自然语言处理的流派
    • 基于规则的专家系统
    • 基于统计的学习方法
    • 传统方法与深度学习
  • 机器学习
    • 模型
    • 特征
    • 数据集
    • 监督学习
    • 无监督学习
    • 其他类型的机器学习算法
  • 语料库
    • 中文分词语料库
    • 词性标注语料库
    • 命名实体识别语料库
    • 句法分析语料库
    • 文本分类语料库
    • 语料库建设
  • 开源工具
    • 主流NLP工具比较
    • Python接口
    • Java接口

词典分词

  • 什么是词
    • 词的定义
    • 词的性质—齐夫定律
  • 词典
    • HanLP词典
    • 词典的加载
  • 切分算法
    • 完全切分
    • 正向最长匹配
    • 逆向最长匹配
    • 双向最长匹配
    • 速度评测
  • 字典树
    • 什么是字典树
    • 字典树的节点实现
    • 字典树的增删改查实现
    • 首字散列其余二分的字典树
    • 前缀树的妙用
  • 双数组字典树
    • 双数组的定义
    • 状态转移
    • 查询
    • 构造
    • 全切分与最长匹配
  • AC自动机
    • 从字典树到AC自动机
    • goto表
    • output表
    • fail表
    • 实现
  • 基于双数组字典树的AC自动机
    • 原理
    • 实现
  • HanLP的词典分词实现
    • DoubleArrayTrieSegment
    • AhoCorasickDoubleArrayTrie-Segment
  • 准确率评测
    • 准确率
    • 混淆矩阵与TP/FN/FP/TN
    • 精确率
    • 召回率
    • F1值
    • 中文分词中的P、R、F1计算
    • 实现
    • 第二届国际中文分词评测
    • OOVRecallRate与IVRecallRate
  • 字典树的其他应用
    • 停用词过滤
    • 简繁转换
    • 拼音转换

二元语法与中文分词

  • 语言模型
    • 什么是语言模型
    • 马尔可夫链与二元语法
    • n元语法
    • 数据稀疏与平滑策略
  • 中文分词语料库
    • 1998 年《人民日报》语料库PKU
    • 微软亚洲研究院语料库MSR
    • 繁体中文分词语料库
    • 语料库统计
  • 训练
    • 加载语料库
    • 统计一元语法
    • 统计二元语法
  • 预测
    • 加载模型
    • 构建词网
    • 节点间的距离计算
    • 词图上的维特比算法
    • 与用户词典的集成
  • 评测
    • 标准化评测
    • 误差分析
    • 调整模型
  • 日语分词
    • 日语分词语料
    • 训练日语分词器

隐马尔可夫模型与序列标注

  • 序列标注问题
    • 序列标注与中文分词
    • 序列标注与词性标注
    • 序列标注与命名实体识别
  • 隐马尔可夫模型
    • 从马尔可夫假设到隐马尔可夫模型
    • 初始状态概率向量
    • 状态转移概率矩阵
    • 发射概率矩阵
    • 隐马尔可夫模型的三个基本用法
  • 隐马尔可夫模型的样本生成
    • 案例—医疗诊断
    • 样本生成算法
  • 隐马尔可夫模型的训练
    • 转移概率矩阵的估计
    • 初始状态概率向量的估计
    • 发射概率矩阵的估计
    • 验证样本生成与模型训练
  • 隐马尔可夫模型的预测
    • 概率计算的前向算法
    • 搜索状态序列的维特比算法
  • 隐马尔可夫模型应用于中文分词
    • 标注集
    • 字符映射
    • 语料转换
    • 训练
    • 预测
    • 评测
    • 误差分析
  • 二阶隐马尔可夫模型
    • 二阶转移概率张量的估计
    • 二阶隐马尔可夫模型中的维特比算法
    • 二阶隐马尔可夫模型应用于中文分词

感知机分类与序列标注

  • 分类问题
    • 定义
    • 应用
  • 线性分类模型与感知机算法
    • 特征向量与样本空间
    • 决策边界与分离超平面
    • 感知机算法
    • 损失函数与随机梯度下降
    • 投票感知机和平均感知机
  • 基于感知机的人名性别分类
    • 人名性别语料库
    • 特征提取
    • 训练
    • 预测
    • 评测
    • 模型调优
  • 结构化预测问题
    • 定义
    • 结构化预测与学习的流程
  • 线性模型的结构化感知机算法
    • 结构化感知机算法
    • 结构化感知机与序列标注
    • 结构化感知机的维特比解码算法
  • 基于结构化感知机的中文分词
    • 特征提取
    • 多线程训练
    • 特征裁剪与模型压缩
    • 创建感知机分词器
    • 准确率与性能
    • 模型调整与在线学习
    • 中文分词特征工程

条件随机场与序列标注

  • 机器学习的模型谱系
    • 生成式模型与判别式模型
    • 有向与无向概率图模型
  • 条件随机场
    • 线性链条件随机场
    • 条件随机场的训练
    • 对比结构化感知机
  • 条件随机场工具包
    • CRF++的安装
    • CRF++语料格式
    • CRF++特征模板
    • CRF++命令行训练
    • CRF++模型格式
    • CRF++命令行预测
    • CRF++代码分析
  • HanLP中的CRF++API
    • 训练分词器
    • 标准化评测

词性标注

  • 词性标注概述
    • 什么是词性
    • 词性的用处
    • 词性标注
    • 词性标注模型
  • 词性标注语料库与标注集
    • 《人民日报》语料库与PKU标注集
    • 国家语委语料库与863标注集
    • 《诛仙》语料库与CTB标注集
  • 序列标注模型应用于词性标注
    • 基于隐马尔可夫模型的词性标注
    • 基于感知机的词性标注
    • 基于条件随机场的词性标注
    • 词性标注评测
  • 自定义词性
    • 朴素实现
    • 标注语料

命名实体识别

  • 基于规则的命名实体识别
  • 命名实体识别语料库
  • 基于层叠隐马尔可夫模型的角色标注框架
  • 基于序列标注的命名实体识别
  • 自定义领域命名实体识别

信息抽取

  • 新词提取
  • 关键词提取
  • 短语提取
  • 关键句提取

文本聚类

  • 文档的特征提取
  • k均值算法
  • 重复二分聚类算法
  • 标准化评测

文本分类

  • 文本分类的概念
  • 文本分类语料库
  • 文本分类的特征提取
  • 朴素贝叶斯分类器
  • 支持向量机分类器
  • 标准化评测
  • 情感分析

依存句法分析

  • 短语结构树
  • 依存句法树
  • 依存句法分析
  • 基于转移的依存句法分析
  • 依存句法分析API
  • 案例:基于依存句法树的意见抽取

深度学习与自然语言处理

  • 传统方法的局限
  • 深度学习与优势
  • word2vec
  • 基于神经网络的高性能依存句法分析器
  • 自然语言处理进阶

Share