Passa al contenuto principale

Perishability GFM

Il Gap Filling Module Deperibilità determina la classificazione di deperibilità dei prodotti alimentari e identifica i prodotti combinati (prodotti di convenienza versus mono prodotti). Questa classificazione e essenziale per i moduli a valle che calcolano i requisiti di stoccaggio, le condizioni di trasporto e i fattori di perdita alimentare.

Riferimento Rapido​

ProprietàDescrizione
Eseguito suNodo radice del calcolo (livello ricetta)
DipendenzeAddClientNodesGFM, MatchProductNameGFM, IngredientSplitterGFM, NutrientSubdivisionGFM, LinkTermToActivityNodeGFM, AttachFoodTagsGFM, OriginGFM
Input ChiaveTag glossario prodotto alimentare, gerarchia ingredienti
OutputTag classificazione deperibilità, tag prodotto combinato/mono
TriggerViene eseguito su ogni calcolo a livello di nodo radice

Quando Viene Eseguito​

Il modulo si attiva quando:

  1. L'elaborazione raggiunge il nodo radice di un calcolo
  2. Tutti i moduli dipendenti hanno completato la loro elaborazione
  3. I prodotti alimentari nel grafo necessitano classificazione di deperibilità

Output Chiave​

Il modulo aggiunge due tipi di tag glossario ai nodi prodotto alimentare:

  • Tag Deperibilità: Uno di tre livelli (stabile a scaffale, deperibile, altamente deperibile)
  • Tag Tipo Prodotto: Classificazione prodotto combinato o mono prodotto

Metodologia Scientifica​

Classificazione della Deperibilità​

I prodotti alimentari sono classificati in tre livelli di deperibilità basati sulla loro durata di conservazione e requisiti di stoccaggio:

LivelloID Esterno TermineDescrizioneProdotti Tipici
Stabile a ScaffaleEOS_STABLEProdotti conservabili a temperatura ambiente per periodi prolungatiProdotti secchi, in scatola, cereali, oli
DeperibileEOS_PERISHABLEProdotti che richiedono stoccaggio controllato con durata moderataLatticini, uova, carni trasformate
Altamente DeperibileEOS_HIGH-PERISHABLEProdotti che richiedono refrigerazione immediata con breve durataCarne fresca, frutti di mare, prodotti tagliati

Regole di Propagazione​

La classificazione della deperibilità segue un modello di propagazione dal basso verso l'alto attraverso la gerarchia degli ingredienti:

Deperibilita Prodotto = max(Deperibilita Ingredienti)

Logica di Propagazione:

  1. Gli ingredienti foglia ricevono la deperibilità dalle definizioni dei loro termini del glossario
  2. I prodotti combinati ereditano la deperibilità più alta dai loro sotto-ingredienti
  3. I prodotti senza deperibilità esplicita sono predefiniti come stabili a scaffale

Esempio: Una ciotola di insalata contenente:

  • Lattuga (altamente deperibile)
  • Formaggio (deperibile)
  • Crostini (stabile a scaffale)

Risultato: La ciotola di insalata e classificata come altamente deperibile.

Classificazione Prodotto Combinato​

Il modulo determina anche se un prodotto e un prodotto combinato (prodotto di convenienza) o un mono prodotto (singolo ingrediente):

ClassificazioneID Esterno TermineCriteri
Prodotto CombinatoEOS_COMBINED_PRODUCTIl prodotto combina molteplici ingredienti diversi di prodotti alimentari
Mono ProdottoEOS_MONO_PRODUCTIl prodotto è un singolo ingrediente o non combina molteplici prodotti

Logica Prodotto Combinato:

  • Un prodotto e marcato come combinato se combina direttamente molteplici ingredienti di prodotti alimentari
  • Il tag prodotto combinato si propaga verso l'alto attraverso la gerarchia
  • Una volta che qualsiasi sotto-ingrediente e marcato come prodotto combinato, i prodotti genitori ricevono anch'essi il tag prodotto combinato

Dettagli di Implementazione​

Panoramica dell'Algoritmo​

Il modulo utilizza un attraversamento in profondità con elaborazione post-ordine per propagare la deperibilità dai nodi foglia alla radice:

# Pseudocodice per propagazione deperibilita
def propagate_perishability(node):
if node has explicit perishability tag:
return node.perishability

sub_perishabilities = []
for sub_node in node.sub_nodes:
sub_perishabilities.append(propagate_perishability(sub_node))

if sub_perishabilities:
return max(sub_perishabilities, key=perishability_order)
else:
return SHELF_STABLE # Predefinito

Ordine di Deperibilità​

I livelli di deperibilità sono ordinati dal più basso al più alto:

perishability_order = {
"EOS_STABLE": 0, # Deperibilita piu bassa
"EOS_PERISHABLE": 1, # Deperibilita media
"EOS_HIGH-PERISHABLE": 2 # Deperibilita piu alta
}

Attribuzione della Fonte​

Quando il modulo assegna un tag di deperibilità, utilizza la fonte eos_assumed per indicare che il valore è stato inferito piuttosto che esplicitamente fornito:

GlossaryTermProp(
term_uid=perishability_term.uid,
source=SourceEnum.eos_assumed
)

