我正在尝试运行这段基于同义词的文本增强代码
import nlpaug.augmenter.char as nac
import nlpaug.augmenter.word as naw
import nlpaug.augmenter.sentence as nas
import nlpaug.flow as nafc
from nlpaug.util import Action
text = 'The quick brown fox jumps over the lazy dog .'
aug = naw.SynonymAug(aug_src='wordnet')
augmented_text = aug.augment(text)
获取此异常
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-30-9e2190c38612> in <module>
----> 1 aug = naw.SynonymAug(aug_src='wordnet')
2 augmented_text = aug.augment(text)
/anaconda/envs/azureml_py36/lib/python3.6/site-packages/nlpaug/augmenter/word/synonym.py in __init__(self, aug_src, model_path, name, aug_min, aug_max, aug_p, lang, stopwords, tokenizer, reverse_tokenizer, stopwords_regex, force_reload, verbose)
62 self.model_path = model_path
63 self.lang = lang
---> 64 self.model = self.get_model(aug_src, lang, model_path, force_reload)
65
66 def skip_aug(self, token_idxes, tokens):
/anaconda/envs/azureml_py36/lib/python3.6/site-packages/nlpaug/augmenter/word/synonym.py in get_model(cls, aug_src, lang, dict_path, force_reload)
136 def get_model(cls, aug_src, lang, dict_path, force_reload):
137 if aug_src == 'wordnet':
--> 138 return nmw.WordNet(lang=lang, is_synonym=True)
139 elif aug_src == 'ppdb':
140 return init_ppdb_model(dict_path=dict_path, force_reload=force_reload)
/anaconda/envs/azureml_py36/lib/python3.6/site-packages/nlpaug/model/word_dict/wordnet.py in __init__(self, lang, is_synonym)
31 nltk.download('averaged_perceptron_tagger')
32
---> 33 self.model = self.read()
34
35 def read(self):
/anaconda/envs/azureml_py36/lib/python3.6/site-packages/nlpaug/model/word_dict/wordnet.py in read (self)
34
35 def read(self):
---> 36 return wordnet
37
38 def predict(self, word, pos=None):
NameError: name 'wordnet' is not defined
我已经安装了nltk
并下载了wordnet
,但得到了相同的错误
重新启动内核
假设像我一样,您在jupyter笔记本上运行,缺少nltk包并使用
!pip install nltk
将其安装在内核上,那么您必须重新启动内核才能使其正常工作相关问题 更多 >
编程相关推荐