Könnte jemand ein gutes Ähnlichkeitsmaß für Objekte mit mehreren Klassen empfehlen, bei denen jede Klasse Teil einer Hierarchie ist?
Nehmen wir zum Beispiel an, die Klassen sehen folgendermaßen aus:
1 Produce
1.1 Eggs
1.1.1 Duck eggs
1.1.2 Chicken eggs
1.2 Milk
1.2.1 Cow milk
1.2.2 Goat milk
2 Baked goods
2.1 Cakes
2.1.1 Cheesecake
2.1.2 Chocolate
Ein Objekt kann auf jeder Ebene mit Elementen von oben markiert werden, z.
Omelette: eggs, milk (1.1, 1.2)
Duck egg omelette: duck eggs, milk (1.1.1, 1.2)
Goat milk chocolate cheesecake: goat milk, cheesecake, chocolate (1.2.2, 2.1.1, 2.1.2)
Beef: produce (1)
Wenn die Klassen nicht Teil einer Hierarchie wären, würde ich wahrscheinlich die Kosinusähnlichkeit (oder ein Äquivalent) zwischen Klassen, die einem Objekt zugewiesen sind, untersuchen, aber ich möchte die Tatsache nutzen, dass verschiedene Klassen auch dieselben Eltern haben einen gewissen Ähnlichkeitswert haben (z. B. hat Rindfleisch im obigen Beispiel eine geringe Ähnlichkeit mit Omelett, da beide Produkte der Klasse '1 produzieren').
Wenn es hilft, hat die Hierarchie ~ 200k Klassen mit einer maximalen Tiefe von 5.
quelle