eCl@ss und automatische Klassifizierung als Lösung für die Vergleichbarkeit von Produkten

Vergleichbarkeit von Produkten

Der Sinn und Zweck von Klassifizierungssystemen wie eCl@ss ist es, Vergleichbarkeit zwischen Produkten herzustellen. Ein klassisches Beispiel ist der Einkauf bzw. die Beschaffung. Die Vergleichbarkeit von Produkten hat dort unmittelbaren praktischen Nutzen, denn natürlich ist es für den Einkäufer vorteilhaft zu wissen, ob die Produkte des eines Lieferanten mit gleichwertigen Produkten eines anderen Lieferanten ersetzbar wären.

In eCl@ss werden Klassen durch eine achtstellige Nummer gekennzeichnet. Ob ein Produkt durch ein anderes ersetzbar ist, kann man allein anhand der Klasse jedoch nicht entscheiden. Nehmen wir ein Beispiel: Eine gewöhnliche Sechskantschraube hat in eCl@ss die Klasse 23-11-01-01. Diese Ziffernfolge identifiziert eindeutig eine bestimmte Art von Produkten, in diesem Fall eine “flach aufliegende Schraube mit Außenantrieb“. Dieser Beschreibung nach kommen erst mal sehr viele Schrauben und Lieferanten in Frage. Um bewerten zu können, ob zwei Schrauben wirklich gleichwertig sind, muss man viele weitere Merkmale betrachten. So muss z.B. die Länge der Schraube stimmen und die Gewindegröße. Auch der Werkstoff, aus dem die Schraube gefertigt ist, muss je nach Verwendung derselbe sein. Darüberhinaus benötigt man die Kopfhöhe, die Gewindesteigung, die Lage und Länge einer eventuellen Gewindebeschichtung und den Innendurchmesser des Gewindes. Diese und weitere Merkmale werden durch eCl@ss ebenfalls definiert, und das spezifisch, also je Klasse.

Kataloge als PDF-Dokumente

Wenn die Produkte der in Frage kommenden Lieferanten alle in einer Datenbank vorliegen, in der man anhand der Merkmale recherchieren kann, dann ist die Auswahl des Produkts (und des Lieferanten) beinahe ein Kinderspiel. Oft ist genau das aber nicht der Fall.

Die Situation beim Kunden

Bei einem unserer Kunden fanden wir die Situation vor, dass Produktkataloge zwar umfassend und in großer Zahl, aber leider nur in Form von PDF-Dokumenten vorlagen. Diese entsprachen im Wesentlichen eins zu eins den Lieferantenkatalogen in Papierform. In einem solchen PDF-Dokument waren zwar meistens alle Merkmale irgendwie enthalten, aber bequem recherchieren, wie in einer Datenbank, konnte man darin natürlich nicht, schon gar nicht katalogübergreifend. Das Vergleichen von Produkten, insbesondere unter Berücksichtigung der Merkmale, war also ein manueller und daher aufwändiger und fehleranfälliger Prozess.

Im Projekt stellte sich schnell die Frage, ob man die PDF-Kataloge nicht irgendwie geschickt analysieren, und die darin enthaltenen Informationen automatisch in eine Datenbank überführen könnte. Was uns zunächst wie ein Ding der Unmöglichkeit vorkam, stellte sich bei näherer Betrachtung als eine durchaus lösbare Aufgabe heraus.

Vom Problem zur Lösung

Es handelt sich hierbei um das Problem der automatisierten Gewinnung von strukturierten Informationen aus unstrukturierten Dokumenten, das als „Informationsextraktion“ bezeichnet wird. Mit Hilfe diverser Techniken, u.a. Natural Language Processing (NLP) und automatischer Klassifizierung, lassen sich die Informationen aus den PDF-Dokumenten eclass-automatische-klassifizierung-nlp„befreien“.

 

Es verursacht natürlich immer noch Aufwand, einen PDF-Katalog auf diese Weise zu analysieren. Der Aufwand für das manuelle Auswerten und Zusammenstellen der Informationen entfällt zwar, dafür bedarf es aber einiger Vorbereitung beim Kombinieren der Software-Werkzeuge, beim Konfigurieren und beim Testen der Algorithmen für den jeweiligen Katalog. Daher lohnt sich diese Vorgehensweise nur, wenn die Kataloge, wie bei unserem Kunden, wenigstens einige tausend Produkte enthalten. Bei kleinen Katalogen ist es eher ratsam, die Informationen einfach abzutippen.

