def get_model(cls, aug_src, lang, dict_path, force_reload): if aug_src == 'wordnet': return nmw.WordNet(lang=lang, is_synonym=True) elif aug_src == 'ppdb': return init_ppdb_model(dict_path=dict_path, force_reload=force_reload) raise ValueError('aug_src is not one of `wordnet` or `ppdb` while {} is passed.'.format(aug_src))
def get_random_words_synonyms(original_words): """ Helper for RI: picks a random word in 'original_words' which is not a stopword. Returns a list of its synonyms (and the word). """ model = nmw.WordNet(lang='eng', is_synonym=True) filtered_words = [w for w in original_words if w not in english_stopwords] # remove stopwords while True: candidate_word = random.choice(filtered_words) # print("Candidate:", candidate_word) candidate_syns = model.predict(candidate_word) # print("Before:", candidate_syns) if candidate_word in candidate_syns: # remove all occurrences of candidate_word in candidate_syns candidate_syns = list( filter(lambda a: a != candidate_word, candidate_syns)) # print("After:", candidate_syns) if candidate_syns: # return, if not empty return candidate_syns, candidate_word
def get_model(cls, aug_src, lang): if aug_src == 'wordnet': return nmw.WordNet(lang=lang, is_synonym=False)
def get_model(cls, lang, is_synonym): return nmw.WordNet(lang=lang, is_synonym=is_synonym)