4 ms·
> Proof-of-concept for reasoning over medical knowledge graphs, using miniKanren + heuristics + indexing. https://github.com/webyrd/mediKanren https://github.c
by pizza 5y ago
> Proof-of-concept for reasoning over medical knowledge graphs, using miniKanren + heuristics + indexing.
https://github.com/webyrd/mediKanren https://github.com/webyrd/mediKanren
- civilized 5y agoGitHub says it's mostly written in Scheme and Racket! Would love to hear the story behind that... is this just one researcher's idiosyncratic choice, or are these languages providing some kind of material advantage in this application? (I'm aware that Lisps have a long history in AI but I understood that to be kind of in the past at this point...)
- rscho 5y agoScheme is the ideal language for something like MiniKanren, because of its 'almost-purely-functional' nature and its powerful macros. MiniKanren is all lambdas at its core with clever macros sprinkled on top. And also, Dan Friedman, Matt Might and Will Byrd are VERY clever people. So much for people complaning nothing useful ever comes out of Racket!
- mattmight 5y agoI'm the researcher mentioned in the article. We used Racket in part because before we transitioned into academic medicine, Will Byrd and I were in academic computer science with a focus on programming languages. Will was building up miniKanren to do lots of cool stuff in program synthesis and program analysis. When we jumped over, it felt natural to bring the power of relational reasoning to knowledge graphs over biomedical knowledge, and so mediKanren was born.
- rscho 5y agoIm a big fan of your work, Mr Might! I'm just an MD with a hobby interest in logic programming, but FWIW I think that you guys have really captured how to use current medical information, a thing that the statistical approach still cannot achieve. Congratulations to you and your team!!
- mattmight 5y agoThanks for the kind words! It's definitely a deliberate leap back to the old logical/symbolic era of AI. Not mentioned in the article is that logic makes it much easier to emit "proofs" that end users like physicians can understand.
- civilized 5y agoKnowing nothing about miniKanren, I'm curious if you feel its essence much better expressed in a LISP than an Algol-like language like Python? And will relational reasoning increasingly require people to return to LISP as an AI language? Another question - would it be possible to visualize the exact chain of reasoning used by mediKanren to link ketamine to this disease? It would be wonderful to see exactly what the tool brought to the table that human researchers missed.
- rscho 5y agohttps://youtu.be/d-Klzumjulo https://youtu.be/d-Klzumjulo
- mattmight 5y agominiKanren definitely exploits a lot of the syntactic dexterity of Scheme/Racket/Lisp to do some really cool things -- or at least to express them more succinctly. Yes, it is always possible, in fact, since logical arguments can always be rendered as proof trees.
- tuxguy 5y agoI am also a big fan of yours Prof Might! I am very passionate about genomics and rare diseases and your contributions (code, writings, setting up the PMI, and all the others too numerous to list them all here) in this oft neglected area have been very motivating and inspiring to me . Wish more software folks were aware of and work on these important problems at the intersection of biology and software p.s. would love it if you do a reddit AMA