We present Saul, a new probabilistic programming language designed to address some of the shortcomings of programming languages that aim at advancing and simplifying the development of AI systems. Such languages need to interact with messy, naturally occurring data, to allow a programmer to specify what needs to be done at an appropriate level of abstraction rather than at the data level, to be developed on a solid theory that supports moving to and reasoning at this level of abstraction and, finally, to support flexible integration of these learning and inference models within an application program. Saul is an object-functional programming language written in Scala that facilitates these by (1) allowing a programmer to learn, name and manipulate named abstractions over relational data; (2) supporting seamless incorporation of trainable (probabilistic or discriminative) components into the program, and (3) providing a level of inference over trainable models to support composition and make decisions that respect domain and application constraints. Saul is developed over a declaratively defined relational data model, can use piecewise learned factor graphs with declaratively specified learning and inference objectives, and it supports inference over probabilistic models augmented with declarative knowledge-based constraints. We describe the key constructs of Saul and exemplify its use in developing applications that require relational feature engineering and structured output prediction.
Visually defining and querying consistent multi-granular clinical temporal abstractions.Artif Intell Med. 2012 Feb;54(2):75-101. doi: 10.1016/j.artmed.2011.10.004. Epub 2011 Dec 15. Artif Intell Med. 2012. PMID: 22177662
Composable languages for bioinformatics: the NYoSh experiment.PeerJ. 2014 Jan 2;2:e241. doi: 10.7717/peerj.241. eCollection 2014. PeerJ. 2014. PMID: 24482760 Free PMC article.
Proceedings of the Second Workshop on Theory meets Industry (Erwin-Schrödinger-Institute (ESI), Vienna, Austria, 12-14 June 2007).J Phys Condens Matter. 2008 Feb 13;20(6):060301. doi: 10.1088/0953-8984/20/06/060301. Epub 2008 Jan 24. J Phys Condens Matter. 2008. PMID: 21693862
How to grow a mind: statistics, structure, and abstraction.Science. 2011 Mar 11;331(6022):1279-85. doi: 10.1126/science.1192788. Science. 2011. PMID: 21393536 Review.
Temporal abstraction and temporal Bayesian networks in clinical domains: a survey.Artif Intell Med. 2014 Mar;60(3):133-49. doi: 10.1016/j.artmed.2013.12.007. Epub 2014 Jan 17. Artif Intell Med. 2014. PMID: 24529699 Review.