awacke1's picture
Update app.py
7a0a683
from difflib import Differ
import gradio as gr
from transformers import pipeline
pipe = pipeline("summarization", "dominguesm/positive-reframing-en")
def predict(text, operation):
try:
res = pipe(f"[{operation}]: {text}", max_length=124)
except Exception as e:
return e
d = Differ()
return (
res[0]["summary_text"],
[
(token[2:], token[0] if token[0] != " " else None)
for token in d.compare(text, res[0]["summary_text"])
],
)
# return res[0]["summary_text"]
iface = gr.Interface(
fn=predict,
inputs=[
gr.Textbox(
lines=1,
placeholder=(
f"It is hard to take time when in a hurry, but you could do what you want or what is in your nature."
),
),
gr.Radio(
[
"growth",
"impermanence",
"neutralizing",
"optimism",
"self_affirmation",
"thankfulness",
]
),
],
outputs=[
gr.Textbox(label="Generated Text"),
gr.HighlightedText(
label="Diff",
combine_adjacent=True,
).style(color_map={"+": "green", "-": "red"}),
],
examples=[
[
"You know I really don't care about the power struggle between the papacy and secular authority in the medieval ages. stupid",
"growth",
],
[
"thinking about my future makes me want to go live on a island alone forever. annoyed",
"optimism",
],
[
"Who would have ever guessed that it would be so freaking hard to get three different grades from two different schools together.",
"thankfulness",
],
],
)
iface.launch()
import streamlit as st
# Dataset
examples = [
[
"The power struggle between the papacy and secular authority in the medieval ages is as unimportant to me as a drop of water in the ocean. (simile)",
"growth",
],
[
"Contemplating my future feels like being engulfed by the urge to escape to a secluded island, forever. (metaphor)",
"optimism",
],
[
"Who would have thought that uniting three different grades from two different schools would be as tough as nailing jelly to a wall? (simile)",
"thankfulness",
],
[
"Her laughter was like the tinkling of silver bells, filling the room with joy. (simile)",
"happiness",
],
[
"The thunder roared and boomed, striking fear in the hearts of those who heard it. (onomatopoeia)",
"courage",
],
]
language_features = [
"Metaphor",
"Simile",
"Onomatopoeia",
"Alliteration",
"Assonance",
"Hyperbole",
"Personification",
"Oxymoron",
"Paradox",
"Pun",
"Irony",
"Sarcasm",
"Allusion",
"Imagery",
"Symbolism",
"Anaphora",
"Epistrophe",
"Parallelism",
"Euphemism",
"Synecdoche",
]
# Streamlit app
st.title("Language Feature Emoji Reference")
# Table of buttons
table_data = [language_features[i:i + 3] for i in range(0, len(language_features), 3)]
for row in table_data:
row_buttons = st.beta_columns(len(row))
for i, feature in enumerate(row):
if row_buttons[i].button(feature):
for example in examples:
if feature.lower() in example[0]:
st.write(f"**{feature}:** {example[0]}")
st.write(f"**Emoji:** {example[1]}")
st.write("---")