Home
Modeling complex phenomena such as food insecurity requires reasoning over multiple levels of abstraction and fully utilizing expert knowledge about multiple disparate domains, ranging from the environmental to the sociopolitical.
Delphi is a C++/Python library for assembling causal, dynamic, probabilistic models from information extracted from two sources:
Text: Delphi utilizes causal relations extracted using machine reading from text sources such as UN agency reports, news articles, and technical papers.
Software: Delphi also incorporates functionality to extract abstracted representations of scientific models from code that implements them, and convert these into probabilistic models.
Usage
Assembling a model from text: [UNDER CONSTRUCTION]
Assembling a model from Fortran code:
from delphi.GrFN.networks import GroundedFunctionNetwork
G = GroundedFunctionNetwork.from_fortran_src("""\
subroutine relativistic_energy(e, m, c, p)
implicit none
real e, m, c, p
e = sqrt((p**2)*(c**2) + (m**2)*(c**4))
return
end subroutine relativistic_energy"""
)
A = G.to_agraph()
A.draw("relativistic_energy_grfn.png", prog="dot")
Citing
If you use Delphi, please cite the following:
@InProceedings{sharp-EtAl:2019:N19-4,
author = {Sharp, Rebecca and Pyarelal, Adarsh and Gyori, Benjamin
and Alcock, Keith and Laparra, Egoitz and Valenzuela-Esc\'{a}rcega,
Marco A. and Nagesh, Ajay and Yadav, Vikas and Bachman, John and
Tang, Zheng and Lent, Heather and Luo, Fan and Paul, Mithun and
Bethard, Steven and Barnard, Kobus and Morrison, Clayton and
Surdeanu, Mihai},
title = {Eidos, INDRA, \& Delphi: From Free Text to Executable Causal Models},
booktitle = {Proceedings of the 2019 Conference of the North American
Chapter of the Association for Computational Linguistics (Demonstrations)},
month = {6},
year = {2019},
address = {Minneapolis, Minnesota},
publisher = {Association for Computational Linguistics},
pages = {42-47},
url = {http://www.aclweb.org/anthology/N19-4008},
keywords = {demo paper, causal relations, timelines, locations, information extraction},
}
@misc{Delphi,
Author = {Adarsh Pyarelal and Paul Hein and Jon Stephens and Pratik
Bhandari and HeuiChan Lim and Saumya Debray and Clayton
Morrison},
Title = {Delphi: A Framework for Assembling Causal Probabilistic
Models from Text and Software.},
doi={10.5281/zenodo.1436915},
}
Delphi builds upon INDRA and Eidos. For a detailed description of our procedure to convert text to models, see this document. Delphi is also part of the AutoMATES project.
- Home
- The Delphi model
- The Delphi config file
- GroundedFunctionNetwork API
- Grounded Function Network (GrFN) Documentation
[0.2.8]
- 2019-09-01- Background: From source code to dynamic system representation
- Spec Notation Conventions
- Preamble
- Identifier
- Grounding and source code reference
- Base Name
- Scope and Namespace Paths
- Path Strings
- Identifier String
- Identifier Gensym
- Grounding Metadata spec
- Identifier Specification
- Variable Naming Convention
- Variable Reference
- Function Naming Convention
- Variable Value Domain
- <variable_spec> examples
- Function Assign Specification
- Function Container Specification
- Function Reference Specification
- Function Loop Plate Specification
- Change Log
- Contributing
- C++ API
- GrFN OpenAPI Specification
License and Funding
Delphi is licensed under the Apache License 2.0.
The development of Delphi was supported by the Defense Advanced Research Projects Agency (DARPA) under the World Modelers (grant no. W911NF1810014) and Automated Scientific Knowledge Extraction (agreement no. HR00111990011) programs.