{"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/improving-chinese-spelling-check-by-character","title":"Improving Chinese Spelling Check by Character Pronunciation Prediction: The Effects of Adaptivity and Granularity","arxiv_id":"2210.10996","date":"2022-10-20","proceeding":null,"authors":["Jiahao Li","Quan Wang","Zhendong Mao","Junbo Guo","Yanyan Yang","Yongdong Zhang"],"abstract":"Chinese spelling check (CSC) is a fundamental NLP task that detects and corrects spelling errors in Chinese texts. As most of these spelling errors are caused by phonetic similarity, effectively modeling the pronunciation of Chinese characters is a key factor for CSC. In this paper, we consider introducing an auxiliary task of Chinese pronunciation prediction (CPP) to improve CSC, and, for the first time, systematically discuss the adaptivity and granularity of this auxiliary task. We propose SCOPE which builds on top of a shared encoder two parallel decoders, one for the primary CSC task and the other for a fine-grained auxiliary CPP task, with a novel adaptive weighting scheme to balance the two tasks. In addition, we design a delicate iterative correction strategy for further improvements during inference. Empirical evaluation shows that SCOPE achieves new state-of-the-art on three CSC benchmarks, demonstrating the effectiveness and superiority of the auxiliary CPP task. Comprehensive ablation studies further verify the positive effects of adaptivity and granularity of the task. Code and data used in this paper are publicly available at https://github.com/jiahaozhenbang/SCOPE.","url_abs":"https://arxiv.org/abs/2210.10996v1","url_pdf":"https://arxiv.org/pdf/2210.10996v1.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":"improving-chinese-spelling-check-by-character","repo_url":"https://github.com/jiahaozhenbang/scope","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2210.10996","atlas_url":"https://app.syntology.ai/?focus=2210.10996","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.10996"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/jiahaozhenbang/SCOPE","reach":null}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"55f92d4f1a2f0340","entry":"FusionBertEmbeddings","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"55f92d4f1a2f0340"}},{"code_sha256_prefix":"3996d7fde0377175","entry":"GlyphEmbedding","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"3996d7fde0377175"}},{"code_sha256_prefix":"c7143a1e27675c37","entry":"MultiTaskHeads","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c7143a1e27675c37"}},{"code_sha256_prefix":"217b1f643199a174","entry":"Phonetic_Classifier","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"217b1f643199a174"}},{"code_sha256_prefix":"ae4c8e15e1958cde","entry":"Pinyin","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"ae4c8e15e1958cde"}},{"code_sha256_prefix":"361b3f9da2eab8bd","entry":"PinyinEmbedding","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"361b3f9da2eab8bd"}},{"code_sha256_prefix":"9ec39ba5cd9477f0","entry":"Dynamic_GlyceBertForMultiTask","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"9ec39ba5cd9477f0"}},{"code_sha256_prefix":"f84ff58d112aeaa1","entry":"GlyceBertModel","repo":"jiahaozhenbang/SCOPE","repo_kind":"official","path":"models/modeling_multitask.py","file_url":"https://github.com/jiahaozhenbang/SCOPE/blob/HEAD/models/modeling_multitask.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":"f84ff58d112aeaa1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}