自然语言处理(NLP)
第一章
语言的定义
- 符号
- 规则
自然语言
- 文字
- 语法
文字语言
- 形式语言
- 人为设计的(c语言)
- 自然语言
- 人类自然进化
- 无严格语法
- 具有歧义性
- 知识性
自然语言处理
- 编码
- 词袋模型
- 向量模型
自然语言处理发展史
- 图灵测试 信息论
- 基于规则 规则系统 专家系统
- 统计机器学习 SVM 知识图谱
- 深度学习 机器翻译 预训练语言模型
基于规则
- 人类制定的规则
- 不依赖数据
- 计算量大
- 语言规则繁多,不易协调
基于统计
- 收集训练语料
- 特征工程
- 训练模型
- 测试集上验证
案例:
- 机器翻译
- 搜索引擎
基于深度学习
案例:
- Google 神经网络翻译系统
NLP 的重要性
语言是承载知识和推理的最重要的载体。
- 感知:大脑感官信息
- 认知:获取知识或应用知识的过程,或信息加工的过程。
第二章
词
词是自然语言中能够独立运用的最小单位。
词由一个或多个语素组成,语素是语言学中最小的有意义的单位。
- 单音节词都是语素 (如:人)
- 去掉一部分,剩下一部分没有意义就是语素
- 能够独立做句子成分
词法分析包括
- 形态分析
- 分词处理
词的形态分析
单词识别:就是识别句子中的缩写单词
形态还原:把句子中的词汇还原成基本词形
步骤:
- 建立词典
- 查词典有无该词,有则使用合适规则处理
- 没有会作为未登录词
分词处理
歧义的类型:
- 交集型
- 组合型
词典匹配法:
- 正向最大匹配算法(从右往左)
- 逆向最大匹配算法(从左往右)
汉语更适合逆向匹配。
隐含马尔可夫模型:
- 计算每条路径,得到一条局部子路径的概率。
- 维特比算法:用动态规划减少计算量。
词性标注
词性标注主要是用于消除歧义
名次、动词、形容词…
Penn Treebank标准集
词的表征
- One-hot编码:维度爆炸,无法准确度量相似性
第三章
语言模型
源自语音识别,输入一段语音,系统产生多个句子候选,选择最合理的那个。
N-Gram
基于统计:
- N-Gram 中连续的N个词当作一个单元,假设第N个词的出现只与前面N-1个词相关
- 稀疏问题:
- 处理0概率:加1法、插值法
- 存储问题:N不超过5
- 稀疏问题:
前馈神经网络
- CBOW算法
循环神经网络
语言是带有顺序关系的序列
- 无法解决远程的依赖关系
第四章
机器翻译
统计机器翻译:
- 对齐表
- 对位模型
- 缺点:特征工程费力,稀疏性问题
神经机器翻译:
- Encoder-Decoder模型
- Bean-Search (K)
- BLEU
- 注意力机制
第五章
预训练模型
- self-attention
- transformr
- decoder
- encoder
- encoder-decoder
- bert
第六章
自然语言生成 NLG
- Pipline
- End-to-End