🚀 Empowering researchers to see beyond just numbers! 🚀
The Assistive System for Performance Evaluation in Information Retrieval (ASPIRE) is a tool designed for researchers and practitioners in the field of Information Retrieval (IR). It provides a user-friendly interface to analyze and compare the performance of different retrieval systems or approaches. Built with Streamlit, this dashboard offers a range of analyses and visualizations to help users gain insights into their IR experiments.
ASPIRE is available online : https://aspire-ir-eval.streamlit.app/
- Upload retrieval experiment files (TREC format)
- Upload qrels (relevance judgments) files
- Upload query files (supports txt, csv, and xml formats)
- Delete uploaded files through the interface
-
Overall Retrieval Characteristics
- Evaluate experiments using standard IR metrics (e.g., MAP, nDCG, Precision, Recall)
- Visualize performance across multiple runs
- Perform statistical significance testing between experiments
- Apply multiple testing corrections (e.g., Bonferroni, Holm, Holm-Sidak)
- Generate precision-recall curves
-
Query-based Analysis
- Analyze performance on a per-query basis
- Compare query performance across different experiments
- Identify consistently performing queries and those with large performance gaps
-
Query Text-based Analysis
- Examine the relationship between query length and performance
- Visualize query performance using scatter plots and moving averages
- Perform bucketed analysis (equal-width and equal-frequency)
- Create word clouds based on query relevance
- Visualize query similarity in 2D and 3D spaces using dimensionality reduction techniques
-
Collection-based Analysis
- Analyze relevance judgments distribution
- Identify easy and hard queries based on relevance assessments
-
Clone the repository: https://github.com/GiorgosPeikos/ASPIRE
-
Install requirements:
pip install -r requirements.txt- Start the Streamlit Application:
streamlit run _🏠_Homepage.py- The dashboard will open in your default web browser. Use the sidebar to navigate between different tools:
- Upload - Delete Files
- Experiment Performance Report
- Query-based Report
- Query Text-based Report
- Query Collection-based Report
-
Begin by uploading your experimental data using the "Upload - Delete Files" page.
-
Navigate to the desired analysis tool and follow the on-screen instructions to configure your analysis.
-
Interact with the generated visualizations and tables to gain insights into your IR experiments.
_🏠_Homepage.py: Main entry point for the Streamlit appUpload_-_Delete_Files.py: Interface for managing experimental data filesExperiment_Performance_Report.py: Overall performance analysis scriptExperiment_Performance_Query-based_Report.py: Query-based analysis scriptExperiment_Performance_Query_Text-based_Report.py: Text-based query analysis scriptExperiment_Performance_Query_Collection-based_Report.py: Collection-based analysis scriptutils/: Directory containing utility functions and modulesdata_handler.py: Functions for loading and processing data fileseval_core.py: Core evaluation functions and metric definitionseval_multiple_exp.py: Functions for evaluating multiple experimentseval_per_query.py: Per-query evaluation functionseval_query_collection.py: Query collection analysis functionseval_query_text_based.py: Text-based query analysis functionseval_single_exp.py: Single experiment evaluation functionsplots.py: Visualization functionsui.py: User interface utility functions
- streamlit
- pandas
- numpy
- plotly
- matplotlib
- scipy
- ir_measures
- scikit-learn
- transformers
- wordcloud
- nltk
For a complete list of dependencies with version numbers, refer to the requirements.txt file.
Contributions to improve the dashboard or add new features are welcome. Please follow these steps to contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
[Georgios Peikos] - [[email protected]]
[Wojciech Kusa] - [[email protected]]
[Symeon Symeonidis] - [[email protected]]
Project Link: https://github.com/GiorgosPeikos/ASPIRE
Further details regarding the future aims of this project can be found in its demo paper, which will be presented at the 47th European Conference on Information Retrieval (ECIR). Read the paper here..
If you use this project in your research, please cite it as follows:
@article{peikos2024aspire,
title={ASPIRE: Assistive System for Performance Evaluation in IR},
author={Peikos, Georgios and Kusa, Wojciech and Symeonidis, Symeon},
journal={arXiv preprint arXiv:2412.15759},
year={2024}
}- ir_measures for providing IR evaluation metrics.
- Streamlit for the web app framework.
- Plotly for data visualizations.
- Matplotlib for data visualization capabilities.
- Tested on Python 3.10