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

请问一下,这个运行顺序,运行方法是什么?一直报错ValueError: index can't contain negative values,照着之前的提问里的改了,还是不行 #13

Closed Sundyo closed 3 years ago

sunyilgdx commented 3 years ago

可否将elmo.py里修改后的代码贴一下,还有报的错

Sundyo commented 3 years ago

可否将elmo.py里修改后的代码贴一下,还有报的错

Traceback (most recent call last): File "D:/大论文/类似项目代码参考/SIFRank/test/test.py", line 21, in keyphrases = SIFRank(text, SIF, zh_model, N=15,elmo_layers_weight=elmo_layers_weight) File "D:\大论文\类似项目代码参考\SIFRank\model\method.py", line 180, in SIFRank sent_embeddings, candidate_embeddings_list = SIF.get_tokenized_sent_embeddings(text_obj,if_DS=if_DS,if_EA=if_EA) File "D:\大论文\类似项目代码参考\SIFRank\embeddings\sent_emb_sif.py", line 48, in get_tokenized_sent_embeddings elmo_embeddings = self.word_embeddor.get_tokenized_words_embeddings(tokens_segmented) File "D:\大论文\类似项目代码参考\SIFRank\embeddings\word_emb_elmo.py", line 29, in get_tokenized_words_embeddings elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,max_len-emb.shape[1]),(0,0)) , mode='constant') for emb in elmo_embedding] File "D:\大论文\类似项目代码参考\SIFRank\embeddings\word_emb_elmo.py", line 29, in elmo_embedding = [np.pad(emb, pad_width=((0,0),(0,max_len-emb.shape[1]),(0,0)) , mode='constant') for emb in elmo_embedding] File "<__array_function__ internals>", line 6, in pad File "F:\Anaconda3\envs\keyword_extraction\lib\site-packages\numpy\lib\arraypad.py", line 741, in pad pad_width = _as_pairs(pad_width, array.ndim, as_index=True) File "F:\Anaconda3\envs\keyword_extraction\lib\site-packages\numpy\lib\arraypad.py", line 512, in _as_pairs raise ValueError("index can't contain negative values") ValueError: index can't contain negative values

这是报错。我在项目文件夹里找到了三个elmo.py文件,而且内容也是不需要修改的,很奇怪,不知道是不是我运行方法有误

sunyilgdx commented 3 years ago

elmo.py 应该是在 Python36\Lib\site-packages\elmoformanylangs\elmo.py 这个文件下,你找找看