Das Verfahren im Detail

Die Extraktion der Produktdaten aus einem PDF-Katalog in die Datenbank erfolgt in vier Schritten:

1. Identifizieren der Produkte

Die im PDF-Dokument vorkommenden Textbausteine und -fragmente werden gesammelt und so gruppiert, dass jede Gruppe von Textbausteinen genau einem Produkt entspricht.
Dieser erste Schritt ist der schwierigste und erfordert einiges an Feinjustierung für den jeweiligen Katalog. Es geht sehr oft darum, die Stellen zu finden, an denen die Beschreibung des einen Produkts aufhört und das nächste Produkt beginnt. Bei vielen Katalogen lassen sich diese Stellen an gewissen Layout-Merkmalen, z.B. einer Linie oder an dem Vorkommen einer bestimmten Schriftart erkennen. Auch klassische Reguläre Ausdrücke können bei der Erkennung hilfreich sein. Eine weitere Möglichkeit bietet sich in Katalogen, in denen Produkte als Tabellen dargestellt werden. Da ist es relativ einfach, die Produkte voneinander abzugrenzen, insbesondere wenn jede Zeile der Tabelle exakt ein Produkt repräsentiert. Leider ist es nicht so leicht, in einer PDF-Datei überhaupt die Tabellen zu identifizieren. Anders als z.B. in Word- oder Excel-Dateien, gibt es im PDF-Format nämlich keine explizite Kennzeichnung von Tabellen. Glücklicherweise gibt es eine Open Source-Software namens Tabula, die beim Identifizieren und Extrahieren von Tabellen aus PDF-Dokumenten den schwierigsten Teil der Arbeit übernimmt.

2. Klassifizieren nach eCl@ss

Im zweiten Schritt wird aus den extrahierten Gruppen von Textbausteinen die eCl@ss-Klasse bestimmt. Dazu werden automatische Klassifikationsverfahren (z.B. Naïve-Bayes, Logistische Regression, usw.) verwendet. Vorbereitend muss man für diesen Schritt eine ausreichend große Lernmenge zusammenstellen, also Produktdatensätze, die bereits nach eCl@ss klassifiziert sind.

3. Extrahieren der eCl@ss-Merkmale mittels NLP

Aus der in Schritt 2 ermittelten Klasse ergibt sich im eCl@ss-Standard die Menge der benötigten Merkmale. Erst dadurch wird klar, nach welchen Informationen die Software in den Textbausteinen überhaupt suchen muss. Zur Extraktion der Merkmale kommen nun computerlinguistische Verfahren zum Einsatz. Auch für diesen Zweck gibt es Open Source-Software, u.a. Apache OpenNLP. Am Ende dieses Schrittes stehen die Merkmale je Produkt in strukturierter Form zur Verfügung.

4. Normalisieren und Persistieren

Im letzten Schritt werden die extrahierten Merkmale normalisiert um dem eCl@ss-Standard zu entsprechen und so die spätere Recherche zu erleichtern. Beispielsweise müssen oft bestimmte Wörter in einheitliche Codes übersetzt werden, oder es müssen Längen, Gewichte, Temperaturen usw. in die von eCl@ss vorgegebenen physikalischen Einheiten umgerechnet werden. Schließlich wird der Produktdatensatz in der Datenbank abgelegt.

Fazit

Produktkataloge im PDF-Format lassen sich automatisiert als strukturierte Informationen in eine Produktdatenbank überführen, so dass man auf Merkmalsebene darin recherchieren kann. Dem Einkauf nützt das durch bessere Vergleichbarkeit von Produkten und Lieferanten. Die Kunst ist es, die diversen Tools und Verfahren miteinander zu kombinieren und auf das Layout der jeweiligen Kataloge abzustimmen.

Konnten wir Sie neugierig machen? Treten Sie gerne mit Holger Joest zum Thema eCl@ss in Kontakt.
Weitere Informationen zu diesem Ansatz finden Sie auf unserer Webseite http://www.eclass.bayard-consulting.com.