{"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/arxiv-2608-10045","title":"Finding the Signal in the Spam: Jointly Learning Rewards and Worker Reliability from Pairwise Comparisons","arxiv_id":"2608.10045","date":"2026-08-10","proceeding":null,"authors":["Kaustubh Shivshankar Shejole","Tanish Agarwal","Arpit Agarwal","Avishek Ghosh"],"abstract":"The problem of learning from pairwise comparisons has been widely studied across many domains such as recommendation systems, social choice, and more recently, fine-tuning large language models. In this problem, the goal is to learn item rewards based on pairwise comparisons between them. In many scenarios, these comparisons are elicited from crowdworkers using platforms such as Amazon Mechanical Turk, Scale AI, etc. However, crowdworkers are often unreliable due to limited domain knowledge or revenue-maximizing (spamming) behavior. In this work, our goal is to understand whether worker reliability (competency) can be learned jointly with item rewards. To this end, we adopt the Boltzmann-rational model for pairwise comparisons, which extends the Bradley-Terry-Luce model by incorporating worker competencies. We derive an EM-based algorithm for learning under this model by introducing Polya-Gamma latent variables to transform the logistic likelihood into a conditionally Gaussian form, enabling tractable optimization and leading to a simplified $Q$ function in the E-step of the algorithm. This technique allows us to reduce our formulation to a matrix sensing problem, using which we establish theoretical convergence guarantees for our algorithm. We conduct extensive experiments on real-world and synthetic datasets. These experiments demonstrate the advantages of using our algorithm over several baselines and confirm its strong robustness to both spammers and adversarial workers, highlighting its practical effectiveness in realistic crowdsourcing and reward learning settings. The code and data is publicly available at https://github.com/KaustubhShejole/BoRa_EM.","url_abs":"https://arxiv.org/abs/2608.10045","url_pdf":"https://arxiv.org/pdf/2608.10045","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2608.10045","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.10045"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Toloka/IMDB-WIKI-SbS","reach":{"status":"ok"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/lucasmaystre/choix","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/KaustubhShejole/BoRa_EM","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Ambress92/Bias-Aware-Ranker-from-Pairwise-comparisons","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Toloka/crowd-kit","reach":null}],"summary":{"ran":5,"ran_draft_wrong":3,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":10,"ran":8,"repositories":4}},"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":5,"samples":[{"code_sha256_prefix":"e5fdbac7f5e08264","entry":"NoisyBradleyTerry","repo":"Toloka/crowd-kit","repo_kind":"found_in_text","path":"crowdkit/aggregation/pairwise/noisy_bt.py","file_url":"https://github.com/Toloka/crowd-kit/blob/HEAD/crowdkit/aggregation/pairwise/noisy_bt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"e5fdbac7f5e08264"}},{"code_sha256_prefix":"7132c5b32f06f529","entry":"PolyaGamma_EM","repo":"KaustubhShejole/BoRa_EM","repo_kind":"found_in_text","path":"pgem_initialize_beta_1.py","file_url":"https://github.com/KaustubhShejole/BoRa_EM/blob/HEAD/pgem_initialize_beta_1.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7132c5b32f06f529"}},{"code_sha256_prefix":"20ff2745f5e1341e","entry":"_alternate_optim","repo":"Ambress92/Bias-Aware-Ranker-from-Pairwise-comparisons","repo_kind":"found_in_text","path":"src/opt_fair.py","file_url":"https://github.com/Ambress92/Bias-Aware-Ranker-from-Pairwise-comparisons/blob/HEAD/src/opt_fair.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":"20ff2745f5e1341e"}},{"code_sha256_prefix":"d1929afdad213f64","entry":"exp_transform","repo":"lucasmaystre/choix","repo_kind":"found_in_text","path":"choix/utils.py","file_url":"https://github.com/lucasmaystre/choix/blob/HEAD/choix/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d1929afdad213f64"}},{"code_sha256_prefix":"5fe2a1f3d39dfda4","entry":"factorize","repo":"Toloka/crowd-kit","repo_kind":"found_in_text","path":"crowdkit/aggregation/pairwise/noisy_bt.py","file_url":"https://github.com/Toloka/crowd-kit/blob/HEAD/crowdkit/aggregation/pairwise/noisy_bt.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5fe2a1f3d39dfda4"}},{"code_sha256_prefix":"377421ed6ea117a3","entry":"log_transform","repo":"lucasmaystre/choix","repo_kind":"found_in_text","path":"choix/utils.py","file_url":"https://github.com/lucasmaystre/choix/blob/HEAD/choix/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"377421ed6ea117a3"}},{"code_sha256_prefix":"57487c88f6a8df53","entry":"named_series_attrib","repo":"Toloka/crowd-kit","repo_kind":"found_in_text","path":"crowdkit/aggregation/pairwise/noisy_bt.py","file_url":"https://github.com/Toloka/crowd-kit/blob/HEAD/crowdkit/aggregation/pairwise/noisy_bt.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"57487c88f6a8df53"}},{"code_sha256_prefix":"5e48b122b98d031b","entry":"softmax","repo":"lucasmaystre/choix","repo_kind":"found_in_text","path":"choix/utils.py","file_url":"https://github.com/lucasmaystre/choix/blob/HEAD/choix/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5e48b122b98d031b"}},{"code_sha256_prefix":"290d2338f670a5b3","entry":"BasePairwiseAggregator","repo":"Toloka/crowd-kit","repo_kind":"found_in_text","path":"crowdkit/aggregation/pairwise/noisy_bt.py","file_url":"https://github.com/Toloka/crowd-kit/blob/HEAD/crowdkit/aggregation/pairwise/noisy_bt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"290d2338f670a5b3"}},{"code_sha256_prefix":"a571bbbb82a6b97c","entry":"lsr_pairwise_dense","repo":"lucasmaystre/choix","repo_kind":"found_in_text","path":"choix/lsr.py","file_url":"https://github.com/lucasmaystre/choix/blob/HEAD/choix/lsr.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a571bbbb82a6b97c"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}