使用 mBART-50 进行 中文(Chinese)↔高棉语(Khmer) 的互译是完全支持的,虽然高棉语(km_KH)和中文(zh_
下面我将逐步说明如何使用 Hugging Face 的 transformers 库进行翻译:
一、安装必要库(如果尚未安装)
pip install transformers sentencepiece torch
二、载入模型和 tokenizer
from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
# 载入模型
model = MBartForConditionalGeneration. from_pretrained("facebook/ mbart-large-50-many-to-many- mmt")
tokenizer = MBart50TokenizerFast.from_ pretrained("facebook/mbart- large-50-many-to-many-mmt")
三、中文 → 高棉语(zh_CN → km_KH)
# 设置源语言
tokenizer.src_lang = "zh_CN"
text = "你好,欢迎来到柬埔寨!"
# 编码
encoded = tokenizer(text, return_tensors="pt")
# 设置目标语言的 forced BOS token(模型生成目标语言所需)
forced_bos_token_id = tokenizer.lang_code_to_id["km_ KH"]
# 翻译
generated_tokens = model.generate(**encoded, forced_bos_token_id=forced_ bos_token_id)
translated = tokenizer.batch_decode( generated_tokens, skip_special_tokens=True)
print(translated) # 输出高棉语翻译结果
四、高棉语 → 中文(km_KH → zh_CN)
tokenizer.src_lang = "km_KH"
text = "សួស្តី! សូមស្វាគមន៍មកកាន់ប្រទេសកម្ពុជា ។"
encoded = tokenizer(text, return_tensors="pt")
forced_bos_token_id = tokenizer.lang_code_to_id["zh_ CN"]
generated_tokens = model.generate(**encoded, forced_bos_token_id=forced_ bos_token_id)
translated = tokenizer.batch_decode( generated_tokens, skip_special_tokens=True)
print(translated) # 输出中文翻译结果
注意事项:
- 翻译质量:中 ↔ 高棉语的翻译质量比主流语言(如英法德)略弱,
可能需要后处理或人工校对。 - 语言代码:
- 中文:zh_CN
- 高棉语:km_KH
- 性能建议:建议使用 GPU 运行,加速推理。