ADAM is ISI's effort under DARPA's Grounded Artificial Intelligence Language Acquisition (GAILA) program. Background for the GAILA program is given in DARPA's call for proposals and here is a video of a talk giving an overview of our plans for ADAM (aimed at an audience familiar with the GAILA program).
Documentation can be found here. The documentation includes tutorials on how to use ADAM (though it may not appear on Read the Docs).
You can check out our papers to read more about the system and to cite our work:
- ADAM: A Sandbox for Implementing Language Learning
- A Grounded Approach to Modeling Generic Knowledge Acquisition
-
Create a Python 3.7 Anaconda environment (or your favorite other means of creating a virtual environment):
conda create --name adam python=3.7
followed byconda activate adam
. -
pip install -r requirements.txt
-
Make a file under
parameters
calledroot.params
which contains:adam_root: PATH_TO_WORKING_COPY_OF_THIS_REPO # if you want to view experiment results in the UI, you must point adam_experiment_root to # %adam_root%/data, otherwise any directory is fine: adam_experiment_root: %adam_root%/data # if you want to run the full pipeline which includes preprocessing: stroke_python_root: /path/to/anaconda3/envs/adam_preprocessing # for the segmentation part of the pipeline (ISI: 500{1,2,3} are in use): segmentation_api_port: XXXX conda_environment: adam conda_base_path: PATH_TO_ANACONDA_DIRECTORY
- Complete the project setup as above.
- Install PyPy 3.7:
conda install -c conda-forge pypy3.7
. - To run tests using PyPy3.7:
make test
.
To generate Sphinx documentation:
cd docs
make html
The docs will be under docs/_build/html
Run adam.curriculum_to_html /full/path/to/parameters/html/curriculum_to_html.phase1.params
Run adam.experiment.run_m9 /full/path/to/parameters/experiment/m9/m9.params
First, make sure the Flask backend is running. To start the backend:
cd adam/flask_backend
bash start_flask.sh &
The angular application is located under /angular-viewer/adam-angular-demo
Navigate to the directory above and serve the application locally on port 4200:
ng serve --open
npm install -g npm
cd {adam_root}
PYTHONPATH=. python scripts/install_fonts.py
For more detailed information including how to check npm versions on your machine, please refer: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
Currently, our curriculum dump and learner run in English by default, but they are also runnable in Chinese. Our Chinese implementation uses Yale romanization to maintain UTF-8 encoding, but this can easily be converted to the more common Pinyin romanization.
To generate a curriculum dump or run the learner in Chinese, add the following line to your parameters/root.params
file:
language_mode : CHINESE
and then run the commands given above.
Run make precommit
before commiting.
If you are using PyCharm, please set your docstring format to "Google" and your unit test runner to "PyTest" in
Preferences | Tools | Python Integrated Tools
.
- Gayatri Atale
- Deniz Beser
- Connor Boyle
- Joe Cecil
- Sheng Cheng
- Marjorie Freedman
- Ryan Gabbard
- Blake Harrison
- Chris Jenkins
- Ashwin Kumar
- Elizabeth Lee
- Jacob Lichtefeld
- Mitch Marcus
- Justin Martin
- Grace McClurg
- Sarah Payne
- Sidharth Sundar
- Ralph Weischedel
- Charles Yang
Deniz Beser (beser@isi.edu
)
Joe Cecil (jcecil@isi.edu
)
Ryan Gabbard (ryan.gabbard@gmail.com
)
Jacob Lichtefeld (jacobl@isi.edu
)
The following papers have informed our design decisions and may be referenced in issues.
- Biederman, I., 1987. Recognition-by-components: a theory of human image understanding. Psychological review, 94(2), p.115-147.
- Dowty, D., 1991. Thematic Proto-Roles and Argument Selection. Language, 67(3), pp.547-619
- Jackendoff, R., 1975. A System of Semantic Primitives. In Theoretical issues in natural language processing.
- Jackendoff, R., 1992. Semantic structures (Vol. 18). MIT press.
- Hart, B. and Risley, T. R., 1995. Meaningful differences in the everyday experience of young American children. Paul H Brookes Publishing, Baltimore, MD.
- Landau, B. and Jackendoff, R., 1993. "What" and "where" in spatial language and spatial cognition. Behavioral and Brain Sciences, 16(2), pp.217-238.
- Marr, D. and Vaina, L., 1982. Representation and recognition of the movements of shapes. Proceedings of the Royal Society of London. Series B. Biological Sciences, 214(1197), pp.501-524.
- Schuler, K.D., Yang, C. and Newport, E.L., 2016. Testing the Tolerance Principle: Children form productive rules when it is more computationally efficient to do so. In CogSci.
- Singh, M. and Landau, B., 1998. Parts of visual shape as primitives for categorization. Behavioral and Brain Sciences, 21(1), pp.36-37.
- Smith, L.B., Jayaraman, S., Clerkin, E. and Yu, C., 2018. The developing infant creates a curriculum for statistical learning. Trends in cognitive sciences, 22(4), pp.325-336.
- Stevens, J.S., Gleitman, L.R., Trueswell, J.C. and Yang, C., 2017. The pursuit of word meanings. Cognitive Science, 41, pp.638-676.
- Trueswell, J.C., Lin, Y., Armstrong III, B., Cartmill, E.A., Goldin-Meadow, S. and Gleitman, L.R., 2016. Perceiving referential intent: Dynamics of reference in natural parent–child interactions. Cognition, 148, pp.117-135.
- Yang, C., 2005. On productivity. Linguistic variation yearbook, 5(1), pp.265-302.
- Yang, C., 2013. Ontogeny and Phylogeny of Language. Proceedings of the National Academy of Sciences, 110(16), pp.6324-6327.