How nercms-mmap/ra-lib works
RA-Lib is a Python rank-aggregation library and benchmarking environment. Its main workflow takes ranked or scored item lists from multiple voters, applies an aggregation method, and produces an ordered list; relevance labels can also support supervised or semi-supervised training and evaluation. The implementation separates input processing, evaluation, and unsupervised, supervised, and semi-supervised methods. The README documents a broad method catalog, while the sampled source is partial, so links between particular algorithms and shared utilities are shown only where supported.
Main entry points: data_io.py CSV input/output · evaluation.py Ranking metrics · markovchain.py Markov chains · borda_score.py Borda Score
Components 16
Data handling
- CSV input/output
src/rapython/datatools/data_io.py - Rank processing
src/rapython/datatools/data_process.py - Input types
src/rapython/common/constant.py
Unsupervised methods
- Unsupervised RA
src/rapython/unsupervised - Comb methods
src/rapython/unsupervised/combsum.py - Markov chains
src/rapython/unsupervised/markovchain.py - Borda Score
src/rapython/unsupervised/borda_score.py
Supervised methods
- Supervised RA
src/rapython/supervised - AggRankDE
src/rapython/supervised/aggrankde.py - CRF
src/rapython/supervised/crf.py - CSRA
src/rapython/supervised/CSRA
Semi-supervised methods
- SSRA
src/rapython/semi/ssra.py
Evaluation
- Ranking metrics
src/rapython/evaluation/evaluation.py
Other components
- Researcher
- Benchmark data
- Aggregated rankings
Connections 19
- Researcher → CSV input/output: loads or saves
- Benchmark data → CSV input/output: provides files
- CSV input/output → Rank processing: uses mapping
- Researcher → Unsupervised RA: selects method
- Researcher → Comb methods: invokes
- Researcher → Markov chains: invokes
- Researcher → Borda Score: invokes
- Researcher → Supervised RA: selects method
- Researcher → AggRankDE: trains or ranks
- Researcher → CRF: trains or ranks
- Researcher → CSRA: selects method
- Researcher → SSRA: trains or ranks
- Researcher → Ranking metrics: requests metrics
- Ranking metrics → CSV input/output: loads CSV
- AggRankDE → Ranking metrics: computes AP
- CRF → Ranking metrics: computes NDCG
- SSRA → Aggregated rankings: writes rankings
- Markov chains → Aggregated rankings: saves rankings
- Borda Score → Aggregated rankings: writes rankings