File size: 5,011 Bytes
ec5e298
0448024
 
6b8e76a
6f53c7c
0448024
 
 
 
 
6f53c7c
 
 
0448024
 
 
 
 
 
6b8e76a
0448024
 
6b8e76a
0448024
 
6b8e76a
0448024
6f53c7c
 
19d9ac6
6f53c7c
0448024
6f53c7c
 
 
0448024
6f53c7c
 
 
ec5e298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
"""
import logging
from transformers import MarianMTModel, MarianTokenizer
import sentencepiece

# Setup logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

# Initialize logger
logger = logging.getLogger(__name__)

# Define a function to translate text from Russian to English
def translate_to_english(text):
    logger.info("Loading model and tokenizer")
    model_name = 'Helsinki-NLP/opus-mt-ru-en'
    tokenizer = MarianTokenizer.from_pretrained(model_name)
    model = MarianMTModel.from_pretrained(model_name)

    logger.info("Tokenizing text")
    tokenized_text = tokenizer(text, return_tensors='pt', padding=True, truncation=True)

    logger.info("Performing translation")
    translated_tokens = model.generate(**tokenized_text)

    logger.info("Decoding translation")
    translated_text = tokenizer.decode(translated_tokens[0], skip_special_tokens=True)
    return translated_text

# Sample Russian text
russian_text = "16 стран-участниц «мирного саммита» в Швейцарии отказались подписывать коммюнике. Изначально документ подписали 80 из 92 приглашённых государств. В частности, поддержать текст отказались Армения, Бахрейн, Бразилия, Индия, Индонезия, Ливия, Мексика, ОАЭ, Саудовская Аравия, Таиланд, ЮАР. Святой престол Папы Римского также сначала отказался подписывать коммюнике, но вскоре передумал. Свои подписи под итоговой декларацией вскоре отозвали Ирак и Иордания. Теперь из списка также исчезла Руанда. Примечательно, что в день саммита министр иностранных дел Украины Кулеба лично встретился с делегацией из Кигали и даже отчитался об этом. Представители государства не сообщили, почему решили отозвать свою подпись. Украинская сторона также не прокомментировала решение. Ранее выяснилось, что суть подписанного на саммите коммюнике свелась к предупреждению о недопустимости применения ядерного оружия и предложениям по обмену пленными."

logger.info("Starting translation")
# Translate the text
english_text = translate_to_english(russian_text)

logger.info("Translation complete")
# Print the translated text
print(f"Original Russian text: {russian_text}")
print(f"Translated English text: {english_text}")
"""
from transformers import pipeline

# Initialize the translation pipeline for Russian to English
translator = pipeline("translation_ru_to_en", model="Helsinki-NLP/opus-mt-ru-en")

# Input text in Russian
text = "16 стран-участниц «мирного саммита» в Швейцарии отказались подписывать коммюнике. Изначально документ подписали 80 из 92 приглашённых государств. В частности, поддержать текст отказались Армения, Бахрейн, Бразилия, Индия, Индонезия, Ливия, Мексика, ОАЭ, Саудовская Аравия, Таиланд, ЮАР. Святой престол Папы Римского также сначала отказался подписывать коммюнике, но вскоре передумал. Свои подписи под итоговой декларацией вскоре отозвали Ирак и Иордания. Теперь из списка также исчезла Руанда. Примечательно, что в день саммита министр иностранных дел Украины Кулеба лично встретился с делегацией из Кигали и даже отчитался об этом. Представители государства не сообщили, почему решили отозвать свою подпись. Украинская сторона также не прокомментировала решение. Ранее выяснилось, что суть подписанного на саммите коммюнике свелась к предупреждению о недопустимости применения ядерного оружия и предложениям по обмену пленными."

# Translate the text
translation = translator(text)

# Print the translated text
print(translation[0]['translation_text'])