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

Nlp 如何使用HuggingFace将中文翻译成英文?,nlp,translation,huggingface-transformers,machine-translation,huggingface-tokenizers,Nlp,Translation,Huggingface Transformers,Machine Translation,Huggingface Tokenizers,我想使用HuggingFace的变形金刚,使用预训练的“xlm-mlm-xnli15-1024”模型,将中文翻译成英文。演示如何从英语转换为德语 我试着遵循教程,但它没有详细说明如何手动更改语言或解码结果。我不知道从哪里开始。很抱歉,这个问题不能更具体 以下是我尝试过的: from transformers import AutoModelWithLMHead, AutoTokenizer base_model = "xlm-mlm-xnli15-1024" model =

我想使用HuggingFace的变形金刚,使用预训练的
“xlm-mlm-xnli15-1024”
模型,将中文翻译成英文。演示如何从英语转换为德语

我试着遵循教程,但它没有详细说明如何手动更改语言或解码结果。我不知道从哪里开始。很抱歉,这个问题不能更具体

以下是我尝试过的:

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]))
“hugging face是一家总部位于中国纽约和巴黎的科技公司™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™'

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

该链接针对T5车型。使用XLM模型,您只需输入源语句,但需要添加语言嵌入。这一点在本文中进行了解释。请注意,此XLM模型主要用于为下游任务提供跨语言表示,因此您不能期望很好的翻译质量。

这可能会有所帮助


那很有趣。我已经浏览了多语言模型的教程。我已经尝试了下面的方法,但我仍然不清楚如何从中文句子转换成英文句子:``input\U ids=torch.tensor([tokenizer.encode('你好吗?")]) # "你好吗?“在中文中,#id=tokenizer.lang2id['zh'].#14 langs=torch.tensor([language#id]*input#id.shape[1])#torch.tensor([14,14,14,14,…,14])#我们将其重塑为大小(批大小,序列长度)langs=langs.view(1,-1)现在是形状[1,序列长度](我们的批大小为1)outputs=model(输入_id,langs=langs)“``我发现不清楚如何从嵌入空间中的这个向量转换成完整的英语句子。关于为下游任务提供跨语言表示的XLM模型,我打算在我掌握的新数据上进一步训练一个经过预训练的XLM模型。感谢你指出这一点,我仍然找不到这方面的教程:)
'<s>translate english to chinese : hugging face is a technology company based in new york and paris </s>china hug ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ ™'
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]