In [1]:
# Import Depednecies
from nltk.corpus import wordnet

In [2]:
synonyms = []
antonyms = []

In [3]:
wordnet.synsets('good')


Out[3]:
[Synset('good.n.01'),
 Synset('good.n.02'),
 Synset('good.n.03'),
 Synset('commodity.n.01'),
 Synset('good.a.01'),
 Synset('full.s.06'),
 Synset('good.a.03'),
 Synset('estimable.s.02'),
 Synset('beneficial.s.01'),
 Synset('good.s.06'),
 Synset('good.s.07'),
 Synset('adept.s.01'),
 Synset('good.s.09'),
 Synset('dear.s.02'),
 Synset('dependable.s.04'),
 Synset('good.s.12'),
 Synset('good.s.13'),
 Synset('effective.s.04'),
 Synset('good.s.15'),
 Synset('good.s.16'),
 Synset('good.s.17'),
 Synset('good.s.18'),
 Synset('good.s.19'),
 Synset('good.s.20'),
 Synset('good.s.21'),
 Synset('well.r.01'),
 Synset('thoroughly.r.02')]

In [4]:
for syn in wordnet.synsets('good'):
    for s in syn.lemmas():
        synonyms.append(s.name())
        for a in s.antonyms():
            antonyms.append(a.name())

In [5]:
set(synonyms)


Out[5]:
{'adept',
 'beneficial',
 'commodity',
 'dear',
 'dependable',
 'effective',
 'estimable',
 'expert',
 'full',
 'good',
 'goodness',
 'honest',
 'honorable',
 'in_effect',
 'in_force',
 'just',
 'near',
 'practiced',
 'proficient',
 'respectable',
 'right',
 'ripe',
 'safe',
 'salutary',
 'secure',
 'serious',
 'skilful',
 'skillful',
 'sound',
 'soundly',
 'thoroughly',
 'trade_good',
 'undecomposed',
 'unspoiled',
 'unspoilt',
 'upright',
 'well'}

In [6]:
set(antonyms)


Out[6]:
{'bad', 'badness', 'evil', 'evilness', 'ill'}