NLP复习总结

NLP复习总结

1. 词嵌入

word2vec

word2vec核心要点:

1.两个重要模型:CBOW(continuous Bag-of-words Model)、skip-gram模型。

投影层不使用激活函数

2.两个高效优化技巧:Hierarchical softmax、Negativa sampling。

负采样顾名思义就是对负样本就行采样,需要一个概率分布,使用词频的(3/4)此幂。

3.其他技巧:二次采样、短语学习

二次采样:滑动窗口生成样本时,减少对高频词的采样(如:的,得)。
p ( w i ) = m a x ( 1 − t f ( w i ) , 0 ) p(w_i)=max(1-\sqrt{\frac{t}{f(w_i)}},0) p(wi​)=max(1−f(wi​)t​ ​,0)
有两个作用:(1)加速收敛,减少对无意义词的采样。(2)缓解类别不均衡问题(相当于欠采样)。

短语学习:。 A i r Air Air和 C a n a d a Canada Canada的词向量相加不能表示 A i r   C a n a d a Air\ Canada Air Canada加拿大航空的含义。短语学习的目的是将常用的短语组成一个token放入词表。使用点互信息合并短语:
s c o r e ( w i , w j ) = c o u n t ( w i w j ) − δ c o u n t ( w i ) × c o u n t ( w j ) score(w_i,w_j)=\frac{count(w_iw_j)-\delta}{count(w_i)\times count(w_j)} score(wi​,wj​)=count(wi​)×count(wj​)count(wi​wj​)−δ​

ELMO

ELMO词向量表示
E L M O k t a s k = γ t a s k ∑ j = 0 L s j t a s k h k j L M ELMO_k^{task}=\gamma^{task}\sum_{j=0}^Ls_j^{task}h_{kj}^{LM} ELMOktask​=γtaskj=0∑L​sjtask​hkjLM​
γ \gamma γ用来控制ELMO模型在不同任务生成的向量大小,因为LSTM的表示和下游任务的词向量表示存在差异。 s j s_j sj​是softmax-normalized weights。

如何用于下游任务:

先冻结BI-LSTM的参数,将elmo的词向量表示 E L M O k t a s k ELMO_k^{task} ELMOktask​和 x k x_k xk​拼接起来,得到增强表示 [ x k , E L M O k t a s k ] [x_k,ELMO_k^{task}] [xk​,ELMOktask​]。 γ t a s k , s j t a s k \gamma^{task},s_j^{task} γtask,sjtask​是需要和下游任务一起学习的参数。

FastText字词嵌入

思想:

在word2vec的基础上引入构词学:

(1)相似单词映射为同一token,如dog和dogs,cat和cats。

(2)组合单词,boyfriend等

fasttext中每个中心词被表示为字词的集合。以单词where为例,将单词当成一个有字符组成的序列来提取n元语法。并在单词的首尾分别添加 < 和 > 以区分作为前后缀的子词。当n=3时,所有的字词为 < w h > , w h e , h e r , e r e , < r e > <wh>,whe,her,ere,<re> <wh>,whe,her,ere,<re>以及特出子词 < w h e r e > <where> <where>。

词向量表示:

对于一个词,将它所有长度在3~6的子词和特殊子词的并集记为 g w \textbf{g}_w gw​,词典是所有词的子词集合的并集。假设词典中子词g的词向量为 z g z_g zg​。那么跳字模型中词w作为中心词的向量 v w v_w vw​表示为:
v w = ∑ g ∈ g w z g v_w=\sum_{g\in\textbf{g}_w}z_g vw​=g∈gw​∑​zg​
优缺点:

与跳字模型相比,fasttext的词典规模更大,参数更多。同时一个词的向量要对所有子词向量求和。导致计算复杂度更高。但是,对于复杂的生僻词,未登录词,可能会从与它同结构的其他词那么获得更好的词向量表示

Glove:Global Vector

上一篇:Mobi 转 HTML 方案


下一篇:centos7上rc.local引起的问题