Kann maschinelles Lernen einem Produkt die richtige ETIM-Klasse zuordnen?

Klassifikation nach ETIM – lässt sich die ETIM-Klasse eines Produkts mit maschinellem Lernen vorhersagen wenn ein Algorithmus mit der Produktbeschreibung und den Produktmerkmalen gefüttert wird?

Inspiriert von Kai Webers VortragVerschlagwortung von E-Books mit Hilfe von Machine Learning-Verfahren“ beim Markupforum 2018 wollte ich das wissen. Sein Vortrag handelt davon anhand des Inhalt eines E-Books die zugehörige Warengruppe zu bestimmen. Was für Bücher funktioniert müsste für Produkte ebenfalls möglich sein.

Maschinelles Lernen

„[Machine Learning is the] field of study that gives the computer the ability to learn without being explicitly programmed“. Arthur Samuel, 1959 (Quelle)

Prinzip des maschinellen Lernens
Prinzip des maschinellen Lernens. Mit Daten wird ein Algorithmus trainiert. Das trainierte Modell wird mit Testdaten evaluiert und dann auf neue Daten angewendet.

Anwendungsfall

  • Vorhersage einer ETIM-Klasse
  • Das Modell wird mit Trainingsdaten gelernt
  • Die Trainingsdaten enthalten die Produktinformationen, unter anderem deren bekannte ETIM-Klasse
  • Der mit den Trainingsdaten trainierte Algorithmus wird auf die Testdaten angewendet und die ETIM-Klasse wird anhand des trainierten Modells zugewiesen
  • Die vom Modell zugewiesenen ETIM-Klassen werden mit den tatsächlichen Klassen der Testdaten verglichen und evaluiert
  • Die aus der Fehleranalyse abgeleiten Erkenntnisse verbessern den Algorithmus

Verwendetes Verfahren

Erforderliche Informationen

Die benötigten Informationen sind die Features (bestimmende Merkmale für die Klassifizierung) und die Labels (die ETIM-Klasse des Produkts).

  • Trainingsdaten mit Features und Label, damit wird der Algortihmus trainiert
  • Testdaten mit Features und Label, damit wird der Algorithmus getestet und evaluiert (da die ETIM-Klassen der Testdaten bekannt sind)

Features

  • Beschreibungstexte eines Produkts, kurz oder lang
  • Schlagworte bzw. Einordnung eines Produkts

Labels

Die Labels sind die ETIM-Klasse des Produkts.

Verwendete Daten

ETIM 6.0 Definition in xml-Datei als Trainingsdaten

Die Trainingsdaten aus der ETIM Definition
Inhalt der Tags <Description> und <Synonym> als Features, Inhalt des Tags <Code> als Label (ist die ETIM Klasse)

Produktdaten im BMEcat (elektronischer Katalog) mit ETIM 6.0 Klassifikation als Testdaten von verschiedenen Firmen: Busch-Jäger, Weidmüller, Rittal

Die Testdaten aus BMEcat Katalog von Busch-Jäger
Inhalt der Tags <DESCRIPTION_SHORT>, <DESCRIPTION_LONG> und <KEYWORD> als Features, Inhalt des Tags <REFERENCE_FEATURE_GROUP_ID> als Label

Vorgehensweise

Entwicklungsumgebung für Python

Anaconda

Datenvorverarbeitung

Die Tags (Description und Synonyms) der Trainingsdaten für die Features werden als Beschreibung und Schlagworte in eine Matrix eingelesen.

Trainingsdaten, eringelesene Features
Die eingelesenen Features der Trainingsdaten

Da der Algorithmus nur Zahlen verarbeitet, werden alle vorkommenden Ausdrücke in Spaltenüberschriften übernommen. Die ETIM-Klasse, in der ein Ausdruck vorkommt, erhält als Inhalt in der Zeile eine 1.

Die One Hot Encoded Trainingsdaten mit dem Ausdruck im Spaltenkopf und den Zahlen 0 oder 1 als Inhalt
Die One Hot Encoded Trainingsdaten mit dem Ausdruck im Spaltenkopf und den Zahlen 0 oder 1 als Inhalt

Die Testdaten aus den BMEcat Katalogdaten werden analog vorverabeitet.

Modellierung

Ergebnis

Zuordnung der Klassen

