Starting from one of the entities returned by OP's ImageIdentify
, one can explore the "BroaderConcept"
categories as follows :
NestList[
Flatten@*Map[#["BroaderConcepts"] &],
{Entity["Concept", "HoundDog::t3j5c"]},
6
]
Trial and error shows that in this case one can request up to 15 levels of "broadening", at least for some branches of the tree. The tree top appears to be Entity["Concept", "Entity::9p9v7"]
in all cases.
As Szabolcs had hinted at in his commentSzabolcs had hinted at in his comment, the structure is complex: a certain entity can be associated with more than one broader concept, as it happens with "domestic dog", which is both an instance of "canine" and of "domesticated animal".
In my opinion, one can hardly hope to construct a dependable and robust "generalization function" without a priori knowledge of the concept tree. I'd love to be proven wrong though!