--- tags: - sentence-transformers - cross-encoder - reranker - generated_from_trainer - dataset_size:474242 - loss:CrossEntropyLoss base_model: dbmdz/bert-base-italian-uncased pipeline_tag: text-classification library_name: sentence-transformers --- # 🍳 Horeca Cucine Industriali – Modello NLI Specializzato (Italiano) ## 📌 Panoramica Questo modello NLI (Natural Language Inference) è **il primo modello open-source specializzato esclusivamente sull’analisi semantica di schede tecniche di CUCINE INDUSTRIALI e PIANI COTTURA**. ✅ Non è un modello generalista Il modello è in grado di stabilire se una caratteristica **è presente (entailment), assente (contradiction) o non menzionata (neutral)** nella descrizione tecnica di un prodotto. --- ## 🎯 Obiettivo del Modello Consentire a sistemi di ricerca, Q&A o RAG di: - Comprendere realmente le schede prodotto di cucine professionali - Verificare se una certa caratteristica è presente o meno - Estrarre informazioni in modo intelligente tramite logica NLI --- ## ✅ Caratteristiche Analizzate Il modello è stato addestrato per riconoscere e validare le seguenti caratteristiche: - Numero di zone di cottura (es. 4 fuochi, 6 fuochi, 4 piastre) - Tipo di cottura (gas, elettrico, induzione) - Disposizione (su forno, a banco, top) - Dimensioni (larghezza, profondità) - Struttura / accessori (vano forno, vano aperto, mobile chiuso, alzatina, ecc.) --- ## 💡 Perché è Unico? | Modello | Specializzazione | Lingua | Applicazione reale | |--------|------------------|--------|--------------------| | GPT / Llama / generalisti | ❌ No | 🌐 Multi | ❓ Limitata | | Classici modelli NLI | ❌ No | ❓ Spesso EN | ❌ Non capiscono il dominio tecnico | | **QUESTO MODELLO** | ✅ SOLO cucine e piani cottura | ✅ Italiano | ✅ Pensato per industria Ho.Re.Ca | --- ## 🔧 Architettura - **Base model:** `dbmdz/bert-base-italian-uncased`) - **Task:** Natural Language Inference (3 classi: entailment, contradiction, neutral) - **Linguaggio:** Italiano - **Dominio:** Schede tecniche di cucine industriali --- ## 🧾 Formato Input / Output Questo è un modello NLI: riceve in input **premessa + ipotesi**. **Esempio:** - Premessa: `Cucina a gas 4 fuochi con vano forno statico` - Ipotesi: `la cucina ha un forno` - Output: `entailment` --- ## 🧪 Esempio d’Uso (Python) ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers ``` Then you can load this model and run inference. ```python from sentence_transformers import CrossEncoder # Download from the 🤗 Hub model = CrossEncoder("software-si/kitchen-it-nli") # Get scores for pairs of texts pairs = [ ['unità di cottura dispositivo a gas, sei fuochi, con forno gas incluso,', 'la cucina è disposta su top'], ['cucina piastre quadrate incluse, posizionata su forno, piano a induzione, profondità utile 90 cm,', 'la cucina ha un forno alimentato a gas'], ['modulo cucina misure 70 cm di profondità, forno alimentato elettricamente, dispone di 6 fuochi,', 'la cucina ha un forno'], ['modulo cucina con piastre tonde, cottura elettrica, dotata di due zone di cottura, dimensione teglie di gn1/1', 'le zone cottura disponibili sono quattro'], ['piano cottura quattro zone separate, modello in versione top, piastre di forma tonda, di settanta centimetri di profondità,', 'disponibile in più varianti estetiche'], ] scores = model.predict(pairs) print(scores.shape) # (5, 3) ``` ## Training Details ### Training Dataset #### json * Dataset: json * Size: 474,242 training samples * Columns: premises, hypothesis, and labels * Approximate statistics based on the first 1000 samples: | | premises | hypothesis | labels | |:--------|:-------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------|:-------------------------------------------------------------------| | type | string | string | int | | details | | | | * Samples: | premises | hypothesis | labels | |:------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------|:---------------| | cucina teglia dimensione gn1/1 versione con forno incorporato, alimentazione a induzione, piastre tonde preinstallate, | garantita da controlli rigorosi in fase di produzione | 2 | | unità di cottura fornita di piastre tonde, sopra vano, dimensione anteriore 90 cm, configurazione a 2 zone, | la cucina dispone di un forno | 0 | | cucina piano a gas, quattro punti cottura, dimensione teglie di gn2/1 | la cucina ha quattro zone cottura | 1 | * Loss: [CrossEntropyLoss](https://sbert.net/docs/package_reference/cross_encoder/losses.html#crossentropyloss) ### Evaluation Dataset #### json * Dataset: json * Size: 142,272 evaluation samples * Columns: premises, hypothesis, and labels * Approximate statistics based on the first 1000 samples: | | premises | hypothesis | labels | |:--------|:-------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------|:-------------------------------------------------------------------| | type | string | string | int | | details | | | | * Samples: | premises | hypothesis | labels | |:---------------------------------------------------------------------------------------------------------------|:----------------------------------------------------|:---------------| | unità di cottura dispositivo a gas, sei fuochi, con forno gas incluso, | la cucina è disposta su top | 0 | | cucina piastre quadrate incluse, posizionata su forno, piano a induzione, profondità utile 90 cm, | la cucina ha un forno alimentato a gas | 0 | | modulo cucina misure 70 cm di profondità, forno alimentato elettricamente, dispone di 6 fuochi, | la cucina ha un forno | 1 | * Loss: [CrossEntropyLoss](https://sbert.net/docs/package_reference/cross_encoder/losses.html#crossentropyloss) ### Training Logs | Epoch | Step | Training Loss | Validation Loss | |:------:|:-----:|:-------------:|:---------------:| | 0.1349 | 2000 | 0.7725 | 0.4394 | | 0.2699 | 4000 | 0.3298 | 0.1768 | | 0.4048 | 6000 | 0.1659 | 0.1137 | | 0.5398 | 8000 | 0.113 | 0.0818 | | 0.6747 | 10000 | 0.0784 | 0.0529 | | 0.8097 | 12000 | 0.053 | 0.0391 | | 0.9446 | 14000 | 0.0421 | 0.0328 | ### Framework Versions - Python: 3.12.3 - Sentence Transformers: 5.1.1 - Transformers: 4.57.0 - PyTorch: 2.8.0+cu128 - Accelerate: 1.10.1 - Datasets: 4.1.1 - Tokenizers: 0.22.1 ## Citation ### BibTeX #### Sentence Transformers ```bibtex @inproceedings{reimers-2019-sentence-bert, title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", author = "Reimers, Nils and Gurevych, Iryna", booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", month = "11", year = "2019", publisher = "Association for Computational Linguistics", url = "https://arxiv.org/abs/1908.10084", } ```