{"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/user-consented-federated-recommender-system","title":"User Consented Federated Recommender System Against Personalized Attribute Inference Attack","arxiv_id":"2312.16203","date":"2023-12-23","proceeding":null,"authors":["Qi Hu","Yangqiu Song"],"abstract":"Recommender systems can be privacy-sensitive. To protect users' private historical interactions, federated learning has been proposed in distributed learning for user representations. Using federated recommender (FedRec) systems, users can train a shared recommendation model on local devices and prevent raw data transmissions and collections. However, the recommendation model learned by a common FedRec may still be vulnerable to private information leakage risks, particularly attribute inference attacks, which means that the attacker can easily infer users' personal attributes from the learned model. Additionally, traditional FedRecs seldom consider the diverse privacy preference of users, leading to difficulties in balancing the recommendation utility and privacy preservation. Consequently, FedRecs may suffer from unnecessary recommendation performance loss due to over-protection and private information leakage simultaneously. In this work, we propose a novel user-consented federated recommendation system (UC-FedRec) to flexibly satisfy the different privacy needs of users by paying a minimum recommendation accuracy price. UC-FedRec allows users to self-define their privacy preferences to meet various demands and makes recommendations with user consent. Experiments conducted on different real-world datasets demonstrate that our framework is more efficient and flexible compared to baselines.","url_abs":"https://arxiv.org/abs/2312.16203v1","url_pdf":"https://arxiv.org/pdf/2312.16203v1.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":"user-consented-federated-recommender-system","repo_url":"https://github.com/hkust-knowcomp/uc-fedrec","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"inference-attack","task_name":"Inference Attack"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.16203","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.16203"}},"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/hkust-knowcomp/uc-fedrec","reach":{"status":"ok"}}],"summary":{"ran":6,"ran_violates":1,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"93e9c624ca6d054f","entry":"Gaussian_Simple","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/dp_mechanism.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/dp_mechanism.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"93e9c624ca6d054f"}},{"code_sha256_prefix":"7124863b77ef6863","entry":"Laplace","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/dp_mechanism.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/dp_mechanism.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7124863b77ef6863"}},{"code_sha256_prefix":"ea02c0066939a02c","entry":"average_precision","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/metric.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/metric.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ea02c0066939a02c"}},{"code_sha256_prefix":"521d6423861df5ae","entry":"cal_sensitivity","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/dp_mechanism.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/dp_mechanism.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"521d6423861df5ae"}},{"code_sha256_prefix":"f16f715a59169c8a","entry":"hasNumbers","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/helper.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/helper.py","link_basis":"plan_row","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":"f16f715a59169c8a"}},{"code_sha256_prefix":"de0d0e47ac6bbe6c","entry":"precision_at_k","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/metric.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/metric.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"de0d0e47ac6bbe6c"}},{"code_sha256_prefix":"4437293713f250ee","entry":"recall","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/metric.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/metric.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4437293713f250ee"}},{"code_sha256_prefix":"b07be870060c7e26","entry":"txt2list","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/helper.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/helper.py","link_basis":"plan_row","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":"b07be870060c7e26"}},{"code_sha256_prefix":"ddd78902563c0d71","entry":"uni2str","repo":"hkust-knowcomp/uc-fedrec","repo_kind":"official","path":"utility/helper.py","file_url":"https://github.com/hkust-knowcomp/uc-fedrec/blob/HEAD/utility/helper.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddd78902563c0d71"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}