bto00 commited on
Commit
291bd6c
·
1 Parent(s): 011c1ae

FINAAAALYY I DID IT!!!

Browse files
Files changed (2) hide show
  1. README.md +23 -0
  2. app.py +1 -11
README.md CHANGED
@@ -10,3 +10,26 @@ pinned: false
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
13
+
14
+
15
+ Этот проект предоставляет веб-приложение для перевода текста между русским и английским языками с функцией автоматического краткого изложения перевода. Разработан на основе Streamlit и библиотеки Transformers.
16
+
17
+ Функционал:
18
+ Перевод текста:
19
+ *С русского на английский.
20
+ *С английского на русский.
21
+ Суммирование текста перевода:
22
+ *Генерация краткой версии перевода при достаточной длине текста.
23
+
24
+ Используемые модели:
25
+ Перевод:
26
+ *Helsinki-NLP/opus-mt-ru-en (RU → EN)
27
+ *Helsinki-NLP/opus-mt-en-ru (EN → RU)
28
+ Суммирование:
29
+ *facebook/bart-large-cnn
30
+
31
+ Интерфейс:
32
+ *Введите текст для перевода.
33
+ *Выберите исходный и целевой языки.
34
+ *Нажмите кнопку "Перевести".
35
+ *Получите перевод и, при необходимости, его краткий вариант.
app.py CHANGED
@@ -1,20 +1,15 @@
1
  import streamlit as st
2
  from transformers import pipeline
3
 
4
- # Использование if __name__ == '__main__' для Windows
5
  if __name__ == '__main__':
6
- # Модели для перевода
7
  ru_en_translator = pipeline('translation_ru_to_en', model='Helsinki-NLP/opus-mt-ru-en')
8
  en_ru_translator = pipeline('translation_en_to_ru', model='Helsinki-NLP/opus-mt-en-ru')
9
 
10
- # Модель для суммирования текста
11
  summarizer = pipeline('summarization', model='facebook/bart-large-cnn')
12
 
13
- # Название и описание
14
  st.title("Переводчик с суммированием")
15
  st.write("Перевод между русским и английским языками с кратким изложением перевода.")
16
 
17
- # Ввод текста и выбор языков
18
  input_text = st.text_area("Введите текст для перевода:")
19
 
20
  language_options = {
@@ -22,30 +17,25 @@ if __name__ == '__main__':
22
  "Английский": "en_XX"
23
  }
24
 
25
- # Пользователь выбирает исходный и целевой язык
26
  src_lang = st.selectbox("Выберите исходный язык:", list(language_options.keys()))
27
  tgt_lang = st.selectbox("Выберите целевой язык:", list(language_options.keys()))
28
 
29
- # Перевод при нажатии кнопки
30
  if st.button("Перевести"):
31
  if tgt_lang == src_lang:
32
  st.write("Выберите другой язык для перевода")
33
  elif input_text.strip():
34
  if src_lang == "Русский" and tgt_lang == "Английский":
35
- # Перевод с русского на английский
36
  translation = ru_en_translator(input_text)
37
  translated_text = translation[0]['translation_text']
38
  st.write(f"Перевод с Русского на Английский:")
39
  st.write(translated_text)
40
  elif src_lang == "Английский" and tgt_lang == "Русский":
41
- # Перевод с английского на русский
42
  translation = en_ru_translator(input_text)
43
  translated_text = translation[0]['translation_text']
44
  st.write(f"Перевод с Английского на Русский:")
45
  st.write(translated_text)
46
 
47
- # Суммирование текста перевода
48
- if len(translated_text.split()) > 10: # Проверяем, есть ли текст для суммирования
49
  summary = summarizer(translated_text, max_length=50, min_length=10, do_sample=False)
50
  st.write("Краткий вариант перевода:")
51
  st.write(summary[0]['summary_text'])
 
1
  import streamlit as st
2
  from transformers import pipeline
3
 
 
4
  if __name__ == '__main__':
 
5
  ru_en_translator = pipeline('translation_ru_to_en', model='Helsinki-NLP/opus-mt-ru-en')
6
  en_ru_translator = pipeline('translation_en_to_ru', model='Helsinki-NLP/opus-mt-en-ru')
7
 
 
8
  summarizer = pipeline('summarization', model='facebook/bart-large-cnn')
9
 
 
10
  st.title("Переводчик с суммированием")
11
  st.write("Перевод между русским и английским языками с кратким изложением перевода.")
12
 
 
13
  input_text = st.text_area("Введите текст для перевода:")
14
 
15
  language_options = {
 
17
  "Английский": "en_XX"
18
  }
19
 
 
20
  src_lang = st.selectbox("Выберите исходный язык:", list(language_options.keys()))
21
  tgt_lang = st.selectbox("Выберите целевой язык:", list(language_options.keys()))
22
 
 
23
  if st.button("Перевести"):
24
  if tgt_lang == src_lang:
25
  st.write("Выберите другой язык для перевода")
26
  elif input_text.strip():
27
  if src_lang == "Русский" and tgt_lang == "Английский":
 
28
  translation = ru_en_translator(input_text)
29
  translated_text = translation[0]['translation_text']
30
  st.write(f"Перевод с Русского на Английский:")
31
  st.write(translated_text)
32
  elif src_lang == "Английский" and tgt_lang == "Русский":
 
33
  translation = en_ru_translator(input_text)
34
  translated_text = translation[0]['translation_text']
35
  st.write(f"Перевод с Английского на Русский:")
36
  st.write(translated_text)
37
 
38
+ if len(translated_text.split()) > 10:
 
39
  summary = summarizer(translated_text, max_length=50, min_length=10, do_sample=False)
40
  st.write("Краткий вариант перевода:")
41
  st.write(summary[0]['summary_text'])