commonsense/conceptnet5

concepts need definitions

VladimirAlexiev opened this issue · 2 comments

Concepts need definitions to enable disambiguation of concepts with multiple senses, facilitate correct use of concepts, and prevent problems like #333.

I'm a first-time user of ConceptNet so maybe I am mistaken: maybe there is a definition somewhere but I don't see it?

After some more browsing, I think that's not possible in ConceptNet since concepts don't relate to senses and mix different senses "by design"?

Eg look at https://conceptnet.io/c/en/render:

  • render is a type of… en stucco (n, substance)
  • RELATES TO: render is a way of… en coat (v, contact)
  • BUT NOT TO: render is a way of…
    en make (v, change)
    en communicate (v, communication)
    en produce (v, creation)
    en give (v, possession)
  • if we open that rel https://conceptnet.io/c/en/render?rel=/r/MannerOf&limit=1000:
    en render (v, masonry) ― MannerOf ⟶ en coat (v, contact)
    • where "masonry" is one of the contexts of "render"
    • but how does "contact" relate to masonry?

Now if we look at https://conceptnet.io/c/en/coat:

  • Ways of coat: en anodize (v, change); en cement (v, contact), and this latter one relates to "render"
  • However, all Types of coat https://conceptnet.io/c/en/coat?rel=/r/IsA relate to garments, and not to covering a body with a substance
  • I also puzzled over coat is part of… en mammal (n, animal), then saw this relates to coat is a type of… en hair (n, body) where "hair" means "fur"

But we also see some questionable assertions:

  • Context of this term: en nautical ?!?!?
  • Things located at coat: en an arm ?!?!?!?!
Fohlen commented

Hi @VladimirAlexiev if you look at the source code you will find the definition here:

https://github.com/commonsense/conceptnet5/blob/master/conceptnet5/relations.py

Indeed, the verb render is of type MannerOf which entails the Entails relation. Entails entails the RelatedTo, which is symmetric (n1 <-> n2).
As to the context of verbs (or nouns), these are semantic contexts, and not word contexts. In your example:

en render (v, masonry)	― MannerOf ⟶ en coat (v, contact)

This means that the English verb render is assigned a relation MannerOf towards the English verb coat (in the sense of contacting). Indeed the MannerOf is a bit of a misleading name, but it could be read as:

Coating is a specific act of rendering something, of having two materials contact.
Does this clear up your questions? In general it would be good to give a more consistent problem analysis, because I was not exactly sure what was the issue you are having.