Spaces:
Runtime error
Runtime error
import pkg_resources | |
from transformers import pipeline | |
import gradio as gr | |
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-is-en") | |
sentiment_classifier = pipeline("text-classification", model="Birkir/electra-base-igc-is-sentiment-analysis") | |
formality_classifier = pipeline("text-classification", model="svanhvit/formality-classification-icebert") | |
detoxify_pipeline = pipeline('text-classification', model='unitary/toxic-bert', tokenizer='bert-base-uncased', function_to_apply='sigmoid', top_k=None) | |
politeness_classifier = pipeline("text-classification", model="Genius1237/xlm-roberta-large-tydip") | |
def translate_text(text): | |
translation = translator(text, max_length=512) | |
return translation[0]['translation_text'] | |
def analyze_toxicity(text): | |
toxicity_results = detoxify_pipeline(text) | |
return toxicity_results[0] | |
def analyze_politeness(text): | |
politeness_result = politeness_classifier(text) | |
return politeness_result[0]['label'], politeness_result[0]['score'] | |
def analyze_formality(text): | |
formality_result = formality_classifier(text) | |
formality_label = formality_result[0]['label'] | |
formality_score = formality_result[0]['score'] | |
return formality_label, formality_score | |
def analyze_sentiment(text): | |
sentiment_result = sentiment_classifier(text) | |
sentiment_label = sentiment_result[0]['label'] | |
sentiment_score = sentiment_result[0]['score'] | |
return sentiment_label, sentiment_score | |
def analyze_text(icelandic_text): | |
formality_label, formality_score = analyze_formality(icelandic_text) | |
sentiment_label, sentiment_score = analyze_sentiment(icelandic_text) | |
translated_text = translate_text(icelandic_text) | |
toxicity_results = analyze_toxicity(translated_text) | |
if isinstance(toxicity_results, list): | |
toxicity_results = toxicity_results[0] | |
politeness_label, politeness_score = analyze_politeness(translated_text) | |
analysis_results = { | |
"Translated Text": translated_text, | |
"Sentiment": f"Label: {sentiment_label}, Score: {round(sentiment_score, 2)}", | |
"Formality": f"Label: {formality_label}, Score: {round(formality_score, 2)}", | |
"Toxicity": f"Score: {round(toxicity_results['score'], 2)}", | |
"Politeness": f"Label: {politeness_label}, Score: {round(politeness_score, 2)}" | |
} | |
return analysis_results | |
demo = gr.Interface(fn=analyze_text, | |
inputs=gr.Textbox(lines=2, placeholder="Enter Icelandic Text Here..."), | |
outputs=[gr.Textbox(label="Translated Text"), | |
gr.Textbox(label="Sentiment"), | |
gr.Textbox(label="Formality"), | |
gr.Textbox(label="Toxicity"), | |
gr.Textbox(label="Politeness")], | |
title="Icelandic Text Analysis", | |
description="This app translates Icelandic text to English and performs sentiment, formality, toxicity, and politeness analysis.") | |
if __name__ == "__main__": | |
demo.launch() |