Verderblichkeit GFM
Das Verderblichkeit Gap Filling Module bestimmt die Verderblichkeitsklassifizierung von Lebensmittelprodukten und identifiziert kombinierte Produkte (Convenience-Produkte versus Mono-Produkte). Diese Klassifizierung ist wesentlich für nachgelagerte Module, die Lageranforderungen, Transportbedingungen und Lebensmittelverlustfaktoren berechnen.
Kurzreferenz
| Eigenschaft | Beschreibung |
|---|---|
| Läuft auf | Wurzelknoten der Berechnung (Rezeptebene) |
| Abhängigkeiten | AddClientNodesGFM, MatchProductNameGFM, IngredientSplitterGFM, NutrientSubdivisionGFM, LinkTermToActivityNodeGFM, AttachFoodTagsGFM, OriginGFM |
| Schlüsseleingabe | Lebensmittelprodukt-Glossar-Tags, Zutatenhierarchie |
| Ausgabe | Verderblichkeitsklassifizierungs-Tag, Kombiniert/Mono-Produkt-Tag |
| Auslöser | Läuft bei jeder Berechnung auf Wurzelknoten-Ebene |
Wann es läuft
Das Modul wird ausgelöst, wenn:
- Die Verarbeitung den Wurzelknoten einer Berechnung erreicht
- Alle Abhängigkeitsmodule ihre Verarbeitung abgeschlossen haben
- Lebensmittelprodukte im Graphen eine Verderblichkeitsklassifizierung benötigen
Schlüsselausgabe
Das Modul fügt zwei Arten von Glossar-Tags zu Lebensmittelproduktknoten hinzu:
- Verderblichkeits-Tag: Eine von drei Stufen (haltbar, verderblich, hochverderblich)
- Produkttyp-Tag: Entweder kombiniertes Produkt oder Mono-Produkt-Klassifizierung
Wissenschaftliche Methodik
Verderblichkeitsklassifizierung
Lebensmittelprodukte werden in drei Verderblichkeitsstufen basierend auf ihrer Haltbarkeit und Lageranforderungen klassifiziert:
| Stufe | Term External ID | Beschreibung | Typische Produkte |
|---|---|---|---|
| Haltbar | EOS_STABLE | Produkte, die längere Zeit bei Raumtemperatur gelagert werden können | Trockenprodukte, Konserven, Getreide, Öle |
| Verderblich | EOS_PERISHABLE | Produkte, die kontrollierte Lagerung mit mäßiger Haltbarkeit erfordern | Milchprodukte, Eier, verarbeitetes Fleisch |
| Hochverderblich | EOS_HIGH-PERISHABLE | Produkte, die sofortige Kühlung mit kurzer Haltbarkeit erfordern | Frischfleisch, Meeresfrüchte, geschnittenes Gemüse |
Propagationsregeln
Die Verderblichkeitsklassifizierung folgt einem Bottom-up-Propagationsmodell durch die Zutatenhierarchie:
Produktverderblichkeit = max(Zutatenverderblichkeiten)
Propagationslogik:
- Blattzutaten erhalten Verderblichkeit aus ihren Glossar-Begriff-Definitionen
- Kombinierte Produkte erben die höchste Verderblichkeit von ihren Unterzutaten
- Produkte ohne explizite Verderblichkeit erhalten standardmäßig haltbar
Beispiel: Eine Salatschüssel enthält:
- Kopfsalat (hochverderblich)
- Käse (verderblich)
- Croutons (haltbar)
Ergebnis: Die Salatschüssel wird als hochverderblich klassifiziert.
Kombinierte Produktklassifizierung
Das Modul bestimmt auch, ob ein Produkt ein kombiniertes Produkt (Convenience-Produkt) oder ein Mono-Produkt (einzelne Zutat) ist:
| Klassifizierung | Term External ID | Kriterium |
|---|---|---|
| Kombiniertes Produkt | EOS_COMBINED_PRODUCT | Produkt kombiniert mehrere verschiedene Lebensmittelprodukt-Zutaten |
| Mono-Produkt | EOS_MONO_PRODUCT | Produkt ist eine einzelne Zutat oder kombiniert nicht mehrere Produkte |
Logik für kombinierte Produkte:
- Ein Produkt wird als kombiniert markiert, wenn es direkt mehrere Lebensmittelprodukt-Zutaten kombiniert
- Das Tag für kombinierte Produkte propagiert aufwärts durch die Hierarchie
- Sobald eine Unterzutat als kombiniertes Produkt markiert ist, erhalten auch übergeordnete Produkte das Tag
Implementierungsdetails
Algorithmusübersicht
Das Modul verwendet eine Tiefentraversierung mit Nachordnungsverarbeitung zur Propagation der Verderblichkeit von Blattknoten zur Wurzel:
# Pseudocode für Verderblichkeitspropagation
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 # Standard
Verderblichkeitsreihenfolge
Verderblichkeitsstufen werden von niedrig nach hoch geordnet:
perishability_order = {
"EOS_STABLE": 0, # Niedrigste Verderblichkeit
"EOS_PERISHABLE": 1, # Mittlere Verderblichkeit
"EOS_HIGH-PERISHABLE": 2 # Höchste Verderblichkeit
}
Quellenzuordnung
Wenn das Modul ein Verderblichkeits-Tag zuweist, verwendet es die Quelle eos_assumed, um anzuzeigen, dass der Wert abgeleitet und nicht explizit angegeben wurde:
GlossaryTermProp(
term_uid=perishability_term.uid,
source=SourceEnum.eos_assumed
)
Abhängigkeitskette
Das Modul wartet auf den Abschluss dieser Module, bevor es ausgeführt wird:
| Modul | Grund |
|---|---|
AddClientNodesGFM | Kundenspezifizierte Knoten müssen zuerst hinzugefügt werden |
MatchProductNameGFM | Produkte müssen mit Glossar-Begriffen gematcht werden |
IngredientSplitterGFM | Zusammengesetzte Zutaten müssen aufgeteilt werden |
NutrientSubdivisionGFM | Nährstoffbasierte Unterteilungen müssen verarbeitet werden |
LinkTermToActivityNodeGFM | Begriffe müssen mit Aktivitäten verknüpft werden |
AttachFoodTagsGFM | Lebensmittelspezifische Tags müssen angehängt werden |
OriginGFM | Herkunftsinformationen müssen bestimmt werden |
Datenquellen
Verderblichkeits-Glossar-Begriffe
Die Verderblichkeitsklassifizierung verwendet Begriffe aus dem EOS-Glossar unter dem Stammbegriff EOS_Perishability:
| Term External ID | Anzeigename | Beschreibung |
|---|---|---|
EOS_STABLE | Haltbar | Produkte mit verlängerter Raumtemperatur-Haltbarkeit |
EOS_PERISHABLE | Verderblich | Produkte, die kontrollierte Lagerung erfordern |
EOS_HIGH-PERISHABLE | Hochverderblich | Produkte, die sofortige Kühlung erfordern |
Produkttyp-Glossar-Begriffe
Die Kombiniert/Mono-Produkt-Klassifizierung verwendet Begriffe unter EOS_Combined_Product_Mono_Product:
| Term External ID | Anzeigename | Beschreibung |
|---|---|---|
EOS_COMBINED_PRODUCT | Kombiniertes Produkt | Multi-Zutaten-Convenience-Produkt |
EOS_MONO_PRODUCT | Mono-Produkt | Einzelzutatenprodukt |
Berechnungsbeispiel
Szenario: Eine Convenience-Salatschüssel mit folgender Struktur:
Salatschüssel (keine explizite Verderblichkeit)
├── Frischer Salat (hochverderblich)
├── Fertige Sauce (keine explizite Verderblichkeit)
│ ├── Milchpulver (haltbar)
│ ├── Essig (haltbar)
│ ├── Öl (haltbar)
│ └── Frische Petersilie (hochverderblich)
└── Tofu (verderblich)
Schritt 1: Blattknoten traversieren
Der Algorithmus besucht zuerst alle Blattknoten:
- Frischer Salat:
EOS_HIGH-PERISHABLE(aus Glossar) - Milchpulver:
EOS_STABLE(aus Glossar) - Essig:
EOS_STABLE(aus Glossar) - Öl:
EOS_STABLE(aus Glossar) - Frische Petersilie:
EOS_HIGH-PERISHABLE(aus Glossar) - Tofu:
EOS_PERISHABLE(aus Glossar)
Schritt 2: Zu übergeordneten Knoten propagieren
Fertige Sauce:
- Unterverderblichkeiten: [haltbar, haltbar, haltbar, hochverderblich]
- Maximum:
EOS_HIGH-PERISHABLE - Kombiniertes Produkt: Ja (mehrere Lebensmittelprodukt-Zutaten)
Schritt 3: Zur Wurzel propagieren
Salatschüssel:
- Unterverderblichkeiten: [hochverderblich, hochverderblich, verderblich]
- Maximum:
EOS_HIGH-PERISHABLE - Kombiniertes Produkt: Ja (kombiniert mehrere Produkte und hat kombinierte Produkt-Unterzutat)
Endausgabe
| Produkt | Verderblichkeits-Tag | Produkttyp-Tag |
|---|---|---|
| Frischer Salat | EOS_HIGH-PERISHABLE | EOS_MONO_PRODUCT |
| Milchpulver | EOS_STABLE | EOS_MONO_PRODUCT |
| Essig | EOS_STABLE | EOS_MONO_PRODUCT |
| Öl | EOS_STABLE | EOS_MONO_PRODUCT |
| Frische Petersilie | EOS_HIGH-PERISHABLE | EOS_MONO_PRODUCT |
| Tofu | EOS_PERISHABLE | EOS_MONO_PRODUCT |
| Fertige Sauce | EOS_HIGH-PERISHABLE (angenommen) | EOS_COMBINED_PRODUCT |
| Salatschüssel | EOS_HIGH-PERISHABLE (angenommen) | EOS_COMBINED_PRODUCT |
Integration mit anderen Modulen
Nachgelagerte Verbraucher
Die Verderblichkeitsklassifizierung wird von mehreren nachgelagerten Modulen verwendet:
| Modul | Verwendung |
|---|---|
| Konservierung GFM | Bestimmt Lageranforderungen (gekühlt, gefroren, getrocknet) |
| Transport GFM | Berechnet Kühlkettenanforderungen und Transportmodus-Eignung |
| Lebensmittelverlust GFM | Schätzt Abfallfaktoren basierend auf Haltbarkeit |
Konservierungsregeln
Das Konservierungs-GFM verwendet Verderblichkeit zur Zuweisung von Standard-Konservierungsmethoden:
- Hochverderblich + Kein Konservierungs-Tag: "Gekühlt" zugewiesen
- Verderblich + Kein Konservierungs-Tag: "Gekühlt" zugewiesen
- Haltbar: Keine Konservierung erforderlich (Raumtemperatur)
Transport-Implikationen
Transportmodus-Auswahl berücksichtigt Verderblichkeit:
- Hochverderblich: Kann Lufttransport für lange Strecken erfordern
- Verderblich: Kann gekühlten LKW-/Schiffstransport nutzen
- Haltbar: Keine Kühlkettenanforderungen
Bekannte Einschränkungen
Klassifizierungsabdeckung
- Nicht alle Lebensmittelprodukte im Glossar haben explizite Verderblichkeitsklassifizierungen
- Produkte ohne Klassifizierung erhalten standardmäßig haltbar, was Kühlkettenanforderungen unterschätzen kann
- Einige verarbeitete Produkte haben variable Verderblichkeit je nach Verarbeitungsmethode
Konservierungs-Interaktion
- Das aktuelle Modell berücksichtigt keine Konservierungsmethoden, die die Verderblichkeit ändern (z.B. Trocknen hochverderblicher Kräuter)
- Gefrorene Produkte werden separat vom Konservierungs-GFM behandelt
- Die Interaktion zwischen Verderblichkeit und Konservierung könnte ausgefeilter sein
Erkennung kombinierter Produkte
- Die Erkennung kombinierter Produkte basiert ausschließlich auf der Zutatenstruktur
- Sie berücksichtigt keine Produktionsstandortunterschiede (Convenience-Produkte, die in verschiedenen Anlagen hergestellt werden)
- EAN/GTIN-Codes werden noch nicht zur Identifizierung industriell hergestellter Convenience-Produkte verwendet
Zukünftige Verbesserungen
Geplante Verbesserungen umfassen:
- Baumtraversierung für Glossar-Tags zur Verbesserung der Verderblichkeitserkennung
- Bessere Integration mit Konservierungsmethoden, die die Verderblichkeit ändern
- Standortbasierte Erkennung von Convenience-Produkten
- Unterstützung für produktspezifische Konservierungsmethoden-Einschränkungen
Referenzen
-
EOS-Glossar-Dokumentation. Interne Eaternity-Dokumentation für Glossar-Begriff-Definitionen.
-
Lebensmittellagerungsrichtlinien. FDA- und EFSA-Lebensmittelsicherheitsrichtlinien für Lagertemperaturanforderungen.
-
Kühlkettenlogistik. Industriestandards für Transport und Lagerung verderblicher Lebensmittel.