Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -4,30 +4,33 @@ import torch
|
|
4 |
from diffusers import DiffusionPipeline
|
5 |
from datasets import load_dataset
|
6 |
|
7 |
-
headline_gen = pipeline("text2text-generation", model="Michau/t5-base-en-generate-headline", tokenizer="t5-base")
|
8 |
-
ar_to_en_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en")
|
9 |
-
en_to_ar_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-ar")
|
10 |
-
|
11 |
|
|
|
12 |
def generate_headline(selected_language, text):
|
13 |
if selected_language == "Arabic":
|
14 |
-
translated_text = translate_ar_to_en(text) #
|
15 |
-
english_headline = generate_headline_english(translated_text)
|
16 |
-
arabic_headline = translate_en_to_ar(english_headline) # Translate headline
|
17 |
return arabic_headline
|
18 |
|
19 |
elif selected_language == "English":
|
20 |
-
english_headline = generate_headline_english(text)
|
21 |
return english_headline
|
22 |
|
|
|
23 |
def translate_ar_to_en(text):
|
24 |
var_ar_to_en = ar_to_en_translator(text)[0]['translation_text']
|
25 |
return var_ar_to_en
|
26 |
|
|
|
27 |
def translate_en_to_ar(text):
|
28 |
var_en_to_ar = en_to_ar_translator(text)[0]['translation_text']
|
29 |
return var_en_to_ar
|
30 |
|
|
|
31 |
def generate_headline_english(text):
|
32 |
result1 = headline_gen(text, max_length=100, truncation=True)
|
33 |
result2 = result1[0]['generated_text']
|
@@ -78,7 +81,7 @@ interface = gr.Interface(
|
|
78 |
fn=generate_headline,
|
79 |
inputs=[
|
80 |
gr.Dropdown(choices=["Arabic", "English"], label="Select Language"),
|
81 |
-
gr.Textbox(lines=5, placeholder="Enter article text here
|
82 |
],
|
83 |
outputs=gr.Textbox(label="Generated Headline"),
|
84 |
|
|
|
4 |
from diffusers import DiffusionPipeline
|
5 |
from datasets import load_dataset
|
6 |
|
7 |
+
headline_gen = pipeline("text2text-generation", model="Michau/t5-base-en-generate-headline", tokenizer="t5-base") #Headline Generator Pipeline
|
8 |
+
ar_to_en_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en") #Arabic to English translator Pipeline
|
9 |
+
en_to_ar_translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-ar") #English to Arabic translator Pipeline
|
|
|
10 |
|
11 |
+
#main function
|
12 |
def generate_headline(selected_language, text):
|
13 |
if selected_language == "Arabic":
|
14 |
+
translated_text = translate_ar_to_en(text) #Translate Arabic text to English (so the headlines pipeline will understand the input)
|
15 |
+
english_headline = generate_headline_english(translated_text) #Generate headline in English based on the translated text
|
16 |
+
arabic_headline = translate_en_to_ar(english_headline) # Translate headline to Arabic (output will be arabic)
|
17 |
return arabic_headline
|
18 |
|
19 |
elif selected_language == "English":
|
20 |
+
english_headline = generate_headline_english(text) #Generate headline in English based on the text
|
21 |
return english_headline
|
22 |
|
23 |
+
#function to translate Arabic Text to English
|
24 |
def translate_ar_to_en(text):
|
25 |
var_ar_to_en = ar_to_en_translator(text)[0]['translation_text']
|
26 |
return var_ar_to_en
|
27 |
|
28 |
+
#function to translate English Headline to Arabic
|
29 |
def translate_en_to_ar(text):
|
30 |
var_en_to_ar = en_to_ar_translator(text)[0]['translation_text']
|
31 |
return var_en_to_ar
|
32 |
|
33 |
+
#function to generate headline in english
|
34 |
def generate_headline_english(text):
|
35 |
result1 = headline_gen(text, max_length=100, truncation=True)
|
36 |
result2 = result1[0]['generated_text']
|
|
|
81 |
fn=generate_headline,
|
82 |
inputs=[
|
83 |
gr.Dropdown(choices=["Arabic", "English"], label="Select Language"),
|
84 |
+
gr.Textbox(lines=5, placeholder="Enter article text here", label="Text/Article")
|
85 |
],
|
86 |
outputs=gr.Textbox(label="Generated Headline"),
|
87 |
|