论文阅读
1. 论文动机
学习高质量的词表征非常有难度。 高质量的词表征应完美建模单词使用方面的复杂特征(如句法和语义),以及单词使用在不同语言环境下的变化(即建模一词多义)
本文介绍的新的上下文词表征:ELMO(Embeddings from Language Models)
- ELMo能够学习到词汇用法的复杂性,比如语法、语义。
- ELMo能够学习不同上下文情况下的词汇多义性。
2. ELMo
2.1 ELMo 相对于 word2vec 、 glove 的优点
2.2 Bidirectional language models(双向语言模型)
给定N个tokens: ( t 1 , ⋯   , t N ) {(t_1, \cdots, t_N)} (t1,⋯,tN), 前向语言模型计算sequence出现的可能性:
p ( t 1 , t 2 , ⋯   , t N ) = ∏ k = 1 N p ( t k ∣ t 1 , t 2 , ⋯   , t k − 1 ) p(t_1, t_2, \cdots, t_N) = \prod_{k=1}^N p(t_k|t_1, t_2, \cdots, t_{k-1}) p(t1,t2,⋯,tN)=k=1∏Np(tk∣t1,t2,⋯,tk−1)
类似的,反向语言模型为:
p ( t 1 , t 2 , ⋯   , t N ) = ∏ k = 1 N p ( t k ∣ t k + 1 , t k + 2 , ⋯   , t N ) p(t_1, t_2, \cdots, t_N) = \prod_{k=1}^N p(t_k|t_{k+1}, t_{k+2}, \cdots, t_{N}) p(t1,t2,⋯,tN)=k=1∏Np(tk∣tk+1,tk+2,⋯,tN)
biLM将 前向和后向LM连接,并用log来获取语言模型的最大可能性, 从而得到双向模型的公式如下:
∑ k = 1 N ( l o g    p ( t k ∣ t 1 , t 2 , ⋯   , t k − 1 ; Θ x , Θ L S T M → , Θ s ) + l o g    p ( t k ∣ t k + 1 , t k + 2 , ⋯   , t N ; Θ x , Θ L S T M ← , Θ s ) \sum_{k=1}^N ( log \,\, p(t_k|t_1, t_2, \cdots, t_{k-1}; \Theta_x, \overrightarrow{\Theta_{LSTM}}, \Theta_s ) + \\ log \,\, p(t_k|t_{k+1}, t_{k+2}, \cdots, t_{N}; \Theta_x, \overleftarrow{\Theta_{LSTM}}, \Theta_s ) k=1∑N(logp(tk∣t1,t2,⋯,tk−1;Θx,ΘLSTM,Θs)+logp(tk∣tk+1,tk+2,⋯,tN;Θx,ΘLSTM,Θs)
2.3 ELMO
我理解的模型架构:(画得很丑,勿喷)
9、 ELMo 存在问题?
10、如何评价 ELMo ?
3. 当前疑问
(1) “Collapses all layers in R into a single vector”, 如何collapse的?根据这个公式吗?
如何理解这个公式在bilstm网络中的影响或者表现?
感觉还没有读懂,如有错误请指出。
参考
[1] https://www.zybuluo.com/songying/note/1241126
[2] https://zhuanlan.zhihu.com/p/37684922