sunyilgdx / SIFRank_zh

Keyphrase or Keyword Extraction 基于预训练模型的中文关键词抽取方法(论文SIFRank: A New Baseline for Unsupervised Keyphrase Extraction Based on Pre-trained Language Model 的中文版代码)
417 stars 80 forks source link

The sentence will note bs split by '。' #5

Closed vigosser closed 4 years ago

vigosser commented 4 years ago

If you do that, there will be another error.

作者注意看一下,这个SIF的中文版其实很有问题。 输入不会按中文句号分句的,不带.都只有一句。 分句的话,embedding返回的list中每个Tensor维度不一致(根据多少word来的),想请教作者怎么做pad_sequence。

sunyilgdx commented 4 years ago

抱歉,中文版的里面忘记将英文句号改为中文句号了,已将在sent_emb_sif.py里修改过来了,对于分句的padding的话,中文分句是想把一个句子分成几句放在同一个batch里算得快一点,由于哈工大的ELMO已经封装好了,如果读elmo.py里的代码,里面有一句data = output[:, i, 1:lens[i]-1, :].data,返回时把多余的部分都删掉了,因此在我的部分没有考虑这些,为了写代码方便(主要是懒),最后直接把几个同一个batch里的都给接起来了,不知道能不能回答您的问题

sunyilgdx commented 4 years ago

还有就是我之前图方便把data = output[:, i, 1:lens[i]-1改成了data = output[i, 1:, :].data,为了最后好把numpy的list转成torch,这个地方我自己都忘记了,今天看了才想起来,我把这个地方在检查一下吧,之前改成中文的太仓促了,有一些地方没有好好检查