{"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/choosing-transfer-languages-for-cross-lingual","title":"Choosing Transfer Languages for Cross-Lingual Learning","arxiv_id":"1905.12688","date":"2019-05-29","proceeding":"ACL 2019 7","authors":["Yu-Hsiang Lin","Chian-Yu Chen","Jean Lee","Zirui Li","Yuyan Zhang","Mengzhou Xia","Shruti Rijhwani","Junxian He","Zhisong Zhang","Xuezhe Ma","Antonios Anastasopoulos","Patrick Littell","Graham Neubig"],"abstract":"Cross-lingual transfer, where a high-resource transfer language is used to improve the accuracy of a low-resource task language, is now an invaluable tool for improving performance of natural language processing (NLP) on low-resource languages. However, given a particular task language, it is not clear which language to transfer from, and the standard strategy is to select languages based on ad hoc criteria, usually the intuition of the experimenter. Since a large number of features contribute to the success of cross-lingual transfer (including phylogenetic similarity, typological properties, lexical overlap, or size of available data), even the most enlightened experimenter rarely considers all these factors for the particular task at hand. In this paper, we consider this task of automatically selecting optimal transfer languages as a ranking problem, and build models that consider the aforementioned features to perform this prediction. In experiments on representative NLP tasks, we demonstrate that our model predicts good transfer languages much better than ad hoc baselines considering single features in isolation, and glean insights on what features are most informative for each different NLP tasks, which may inform future ad hoc selection even without use of our method. Code, data, and pre-trained models are available at https://github.com/neulab/langrank","url_abs":"https://arxiv.org/abs/1905.12688v2","url_pdf":"https://arxiv.org/pdf/1905.12688v2.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":"choosing-transfer-languages-for-cross-lingual","repo_url":"https://github.com/neulab/langrank","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"cross-lingual-transfer","task_name":"Cross-Lingual Transfer"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.12688","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.12688"}},"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/neulab/langrank","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran_draft_wrong":1,"unverified":5},"by_repo_kind":{"official":{"samples":6,"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":0,"samples":[{"code_sha256_prefix":"7f352620f4bfd7b0","entry":"read_vocab_file","repo":"neulab/langrank","repo_kind":"official","path":"langrank.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/langrank.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":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7f352620f4bfd7b0"}},{"code_sha256_prefix":"f965bfedef5c61cb","entry":"get_vocab","repo":"neulab/langrank","repo_kind":"official","path":"index_el_datasets.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/index_el_datasets.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f965bfedef5c61cb"}},{"code_sha256_prefix":"6bc91b03eb6e1adf","entry":"get_vocab","repo":"neulab/langrank","repo_kind":"official","path":"index_parsing_datasets.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/index_parsing_datasets.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"6bc91b03eb6e1adf"}},{"code_sha256_prefix":"3e7489dd6f714053","entry":"map_task_to_data","repo":"neulab/langrank","repo_kind":"official","path":"langrank.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/langrank.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3e7489dd6f714053"}},{"code_sha256_prefix":"58e2d9e70b149fdb","entry":"map_task_to_models","repo":"neulab/langrank","repo_kind":"official","path":"langrank.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/langrank.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"58e2d9e70b149fdb"}},{"code_sha256_prefix":"c18a31c1a55c17c4","entry":"read_data","repo":"neulab/langrank","repo_kind":"official","path":"index_el_datasets.py","file_url":"https://github.com/neulab/langrank/blob/HEAD/index_el_datasets.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"c18a31c1a55c17c4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}