首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HuggingFace将中文翻译成英文?

如何使用HuggingFace将中文翻译成英文?
EN

Stack Overflow用户
提问于 2020-07-04 20:16:07
回答 2查看 3.7K关注 0票数 4

我想使用HuggingFace的transformers将中文翻译成英文,使用的是预先训练好的"xlm-mlm-xnli15-1024"模型。This tutorial展示了如何从英语到德语进行转换。

我尝试按照教程操作,但它没有详细说明如何手动更改语言或解码结果。我不知从何说起。很抱歉,这个问题不能更具体了。

这是我尝试过的:

代码语言:javascript
复制
from transformers import AutoModelWithLMHead, AutoTokenizer
base_model = "xlm-mlm-xnli15-1024"
model = AutoModelWithLMHead.from_pretrained(base_model)
tokenizer = AutoTokenizer.from_pretrained(base_model)

inputs = tokenizer.encode("translate English to Chinese: Hugging Face is a technology company based in New York and Paris", return_tensors="pt")
outputs = model.generate(inputs, max_length=40, num_beams=4, early_stopping=True)

print(tokenizer.decode(outputs.tolist()[0]))
代码语言:javascript
复制
'<s>translate english to chinese : hugging face is a technology company based in new york and paris </s>china hug ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™'
EN

回答 2

Stack Overflow用户

发布于 2020-07-14 18:05:59

您提到的模型是xlm-mlm-xnli15-1024可以用于翻译,但不是以您提供的链接中显示的方式。

该链接特定于T5型号。使用XLM模型,您只需提供源句,但需要添加语言嵌入。tutorial for multilingual models中对此进行了说明。另请注意,此XLM模型主要用于为下游任务提供跨语言表示,因此您不能期望非常好的翻译质量。

票数 3
EN

Stack Overflow用户

发布于 2021-04-25 08:14:04

这可能会有所帮助。https://huggingface.co/Helsinki-NLP/opus-mt-zh-en

代码语言:javascript
复制
import transformers
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-zh-en")
model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-zh-en")
text ='央视春晚,没有最烂,只有更烂'
tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors='pt')
translation = model.generate(**tokenized_text)
translated_text = tokenizer.batch_decode(translation, skip_special_tokens=False)[0]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62728985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档