本文主要是介绍论文笔记《Part-of-Speech Tagging for Twitter with Adversarial Neural Networks》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里记录近两个月阅读论文中,最贴近项目需求的几篇论文,此博为其中一篇,也是思想引用最多的一篇。
0、Paper basic information
Authors:Tao Gui, Qi Zhang∗, Haoran Huang, Minlong Peng, Xuanjing Huang
School: Fudan University
Published 2017 in EMNLP
1.Introduction
Twitter社交媒体内容具有非正式、非标准词汇;不同领域之间地差异;lack of training data and out-of-vocabulary words.
提出TPANN网络,使用大量其他领域注释数据、领域内未标记数据、少量标记领域内数据,为客服敌对网络只能学习通用特性地缺陷,使用autoencoder只对目标数据集进行操作,以保留其特性。为解决out-of-vocablary问题,方法包含character level CNN 利用subword信息。
论文主要贡献:
合并large scale unlabeled in-domain data, out-of-domain label data, in-domain labeled data RNN, 通过 in-domain 和 out-of-domain 学习 domain-invariant 表示,通过学习表示构造跨域 POS tagger 试图保留目标域的特性。
实验结果表明,在三个不同数据集上取得更好的性能。
2.Approach
TPANN:学习资源丰富领域和目标领域之间学习共同特征,同时保持目标领域特性。
将双向LSTM扩展为 adversarial network 和 autoencoder,模型分为四部分:Feature Extractor, POS Tagging Classifer,Domain Discriminator,Target Domain Autoencoder.
2.1 Feature Extractor
F采用CNN提取character embedding feature,可解决词汇表外问题,为合并word embedding features,连结 word embedding、character embedding 作为下一层 bi-LSTM 输入,用 bi-LSTM 来 model sentences,F可提取顺序关系和上下文信息。
输入句子x,第i word: x ϵ S ( x ) x\epsilon S(x) xϵS(x), x ϵ T ( x ) x\epsilon T(x) xϵT(x),输入样本来自源领域和目标领域。
θ f \theta _{f} θf:F的参数,$\nu $ : the vocabulary of words, C C C : the vocabulary of characters, d : character embedding 的维度 Q ϵ R d × ∣ c ∣ Q\epsilon R^{d\times \left |c \right |} QϵRd×∣c∣ : representation matrix of vocabulary.
假设$x_{i}\epsilon \nu $ 组成字符序列 c i = [ c 1 , c 2 , . . . , c l ] c^{i} = [c_{1},c_{2},...,c_{l}] ci=[c1,c2,...,cl], l l l是单词最大长度,每个单词会被填充到这个长度。 c i ϵ R d × l c^{i} \epsilon R ^{d\times l} ciϵRd×l:是CNN的输入。
采用一个narrow convolution between c i c^{i} ci and filter H ϵ R d × k H \epsilon R ^{d\times k} HϵRd×k,k是filter width。添加 a bias 应用非线性获得 a feature map m i ϵ R l − k + 1 m^{i} \epsilon R ^{l-k+1} miϵRl−k+1, m i m^{i} mi 的第j个元素: i k [ j ] = t a n h ( < c i [ ∗ , j : j + k − 1 ] , H > + b ) i^{k}[j]=tanh(<c^{i}[*, j:j+k-1], H>+b) ik[j]=tanh(<ci[∗,j:j+k−1],H>+b)
< A , B > = T r ( A B T ) <A,B>=Tr(AB^{T}) <A,B>=Tr(ABT): the Frobenius inner product.
用 a max-over-time pooling operation over the feature map.
CNN 用不同宽度的 filters 获得 feature vector c i ⃗ \vec{c_{i}} ci for word \vec{x_{i}}
character-level feature vector c i ⃗ \vec{c_{i}} ci 是连接到 word embedding w i ⃗ \vec{w_{i}} wi 为下一层 bi-LSTM 输入
word embedding w i ⃗ \vec{w_{i}} wi 是预先训练了30 million tweets.
then, the hidden states h h h of bi-LSTM 变成 features 将 transfered to P , Q , R P,Q,R P,Q,R,即 F ( x ) = h F(x) = h F(x)=h.
2.2 POS Tagging classifier and Domain Discriminator
P P P and Q Q Q 以 F ( x ) F(x) F(x) 为输入。有standard feed-forward networks with a softmax layer for classification. P P P 预测POS tagging label to 获得分类能力, Q Q Q 区别域标签使 F ( x ) F(x) F(x) 域不变。 P P P maps the Feature vector F ( x i ) F(x_{i}) F(xi) to its label. mapping 的参数表示为 θ y \theta _{y} θy. 在 N s N_{s} Ns样本,源领域内 with the 交叉熵损失。 L t a s k = − ∑ i = 1 N s y i ∗ l o g y i ^ L_{task}=-\sum_{i=1}^{N_{s}}y_{i}*log\hat{y_{i}} Ltask=−∑i=1Nsyi∗logyi^.
y i y_{i} yi 是 POS tagging label 的 one-hot 向量,对应 x i ϵ S ( x ) x_{i}\epsilon S(x) xiϵS(x)
y i ^ = P ( F ( x i ) ) \hat{y_{i}}=P(F(x_{i})) yi^=P(F(xi)),是top softmax层的输出。
参数 θ f , θ y \theta _{f},\theta _{y} θf,θy 通过降低分类损失 L t a s k L_{task} Ltask 进行优化,确保 P ( F ( x i ) ) P(F(x_{i})) P(F(xi)) 可对源领域做出预测。
相反,domain discriminator maps the same hidden states h h h to the domain labels. 参数 θ d \theta _{d} θd 区分域标签用损失函数 L t y p e = ∑ i = 1 N s + N t { d i l o g d i ^ + ( 1 − d i ) l o g ( 1 − d i ^ ) } L_{type}=\sum_{i=1}^{N_{s}+N_{t}}\left \{ d_{i}log\hat{d_{i}} +(1-d_{i})log(1-\hat{d_{i}})\right \} Ltype=∑i=1Ns+Nt{dilogdi^+(1−di)log(1−di^)}
d i d_{i} di 是样本i的ground truch domain label. d i ^ \hat{d_{i}} di^:top layer 输出: d i ^ = Q ( F ( x i ) ) \hat{d_{i}}=Q(F(x_{i})) di^=Q(F(xi))
domain discriminator 通过最小化 θ d \theta _{d} θd 的损失,达到损失函数的a saddle point,同时最大化 θ f \theta _{f} θf loss 确保域区别器不能区别域,即特征提取器发现两领域共同特征。
这篇关于论文笔记《Part-of-Speech Tagging for Twitter with Adversarial Neural Networks》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!