jiesutd / LatticeLSTM

Chinese NER using Lattice LSTM. Code for ACL 2018 paper.
1.79k stars 457 forks source link

您好 我想问一下关于论文中公式15的一个问题 #110

Closed xuanzebi closed 3 years ago

xuanzebi commented 4 years ago

如下图,公式中15在计算当前字符j的隐状态Cj,c的时候,用到了当前字符的输入门和基于词典匹配到的词的输入门的信息,但是这个时候如下方公式11中红框中的字符的遗忘门的公式没有加到公式15中,是直接不用前一个状态信息遗忘门吗?

image image

huybery commented 4 years ago

@xuanzebi 我的理解是 C_{b,j}^{w} 在公式 (13)中已经包含了遗忘过程,公式 (15) 的作用是融合多个 Cell,所以无需再次遗忘

jjj9china commented 4 years ago

我的理解是,如果j-1到j之间存在一个词典词语,c{j-1}^{c}就相当于c{b,j}^{w},已经使用了。如果j-1到j之间没有词典词语,但是从更远的位置处b到j之间有词典词语,信息应该从词典词语之间的连接通路流通,因此,不需要c_{j-1}^{c}

jjj9china commented 4 years ago

当不能匹配到词典时,公式15的alpha{b,j}^{c} = 1 - [alpha{j}^{c},和公式11有些许区别,相当于没有利用到遗忘门。源代码片段如下

i = torch.sigmoid(i) 
g = torch.tanh(g)
o = torch.sigmoid(o)
c_num = len(c_input)  
if c_num == 0:
      f = 1 - i   ### when there is no matched word, from formula 15/16, a_{b,j}^{c} = 1 - a_{j}^{c}        
      c_1 = f*c_0 + i*g   
      h_1 = o * torch.tanh(c_1)
xuanzebi commented 4 years ago

好的 谢谢大家~