|
import gradio as gr |
|
from transformers.pipelines import pipeline |
|
|
|
model_names = ["IT5 Small", "IT5 Base", "IT5 Large", "mT5 Small", "mT5 Base", "IT5 Small Efficient"] |
|
model_values = ['it5-small', 'it5-base', 'it5-large', 'mt5-small', 'mt5-base', "it5-efficient-small-el32"] |
|
|
|
task_names = ["Headline Generation", "Question Answering", "Question Generation", "Wikipedia Summarization", "News Summarization", "Formal to Informal Style Transfer", "Informal to Formal Style Transfer", "Il Giornale to Repubblica Headline Style Transfer", "Repubblica to Il Giornale Headline Style Transfer"] |
|
task_values = ['headline-generation', 'question-answering', 'question-generation', 'wiki-summarization', 'news-summarization', 'formal-to-informal', 'informal-to-formal', 'ilgiornale-to-repubblica', 'repubblica-to-ilgiornale'] |
|
|
|
full_ids = { |
|
task_id: { |
|
model_id: f"gsarti/{model_id}-{task_id}" |
|
for model_id in model_values |
|
} |
|
for task_id in task_values |
|
} |
|
|
|
examples = [ |
|
[ |
|
"""maronn qualcuno mi spieg' CHECCOSA SUCCEDE?!?!""", |
|
model_names[0], task_names[6] |
|
], |
|
[ |
|
"""nn capisco xke tt i ragazzi lo fanno""", |
|
model_names[1], task_names[6] |
|
], |
|
[ |
|
"""IT5 è SUPERMEGA BRAVISSIMO a capire tt il vernacolo italiano!!!""", |
|
model_names[1], task_names[6] |
|
], |
|
[ |
|
"""In attesa di un Suo cortese riscontro, Le auguriamo un piacevole proseguimento di giornata.""", |
|
model_names[0], task_names[5] |
|
], |
|
[ |
|
"""ROMA - Una nuova droga killer è stata sequestrata per la prima volta in Europa dagli investigatori del Nas. Si tratta di una nuova "miscela psicoattiva altamente tossica" per la prima volta individuata da forze di polizia, simile all'eroina sintetica, ma molto più economica e letale. Tanto che i 20 grammi scoperti sarebbero stati sufficienti per fabbricare ben 20.000 dosi e lo stesso contatto attraverso la pelle può provocare intossicazione. Individuata per la prima volta, la nuova droga presenta una struttura simile al farmaco sedativo Fentanyl ma con effetti molto più devastanti per l'organismo. Proveniva dell'estero ed era contenuta in un plico postale indirizzato in una città del centro Italia: è stata intercettata tramite accertamenti sul web grazie a un'operazione di intelligence che ha visto come protagonisti i militari della Sezione operativa centrale del Comando carabinieri per la Tutela della salute (Nas). Economica e letale, secondo gli investigatori "in confronto l'eroina è quasi 'acqua fresca', anzi, proprio per la sua economicità, in alcuni casi viene venduta dai pusher a giovani conviti di comprare eroina". La diffusione di nuove droghe sintetiche che continuamente appaiono sui mercati necessita di un'attività investigativa costante e complessa. Si tratta infatti di sostanze dalla struttura molecolare molto simile a quella del Fentanyl ma ogni volta leggermente diversa. Di qui la difficoltà di individuarle e l'importanza del nuovo sequestro. "La chiamano impropriamente 'eroina sintetica' - spiega il comandante dei Nas, generale Adelmo Lusi - per il tipo di effetto psicotropo simile, ma dal punto di vista della tossicità è molto peggio: con 25 milligrammi di eroina ci si sballa, con 25mg di simil-fentanyl, come quello appena sequestrato, si muore". Le indagini sono partite da ricoveri per overdose in ospedale, in cui arrivavano ragazzi che non rispondevano al trattamento disintossicante per l'eroina. La nuova sostanza verrà ora segnalata per l'inserimento tra le tabelle ministeriali degli stupefacenti prevista dal Dpr 309/1990.""", |
|
model_names[0], task_names[0] |
|
], |
|
[ |
|
"""L' embargo non era uniforme in tutta Europa. Dei nove membri della Comunità Economica Europea (CEE), i Paesi Bassi hanno dovuto affrontare un embargo totale, il Regno Unito e la Francia hanno ricevuto forniture quasi ininterrotte (poichè si sono rifiutati di consentire all' America di utilizzare i loro aerodromi e le armi e forniture embargo sia agli arabi che agli israeliani), mentre gli altri sei hanno dovuto affrontare tagli parziali. Il Regno Unito era tradizionalmente un alleato di Israele, e il governo di Harold Wilson ha sostenuto gli israeliani durante la guerra dei sei giorni. Il suo successore, Ted Heath, ribaltò questa politica nel 1970, chiedendo a Israele di ritirarsi ai suoi confini prima del 1967. Domanda: Il Regno Unito e la Francia non hanno avuto interruzioni dell' approvvigionamento petrolifero in quanto non hanno consentito a quale paese di utilizzare il loro aeroporto?""", |
|
model_names[0], task_names[1] |
|
], |
|
[ |
|
"""L' American Broadcasting Company (ABC) (stlized nel suo logo come abc dal 1957) è una rete televisiva commerciale americana trasmissione televisiva che è di proprietà del Disney-ABC Television Group, una controllata della divisione Disney Media Networks di The Walt Disney Company. La rete fa parte delle grandi reti televisive Big Three. La rete ha sede a Columbus Avenue e West 66th Street a Manhattan, con ulteriori uffici e stabilimenti di produzione a New York City, Los Angeles e Burbank, California. Risposta: Manhattan""", |
|
model_names[0], task_names[2] |
|
], |
|
[ |
|
"""La 5ª Commissione ha competenza per i disegni di legge riguardanti le specifiche materie del bilancio, del personale e dei servizi del Ministero dell'economia, nonché per i disegni di legge riguardanti la materia finanziaria. La Commissione è composta da 26 senatori (di cui 2 segretari, 2 vicepresidenti di cui 1 componente esterno, e un presidente) scelti in modo omogeneo tra i componenti di quel ramo del Parlamento, in modo da rispecchiarne le forze politiche presenti. Essi sono scelti dai gruppi parlamentari (e non dal Presidente, come invece accade per l'organismo della Giunta parlamentare): per la nomina dei membri ciascun Gruppo, entro cinque giorni dalla propria costituzione, procede, dandone comunicazione alla Presidenza del Senato, alla designazione dei propri rappresentanti nelle singole Commissioni permanenti. Ogni senatore chiamato a far parte del governo o eletto presidente della Commissione è, per la durata della carica, sostituito dal suo gruppo nella Commissione con un altro senatore, che continuerà ad appartenere anche alla Commissione di provenienza. Tranne in rari casi nessun Senatore può essere assegnato a più di una Commissione permanente. Le Commissioni permanenti sono rinnovate dopo il primo biennio della legislatura ed i loro componenti possono essere confermati.""", |
|
model_names[0], task_names[3] |
|
], |
|
[ |
|
"""L’azienda statunitense Broadcom, uno dei più grandi produttori di semiconduttori al mondo, ha presentato un’offerta per acquisire Qualcomm, altra grande società degli Stati Uniti conosciuta soprattutto per la sua produzione di microprocessori Snapdragon (ARM), utilizzati in centinaia di milioni di smartphone in giro per il mondo. Broadcom ha proposto di acquistare ogni azione di Qualcomm al prezzo di 70 dollari, per un valore complessivo di circa 105 miliardi di dollari (130 miliardi se si comprendono 25 miliardi di debiti netti) . Se l’operazione dovesse essere approvata, sarebbe una delle più grandi acquisizioni di sempre nella storia del settore tecnologico degli Stati Uniti. Broadcom ha perfezionato per mesi la sua proposta di acquisto e, secondo i media statunitensi, avrebbe già preso contatti con Qualcomm per trovare un accordo. Secondo gli analisti, Qualcomm potrebbe comunque opporsi all’acquisizione perché il prezzo offerto è di poco superiore a quello dell’attuale valore delle azioni dell’azienda. Ci potrebbero essere inoltre complicazioni sul piano dell’antitrust da valutare, prima di un’eventuale acquisizione.""", |
|
model_names[0], task_names[4] |
|
], |
|
] |
|
|
|
description = "<br/>The <u><a href='https://huggingface.co/models?search=it5'>IT5 models</a></u> are a family of encoder-decoder models based on the T5 model architecture and pre-trained on a large Italian web corpus. They were introduced in the paper <u><a href='https://aclanthology.org/2024.lrec-main.823/'>IT5: Text-to-text Pretraining for Italian Language Understanding and Generation</a></u> by <u><a href='https://gsarti.com'>Gabriele Sarti</a></u> and <u><a href='https://malvinanissim.github.io/'>Malvina Nissim</a></u>.<br/><br/>In this demo you can evaluate the whole set of fine-tuned IT5 models and their multilingual counterparts on many sequence-to-sequence tasks for the Italian language (see examples below).<br/><br/>📄 Paper: <u><a href='https://aclanthology.org/2024.lrec-main.823/'>https://aclanthology.org/2024.lrec-main.823/</a></u><br/>💻 Code & Data: <u><a href='https://github.com/gsarti/it5'>https://github.com/gsarti/it5</a></u><br/>🤖 Checkpoints: <u><a href='https://huggingface.co/collections/gsarti/it5-lrec-coling-2024-6600468041d8fee2c42021c8'>https://huggingface.co/collections/gsarti/it5-lrec-coling-2024-6600468041d8fee2c42021c8</a></u>" |
|
|
|
def model_link(full_id): |
|
return f"<a href='https://huggingface.co/{full_id}' target='_blank'><u>🤗 {full_id}<u></a>" |
|
|
|
loaded_model_id = None |
|
pipe = None |
|
|
|
def get_outputs(text, model_id_idx, task_id_idx): |
|
global loaded_model_id, pipe |
|
model_id = model_values[model_id_idx] |
|
task_id = task_values[task_id_idx] |
|
full_id = full_ids[task_id][model_id] |
|
if pipe is None or full_id != loaded_model_id: |
|
loaded_model_id = full_id |
|
pipe = pipeline("summarization" if 'summarization' in full_id else "text2text-generation", full_id) |
|
if 'summarization' in full_id: |
|
out = pipe(text)[0]["summary_text"] |
|
if 'wiki' in full_id: |
|
out = out.replace("'''", " ") |
|
else: |
|
out = pipe(text)[0]["generated_text"] |
|
return out, model_link(full_id) |
|
|
|
|
|
iface = gr.Interface( |
|
fn=get_outputs, |
|
inputs=[ |
|
gr.Textbox(label="Text", lines=20, placeholder="Enter a text here..."), |
|
gr.Dropdown(label="Model", choices=model_names, type="index"), |
|
gr.Dropdown(label="Task", choices=task_names, type="index") |
|
], |
|
outputs=[ |
|
gr.Textbox(label="Generated text:"), |
|
gr.HTML(label="Model used:"), |
|
], |
|
examples = examples, |
|
title="IT5 Sequence-to-sequence Demo 🇮🇹", |
|
description=description, |
|
thumbnail="https://gsarti.com/publication/it5/featured.png", |
|
theme="huggingface", |
|
allow_flagging="never", |
|
) |
|
iface.launch() |