Closed vigosser closed 4 years ago
抱歉,中文版的里面忘记将英文句号改为中文句号了,已将在sent_emb_sif.py里修改过来了,对于分句的padding的话,中文分句是想把一个句子分成几句放在同一个batch里算得快一点,由于哈工大的ELMO已经封装好了,如果读elmo.py里的代码,里面有一句data = output[:, i, 1:lens[i]-1, :].data
,返回时把多余的部分都删掉了,因此在我的部分没有考虑这些,为了写代码方便(主要是懒),最后直接把几个同一个batch里的都给接起来了,不知道能不能回答您的问题
还有就是我之前图方便把data = output[:, i, 1:lens[i]-1
改成了data = output[i, 1:, :].data
,为了最后好把numpy的list转成torch,这个地方我自己都忘记了,今天看了才想起来,我把这个地方在检查一下吧,之前改成中文的太仓促了,有一些地方没有好好检查
If you do that, there will be another error.
作者注意看一下,这个SIF的中文版其实很有问题。 输入不会按中文句号分句的,不带.都只有一句。 分句的话,embedding返回的list中每个Tensor维度不一致(根据多少word来的),想请教作者怎么做pad_sequence。