Word Meanings and Wordnets (01-12)

Using wordnet

  1. Use the wn module to load omw-en:1.4 (Princeton Wordnet 3.0 formatted for WN)
    import wn
    wn.download('omw-en:1.4')
    ewn=wn.Wordnet('omw-en:1.4')
    
  2. Look at the different synsets for bird
    • How many are there?
    • What are their definitions?
    • How deep in the hierarchy are they?
    • For each synset, print out each sense and its frequency (hint freqency of a lemma is given by sense.counts)
    • Give the total frequency for each synset
  3. Look at some adjectives: Compare big, large, great. What are their antonyms?
  4. Multiword Expressions (Collocations): A multiword expression (MWE) like big sister has its own WordNet entry.
    • Which combinations of big/large/great sister/uncle/toe are listed in WordNet?
  5. Find all hyponyms (including hyponyms of hyponyms, ...) for the colour red!
  6. Tabulate the average polysemy per word length for all words in one language in wordnet, and then seperately for each part of speech.
    • polysemy is number of synsets/word
    • you can get all words by [w for w in ewn.words()]
    • for just nouns you can do: [w for w in ewn.synsets(pos='n')]
    • if you use just wn then you get all words for all languages, this can be a lot!

Further work -- at home

  1. Find all nouns in English that are both animals and people
    • Use the topic (aka lexfile, supersense (synset.lexfile())
    e.g. dog, lamb
  2. Do you notice any patterns?

Readings/Preparation

References