🚀 T5英、俄、中文多语言机器翻译
本模型是一个处于多任务模式下的传统T5变换器模型,用于将文本翻译成所需语言。它经过精确配置,可处理以下语言对的机器翻译:俄 - 中、中 - 俄、英 - 中、中 - 英、英 - 俄、俄 - 英。
该模型能够在俄语、中文和英语任意两种语言之间进行直接翻译。若要将文本翻译成目标语言,需在文本前添加目标语言标识符作为前缀,即 'translate to :'。此时,无需指定源语言,而且源文本可以是多语言的。
🚀 快速开始
俄译中示例
from transformers import T5ForConditionalGeneration, T5Tokenizer
device = 'cuda'
model_name = 'utrobinmv/t5_translate_en_ru_zh_large_1024'
model = T5ForConditionalGeneration.from_pretrained(model_name)
model.to(device)
tokenizer = T5Tokenizer.from_pretrained(model_name)
prefix = 'translate to zh: '
src_text = prefix + "Съешь ещё этих мягких французских булок."
input_ids = tokenizer(src_text, return_tensors="pt")
generated_tokens = model.generate(**input_ids.to(device))
result = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(result)
中译俄示例
from transformers import T5ForConditionalGeneration, T5Tokenizer
device = 'cuda'
model_name = 'utrobinmv/t5_translate_en_ru_zh_large_1024'
model = T5ForConditionalGeneration.from_pretrained(model_name)
model.to(device)
tokenizer = T5Tokenizer.from_pretrained(model_name)
prefix = 'translate to ru: '
src_text = prefix + "再吃这些法国的甜蜜的面包。"
input_ids = tokenizer(src_text, return_tensors="pt")
generated_tokens = model.generate(**input_ids.to(device))
result = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(result)
✨ 主要特性
- 可在俄语、中文和英语任意两种语言之间进行直接翻译。
- 翻译时只需指定目标语言标识符作为前缀,源语言可不指定,源文本也可以是多语言的。
💻 使用示例
基础用法
from transformers import T5ForConditionalGeneration, T5Tokenizer
device = 'cuda'
model_name = 'utrobinmv/t5_translate_en_ru_zh_large_1024'
model = T5ForConditionalGeneration.from_pretrained(model_name)
model.to(device)
tokenizer = T5Tokenizer.from_pretrained(model_name)
prefix = 'translate to zh: '
src_text = prefix + "Съешь ещё этих мягких французских булок."
input_ids = tokenizer(src_text, return_tensors="pt")
generated_tokens = model.generate(**input_ids.to(device))
result = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(result)
高级用法
from transformers import T5ForConditionalGeneration, T5Tokenizer
device = 'cuda'
model_name = 'utrobinmv/t5_translate_en_ru_zh_large_1024'
model = T5ForConditionalGeneration.from_pretrained(model_name)
model.to(device)
tokenizer = T5Tokenizer.from_pretrained(model_name)
prefix = 'translate to zh: '
src_text = prefix + "Съешь ещё этих мягких французских булок."
input_ids = tokenizer(src_text, return_tensors="pt")
generated_tokens = model.generate(**input_ids.to(device), max_length=50, num_beams=5)
result = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(result)
📚 详细文档
该模型是一个多任务模式下的传统T5变换器模型,专门用于特定语言对的机器翻译。在进行翻译时,只需在源文本前添加目标语言标识符作为前缀,即可实现翻译。源语言无需指定,源文本也可以是多语言的。
🔧 技术细节
本模型是一个经过精确配置的T5变换器模型,用于处理俄语、中文和英语之间的机器翻译。它可以直接在任意两种语言之间进行翻译,通过在源文本前添加目标语言标识符作为前缀来指定目标语言。模型的训练数据可能来自于ccmatrix
数据集,评估指标使用了sacrebleu
。
📄 许可证
本项目采用Apache 2.0许可证。
📦 支持语言
语言 |
代码 |
俄语 |
ru_RU |
中文 |
zh_CN |
英语 |
en_US |
📋 在线示例
示例标题 |
文本 |
中译俄 |
translate to ru: 开发的目的是为用户提供个人同步翻译。 |
俄译英 |
translate to en: Цель разработки — предоставить пользователям личного синхронного переводчика. |
英译俄 |
translate to ru: The purpose of the development is to provide users with a personal synchronized interpreter. |
英译中 |
translate to zh: The purpose of the development is to provide users with a personal synchronized interpreter. |
中译英 |
translate to en: 开发的目的是为用户提供个人同步解释器。 |
俄译中 |
translate to zh: Цель разработки — предоставить пользователям личного синхронного переводчика. |