{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/fighting-fire-with-fire-using-antidote-data","title":"Fighting Fire with Fire: Using Antidote Data to Improve Polarization and Fairness of Recommender Systems","arxiv_id":"1812.01504","date":"2018-12-02","proceeding":null,"authors":["Bashir Rastegarpanah","Krishna P. Gummadi","Mark Crovella"],"abstract":"The increasing role of recommender systems in many aspects of society makes\nit essential to consider how such systems may impact social good. Various\nmodifications to recommendation algorithms have been proposed to improve their\nperformance for specific socially relevant measures. However, previous\nproposals are often not easily adapted to different measures, and they\ngenerally require the ability to modify either existing system inputs, the\nsystem's algorithm, or the system's outputs. As an alternative, in this paper\nwe introduce the idea of improving the social desirability of recommender\nsystem outputs by adding more data to the input, an approach we view as\nproviding `antidote' data to the system. We formalize the antidote data\nproblem, and develop optimization-based solutions. We take as our model system\nthe matrix factorization approach to recommendation, and we propose a set of\nmeasures to capture the polarization or fairness of recommendations. We then\nshow how to generate antidote data for each measure, pointing out a number of\ncomputational efficiencies, and discuss the impact on overall system accuracy.\nOur experiments show that a modest budget for antidote data can lead to\nsignificant improvements in the polarization or fairness of recommendations.","url_abs":"http://arxiv.org/abs/1812.01504v4","url_pdf":"http://arxiv.org/pdf/1812.01504v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"fighting-fire-with-fire-using-antidote-data","repo_url":"https://github.com/rastegarpanah/antidote-data-framework","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1812.01504","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1812.01504"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rastegarpanah/antidote-data-framework","reach":null}],"summary":{"ran_draft_wrong":1,"ran_violates":1,"unverified":1},"by_repo_kind":{"listed":{"samples":3,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":3,"samples":[{"code_sha256_prefix":"bcf51c46d9f3c0a4","entry":"read_movielens_1M","repo":"rastegarpanah/antidote-data-framework","repo_kind":"listed","path":"MF.py","file_url":"https://github.com/rastegarpanah/antidote-data-framework/blob/HEAD/MF.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bcf51c46d9f3c0a4"}},{"code_sha256_prefix":"a37b461d017fb3c9","entry":"train_val_split","repo":"rastegarpanah/antidote-data-framework","repo_kind":"listed","path":"MF.py","file_url":"https://github.com/rastegarpanah/antidote-data-framework/blob/HEAD/MF.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a37b461d017fb3c9"}},{"code_sha256_prefix":"be38138949b5342a","entry":"read_movielens_small","repo":"rastegarpanah/antidote-data-framework","repo_kind":"listed","path":"MF.py","file_url":"https://github.com/rastegarpanah/antidote-data-framework/blob/HEAD/MF.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"be38138949b5342a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}