-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于StructInduction 类 #26
Comments
在 https://github.com/vidhishanair/structured-text-representations 中的实现里面,是在encoder那里经过BiLSTM之后,把原来hidden-size 变为之前的2倍了,sem_dim_size 已经扩大了2倍了。 |
@VinnyHu 谢谢提问。 1)我原代码中的维度应该是没有问题的。 2)& 3) 这种切分是参考了 https://arxiv.org/abs/1705.09207中的做法,将vector分割成两部分,分别用于学习semantic information和structure attention,也可以不切分,我当时实验发现两者基本上没太多区别,代码中也保留了这个方法。如有兴趣可以 https://arxiv.org/abs/1705.09207中的Section 3.1 |
好的,谢谢您的回复 |
@VinnyHu 这儿也是参考了DocRED最初的代码,多1层FFN可以增加模型的拟合能力,所以保留没有变化,你可以尝试删除这层FFN后看看效果 |
"""STEP1: Calculating Attention Matrix"""
if (self.bidirectional): # bidirectional = True
input = input.view(batch_size, token_size, 2, dim_size // 2)
sem_v = torch.cat((input[:, :, 0, :self.sem_dim_size // 2], input[:, :, 1, :self.sem_dim_size // 2]), 2)
str_v = torch.cat((input[:, :, 0, self.sem_dim_size // 2:], input[:, :, 1, self.sem_dim_size // 2:]), 2)
else:
sem_v = input[:, :, :self.sem_dim_size]
str_v = input[:, :, self.sem_dim_size:]
您好,这里我没有看懂。
问题1:我理解的input的维度为 batch * mention node-num + entity-node-num + mdp-node-num * hidden-size,不知道这里是否正确。
问题2:这几行代码您根据 bidirectional 把 hidden-size 拆分成了2份了
input = input.view(batch_size, token_size, 2, dim_size // 2)
这里的bidirectional 是指的是什么呢? 和BiLSTM编码那里的一样吗?但是那里的拼接后的向量,不是又通过了linear层进行转换维度了呢?
问题3:sem-v 与 str-v分别是什么意思?
StructInduction 类的功能 应该是将 mention node entity node mdp node 通过18那那篇文章的计算方式,得到邻接矩阵,然后传给densely gcn层更新。
The text was updated successfully, but these errors were encountered: