Use Case EGI #1: Unterstützung bei der Auswahl des korrekten LVA-Codes
Die korrekte Klassifizierung von Abfällen in spezifische Abfallcodes, wie sie im Abfallverzeichnis aufgelistet sind, stellt Anwender:innen vor eine grosse Herausforderung. Um diesen Prozess zu vereinfachen, haben wir im Rahmen eines Proof of Concepts (PoC) eine KI-basierte Lösung entwickelt, die automatisch den passenden Abfallcode basierend auf einer Materialbeschreibung vorschlägt. Im ersten Use Case beleuchten wir die Unterstützung bei der Auswahl des korrekten LVA-Codes. In der Blogserie werden wir die drei weiteren Use Cases vorstellen.
Weitere Details zum gesamten PoC und der Zusammenarbeit mit dem Amt für Wasser und Abfall (AWA) findest du in unserem Blogpost «Wie kann künstliche Intelligenz den komplexen Prozess von Entsorgungsgenehmigungen erleichtern?».
Schritt 1: Data Exploration
Für diesen PoC stand ein Datensatz mit 15’233 Einträgen zur Verfügung, bei denen jeweils eine Materialbeschreibung mit dem zugehörigen Abfallcode verknüpft war.
Bei der initialen Untersuchung der Daten wurden folgende zentrale Erkenntnisse gewonnen:
- Materialbeschreibungen liegen überwiegend auf Deutsch, teilweise auf Französisch vor.
- Einige Beschreibungen waren nicht aussagekräftig oder unbrauchbar, z.B. Einträge wie „X“ oder redundante Nennungen des Abfallcodes selbst.
- Die Beschreibungen variieren stark in ihrer Länge; die ausführlichste Beschreibung umfasst 512 Zeichen.
- Ein signifikanter Bias ist erkennbar, einige Abfallcodes sind überproportional häufig, andere kaum bis gar nicht vertreten.
- Unterschiedliche Zuordnungen identischer Materialbeschreibungen wurden entdeckt, z.B. „Eternit“, welches abhängig vom Asbestgehalt unterschiedliche Codes erhalten muss. Informationen, die aus reinen Beschreibungen allein nicht ersichtlich sind.
Insgesamt umfasst das Abfallverzeichnis aktuell 855 potenzielle Codes.
Schritt 2: Data Cleaning
Auf Grundlage der Explorationsphase erfolgte die Datenbereinigung. Anschliessend blieben noch 14’310 Datensätze übrig.
Erkennung der Sprache
Ein fehlendes Feature war die Angabe der Sprache, in welcher die Materialbeschreibung verfasst war. Mithilfe eines Modells zur Textklassifikation erkannten wir automatisiert die Sprache und fügten sie als Feature in den Daten hinzu. Da wir im PoC aktuell nur die deutsche Sprache verwenden wollten, entfernten wir so alle anderssprachigen Einträge.
Beispielcode zur Sprachdetektion:
from transformers import pipeline
texts = [
"Dies ist ein einfaches Beispiel.",
"This is another text.",
"Voici un autre texte."
]
model_ckpt = "papluca/xlm-roberta-base-language-detection"
pipe = pipeline("text-classification", model=model_ckpt)
pipe(texts, top_k=1, truncation=True)
Schritt 3: Datenaufbereitung
Zur Vorbereitung wurden die Daten in Trainings-, Evaluations- und Test-Sets aufgeteilt und anschliessend in ein HuggingFace Dataset transformiert. Dies erleichtert die spätere Verwendung für Modelltraining und Evaluation erheblich.
Schritt 4: Tokenisierung
Um das Modell zu trainieren, muss die Materialbeschreibung mithilfe eines Tokenizers in Token IDs umgewandelt werden. Diese dienen dann als Input für das Modell.
Schritt 5: Modelltraining
Statt ein Modell von Grund auf neu zu trainieren, führten wir ein Fine-Tuning auf einem bereits bestehenden Sprachmodell durch. Genutzt wurde dabei der Trainer aus der HuggingFace Transformers Library. Hierbei gab der Artikel von Philipp Schmid wichtige Inputs, um schnell zu einem ersten Resultat zu gelangen.
Schritt 6: Modellevaluation
Die Evaluierung der Modellperformance erfolgte mittels F1-Score. Der Score bietet einen verlässlichen Indikator für die Modellqualität.
Erfahrungen und Erkenntnisse
- Die Qualität der verwendeten Daten ist entscheidend. Umfangreiche Datensätze bedeuten nicht zwangsläufig hohe Datenqualität.
- Eine enge Zusammenarbeit mit Fachexperten ist essenziell für eine hochwertige Datenaufbereitung.
- Fachwissen über die Daten und ihre Zusammenhänge verbessert massgeblich die Qualität der entwickelten Lösung. Vertiefte fachliche Kenntnisse können helfen, gezieltere Ansätze wie spezialisierte KI-Agenten zu entwickeln, die beispielsweise nach Herkunft, Gefährlichkeit oder Materialart differenzieren und so die Vorhersagegenauigkeit weiter steigern.
- Die Materialbeschreibung müsste noch mit weiteren Methodiken vorverarbeitet werden.
Fazit
Im PoC zeigte sich, dass ein System mit einigen KI-basierten Komponenten eine deutliche Vereinfachung bei der Bestimmung des korrekten Abfallcodes ermöglichen kann. Dennoch bleibt die Datenqualität und fachliche Expertise entscheidend für den Projekterfolg.