├── .gitignore ├── MANIFEST.in ├── README.md ├── RELEASE_GUIDE.md ├── data ├── factual_mr │ ├── factual_mr.csv │ └── meta.json ├── factual_sg │ ├── factual_sg.csv │ ├── length │ │ ├── dev.csv │ │ ├── test.csv │ │ └── train.csv │ └── random │ │ ├── dev.csv │ │ ├── test.csv │ │ └── train.csv └── factual_sg_id │ ├── factual_sg_id.csv │ └── random │ ├── dev.csv │ ├── test.csv │ └── train.csv ├── interface └── sg_collect.html ├── logo ├── adobe_logo.png ├── monash_logo.png └── wuhan_logo.png ├── release.sh ├── requirements.txt ├── setup.py ├── src └── factual_scene_graph │ ├── __init__.py │ ├── evaluation │ ├── __init__.py │ ├── evaluator.py │ ├── resources │ │ ├── __init__.py │ │ ├── english.exceptions │ │ └── english.synsets │ ├── set_match_evaluation.py │ ├── soft_spice_evaluation.py │ ├── spice_evaluation.py │ └── synonym_dictionary.py │ ├── parser │ ├── __init__.py │ └── scene_graph_parser.py │ └── utils.py └── tests ├── test_data ├── SPICE_parsing_outputs.txt ├── crowdflower_flickr8k.json └── flickr8k.json ├── test_eval_spice.py ├── test_evaluator.py ├── test_metric_human_correlation.py ├── test_parser.py ├── test_spice_parser.py ├── test_synonym_dictionary.py └── train_parser.py /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # pycharm 7 | .idea/ 8 | .idea/* 9 | # C extensions 10 | *.so 11 | 12 | # Distribution / packaging 13 | .Python 14 | build/ 15 | develop-eggs/ 16 | dist/ 17 | downloads/ 18 | eggs/ 19 | .eggs/ 20 | lib/ 21 | lib64/ 22 | parts/ 23 | sdist/ 24 | var/ 25 | wheels/ 26 | share/python-wheels/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | 31 | # PyInstaller 32 | # Usually these files are written by a python script from a template 33 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 34 | *.manifest 35 | *.spec 36 | 37 | # Installer logs 38 | pip-log.txt 39 | pip-delete-this-directory.txt 40 | 41 | # Unit test / coverage reports 42 | htmlcov/ 43 | .tox/ 44 | .nox/ 45 | .coverage 46 | .coverage.* 47 | .cache 48 | nosetests.xml 49 | coverage.xml 50 | *.cover 51 | *.py,cover 52 | .hypothesis/ 53 | .pytest_cache/ 54 | cover/ 55 | 56 | 57 | *.xml 58 | 59 | # Translations 60 | *.mo 61 | *.pot 62 | 63 | # Django stuff: 64 | *.log 65 | local_settings.py 66 | db.sqlite3 67 | db.sqlite3-journal 68 | 69 | # Flask stuff: 70 | instance/ 71 | .webassets-cache 72 | 73 | # Scrapy stuff: 74 | .scrapy 75 | 76 | # Sphinx documentation 77 | docs/_build/ 78 | 79 | # PyBuilder 80 | target/ 81 | 82 | # Jupyter Notebook 83 | .ipynb_checkpoints 84 | 85 | # pyenv 86 | .python-version 87 | 88 | # celery beat schedule file 89 | celerybeat-schedule 90 | 91 | # SageMath parsed files 92 | *.sage.py 93 | 94 | # Environments 95 | .env 96 | .venv 97 | env/ 98 | venv/ 99 | ENV/ 100 | env.bak/ 101 | venv.bak/ 102 | 103 | # Spyder project settings 104 | .spyderproject 105 | .spyproject 106 | 107 | # Rope project settings 108 | .ropeproject 109 | 110 | # mkdocs documentation 111 | /site 112 | 113 | # mypy 114 | .mypy_cache/ 115 | .dmypy.json 116 | dmypy.json 117 | 118 | # Pyre type checker 119 | .pyre/ 120 | 121 | # pytype static type analyzer 122 | .pytype/ 123 | 124 | # Cython debug symbols 125 | cython_debug/ 126 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.md 2 | include src/factual_scene_graph/evaluation/resources/* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # [ACL 2023 Findings] FACTUAL: A Benchmark for Faithful and Consistent Textual Scene Graph Parsing 2 | 3 | Welcome to the official repository for the ACL 2023 Findings paper: 4 | [**FACTUAL: A Benchmark for Faithful and Consistent Textual Scene Graph Parsing**](https://arxiv.org/pdf/2305.17497.pdf). Here, you'll find both the code and dataset associated with our research. 5 | 6 |
Tagging Instructions (Click to expand)
7 | 8 |White antenna on top of the boat
16 |Sub Node Id | 30 |Subject Node | 31 |Verb | 32 |Preposition | 33 |Obj Node Id | 34 |Object Node | 35 |
---|---|---|---|---|---|
Node0 | 40 |antenna | 41 |has_attribute | 42 |no_preposition | 43 |Node1 | 44 |White | 45 |
Node0 | 48 |antenna | 49 |no_verb | 50 |on top of | 51 |Node2 | 52 |boat | 53 |
{{caption}}
105 |Node Ids | 119 |Quantity | 120 |Node Name | 121 |Node Position in the Caption | 122 |Remove Button | 123 |
---|
Sub Node Id | 137 |Subject Node | 138 |Verb Voice | 139 |Verb | 140 |Preposition | 141 |Obj Node Id | 142 |Object Node | 143 |Remove Button | 144 |
---|