w3resource

NLTK corpus: Compare the similarity of two given nouns

NLTK corpus: Exercise-9 with Solution

Write a Python NLTK program to compare the similarity of two given nouns.

Sample Solution:

Python Code :

from nltk.corpus import wordnet
print("\nComparing ship anb boat:")
n1 = wordnet.synset('ship.n.01')
n2 = wordnet.synset('boat.n.01')
print("\nComparing bus anb boat:")
print(n1.wup_similarity(n2))
n1 = wordnet.synset('bus.n.01')
n2 = wordnet.synset('boat.n.01')
print(n1.wup_similarity(n2))
print("\nComparing red anb greed:")
n1 = wordnet.synset('red.n.01')
n2 = wordnet.synset('green.n.01')
print(n1.wup_similarity(n2))

Sample Output:

Comparing ship anb boat:

Comparing bus anb boat:
0.9090909090909091
0.7

Comparing red anb greed:
0.875

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python NLTK program to get the overview of the tagset, details of a specific tag in the tagset and details on several related tagsets, using regular expression.
Next: Write a Python NLTK program to compare the similarity of two given verbs.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

Python: Tips of the Day

Get the Key Whose Value Is Maximal in a Dictionary:

>>> model_scores = {'model_a': 100, 'model_z': 198, 'model_t': 150}
>>> # workaround
>>> keys, values = list(model_scores.keys()), list(model_scores.values())
>>> keys[values.index(max(values))]
'model_z'
>>> # one-line
>>> max(model_scores, key=model_scores.get)
'model_z'