Closed xuanzebi closed 3 years ago
@xuanzebi 我的理解是 C_{b,j}^{w} 在公式 (13)中已经包含了遗忘过程,公式 (15) 的作用是融合多个 Cell,所以无需再次遗忘
我的理解是,如果j-1到j之间存在一个词典词语,c{j-1}^{c}就相当于c{b,j}^{w},已经使用了。如果j-1到j之间没有词典词语,但是从更远的位置处b到j之间有词典词语,信息应该从词典词语之间的连接通路流通,因此,不需要c_{j-1}^{c}
当不能匹配到词典时,公式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)
好的 谢谢大家~
如下图,公式中15在计算当前字符j的隐状态Cj,c的时候,用到了当前字符的输入门和基于词典匹配到的词的输入门的信息,但是这个时候如下方公式11中红框中的字符的遗忘门的公式没有加到公式15中,是直接不用前一个状态信息遗忘门吗?