Zugewiesene ETIM-Klassen
Zugewiesene Klassen der Testdaten. Unterschieden nach richtiger und falscher Zuordnung der ETIM-Klassen. Gesamtzahl 205.

Ergebnisanalyse

Analyse der richtig zugeordneten ETIM-Klassen

Analyse der richtig vorhergesagten ETIM-Klassen
Analyse der richtig vorhergesagten ETIM-Klassen

Im Diagramm fällt die ETIM-Klasse EC000194 auf. Sie wurde 2x richtig, aber auch 4x falsch vorhergesagt.

Ein Produkt, das ETIM-Klasse EC001101 haben sollte, ist der Klasse EC000194 eingeordnet worden. Ein Blick in die Trainings- und Testdaten hilft weiter.

Trainings- und Testdaten der falschen Zuordnung
Übereinstimmungen Trainings- und Testdaten der falschen Zuordnung EC001101 auf EC000194
Trainings- und Testdaten richtige Zuordnung
Übereinstimmungen Trainings- und Testdaten der eigentlich richtigen Zuordnung EC001101 auf EC001101

Das eigentlich unterscheidende Merkmal der beiden Klassen scheint die Busanbindung zu sein, was alleine an dem Wort „Bussystem-Raumtemperaturregler“ deutlich wird. Das Wort „Bus“ kommt in den Trainingsdaten ausschließlich in dem zusammengesetzten Wort „Bussystem-Raumtemperaturregler“ vor, anstatt in möglichen Schreibweisenvarianten. Wären Synonyme wie „Bussystem“ oder „Busankoppler“ enthalten, wäre die Zuordnung vermutlich richtig.

Analyse der falsch zugeordnete ETIM-Klassen

Häufigkeit der falsch zugeordneten ETIM-Klassen
Häufigkeit der falsch zugeordneten ETIM-Klassen

Ursachen der häufig falschen Zuordnung

Die ETIM-Klasse EC002441 ist 60 mal falsch zugeordnet worden. Ein Produkt der Klasse EC002712 ist falsch der Klasse EC002441 zugeordnet worden.

Trainingsdaten der falsch
zugeordneten Klasse
Trainingsdaten der richtigen
Klasse
EC002441EC002712
StützklammerZubehör für Vorschaltgerät
GeräteeinbaukanalZugentlastung
Umrüstsatz
Testdaten: Herstellerbeschreibung von Produkten der Klasse
(4 Produkte)
EC002712
Smart Sensor Montagekeil für IEC 400-450; Smart Sensor Keil
IEC 400-450
Smart Sensor 40x UL Version; 40 x ABB ABILITY SMART SENSOR
Motors (UL;ABB;ETIM-6.0
Smart Sensor 10x Lizenz Code 1 Jahr;10 x ABB ABILITY SMART
SENSOR Lizenz 1 J
Smart Sensor 10x Lizenz Code 2 Jahre;10 x ABB ABILITY SMART
SENSOR Motors Sub
  • Es gibt keinerlei Übereinstimmung zwischen den Herstellerbeschreibungen der 4 Produkte und den beteiligten Klassen, weder der richtigen noch der falsch zugeordneten Klasse
  • Die oft falsch zugeordnete Klasse enthält nur zwei beschreibende Worte
  • Wenn es keine inhaltliche Übereinstimmung gibt ist der Fehler am geringsten wenn eine Klasse mit wenig Information zugeordnet wird

Ausblick

Aus der Analyse der Ergebnisse leiten sich Verbesserungsmöglichkeiten ab, die in den Algorithmus oder die Trainingsdaten zurückgeführt werden können.

  • Ausführliche und prägnante Klassenbeschreibung
  • Schreibweisenvarianten des unterscheidenden Merkmals in die Trainingsdaten oder den Prozess mit aufnehmen
  • Synonyme in die Trainingsdaten oder in den Prozess mit aufnehmen
  • Komposita auch einzeln aufführen (wenn Bedeutung erhalten bleibt)
  • Im Prozess Stopp-Wörter entfernen. Dabei handelt es sich um Wörter, die nichts zur Klassifizierung beitragen, z. B. für, auf, zu, ein, …
  • Festlegen, wie mit Zahlenangaben in den Beschreibungen umzugehen ist
  • Festlegen, wie mit Herstellernamen Komposita im Prozess umgegangen werden soll, z. B. die Komination aus „Firmenname-Produktbeschreibung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*