🚀 四葉草(Quadrifoglio) - 用於英語到意大利語翻譯的小型模型
四葉草(Quadrifoglio)是一個基於bigscience/mt0-small
的編碼器 - 解碼器Transformer模型,用於英語和意大利語之間的文本翻譯。它在Helsinki-NLP/opus-100
和Helsinki-NLP/europarl
數據集的英意(en-it
)部分上進行了訓練。
🚀 快速開始
模型信息
屬性 |
詳情 |
庫名稱 |
transformers |
標籤 |
seq2seq |
許可證 |
apache - 2.0 |
數據集 |
Helsinki - NLP/europarl、Helsinki - NLP/opus - 100 |
語言 |
英語、意大利語 |
基礎模型 |
bigscience/mt0 - small |
任務類型 |
翻譯 |
評估指標 |
bleu |
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
tokenizer = AutoTokenizer.from_pretrained("LeonardPuettmann/Quadrifoglio-mt-en-it")
model = AutoModelForSeq2SeqLM.from_pretrained("LeonardPuettmann/Quadrifoglio-mt-en-it")
def generate_response(input_text):
input_ids = tokenizer("translate English to Italian:" + input_text, return_tensors="pt").input_ids
output = model.generate(input_ids, max_new_tokens=256)
return tokenizer.decode(output[0], skip_special_tokens=True)
text_to_translate = "I would like a cup of green tea, please."
response = generate_response(text_to_translate)
print(response)
高級用法
由於該模型是在翻譯句子對上進行訓練的,因此最好將較長的文本拆分為單個句子,理想情況下可以使用SpaCy。然後可以翻譯這些句子,並在最後將翻譯結果連接起來,示例代碼如下:
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
import spacy
nlp = spacy.load("en_core_web_sm")
tokenizer = AutoTokenizer.from_pretrained("LeonardPuettmann/Quadrifoglio-mt-en-it")
model = AutoModelForSeq2SeqLM.from_pretrained("LeonardPuettmann/Quadrifoglio-mt-en-it")
def generate_response(input_text):
input_ids = tokenizer("translate Italian to English: " + input_text, return_tensors="pt").input_ids
output = model.generate(input_ids, max_new_tokens=256)
return tokenizer.decode(output[0], skip_special_tokens=True)
text = "How are you doing? Today is a beautiful day. I hope you are doing fine."
doc = nlp(text)
sentences = [sent.text for sent in doc.sents]
sentence_translations = []
for i, sentence in enumerate(sentences):
sentence_translation = generate_response(sentence)
sentence_translations.append(sentence_translation)
full_translation = " ".join(sentence_translations)
print(full_translation)
📚 詳細文檔
評估
評估是在Opus 100測試集上完成的。
BLEU評估結果
|
四葉草(本模型) |
mt0 - small |
DeepL |
BLEU得分 |
0.4816 |
0.0159 |
0.5210 |
一元語法準確率 |
0.7305 |
0.2350 |
0.7613 |
二元語法準確率 |
0.5413 |
0.0290 |
0.5853 |
三元語法準確率 |
0.4289 |
0.0076 |
0.4800 |
四元語法準確率 |
0.3417 |
0.0013 |
0.3971 |
📄 許可證
本項目採用apache - 2.0
許可證。