mBART-Large-50-One-to-Many-MMT项目介绍
项目背景
mBART-Large-50-One-to-Many-MMT是一个多语言机器翻译项目,通过对mBART-large-50进行微调而得。其目的在于实现一种从英文到其他49种语言的高效翻译工具。这个模型中的mBART代表“多语言BART”,是一种经过扩展的多语言预训练和微调方法。这项技术在一篇名为《Multilingual Translation with Extensible Multilingual Pretraining and Finetuning》的论文中被详细介绍。
功能说明
这个模型能够将英文翻译为多达49种其他语言。为了实现翻译到目标语言的功能,目标语言的ID会被强制设定为生成的第一个标记。这意味着,在使用模型进行文本生成时,需要通过generate
方法设置forced_bos_token_id
参数,以确保目标语言的标识符被置于开头。例如:
from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
article_en = "The head of the United Nations says there is no military solution in Syria"
model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50-one-to-many-mmt")
tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50-one-to-many-mmt", src_lang="en_XX")
model_inputs = tokenizer(article_en, return_tensors="pt")
# 将英文翻译成印地语
generated_tokens = model.generate(
**model_inputs,
forced_bos_token_id=tokenizer.lang_code_to_id["hi_IN"]
)
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# 输出: 'संयुक्त राष्ट्र के नेता कहते हैं कि सीरिया में कोई सैन्य समाधान नहीं है'
# 将英文翻译成中文
generated_tokens = model.generate(
**model_inputs,
forced_bos_token_id=tokenizer.lang_code_to_id["zh_CN"]
)
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# 输出: '联合国首脑说,叙利亚没有军事解决办法'
支持的语言
该模型可以翻译的语言包括:
- 阿拉伯语(ar_AR)
- 捷克语(cs_CZ)
- 德语(de_DE)
- 英语(en_XX)
- 西班牙语(es_XX)
- 爱沙尼亚语(et_EE)
- 芬兰语(fi_FI)
- 法语(fr_XX)
- 古吉拉特语(gu_IN)
- 印地语(hi_IN)
- 意大利语(it_IT)
- 日语(ja_XX)
- 哈萨克语(kk_KZ)
- 韩语(ko_KR)
- 立陶宛语(lt_LT)
- 拉脱维亚语(lv_LV)
- 缅甸语(my_MM)
- 尼泊尔语(ne_NP)
- 荷兰语(nl_XX)
- 罗马尼亚语(ro_RO)
- 俄语(ru_RU)
- 僧伽罗语(si_LK)
- 土耳其语(tr_TR)
- 越南语(vi_VN)
- 中文(zh_CN)
- 南非荷兰语(af_ZA)
- 阿塞拜疆语(az_AZ)
- 孟加拉语(bn_IN)
- 波斯语(fa_IR)
- 希伯来语(he_IL)
- 克罗地亚语(hr_HR)
- 印度尼西亚语(id_ID)
- 格鲁吉亚语(ka_GE)
- 高棉语(km_KH)
- 马其顿语(mk_MK)
- 马拉雅拉姆语(ml_IN)
- 蒙古语(mn_MN)
- 马拉地语(mr_IN)
- 波兰语(pl_PL)
- 普什图语(ps_AF)
- 葡萄牙语(pt_XX)
- 瑞典语(sv_SE)
- 斯瓦希里语(sw_KE)
- 泰米尔语(ta_IN)
- 泰卢固语(te_IN)
- 泰语(th_TH)
- 他加禄语(tl_XX)
- 乌克兰语(uk_UA)
- 乌尔都语(ur_PK)
- 科萨语(xh_ZA)
- 加利西亚语(gl_ES)
- 斯洛文尼亚语(sl_SI)
学术引用
有关此项目的详情可以参考以下论文引用格式:
@article{tang2020multilingual,
title={Multilingual Translation with Extensible Multilingual Pretraining and Finetuning},
author={Yuqing Tang and Chau Tran and Xian Li and Peng-Jen Chen and Naman Goyal and Vishrav Chaudhary and Jiatao Gu and Angela Fan},
year={2020},
eprint={2008.00401},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
结论
mbart-large-50-one-to-many-mmt项目提供了一种强大且多功能的多语言翻译工具,适用于需要进行跨语言转换的各类场景。通过这个工具,用户能够方便地实现从英文到多达49种语言的转换,大大提升全球化沟通的效率。