{"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/dice-loss-for-data-imbalanced-nlp-tasks","title":"Dice Loss for Data-imbalanced NLP Tasks","arxiv_id":"1911.02855","date":"2019-11-07","proceeding":"ACL 2020 6","authors":["Xiaoya Li","Xiaofei Sun","Yuxian Meng","Junjun Liang","Fei Wu","Jiwei Li"],"abstract":"Many NLP tasks such as tagging and machine reading comprehension are faced with the severe data imbalance issue: negative examples significantly outnumber positive examples, and the huge number of background examples (or easy-negative examples) overwhelms the training. The most commonly used cross entropy (CE) criteria is actually an accuracy-oriented objective, and thus creates a discrepancy between training and test: at training time, each training instance contributes equally to the objective function, while at test time F1 score concerns more about positive examples. In this paper, we propose to use dice loss in replacement of the standard cross-entropy objective for data-imbalanced NLP tasks. Dice loss is based on the Sorensen-Dice coefficient or Tversky index, which attaches similar importance to false positives and false negatives, and is more immune to the data-imbalance issue. To further alleviate the dominating influence from easy-negative examples in training, we propose to associate training examples with dynamically adjusted weights to deemphasize easy-negative examples.Theoretical analysis shows that this strategy narrows down the gap between the F1 score in evaluation and the dice loss in training. With the proposed training objective, we observe significant performance boost on a wide range of data imbalanced NLP tasks. Notably, we are able to achieve SOTA results on CTB5, CTB6 and UD1.4 for the part of speech tagging task; SOTA results on CoNLL03, OntoNotes5.0, MSRA and OntoNotes4.0 for the named entity recognition task; along with competitive results on the tasks of machine reading comprehension and paraphrase identification.","url_abs":"https://arxiv.org/abs/1911.02855v3","url_pdf":"https://arxiv.org/pdf/1911.02855v3.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":"dice-loss-for-data-imbalanced-nlp-tasks","repo_url":"https://github.com/ShannonAI/dice_loss_for_NLP","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"dice-loss-for-data-imbalanced-nlp-tasks","repo_url":"https://github.com/fursovia/self-adj-dice","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"dice-loss-for-data-imbalanced-nlp-tasks","repo_url":"https://github.com/MindCode-4/code-11/tree/main/dice-loss-for-data-imbalanced-nlp-tasks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"dice-loss-for-data-imbalanced-nlp-tasks","repo_url":"https://github.com/MindCode-4/code-6/tree/main/drop-an-octave-reducing-spatial","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"chinese-named-entity-recognition","task_name":"Chinese Named Entity Recognition"},{"task_slug":"machine-reading-comprehension","task_name":"Machine Reading Comprehension"},{"task_slug":"named-entity-recognition-1","task_name":"Named Entity Recognition"},{"task_slug":"named-entity-recognition-ner","task_name":"Named Entity Recognition (NER)"},{"task_slug":"paraphrase-identification","task_name":"Paraphrase Identification"},{"task_slug":"part-of-speech-tagging","task_name":"Part-Of-Speech Tagging"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"reading-comprehension","task_name":"Reading Comprehension"},{"task_slug":"named-entity-recognition","task_name":"named-entity-recognition"}],"methods":[{"method_slug":"dice-loss","method_name":"Dice Loss"},{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/chinese-named-entity-recognition-on-msra","task":"Chinese Named Entity Recognition","dataset":"MSRA","model":"BERT-MRC+DSC","rank_in_archive_order":1,"of":21,"metrics":{"F1":"96.72"},"uses_additional_data":true},{"leaderboard":"/sota/chinese-named-entity-recognition-on-ontonotes","task":"Chinese Named Entity Recognition","dataset":"OntoNotes 4","model":"BERT-MRC+DSC","rank_in_archive_order":1,"of":15,"metrics":{"F1":"84.47"},"uses_additional_data":true},{"leaderboard":"/sota/named-entity-recognition-ner-on-conll-2003","task":"Named Entity Recognition (NER)","dataset":"CoNLL 2003 (English)","model":"BERT-MRC+DSC","rank_in_archive_order":26,"of":73,"metrics":{"F1":"93.33"},"uses_additional_data":true},{"leaderboard":"/sota/named-entity-recognition-ner-on-ontonotes-v5","task":"Named Entity Recognition (NER)","dataset":"Ontonotes v5 (English)","model":"BERT-MRC+DSC","rank_in_archive_order":1,"of":28,"metrics":{"F1":"92.07"},"uses_additional_data":true},{"leaderboard":"/sota/question-answering-on-squad11-dev","task":"Question Answering","dataset":"SQuAD1.1 dev","model":"XLNet+DSC","rank_in_archive_order":3,"of":55,"metrics":{"EM":"89.79","F1":"95.77"},"uses_additional_data":true},{"leaderboard":"/sota/question-answering-on-squad20-dev","task":"Question Answering","dataset":"SQuAD2.0 dev","model":"XLNet+DSC","rank_in_archive_order":2,"of":13,"metrics":{"EM":"87.65","F1":"89.51"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.02855","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.02855"}},"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/ShannonAI/dice_loss_for_NLP","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fursovia/self-adj-dice","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindCode-4/code-11/tree/main/dice-loss-for-data-imbalanced-nlp-tasks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindCode-4/code-6/tree/main/drop-an-octave-reducing-spatial","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"56ac661b02728040","entry":"collate_to_max_length","repo":"ShannonAI/dice_loss_for_NLP","repo_kind":"official","path":"datasets/collate_functions.py","file_url":"https://github.com/ShannonAI/dice_loss_for_NLP/blob/HEAD/datasets/collate_functions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"56ac661b02728040"}},{"code_sha256_prefix":"3ab7993575889e4a","entry":"sample_positive_and_negative_by_ratio","repo":"ShannonAI/dice_loss_for_NLP","repo_kind":"official","path":"datasets/data_sampling.py","file_url":"https://github.com/ShannonAI/dice_loss_for_NLP/blob/HEAD/datasets/data_sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3ab7993575889e4a"}},{"code_sha256_prefix":"db9f3807cf1d3857","entry":"truncated_normal_","repo":"ShannonAI/dice_loss_for_NLP","repo_kind":"official","path":"models/classifier.py","file_url":"https://github.com/ShannonAI/dice_loss_for_NLP/blob/HEAD/models/classifier.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"db9f3807cf1d3857"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}