https://github.com/daeh/emotionreasoning-cogsci22
Emotion Reasoning. Models, analyses and data for the 2022 CogSci paper, "Reasoning about the antecedents of emotions: Bayesian causal inference over an intuitive theory of mind"
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Keywords
Repository
Emotion Reasoning. Models, analyses and data for the 2022 CogSci paper, "Reasoning about the antecedents of emotions: Bayesian causal inference over an intuitive theory of mind"
Basic Info
Statistics
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Reasoning about the antecedents of emotions: Bayesian causal inference over an intuitive theory of mind (CogSci 2022)
![]()
ABSTRACT It is commonly believed that expressions visually signal rich diagnostic information to human observers. We studied how observers interpret the dynamic expressions that people spontaneously produced during a real-life high-stakes televised game. We find that human observers are remarkably poor at recovering what events elicited others' facial and bodily expressions. Beyond simple inaccuracy, people's causal reasoning exhibits systematic model-based patterns of errors. We show that latent emotion representations can explain people's reasoning about the unseen causes of expressions. A hierarchical Bayesian model simulates which events people infer to be the cause of others' expressions by comparing the emotions inferred from the expressions against the emotions people were predicted to experience in various situations. This causal model provides a close, parameter-free fit to human causal judgments, suggesting that humans interpret expressions in the context of emotion predictions generated by a causally-structured mental model of other minds.
Project
This repository provides all of the raw behavioral data, analyses, and models related to the 2022 CogSci talk and paper
- Houlihan SD, Ong D, Cusimano M, & Saxe R. (2022). Reasoning about the antecedents of emotions: Bayesian causal inference over an intuitive theory of mind. In Proceedings of the 44th Annual Conference of the Cognitive Science Society.
|
|
|
| :----------------------------------------------------------: | :----------------------------------------------------------: |
| Talk Recording | Paper PDF |
Citing the work
If you use this repository, the data it includes, or build on the models/analyses, please cite the paper (NB citation given in BibLaTeX):
BibTeX
@inproceedings{houlihan2022emotionreasoning,
title = {Reasoning about the Antecedents of Emotions: {{Bayesian}} Causal Inference over an Intuitive Theory of Mind},
shorttitle = {Causal Reasoning over Emotions},
booktitle = {Proceedings of the {{Annual Meeting}} of the {{Cognitive Science Society}}},
author = {Houlihan, Sean Dae and Ong, Desmond and Cusimano, Maddie and Saxe, Rebecca},
date = {2022},
volume = {44},
pages = {854--861},
url = {https://escholarship.org/uc/item/7sn3w3n2},
eventtitle = {{{CogSci}}}
}
Demos of the stimuli
The introductory video (explaining the rules of the game) and examples of the 5 second videos of players' reactions can be viewed here: Demos of dynamic expressions spontaneously produced by players on the Golden Balls Gameshow.
Contents of the repository
code- models and analysesdatain- the raw behavioral data collected from human observersexperiments- mTurk experiments used to collect the behavioral data indatain/figs- figures generated by the analyses incode/manuscript- latex code that generates the submitted manuscriptwebsite- the project website, which includes demos of the stimuli used inexperiments/
Running the project
You can install the dependencies necessary to regenerate the results and figures using (1) a Docker container (2) a conda environment (3) a pip requirements specification.
1. As a Docker container (recommended for reproducibility)
Requires Docker. NB Docker is finicky about the cpu architecture. These instructions are for building the image on an arm64 processor. For an example of building the image for an amd64 processor, see .devcontainer/.
```bash
Clone git repo to the current working directory
git clone --branch main https://github.com/daeh/emotionreasoning-cogsci22.git emotionreasoning-cogsci22
Enter the new directory
cd emotionreasoning-cogsci22
Build Docker Image
docker buildx build --platform=linux/arm64 --tag emoreasimg .
Run Container
docker run --rm --platform=linux/arm64 --name=emoreas --volume $(pwd)/:/host/ \ emoreasimg -u /host/code/wrapper_cogsci.py --projectdir /host/ ```
The container tag is arbitrary (you can replace emoreasimg with a different label).
2. As a conda environment (recommended for customization)
You can use the conda-lock.yml file to create an environment. Requires conda, conda-lock, and a local installation of TeX Live.
```bash
Clone git repo to the current working directory
git clone --branch main https://github.com/daeh/emotionreasoning-cogsci22.git emotionreasoning-cogsci22
Enter the new directory
cd emotionreasoning-cogsci22
Create the conda environment
conda-lock install --name emoreasenv conda-lock.yml
Activate the conda environment
conda activate emoreasenv
Run the python code
python ./code/wrapper_cogsci.py --projectdir $(pwd) ```
The conda environment name is arbitrary (you can replace emoreasenv with a different label).
If the conda-lock.yml lock file cannot resolve the dependencies for your system, you can use the environment.yml file to create an environment with the latest package versions available. Simply replace the conda-lock install line with conda env create -f environment.yml. NB the environment.yml package specifications are not version-locked, so it is possible that there will be package-version idiosyncrasies.
3. As a pip requirements specification
If you use a strategy other than conda or Docker to manage python environments, you can install the dependencies using the requirements.txt file located in the root directory of the project. You additionally need to have TeX Live installed locally.
Authors
Sean Dae Houlihan, Desmond Ong, Maddie Cusimano, Rebecca Saxe
Owner
- Name: Dae
- Login: daeh
- Kind: user
- Location: Cambridge, MA
- Company: MIT
- Website: https://daeh.info
- Twitter: daehoulihan
- Repositories: 2
- Profile: https://github.com/daeh
Neukom Computational Science Postdoc Fellow at Dartmouth. PhD from MIT Brain and Cognitive Sciences.
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Dae Houlihan | d****a@m****u | 5 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- debian bullseye-slim build
- debian bullseye-slim build
- 690 dependencies
- @babel/core ^7.11.1 development
- @babel/preset-env ^7.11.0 development
- babel-loader ^8.1.0 development
- copy-webpack-plugin ^6.0.3 development
- css-loader ^4.2.1 development
- file-loader ^6.0.0 development
- html-webpack-plugin ^4.3.0 development
- less-loader ^6.2.0 development
- mini-css-extract-plugin ^0.10.0 development
- postcss-loader ^3.0.0 development
- postcss-preset-env ^6.7.0 development
- sass ^1.26.10 development
- sass-loader ^9.0.3 development
- webpack ^4.44.1 development
- webpack-cli ^3.3.12 development
- core-js ^3.6.5
- jquery ^3.5.1
- 453 dependencies
- @babel/core ^7.17.12 development
- @babel/preset-env ^7.17.12 development
- babel-loader ^8.2.5 development
- copy-webpack-plugin ^11.0.0 development
- css-loader ^6.7.1 development
- file-loader ^6.2.0 development
- html-webpack-plugin ^5.5.0 development
- less-loader ^11.0.0 development
- mini-css-extract-plugin ^2.6.0 development
- postcss-loader ^7.0.0 development
- postcss-preset-env ^7.5.0 development
- sass ^1.51.0 development
- sass-loader ^13.0.0 development
- url-loader ^4.1.1 development
- webpack ^5.72.1 development
- webpack-cli ^4.9.2 development
- core-js ^3.22.5
- jquery ^3.6.0
- Babel ==2.11.0
- CacheControl ==0.12.12
- Jinja2 ==3.1.2
- MarkupSafe ==2.1.1
- Pillow ==9.2.0
- PySocks ==1.7.1
- PyYAML ==6.0
- Pygments ==2.13.0
- Send2Trash ==1.8.0
- anyio ==3.6.2
- appdirs ==1.4.4
- appnope ==0.1.3
- argon2-cffi ==21.3.0
- argon2-cffi-bindings ==21.2.0
- asttokens ==2.1.0
- attrs ==22.1.0
- autopep8 ==2.0.0
- backcall ==0.2.0
- backports.functools-lru-cache ==1.6.4
- beautifulsoup4 ==4.11.1
- bleach ==5.0.1
- brotlipy ==0.7.0
- cachy ==0.3.0
- certifi ==2022.9.24
- cffi ==1.15.1
- charset-normalizer ==2.1.1
- click ==8.1.3
- click-default-group ==1.2.2
- clikit ==0.6.2
- conda_lock ==1.2.1
- contourpy ==1.0.6
- crashtest ==0.3.1
- cryptography ==38.0.3
- cycler ==0.11.0
- debugpy ==1.6.3
- decorator ==5.1.1
- defusedxml ==0.7.1
- distlib ==0.3.6
- ensureconda ==1.4.3
- entrypoints ==0.4
- executing ==1.2.0
- fastjsonschema ==2.16.2
- filelock ==3.8.0
- flit_core ==3.8.0
- fonttools ==4.38.0
- html5lib ==1.1
- idna ==3.4
- importlib-metadata ==5.0.0
- importlib-resources ==5.10.0
- ipykernel ==6.17.1
- ipython ==8.6.0
- ipython-genutils ==0.2.0
- jaraco.classes ==3.2.3
- jedi ==0.18.1
- joblib ==1.2.0
- json5 ==0.9.5
- jsonschema ==4.17.0
- jupyter-server ==1.23.2
- jupyter_client ==7.4.6
- jupyter_core ==5.0.0
- jupyterlab ==3.5.0
- jupyterlab-pygments ==0.2.2
- jupyterlab_server ==2.16.3
- keyring ==23.11.0
- kiwisolver ==1.4.4
- matplotlib ==3.6.2
- matplotlib-inline ==0.1.6
- mistune ==2.0.4
- more-itertools ==9.0.0
- msgpack ==1.0.4
- munkres ==1.1.4
- nbclassic ==0.4.8
- nbclient ==0.7.0
- nbconvert ==7.2.5
- nbformat ==5.7.0
- nest-asyncio ==1.5.6
- notebook ==6.5.2
- notebook_shim ==0.2.2
- numpy ==1.23.4
- packaging ==21.3
- pandas ==1.5.1
- pandocfilters ==1.5.0
- parso ==0.8.3
- pastel ==0.2.1
- patsy ==0.5.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pip ==22.3.1
- pkginfo ==1.8.3
- pkgutil_resolve_name ==1.3.10
- platformdirs ==2.5.2
- prometheus-client ==0.15.0
- prompt-toolkit ==3.0.32
- psutil ==5.9.4
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pyOpenSSL ==22.1.0
- pycodestyle ==2.9.1
- pycparser ==2.21
- pydantic ==1.10.2
- pylev ==1.4.0
- pyparsing ==3.0.9
- pyrsistent ==0.19.2
- python-dateutil ==2.8.2
- pytz ==2022.6
- pyzmq ==24.0.1
- requests ==2.28.1
- ruamel.yaml ==0.17.21
- ruamel.yaml.clib ==0.2.7
- scikit-learn ==1.1.3
- scipy ==1.9.3
- seaborn ==0.12.1
- setuptools ==65.5.1
- six ==1.16.0
- sniffio ==1.3.0
- soupsieve ==2.3.2.post1
- stack-data ==0.6.1
- statsmodels ==0.13.5
- terminado ==0.17.0
- threadpoolctl ==3.1.0
- tinycss2 ==1.2.1
- tomli ==2.0.1
- tomlkit ==0.11.6
- toolz ==0.12.0
- torch ==1.13.0
- tornado ==6.2
- traitlets ==5.5.0
- typing_extensions ==4.4.0
- unicodedata2 ==15.0.0
- urllib3 ==1.26.11
- virtualenv ==20.16.7
- wcwidth ==0.2.5
- webencodings ==0.5.1
- websocket-client ==1.4.2
- wheel ==0.38.4
- zipp ==3.10.0