admin 管理员组

文章数量: 1184232

简介

根据翻译模型离线翻译,语言python

环境(python3)

pip install transformers ## 安装依赖

示例

from transformers import MarianTokenizer, MarianMTModel

## 加载模型
def get_model(src, trg):
    model_name = f"Helsinki-NLP/opus-mt-{src}-{trg}"
    model = MarianMTModel.from_pretrained(model_name)
    tokenizer = MarianTokenizer.from_pretrained(model_name)
    return model, tokenizer

## 模型英文->中文
def get_model_en_zh():
    src = "en"  # source language
    trg = "zh"  # target language
    return get_model(src, trg)

## 模型中文->英文
def get_model_zh_en():
    src = "zh"  # source language
    trg = "en"  # target language
    return get_model(src, trg)

## 翻译
def trans(model, tokenizer, sample_text):
    batch = tokenizer([sample_text], return_tensors="pt")
    generated_ids = model.generate(**batch)
    text = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
    return text


model, tokenizer = get_model_zh_en()
o_zh_text = "今天天气不错" # 原数据
print("o_zh: ", o_zh_text)
en_text = trans(model, tokenizer, o_zh_text)
print("en: ", en_text) ## 翻译为英文
zhModel, zhTokenizer = get_model_en_zh()
tzh_text = trans(zhModel, zhTokenizer, en_text)
print("t_zh: ", tzh_text) ## 再翻译为中文

结果

o_zh:  今天天气不错  ## 原始中文
en:  It's a nice day. ## 翻译的英文
t_zh:  今天天气不错 ## 再次翻译的中文

本文标签: 英文 中文 中文翻译 文本 英文翻译