How to get the WordNet synset given an offset ID?

user1039457 picture user1039457 · Nov 10, 2011 · Viewed 11.2k times · Source

I have a WordNet synset offset (for example id="n#05576222"). Given this offset, how can I get the synset using Python?

Answer

donners45 picture donners45 · Nov 26, 2014

As of NLTK 3.2.3, there's a public method for doing this:

wordnet.synset_from_pos_and_offset(pos, offset)

In earlier versions you can use:

wordnet._synset_from_pos_and_offset(pos, offset)

This returns a synset based on it's POS and offest ID. I think this method is only available in NLTK 3.0 but I'm not sure.

Example:

from nltk.corpus import wordnet as wn
wn.synset_from_pos_and_offset('n',4543158)
>> Synset('wagon.n.01')