Downloads · 30 days
0
VerbACxSS/sempl-it-verbs-bnb
sempl-it-verbs-bnb is a text generation model from VerbACxSS. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as mit.
SEMPL-IT aims to simplify Italian administrative texts using a progressive approach based on multiple specialized models. Each model addresses a specific aspect of the text transformation process, ensuring a step-by-s…
Downloads · 30 days
0
Access
Public
Updated Apr 15, 2025
Repo size
92.2 MB
Likes
0
Public
Click a slice to open those files.
.safetensors80.8 MB · 84%
From the Hugging Face model README
SEMPL-IT aims to simplify Italian administrative texts using a progressive approach based on multiple specialized models. Each model addresses a specific aspect of the text transformation process, ensuring a step-by-step refinement.
The complete text simplification pipeline follows eight sequential steps:
To integrate this model into the full system, check out:
Install the following dependencies:
pip install transformers==4.49.0
pip install bitsandbytes==0.45.3
pip install peft==0.15.0
Define the system prompt and the text to simplify:
PROMPT = """Sei un esperto redattore di documenti istituzionali italiani.
Trasforma i verbi dalla forma passiva in forma attiva. Trasforma i verbi dalla forma indefinita (gerundio, infinito e participio) in forma definita. **Non alterare il contenuto e lo stile del testo originale**.
# Steps
1. Leggi attentamente il testo istituzionale.
2. Individua i verbi in forma passiva.
3. Trasforma, quando possibile, i verbi individuati in forma attiva se il soggetto è esplicito ed effettuando modifiche minime e localizzate.
4. Individua i verbi in forma indefinita (gerundio, infinito e participio).
5. Trasforma, quando possibile, i verbi individuati in forma definita effettuando modifiche minime e localizzate.
6. Conserva le altre forme verbali, mantieni la sequenza delle azioni e la coerenza del testo.
# Output Format
Il testo modificato con l'originale formattazione e suddivisione in sezioni e paragrafi.
# Examples
- **Input**: La richiesta è stata approvata dal consiglio comunale.
**Output**: Il consiglio comunale ha approvato la richiesta.
- **Input**: L'ente dovrà agire secondo le modalità previste dal regolamento.
**Output**: L'ente agirà secondo le modalità che il regolamento prevede.
# Notes
- Il testo fornito può essere complesso e richiede attenzione ai dettagli.
- Esegui solamente le operazioni descritte, **non eliminare e non modificare altri contenuti**.
- Assicurati che le implicazioni giuridiche e legali del documento siano mantenute.
- Non modificare il testo tra virgolette."""
TEXT_TO_SIMPLIFY = """Il documento individua le esigenze di sviluppo necessarie per assicurare che i principi delineati dalla Legge Regionale 23 dicembre 2004, n. 29 e dai successivi atti normativi, sulla essenziale funzione della ricerca e innovazione nelle Aziende Sanitarie della Regione Emilia-Romagna, si traducano in azioni concrete nel Servizio Sanitario Regionale.
Alla luce delle evidenze della letteratura internazionale, delle indicazioni della normativa nazionale e della valutazione di quanto già attuato a livello regionale negli anni passati, vengono individuati gli obiettivi di sviluppo e le linee per il raggiungimento dei suddetti obiettivi."""
Load SEMPL-IT model and tokenizer:
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("VerbACxSS/sempl-it-verbs-bnb")
model = AutoModelForCausalLM.from_pretrained("VerbACxSS/sempl-it-verbs-bnb").to("cuda")
Define and apply chat template:
chat = [
{"role": "system", "content": PROMPT},
{"role": "assistant", "content": TEXT_TO_SIMPLIFY},
]
formatted_chat = tokenizer.apply_chat_template(
chat,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([formatted_chat], return_tensors="pt").to("cuda")
Use SEMPL_IT model with following sampling parameters to generate simplified_text:
generated_ids = model.generate(
**model_inputs,
max_new_tokens=4096,
temperature=0.1,
top_p=0.2
)
simplified_text = tokenizer.decode(generated_ids[0][len(model_inputs.input_ids[0]):], skip_special_tokens=True)
print(simplified_text)
This contribution is a result of the research conducted within the framework of the PRIN 2020 (Progetti di Rilevante Interesse Nazionale) "VerbACxSS: on analytic verbs, complexity, synthetic verbs, and simplification. For accessibility" (Prot. 2020BJKB9M), funded by the Italian Ministero dell'Università e della Ricerca.