Is there any api/lib for python that will get me the synonyms of a word?
For example if i have the word "house" it will return "building, domicile, mansion, etc..."
NLTK and Wordnet can help: e.g., per this article,
from nltk.corpus import wordnet
dog = wordnet.synset('dog.n.01')
print(dog.lemma_names())
prints:
['dog', 'domestic_dog', 'Canis_familiaris']
Update: as @deweydb has pointed out, as of Feb 10th 2022, this solution no longer works.
You can also use PyDictionary
For example,
from PyDictionary import PyDictionary
dictionary=PyDictionary()
print (dictionary.synonym("good"))
The output is
[u'great', u'satisfying', u'exceptional', u'positive', u'acceptable']
This is actually fetching words from www.thesaurus.com and is a little slow. Multi-threading may help accelerate it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With