UDAV is designed to enable different disciplines to display their automatic pre-processing results in a schema-based and reproducible, dynamic and interactive way without the need to hard-code manual and user-defined visualizations for each new project.
- Dynamic and interactive charts
- Visual editor
- Different export options: svg, png, tex, csv, json
- Widget pagination
- LLM ChatBot
UDAV currently contains the following widgets:
- Text (static)
- Image (static)
- Video (static)
- Inline Frame (static)
- Table
- Bar Chart
- Pie Chart
- Line Chart
- Highlight Text
- Simple Map
- Network Graph
- Voronoi Diagram
- Medial Axis
- Boundary Approximation
Tip
Please consult the documentation page for a more detailed and customizable setup documentation.
- Docker and Docker Compose (v2.x or later)
-
Clone the repository:
git clone https://github.com/texttechnologylab/Unified-Dynamic-Annotation-Visualizer.git cd Unified-Dynamic-Annotation-Visualizer -
Create your
.envfile by copying the provided example:cp .env.example .env
-
Start the application:
docker compose up -d
This starts PostgreSQL and the UDAV application. The web UI is available at http://localhost:8080 once the container is healthy (usually within ~30–60 seconds).
Note
If you're looking for a small demo without any setup, check our open demo.
To import XMI/GZ annotation files produced by DUUI pipelines, you need to configure the importer in your .env before starting the containers.
Important
DUUI_IMPORTER_PATH and DUUI_IMPORTER_TYPE_SYSTEM_PATH must be absolute paths on your host machine — Docker Compose mounts them into the container automatically.
1. Set the path to your annotation files:
DUUI_IMPORTER_PATH=/absolute/path/to/your/xmi/files2. Set the file extension matching your corpus (.xmi for uncompressed, .gz for gzip-compressed):
DUUI_IMPORTER_FILE_ENDING=.xmi
# or
DUUI_IMPORTER_FILE_ENDING=.gz3. (Optional) Set the path to an external TypeSystem XML if you want to use a custom type system instead of letting UDAV auto-detect it from the XMI files:
DUUI_IMPORTER_TYPE_SYSTEM_PATH=/absolute/path/to/your/typesystemNote
If DUUI_IMPORTER_TYPE_SYSTEM_PATH is left empty, the type system is auto-detected from the XMI files. If you set it, point it to the folder containing your TypeSystem XML file.
4. Enable the importer and start:
DUUI_IMPORTER=truedocker compose up -dThe importer runs on startup and processes all matching files in the configured directory. Import progress is logged and visible via:
docker compose logs -f udav# Database
DB_USER=postgres
DB_PASS=postgres
POSTGRES_DB=udav
# DUUI Importer
DUUI_IMPORTER=true
DUUI_IMPORTER_PATH=/data/my-corpus/xmi-files
DUUI_IMPORTER_FILE_ENDING=.gz
DUUI_IMPORTER_WORKERS=4
DUUI_IMPORTER_CAS_POOL_SIZE=12
DUUI_IMPORTER_TYPE_SYSTEM_PATH=
# Java memory (adjust to your system)
JAVA_OPTS=-Xmx10G -Xms1024mThis project is published under the AGPL-3.0 license.
If you want to use the project please quote this as follows:
Thiemo Dahmann, Julian Schneider, Philipp Stephan, Giuseppe Abrami and Alexander Mehler. 2026. Towards the Generation and Application of Dynamic Web-Based Visualization of UIMA-based Annotations for Big-Data Corpora with the Help of Unified Dynamic Annotation Visualizer. Proceedings of the Fifteenth Language Resources and Evaluation Conference (LREC 2026), 6695–6705. [LINK] [PDF]
@inproceedings{Dahmann:et:al:2026,
title = {Towards the Generation and Application of Dynamic Web-Based Visualization of UIMA-based Annotations for Big-Data Corpora with the Help of Unified Dynamic Annotation Visualizer},
booktitle = {Proceedings of the Fifteenth Language Resources and Evaluation Conference (LREC 2026)},
year = {2026},
pages = {6695--6705},
author = {Dahmann, Thiemo and Schneider, Julian and Stephan, Philipp and Abrami, Giuseppe
and Mehler, Alexander},
address = {Palma, Mallorca, Spain},
publisher = {European Language Resources Association (ELRA)},
editor = {Piperidis, Stelios and Bel, Núria and van den Heuvel, Henk and Ide, Nancy and Krek, Simon and Toral, Antonio},
doi = {10.63317/5ce2aaity4yz},
keywords = {NLP, UIMA, Annotations, dynamic visualization, uce},
abstract = {The automatic and manual annotation of unstructured corpora is a routine task in many scientific fields and is supported by a variety of existing software solutions. Despite this variety, few solutions currently support annotation visualization, especially for dynamic generation and interaction. To bridge this gap and visualize annotated corpora based on user-, project-, or corpus-specific aspects, we developed Unified Dynamic Annotation Visualizer (UDAV). UDAV is a web-based solution that implements features not supported by comparable tools, enabling a customizable and extensible toolbox for interacting with annotations and allowing integration into existing big-data frameworks. We exemplify UDAV through a range of visualizations and also provide an evaluation of corpus import and processing performance.},
pdf = {http://www.lrec-conf.org/proceedings/lrec2026/pdf/2026.lrec2026-1.533.pdf}
}