MétaCan
Menu
Back to cohort
Record W4366598314 · doi:10.1145/3591109

A Framework and Toolkit for Testing the Correctness of Recommendation Algorithms

2023· article· en· W4366598314 on OpenAlexaff
Lien Michiels, Robin Verachtert, Andrés Ferraro, Kim Kristin Falk, Bart Goethals

Bibliographic record

VenueACM Transactions on Recommender Systems · 2023
Typearticle
Languageen
FieldComputer Science
TopicRecommender Systems and Techniques
Canadian institutionsMcGill University
Fundersnot available
KeywordsComputer scienceTest suiteCorrectnessUnit testingPython (programming language)AlgorithmRecommender systemSuiteWhite-box testingImplementationSurpriseRegression testingCode coverageIntegration testingTest caseSoftware engineeringSoftwareProgramming languageMachine learningSoftware systemSoftware construction

Abstract

fetched live from OpenAlex

Evaluating recommender systems adequately and thoroughly is an important task. Significant efforts are dedicated to proposing metrics, methods, and protocols for doing so. However, there has been little discussion in the recommender systems’ literature on the topic of testing. In this work, we adopt and adapt concepts from the software testing domain, e.g., code coverage, metamorphic testing, or property-based testing, to help researchers to detect and correct faults in recommendation algorithms. We propose a test suite that can be used to validate the correctness of a recommendation algorithm, and thus identify and correct issues that can affect the performance and behavior of these algorithms. Our test suite contains both black box and white box tests at every level of abstraction, i.e., system, integration, and unit. To facilitate adoption, we release RecPack Tests , an open-source Python package containing template test implementations. We use it to test four popular Python packages for recommender systems: RecPack , PyLensKit , Surprise , and Cornac . Despite the high test coverage of each of these packages, we find that we are still able to uncover undocumented functional requirements and even some bugs. This validates our thesis that testing the correctness of recommendation algorithms can complement traditional methods for evaluating recommendation algorithms.

Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.

How this classification was reachedexpand

Full frame machine prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.

metaresearch head score (Codex)0.012
metaresearch head score (Gemma)0.050
Version: metacan-v3-hybrid-931329e0061cValidation status: machine_predicted_unvalidated
Candidate categoriesnone
Consensus categoriesnone
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Simulation or modeling · Consensus signal: none
GenreCandidate signal: Methods · Consensus signal: Methods
Teacher disagreement score0.012
Threshold uncertainty score0.064

Distilled classifier scores by category (both heads)

CategoryCodexGemma
Metaresearch0.0120.050
Meta-epidemiology (narrow)0.0030.003
Meta-epidemiology (broad)0.0020.005
Bibliometrics0.0040.002
Science and technology studies0.0010.004
Scholarly communication0.0040.008
Open science0.0070.006
Research integrity0.0030.007
Insufficient payload (model declined to judge)0.0090.005

Machine scores (provisional)

The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.

Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.

Opus teacher head0.127
GPT teacher head0.326
Teacher spread0.199 · how far apart the two teachers sit on this one work
Validation statusscore_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it

Classification

machine, unvalidated

Machine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.

The models applied no category: nothing in the taxonomy fit this work.
Study designSimulation or modeling
Domainnot available
GenreMethods

How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".

Quick stats

Citations7
Published2023
Admission routes1
Has abstractyes

Explore more

Same venueACM Transactions on Recommender SystemsSame topicRecommender Systems and TechniquesFrench-language works237,207