AnnoABSA: A Web-Based Annotation Tool for Aspect-Based Sentiment Analysis with Retrieval-Augmented Suggestions
Organizations: Media Informatics Group, University of Regensburg, Regensburg, Germany · Information Science Group, University of Regensburg, Regensburg, Germany
Abstract
We introduce AnnoABSA, the first web-based annotation tool to support the full spectrum of Aspect-Based Sentiment Analysis (ABSA) tasks. The tool is highly customizable, enabling flexible configuration of sentiment elements and task-specific requirements. Alongside manual annotation, AnnoABSA provides optional Large Language Model (LLM)-based retrieval-augmented generation (RAG) suggestions that offer context-aware assistance in a human-in-the-loop approach, keeping the human annotator in control. To improve prediction quality over time, the system retrieves the ten most similar examples that are already annotated and adds them as few-shot examples in the prompt, ensuring that suggestions become increasingly accurate as the annotation process progresses. Released as open-source software under the MIT License, AnnoABSA is freely accessible and easily extendable for research and practical applications.
Figures & tables
| Feature | Label Studio | INCEpTION | BRAT | AnnoABSA |
|---|---|---|---|---|
| Technical requirements | ||||
| Open source | (Apache 2.0) | (Apache 2.0) | (MIT) | (MIT) |
| Installation | Docker, Python 3 | Docker, Tomcat, Java | Python 2 | Python 3 |
| Regular updates | Oct. 2021 | |||
| Web-based | ||||
| Multi-user support | ||||
| Pool | LLM Execution time (seconds) | |||||
|---|---|---|---|---|---|---|
| ACD | TASD | ASQP | ||||
| RAG | Random | RAG | Random | RAG | Random | |
| 100 | 0.816 | 0.851 | 1.292 | 1.240 | 1.708 | 1.622 |
| 200 | 0.848 | 0.852 | 1.291 | 1.204 | 1.723 | 1.626 |
| 300 | 0.846 | 0.871 | 1.291 | 1.211 | 1.736 | 1.642 |
| 400 | 0.862 | 0.856 | 1.298 | 1.221 | 1.743 | 1.622 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Task Type | Task Name | Elements | Gold Label (Example) |
| Single | Aspect Term Extraction (ATE) | a | [’waiter’] |
| Aspect Category Detection (ACD) | c | [’food quality’, ’service speed’] | |
| Opinion Term Extraction (OTE) | o | [’delicious’, ’way too slow’] | |
| Compound | Aspect Sentiment Classification (ASC) | a , s | [(’waiter’, ’negative’)] |
| Aspect-Opinion Pair Extraction (AOPE) | a , o | [(’waiter’, ’way too slow’)] | |
| End-to-End ABSA (E2E-ABSA) | a , s | [(’NULL’, ’positive’), (’waiter’, ’negative’)] |
| Option | Description | Default |
|---|---|---|
| Server Configuration | ||
| --backend | Start only backend server | – |
| --backend-port | Backend server port | 8000 |
| --frontend-port | Frontend server port | 3000 |
| --backend-ip | Backend server IP address | localhost |
| --frontend-ip | Frontend server IP address | localhost |
Aspect-Based Sentiment Analysis
Aspect-Based Sentiment Analysis (ABSA) identifies what people express opinions about and the sentiment or emotion attached to each aspect.
See all 51 papers