{"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/a-better-way-to-do-masked-language-model","title":"A Better Way to Do Masked Language Model Scoring","arxiv_id":"2305.10588","date":"2023-05-17","proceeding":null,"authors":["Carina Kauf","Anna Ivanova"],"abstract":"Estimating the log-likelihood of a given sentence under an autoregressive language model is straightforward: one can simply apply the chain rule and sum the log-likelihood values for each successive token. However, for masked language models (MLMs), there is no direct way to estimate the log-likelihood of a sentence. To address this issue, Salazar et al. (2020) propose to estimate sentence pseudo-log-likelihood (PLL) scores, computed by successively masking each sentence token, retrieving its score using the rest of the sentence as context, and summing the resulting values. Here, we demonstrate that the original PLL method yields inflated scores for out-of-vocabulary words and propose an adapted metric, in which we mask not only the target token, but also all within-word tokens to the right of the target. We show that our adapted metric (PLL-word-l2r) outperforms both the original PLL metric and a PLL metric in which all within-word tokens are masked. In particular, it better satisfies theoretical desiderata and better correlates with scores from autoregressive models. Finally, we show that the choice of metric affects even tightly controlled, minimal pair evaluation benchmarks (such as BLiMP), underscoring the importance of selecting an appropriate scoring metric for evaluating MLM properties.","url_abs":"https://arxiv.org/abs/2305.10588v2","url_pdf":"https://arxiv.org/pdf/2305.10588v2.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":"a-better-way-to-do-masked-language-model","repo_url":"https://github.com/carina-kauf/better-mlm-scoring","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"a-better-way-to-do-masked-language-model","repo_url":"https://github.com/kanishkamisra/minicons","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"language-modeling","task_name":"Language Modeling"},{"task_slug":"language-modelling","task_name":"Language Modelling"},{"task_slug":"sentence","task_name":"Sentence"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2305.10588","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2305.10588"}},"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/kanishkamisra/minicons","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/carina-kauf/better-mlm-scoring","reach":null}],"summary":{"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":2,"ran":0,"repositories":1},"listed":{"samples":3,"ran":1,"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":2,"samples":[{"code_sha256_prefix":"9d74dcf8506e1770","entry":"all_equal","repo":"kanishkamisra/minicons","repo_kind":"listed","path":"minicons/scorer.py","file_url":"https://github.com/kanishkamisra/minicons/blob/HEAD/minicons/scorer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d74dcf8506e1770"}},{"code_sha256_prefix":"e4e393d166fb55ae","entry":"LMScorer","repo":"kanishkamisra/minicons","repo_kind":"listed","path":"minicons/scorer.py","file_url":"https://github.com/kanishkamisra/minicons/blob/HEAD/minicons/scorer.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":"e4e393d166fb55ae"}},{"code_sha256_prefix":"a85750e4572e693e","entry":"LMScorer","repo":"carina-kauf/better-mlm-scoring","repo_kind":"official","path":"adapted_minicons/scorer.py","file_url":"https://github.com/carina-kauf/better-mlm-scoring/blob/HEAD/adapted_minicons/scorer.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":"a85750e4572e693e"}},{"code_sha256_prefix":"a4fada3b13a2f82b","entry":"MaskedLMScorer","repo":"kanishkamisra/minicons","repo_kind":"listed","path":"minicons/scorer.py","file_url":"https://github.com/kanishkamisra/minicons/blob/HEAD/minicons/scorer.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":"a4fada3b13a2f82b"}},{"code_sha256_prefix":"eaa0792763f66a90","entry":"MaskedLMScorer","repo":"carina-kauf/better-mlm-scoring","repo_kind":"official","path":"adapted_minicons/scorer.py","file_url":"https://github.com/carina-kauf/better-mlm-scoring/blob/HEAD/adapted_minicons/scorer.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":"eaa0792763f66a90"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}