mediKanren icon indicating copy to clipboard operation
mediKanren copied to clipboard

Add "entities like these" to mediKanren

Open mattmight opened this issue 6 years ago • 1 comments

Google used to have a feature where you could enter a set of things, and then ask it to extend the list with more "similar" entities.

For example, if you entered "dog, cat, cow", it might add "horse, pig, chicken."

It would be cool if we could do this in mediKanren. Given a list of entities, we could find overlapping properties, e.g. each one INHIBITS c for the same concept c. Then, we could look for other inhibitors of c.

We could rank by the number of shared predicates. And weight by the number of elements in the core set that it shares it with.

For examples, if 2 out of 3 items in the core set share a predicate, then satisfying this predicate is worth .66 points in the ranking.

mattmight avatar Apr 01 '18 22:04 mattmight

This may be entirely too simplistic (or obvious), but perhaps very simple extensions of Swanson's ABC model could be applicable here. I think it has the advantage of being conceptually simple to understand/implement.

(If "Swanson's ABC model" isn't immediately clear, happy to dig up some references/schematics. Just not finding anything great right at the moment... the original paper is here, but I'm sure I've seen follow on papers that describe things more clearly and concisely...)

andrewsu avatar Apr 02 '18 20:04 andrewsu