{"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/joint-multisided-exposure-fairness-for","title":"Joint Multisided Exposure Fairness for Recommendation","arxiv_id":"2205.00048","date":"2022-04-29","proceeding":null,"authors":["Haolun Wu","Bhaskar Mitra","Chen Ma","Fernando Diaz","Xue Liu"],"abstract":"Prior research on exposure fairness in the context of recommender systems has focused mostly on disparities in the exposure of individual or groups of items to individual users of the system. The problem of how individual or groups of items may be systemically under or over exposed to groups of users, or even all users, has received relatively less attention. However, such systemic disparities in information exposure can result in observable social harms, such as withholding economic opportunities from historically marginalized groups (allocative harm) or amplifying gendered and racialized stereotypes (representational harm). Previously, Diaz et al. developed the expected exposure metric -- that incorporates existing user browsing models that have previously been developed for information retrieval -- to study fairness of content exposure to individual users. We extend their proposed framework to formalize a family of exposure fairness metrics that model the problem jointly from the perspective of both the consumers and producers. Specifically, we consider group attributes for both types of stakeholders to identify and mitigate fairness concerns that go beyond individual users and items towards more systemic biases in recommendation. Furthermore, we study and discuss the relationships between the different exposure fairness dimensions proposed in this paper, as well as demonstrate how stochastic ranking policies can be optimized towards said fairness goals.","url_abs":"https://arxiv.org/abs/2205.00048v1","url_pdf":"https://arxiv.org/pdf/2205.00048v1.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":"joint-multisided-exposure-fairness-for","repo_url":"https://github.com/haolun-wu/jmefairness","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"joint-multisided-exposure-fairness-for","repo_url":"https://github.com/olineranum/jme-fairness_reproduction_study","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"exposure-fairness","task_name":"Exposure Fairness"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"information-retrieval","task_name":"Information Retrieval"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.00048","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.00048"}},"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/olineranum/jme-fairness_reproduction_study","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/haolun-wu/jmefairness","reach":null}],"summary":{"ran_honours":4,"ran_fixture":1,"ran_draft_wrong":1,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"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":9,"samples":[{"code_sha256_prefix":"ceaf2ae65c4f712b","entry":"GI_F_mask","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"Disparity_Metrics.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/Disparity_Metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ceaf2ae65c4f712b"}},{"code_sha256_prefix":"dcf370dcfa9898b4","entry":"IG_F_mask","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"Disparity_Metrics.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/Disparity_Metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dcf370dcfa9898b4"}},{"code_sha256_prefix":"e38817813b1effd7","entry":"II_F","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"Disparity_Metrics.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/Disparity_Metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e38817813b1effd7"}},{"code_sha256_prefix":"d6e7c25fe0ea316d","entry":"age_mapping","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"read_data.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/read_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d6e7c25fe0ea316d"}},{"code_sha256_prefix":"8620a395f0a3a8ad","entry":"convert_unique_idx","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"read_data.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/read_data.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8620a395f0a3a8ad"}},{"code_sha256_prefix":"34560a56b171093a","entry":"gender_index","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"read_data.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/read_data.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":"34560a56b171093a"}},{"code_sha256_prefix":"652f85bb48b6bdaa","entry":"normalize_matrix_by_row","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"run_metric.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/run_metric.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"652f85bb48b6bdaa"}},{"code_sha256_prefix":"a96e6df3d3d312e9","entry":"eval_function_static","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"run_metric.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/run_metric.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":"a96e6df3d3d312e9"}},{"code_sha256_prefix":"9797ef335b8a478d","entry":"eval_function_stochas","repo":"haolun-wu/jmefairness","repo_kind":"official","path":"run_metric.py","file_url":"https://github.com/haolun-wu/jmefairness/blob/HEAD/run_metric.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":"9797ef335b8a478d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}