NLP-CheatSheet
NLP CheatSheet | 自然语言处理概览
语言是生物同类之间由于沟通需要而制定的具有统一编码解码标准的声音
自然语言通常是指一种自然地随文化演化的语言。例如英语、汉语、日语等。有别于人造语言,例如世界语、编程语言等。
自然语言处理包括自然语言理解和自然语言生成。自然语言理解是将自然语言变成计算机能够理解的语言,及非结构化文本转变为结构化信息。
自然语言处理的四大经典难题:问答、复述、文摘、翻译。理论上,这四个题目任何一个彻底解决了,其他三个也就自然解决了。
自然语言处理经历了从规则的方法到基于统计的方法。基于统计的自然语言处理方法,在数学模型上和通信就是相同的,甚至相同的。但是科学家们也是用了几十年才认识到这个问题。统计语言模型的初衷是为了解决语音识别问题,在语音识别中,计算机需要知道一个文字序列能否构成一个有意义的句子。
自然语言处理(NLP)旨在使计算机可以智能地处理人类语言,是跨越人工智能、计算科学、认知科学、信息处理和语言学的重要跨学科领域。由于计算机和人类语言之间的交互技术的进步,语音识别、对话系统、信息检索、问答和机器翻译等
深度学习和自然语言处理的交叉在实际任务中取得了惊人的成功。语音识别是深度学习深刻影响的第一个工业
当前的深度学习技术是从前两大浪潮发展的
Language Model( 语言模型)
语言模型其实就是看一句话是不是正常人说出来的。这玩意很有用,比如机器翻译、语音识别得到若干候选之后,可以利用语言模型挑一个尽量靠谱的结果。在
$P(w1, w_2, …, w_t) = P(w_1) \times P(w_2 | w_1) \times P(w_3 | w_1, w_2) \times … \times P(w_t | w_1, w_2, …, w{t-1})$
常用的语言模型都是在近似地求
词表示(Word Representation)
自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化。
One-hot Representation
举个栗子,
“话筒”表示为
“麦克”表示为
每个词都是茫茫
这种
ID。比如刚才的例子中,话筒记为
表给每个词分配一个编号就可以了。这么简洁的表示方法配合上最大熵、SVM、
当然这种表示方法也存在一个重要的问题就是“词汇鸿沟”现象:任意两个词之间都是孤立的。光从这两个向量中看不出两个词是否有关系,哪怕是话筒和麦克这样的同义词也不能幸免于难。
词向量(Distributed Representation)
而是用
最大的贡献就是让相关或者相似的词,在距离上更接近了。向量的距离可以用最传统的欧氏距离来衡量,也可以用
统计语言模型
传统的统计语言模型是表示语言基本单位
$p(s)=p(w1^T)=p(w_1,w_2,\dots,w_T)=\Pi^T{t=1}p(w_t|Context)$
目标也可以是采用极大似然估计来求取最大化的
$$ \frac{1}{T}\sum^T_{t=1}\sum_{-c \le j\le c,j \ne0}log p(w_{t+j}|w_t) $$
其中:
$c$ 是训练上下文的大小。譬如$c$ 取值为5 的情况下,一次就拿5 个连续的词语进行训练。一般来说$c$ 越大,效果越好,但是花费的时间也会越多。$p(w*{t+j}|w_t)$ 表示$w_t$ 条件下出现$w*{t+j}$ 的概率。
其中
上下文无关模型(Context=NULL)
该模型仅仅考虑当前词本身的概率,不考虑该词所对应的上下文环境。这是一种最简单,易于实现,但没有多大实际应用价值的统计语言模型。
$p(wt|Context)=p(w_t)=\frac{N{w_t}}{N}$
这个模型不考虑任何上下文信息,仅仅依赖于训练文本中的词频统计。它是
N-Gram 模型(Context=$w*{t-n+1},w*{t-n+2},\dots,w_{t-1}$)
$\Pi^T*{t=1}p_t(w_t|w*{t-n+1},wt|w{t-n+2},\dots,wt|w{t-1})$


n-gram 语言模型无法建模更远的关系,语料的不足使得无法训练更高阶的语言模型。大部分研究或工作都是使用Trigram ,就算使用高阶的模型,其统计 到的概率可信度就大打折扣,还有一些比较小的问题采用Bigram 。
- 这种模型无法建模出词之间的相似度,有时候两个具有某种相似性的词,如果一个词经常出现在某段词之后,那么也许另一个词出现在这段词后面的概率也比较大。比如“白色的汽车”经常出现,那完全可以认为“白色的轿车”也可能经常出现。
- 训练语料里面有些
n 元组没有出现过,其对应的条件概率就是0, 导致计算一整句话的概率为0 。
平滑法
方法一为平滑法。最简单的方法是把每个
回退法
方法二是回退法。有点像决策树中的后剪枝方法,即如果
Links
- https://mp.weixin.qq.com/s/ceCopgMboWvNxl8qgmeB-Q 提取其中的序列标注与条件随机场