从语言到信息
陈一帅
yschen@bjtu.edu.cn
北京交通大学电子信息工程学院网络智能实验室
北京交通大学《从语言到信息》课程,源自斯坦福大学 Dan Jurafsky 教授 CS124 《从语言到信息》,讲解自然语言信息处理和应用系统设计的基本原理和算法,一路下来,带大家在动手中,走上算法研发的职业道路。详细课程信息请访问:https://yishuai.github.io/bigalgo/nlp.html
目录
- 文本处理
- 文本分析
- 语言模型
- 词性标注与命名实体识别
- 向量语义与Embedding
- Logistic 回归 和 神经元网络
- Transformer
- 预训练模型
- 对话系统
- 实验:电影推荐对话机器人
一、文本智能
本节介绍大数据文本处理的利器:
- 正则表达式
- 命令行工具,包括 tr, grep, sort, uniq 等
它们会让你在实际的工作中如虎添翼!
斯坦福 Dan Jurafsky 教授材料
- 文本处理,PPT(3.6MB)
- 常用命令行工具,PPT(400KB)
- SLP课本第2章:正则表达式、文本预处理、编辑距离,PDF
对话推荐系统练习
- 基本文本信息提取、用户情感感知、合作过滤,腾讯文档
本节介绍大数据文本处理实用技术,包括文本处理流程,n-gram,TF-IDF,LDA的基本代码实验和范例代码。
学习材料
- Rayid Ghani,芝加哥大学,Text Analytics 101,PDF
练习
- 卡耐基梅隆大学,社会公益数据科学实验室,社会公益数据科学搭便车指南,第二课,文本分析部分,Github代码,文本特征提取,主题模型
本节介绍大数据文本处理的基础模型:语言模型,包括:
- 链式规则,马尔科夫近似
- n-gram模型,最大似然估计,句子概率计算
- 基于语言模型的文本困惑度评估和文本生成
- 三种平滑方法及其适用场景
- 加1-拉普拉斯平滑
- 基于交织的Kneser-Ney方法
- 适用于大数据的Stupid
Backoff方法
斯坦福 Dan Jurafsky 教授材料
本节介绍词性标注(POS)与命名实体识别(NER)的基本概念。
斯坦福 Dan Jurafsky 教授材料
- 词性标注与命名实体识别,PPT(2.5MB)
- SLP课本第8章:序列标签任务 POS 与 NER,PDF
- 图书:Introduction to Chinese Natural Language Processing,2010
本节从两个方面探索单词的意义:
语义学方面,介绍单词之间的关系,包括:
向量语义:基于单词的语言学分布(如:经常一起出现的单词)来定义单词的意义,包括:
- TF-IDF(或 PMI)词向量:向量长,稀疏
- Word2vec 词向量:向量短,密
- 实现方法:Skip-Gram,变成分类问题,类似 Logistic Regression 建模,梯度下降法优化
- 结果和窗口长度有关:窗口小,单词表征体现两个单词的语法相似;窗口大,体现两个单词出现的相关
- 注意:基于平行四边形方法的类比评估方法,仅对频繁词、短距离、少量关系有效,应用时应谨慎。
斯坦福 Dan Jurafsky 教授材料
- 向量语义与表征,PPT(2.5MB)
- SLP课本第6章:向量语义与表征,PDF
本节介绍 Logistic 回归(LR)和 神经元网络(NN)的基本概念,包括:
- Discriminative 概率分类模型 P(c|d) 的基本概念
- 交叉熵 Loss 的由来
- LR 模型 交叉熵 Loss 对 参数 w 的梯度 的优美形式,即:(模型结果 - 真实值)* x,很容易实现
- 线性模型(如 感知机)对非线性数据的无能为力
- 通过引入非线性激活函数,神经元网络对非线性数据的强大能力
- 多元分类时的 Softmax 输出
- 基于图的 NN 前向计算 和 后向梯度传播
斯坦福 Dan Jurafsky 教授材料
- Logistic 回归,PPT(14MB)
- SLP课本第5章:Logistic 回归,PDF
- 神经元网络,PPT(15MB)
- SLP课本第7章:神经元网络,PDF
对话推荐系统练习
- Python机器学习编程基础,腾讯文档
- Logistic 回归、神经元网络、用户需求和喜好感知, 腾讯文档
本节介绍 Attention、基于 Self Attention 的 序列模型Transformer。它们十分强大,是目前主流深度学习模型的核心模块。请一定要掌握它们。
伯克利 Sergey Levine 教授材料
- Seq2Seq 和 Attention 的基本概念,PPT(1.5MB)
- Transformers,PDF (1.4MB)
练习
- Transformer,腾讯文档
本节介绍 无监督 预训练 模型 的基本概念,包括 Word2Vec,预训练模型(ELMO、BERT、GPT)。它们十分强大,是目前主流深度学习模型的核心模块。请一定要掌握它们。
学习材料
- 伯克利 Sergey Levine 教授,CS182,无监督预训练模型,PPT(2.2MB)
- 斯坦福 John Hewitt,CS224N/Ling284,预训练模型,PPT(1.7MB)
- 维也纳理工大学,Sebastian Hofstätter,Transformer、BERT 预训练模型 与 Huggingface Transformer,PPT(1.2MB)
体验
- Python Code,How to Fine Tune BERT for Text Classification using Transformers in Python, 网页,Colab
- DialoGPT 对话实验,Colab
练习
- 预训练模型,腾讯文档
本节介绍对话系统的基本概念,包括:
- Chatbot 和 面向任务的对话客服 的基本概念
- ELIZA 对话机器人原理
- 基于 Frame 的面向任务对话系统
- 人类对话的结构化属性
- 对话中 Grounding 的重要意义
- 多元分类时的 Softmax 输出
- 意图分类 和 Slot 提取
- 对话状态跟踪、对话策略 和 响应生成
- 对话系统的评估
- 对话系统设计方法
斯坦福 Dan Jurafsky 教授材料
- 对话系统,PPT(17MB)
- SLP课本第24章:对话系统,PDF
对话推荐系统练习
- 面向任务的自然语言理解,腾讯文档
J. 实验
王一行,《Python基础指南》,Docx, 1.6MB
张璇,《Python机器学习快速上手入门指南》,Docx, 237KB,PDF, 342KB,Iris实验代码和数据,Zip,1.5MB
项目介绍与起始代码:斯坦福 CS124 电影推荐机器人,Github
实验报告
- 准备阶段
- 第一阶段:机器学习
- 文本信息提取、用户喜好感知、和合作过滤推荐,腾讯文档
- Python机器学习编程基础,腾讯文档
- 基于 Logistic回归、神经元网络的用户需求和喜好感知, 腾讯文档
- 第二阶段:深度学习
- 第三阶段:对话系统设计
- 总结