🍳 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:

pip install -U sentence-transformers

Then you can load this model and run inference.

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
    • min: 37 characters
    • mean: 101.06 characters
    • max: 160 characters
    • min: 12 characters
    • mean: 34.38 characters
    • max: 53 characters
    • 0: ~38.30%
    • 1: ~38.70%
    • 2: ~23.00%
  • 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

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
    • min: 41 characters
    • mean: 102.64 characters
    • max: 149 characters
    • min: 12 characters
    • mean: 34.15 characters
    • max: 53 characters
    • 0: ~38.40%
    • 1: ~39.50%
    • 2: ~22.10%
  • 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

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

@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",
}
Downloads last month
17
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for software-si/kitchen-it-nli

Finetuned
(5)
this model