NLP复习大纲
NLP复习大纲
信息论基础
-
信息量 \(I(x)=-log_2^{p(x)}\)
-
熵是所有事件信息量的期望 \(H(X)=-\sum_xp(x)*log_2^{p(x)}\)
-
联合熵 \(H(X,Y)=-\sum_x \sum_y p(x,y)*log_2^{p(x,y)}\)
-
条件熵 \(H(Y|X)=-\sum_x \sum_y p(x,y)*log_2^{p(y|x)}\)
-
联合熵\(H(X,Y)=H(X)+H(Y|X)\)
-
熵率\(H_{rate}=\frac{1}{n}*H{(X)}\)
-
KL距离/相对熵 \(D(p||q)=\sum_xp(x)*log_2^{\frac {p(x)}{q(x)}}\)
-
交叉熵\(H(X,q)=H(X)+D(p||q)\),\(H(X,q)=-\sum_xp(x)*log_2^{q(x)}\)
-
语言L的交叉熵\(H(L,q)=-\frac{1}{n}*log_2^{q(x)}\)
-
语言L样本的困惑度\(PP_q=[q(l_1^n)]^{-\frac{1}{n}}\)
-
互信息\(I(X;Y)=H(X)-H(X|Y)\)
语言模型
-
语言模型就是语句出现的概率,$p(s)=\prod_{i=1}^m p(w_i|w_1...w_{i-1}) $
-
N-gram 1文元法独立于历史,2文元法为1阶马尔可夫链
-
参数估计,采用最大似然估计,怎么求条件概率呢?\(p(w_i|w_{i-n+1}^{i-1})=\frac{c(w_{i-n+1}^{i})}{c(w_{i-n+1}^{i-1})}\)
数据平滑
-
0概率问题,用数据平滑
-
加1平滑,分子+1,分母+去重之后的大小
-
减值法,减少实际计数,剩余的概率量留给未出现的
-
后退法,频率>阈值就用最大似然估计,否则用n-1阶gram概率代替
-
绝对减值法,把出现的都减去固定常数
-
线性减值法,把出现的都按比例减小
-
删除插值法,用低阶gram插值来表示当前的条件概率
语言模型的自适应
- 理由是n-gram假设很多时候不成立
- 基于缓存的语言模型,由n-gram和缓存概率插值得到,有衰减系数,因为历史词的影响随着距离的增大而减小
- 基于混合方法的语言模型,把文本按主题聚n个类,每个类分别算语言模型,整个语言模型是子模型插值得到
- 最大熵模型,每个信息源提供一个约束,在满足所有约束的模型中选择熵最大的
隐马尔可夫模型与条件随机场
-
马尔可夫模型的两个假设:时间t的状态只与t-1的状态有关,状态转移是一个确定的概率矩阵
-
隐马尔可夫模型,状态序列不可知,状态输出序列可知
-
前向,后向,搜索算法得知道大体流程 ,https://www.zhihu.com/question/20962240
-
HMM有三个问题
-
第一个问题,知道状态转移矩阵和状态输出矩阵,问产生这个给定输出O的概率
-
暴力做法:枚举所有状态,ans为\(\sum_i\)产生状态\(s_i\)的概率*\(s_i\)产生O的概率,指数级别
-
dp前向算法,定义状态\(f[t][i]\)表示在时间t时,处于状态\(s_i\),并且输出序列为\(O_1,...,O_t\)的概率
转移为\(f[t][i]=b[i][O_t]*(\sum_{j=1}^Nf[t-1][j]*a[j][i])\)
复杂度为\(N^2*T\)
dp后向算法,倒着算,原理复杂度都一样
-
-
第2个问题,给定模型和观察序列O,求概率最大的状态序列
-
定义状态,\(f[t][i]\)表示在时间t时,状态为\(s_i\),输出的观察序列为\(O_1O_2O_3...O_t\)的最大概率
转移\(f[t][i]=b[i][O_t]*max_{j=1}^N(f[t-1][j]*a[j][i])\)
获得最优的终点状态,记录路径,倒推输出
-
-
第3个问题,知道O,求最优模型(前向后向算法)
- 先随机初始化模型参数
- 再计算两个期望
- 根据期望更新参数
- 直到收敛
-
条件随机场用来标注和划分序列,有转移函数和状态函数,基本思路是给定观察序列X,输出标识序列Y,通过P(Y|X)求解最优标识序列
词法分析与词性标注
-
英文的形态分析
- 查字典
- 按规则进行还原
- 按未登录词处理
-
汉语分词
- 链长:一个交集型切分歧义所拥有的集合长度
- 组合型歧义
- 未登录词识别
- 合并原则(基本原则):语义上无法由组合成分直接相加得到应该合并
- 辅助原则:不绝对
- 切分原则:有明显分隔符要切分,冗长的要切
- 合并原则:附着性词语要合并;共现率高的要合并;偏正式名词、动词
-
结果评价
-
正确率:\(P=\frac{n}{N}*100\)%,n是正确的,N是总数
-
召回率:\(R=\frac{n}{M}*100\)%,n是正确的,M是标准答案的个数
-
F-测度值:\(F-measure=\frac{(ß^2+1)*P*R}{ß^2*P+R}*100\)%,一般ß取1
-
-
汉语自动分词基本算法
- 正向最大匹配算法:
- 先找到字典中最长的一个词,假设其长度为len
- 判断[i,i+len-1]是不是一个词,如果不是,再判断[i,i+len-2],然后更新i
- 优点:简单易行;缺点:正确率不高
- 最短路径算法:
- 如果[i,j]为词,就建边i->j,边长为1
- 跑最短路
- 优点:符合汉语自身规律;缺点:最短路径有多条时,难以取舍
- 基于语言模型
- 求最大的\(p(W|S)\)
- 优点:减少手工标注;缺点:正确率取决于训练预料
- 正向最大匹配算法:
-
未登录词识别
- 人名,地名等专有名词
-
词性标注
- 问题:兼类,标注集,规范
- 规则方法,统计方法,综合方法
语义分析
-
语义分析的基本任务及其面临的困难
- 任务:解释词、句子等的含义
- 困难:大量歧义,不同理解
-
语义理论:
- 词的意义:指称,心理图像,意图,过程
-
格语法:
- 格:深层格,指的是语义关系
- 格框架中有语法信息、语义关系,一个格框架由主要概念(动词)和辅助概念(主语、宾语等)组成
-
语义网络
- 它通过由概念和语义关系组成的有向图来表达知识,描述语义
-
CD理论
- 三个层次
- 动作基元
- 剧本
- 计划
- 三个层次
-
词义消歧
- 规则、统计、词典
-
语义角色标注
- 以谓词为核心,分析句子中的其他成分与谓词之间的关系
机器翻译
◆统计机器翻译的基本原理
◆IBM 1~5 翻译模型
◆翻译模型的改进
◆解码算法
◆SMT 系统实现方法
◆译文评估方法
-
统计机器翻译
- 先用训练集训练翻译模型,当做解码器,测试数据通过解码器就可以得到译文
- 三个关键问题:
- 估计LM p(T)
- n-gram
- 估计TM p(S|T)
- 对应关系
- IBM1
- 选择一个长度m,根据均匀分布原则,对目标语言每个位置选择一个源语言单词,根据概率选择一个目标单词
- IBM2
- 选择一个长度m,根据概率分布原则,对目标语言每个位置选择一个源语言单词,根据概率选择一个目标单词
- IBM1
- 对应关系
- 搜索T使得p(T)*p(S|T)最大
- 估计LM p(T)
-
基于短语的翻译模型
-
解码算法
- beam search 选择概率最大的生成
-
SMT实现方法
- 预料准备
- 预料预处理
- 词语对齐
- 短语抽取和概率计算
- LM训练
- 解码器
- 输出后处理
-
译文评估方法
- 流畅度、充分性、语义保持性
- BLEU
- 系统输出的n-gram与参考译文的n-gram匹配的个数/系统译文的n-gram
情感分析
-
观点:人们对事物的看法,具有明显的主观性,不同人对同一事物的看法存在差异
-
观点挖掘与倾向性分析:从海量数据中挖掘观点信息,并分析观点信息的倾向性
◼ 情感分类
◼ 情感元素抽取
◼ 跨领域情感分析
◼ 个性化情感分析
◼ 隐式情感分析
◼ 情感原因发现
◼ 情感生成
文本自动摘要
文本摘要概述
- 文本摘要的定义:文本自动摘要是利用计算机按照某类应用自动地将文本(或文本集合)转换生成简短摘要的一种信息压缩技术
- 分类:单文档、多文档、单语言、跨语言、抽取式、压缩式、生成式,标题、短文本、长文本
- 方法:抽取式、压缩式、生成式
- 评价:自动评价、人工评价