Search code examples
pythontextnlpwordswordnet

Does WordNet have "levels"? (NLP)


For example...

Chicken is an animal.
Burrito is a food.

WordNet allows you to do "is-a"...the hiearchy feature.

However, how do I know when to stop travelling up the tree? I want a LEVEL.
That is consistent.

For example, if presented with a bunch of words, I want wordNet to categorize all of them, but at a certain level, so it doesn't go too far up. Categorizing "burrito" as a "thing" is too broad, yet "mexican wrapped food" is too specific. I want to go up the hiearchy or down..until the right LEVEL.


Solution

  • WordNet is a lexicon rather than an ontology, so 'levels' don't really apply.

    There is SUMO, which is an upper ontology which relates to WordNet if you want a directed lattice instead of a network.

    For some domains, SUMO's mid-level ontology is probably where you want to look, but I'm not sure it has 'mexican wrapped food', as most of its topics are scientific or engineering.

    WordNet's hierarchy is

    beef burrito < burrito < dish/2 < victuals < food < substance < entity. 
    

    Entity is a top-level concept, so if you stop one-below substance you'll get burrito isa food. You can calculate a level based on that, but it wont' necessarily be as consistent as SUMO, or generate your own set of useful mid-level concepts to terminate at. There is no 'mexican wrapped food' step in WordNet.