Esempio di Calcolo​

Scenario: Una ciotola di insalata di convenienza con la seguente struttura:

Ciotola Insalata (nessuna deperibilita esplicita)
|-- Insalata Fresca (altamente deperibile)
|-- Salsa Pronta (nessuna deperibilita esplicita)
| |-- Latte in Polvere (stabile a scaffale)
| |-- Aceto (stabile a scaffale)
| |-- Olio (stabile a scaffale)
| +-- Prezzemolo Fresco (altamente deperibile)
+-- Tofu (deperibile)

Passo 1: Attraversare i Nodi Foglia​

L'algoritmo visita prima tutti i nodi foglia:

  • Insalata Fresca: EOS_HIGH-PERISHABLE (dal glossario)
  • Latte in Polvere: EOS_STABLE (dal glossario)
  • Aceto: EOS_STABLE (dal glossario)
  • Olio: EOS_STABLE (dal glossario)
  • Prezzemolo Fresco: EOS_HIGH-PERISHABLE (dal glossario)
  • Tofu: EOS_PERISHABLE (dal glossario)

Passo 2: Propagare ai Nodi Genitori​

Salsa Pronta:

  • Sotto-deperibilità: [stabile, stabile, stabile, altamente-deperibile]
  • Massimo: EOS_HIGH-PERISHABLE
  • Prodotto combinato: Si (molteplici ingredienti di prodotti alimentari)

Passo 3: Propagare alla Radice​

Ciotola Insalata:

  • Sotto-deperibilità: [altamente-deperibile, altamente-deperibile, deperibile]
  • Massimo: EOS_HIGH-PERISHABLE
  • Prodotto combinato: Si (combina molteplici prodotti e ha sotto-ingrediente prodotto combinato)

Output Finale​

ProdottoTag DeperibilitàTag Tipo Prodotto
Insalata FrescaEOS_HIGH-PERISHABLEEOS_MONO_PRODUCT
Latte in PolvereEOS_STABLEEOS_MONO_PRODUCT
AcetoEOS_STABLEEOS_MONO_PRODUCT
OlioEOS_STABLEEOS_MONO_PRODUCT
Prezzemolo FrescoEOS_HIGH-PERISHABLEEOS_MONO_PRODUCT
TofuEOS_PERISHABLEEOS_MONO_PRODUCT
Salsa ProntaEOS_HIGH-PERISHABLE (assunto)EOS_COMBINED_PRODUCT
Ciotola InsalataEOS_HIGH-PERISHABLE (assunto)EOS_COMBINED_PRODUCT

Integrazione con Altri Moduli​

Consumatori a Valle​

La classificazione della deperibilità e utilizzata da diversi moduli a valle:

ModuloUtilizzo
Conservation GFMDetermina requisiti di stoccaggio (refrigerato, congelato, essiccato)
Transport GFMCalcola requisiti catena del freddo e fattibilità modalità trasporto
Food Loss GFMStima fattori di spreco basati sulla durata di conservazione

Regole di Conservazione​

Il Conservation GFM usa la deperibilità per assegnare metodi di conservazione predefiniti:

  1. Altamente Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
  2. Deperibile + Nessun Tag Conservazione: Assegnata conservazione "refrigerato"
  3. Stabile a Scaffale: Nessuna conservazione richiesta (temperatura ambiente)

Implicazioni per il Trasporto​

La selezione della modalità di trasporto considera la deperibilità:

  • Altamente Deperibile: Potrebbe richiedere trasporto aereo per lunghe distanze
  • Deperibile: Può usare trasporto camion/nave refrigerato
  • Stabile a Scaffale: Nessun requisito catena del freddo

Limitazioni Note​

Copertura della Classificazione​

  • Non tutti i prodotti alimentari nel glossario hanno classificazioni di deperibilità esplicite
  • I prodotti senza classificazione sono predefiniti come stabili a scaffale, il che potrebbe sottostimare i requisiti della catena del freddo
  • Alcuni prodotti trasformati possono avere deperibilità variabile a seconda del metodo di trasformazione

Interazione con la Conservazione​

  • Il modello attuale non tiene conto dei metodi di conservazione che cambiano la deperibilità (ad esempio, essiccare erbe altamente deperibili)
  • I prodotti congelati sono gestiti separatamente dal Conservation GFM
  • L'interazione tra deperibilità e conservazione potrebbe essere più sofisticata

Rilevamento Prodotto Combinato​

  • Il rilevamento del prodotto combinato è basato esclusivamente sulla struttura degli ingredienti
  • Non considera le differenze di posizione di produzione (prodotti di convenienza prodotti in stabilimenti diversi)
  • I codici EAN/GTIN non sono ancora utilizzati per identificare prodotti di convenienza industrialmente prodotti

Riferimenti​

  1. Documentazione Glossario EOS. Documentazione interna Eaternity per le definizioni dei termini del glossario.

  2. Linee Guida per la Conservazione degli Alimenti. Linee guida FDA ed EFSA sulla sicurezza alimentare per i requisiti di temperatura di stoccaggio.

  3. Logistica della Catena del Freddo. Standard del settore per il trasporto e lo stoccaggio di alimenti deperibili.