Automatische Kategorisierung von Online-Shop-Artikeln aus Produktbeschreibungen

Autor*in:
Eduardo Alfredo
Brito Chacón

Wenn man online shoppt, erwartet man ein breites Produktangebot, welches längst nicht mehr rein manuell zu warten ist. Gängige Online-Shops klassifizieren jeden Artikel unter einer oder mehreren Kategorien, um die Produktsuche zu vereinfachen. Wie kann sich so ein Prozess automatisieren lassen?

Eine mögliche Lösung erfolgt durch Textkategorisierung. Aus einem Produktkatalog können Produktbeschreibungen und die jeweiligen Kategorien benutzt werden, um ML-Modelle zu trainieren, die anhand eines kurzen Textes, die passenden Kategorien vorhersagen. Heutzutage löst man solche Probleme standardmäßig mit vortrainierten kontextabhängigen Einbettungsvektoren, insbesondere mit Transformer-basierten Modellen wie BERT (Bidirectional Encoder Representations from Transformers). Das sind tiefe neuronale Netzwerke, die aus sehr vielen Texten, verschiedene Sprachen modellieren können. Dies ermöglicht unter anderem, zügig einen Text-Klassifikator aus den Produktbeschreibungen zu trainieren. Obwohl die Resultate von solchen Ergebnissen erstaunlich gut sein können, machen manche ihrer Eigenschaften ihre Implementierung in der Praxis schwer:

  1. Die derzeit leistungsstärksten Modelle laufen normalerweise auf spezialisierter Hardware (meistens GPUs oder TPUs), um Ergebnisse in einer machbaren Zeit zu erhalten.
  2. Selbst in dem Fall, dass die Trainingszeit ignoriert wird, kann die Rechenkomplexität während der Inferenzphase ein Problem darstellen, wenn sie zu zusätzlicher Latenz bei Webanwendungen führt und schließlich die Benutzerzufriedenheit verschlechtert.
  3. Black-Box-Modelle wie BERT sind schwierig zu überprüfen, sobald Probleme auftreten (z. B. „Warum diese unerwartete Kategorie für dieses Produkt?“).

Das Problem des Trade-off-Dreiecks

Ein besonderer Anwendungsfall ist es zum Beispiel, wenn eine ressourcenarme Lösung benötigt wird, bei der einige Kategorien nicht verwechselt werden dürfen (beispielsweise darf „Sexspielzeug“ nicht fälschlicherweise als „Spielzeug“ klassifiziert werden, daher sind volle Black-Box-Modelle ungeeignet). Gleichzeitig sollen aber auch die bestmöglichen Klassifizierungen erreicht werden. An dieser Stelle tritt ein „Trade-off-Dreieck“ aus drei Aspekten auf, welche man bei der Wahl einer Klassifikationsmodellarchitektur nicht zur selben Zeit vollständig erreichen kann: Leistung, Erklärbarkeit und geringer Ressourcenbedarf. Deshalb ist es das Ziel, die Leistungslücke zwischen Black-Box-BERT-basierten Methoden und leichteren erklärbaren Modellen zu quantifizieren. Dafür wird DistilBERT mit einer auf k-Nächste-Nachbarn-basierte Klassifikationspipeline verglichen. DistilBERT schneidet zwar in der Regel etwas schlechter ab, ist es aber deutlich kompakter als äquivalente BERT-basierte Modelle. Die auf k-Nächste-Nachbarn-basierte Klassifikationspipeline wird auf einer Reihe verschiedener Textdarstellungen mit unterschiedlichem Grad an Rechenkomplexität und Erklärbarkeit – einschließlich Topic-Modelle und neuronale Sprachmodelle – trainiert.

Dieser Rahmen ist erklärbar, da trivialerweise die Nachbarn (die ähnlichsten Produktbeschreibungen) als Erklärungen für jeden klassifizierten Artikel gezeigt werden können.

Eine ressourcenarme Lösung mit bestmöglicher Klassifizierung

Obwohl eine gewisse Leistungslücke zu beobachten ist, kann dieser Unterschied sich kaum lohnen, wenn die gemessenen, viel größeren CPU-Zeiten für DistilBERT berücksichtigt werden. Auch wegen ihrer mangelnden Erklärbarkeit muss das aktuellste verfügbare neuronale Netz nicht unbedingt die beste Option sein, insbesondere wenn das Modell in einer Produktionsumgebung ausgeführt werden muss.

Die erklärbare Pipeline besteht aus einem Sprachmodell, welches vektorielle Repräsentationen für Textbeschreibungen generiert, und einem Nächste-Nachbarn-Klassifikator. Das bedeutet, laut des jeweiligen Sprachmodells, werden „ähnliche“ Artikel (anhand ihrer Beschreibung), für die Kategorien des bisher bekannten ähnlichsten Artikels übernommen. Zu den getesteten Sprachmodellen gehören:

  • Latent Dirichlet allocation (LDA): Das klassische Topic Model, wofür nur Nomen aus den Texten übernommen werden.
  • Anchored CorEx: Auch ein Topic Model, das es ermöglicht, Anker-Wörter zu benutzen, um die Modellierung der Topics zu beeinflussen. Wie bei LDA, werden nur Nomen verwendet, um zwei unterschiedliche Modelle zu trainieren: einmal „unsupervised“ und einmal mit 10 Anker-Wörter pro Artikel-Kategorie, nämlich die mit den höchsten „Mutual Information“.
  • FastText: Ein neuronales Sprachmodell, das effizient auf CPUs bzw. auf „gängigen“ Rechnern laufen kann.
  • SentenceBERT (SBERT): Ein BERT-basiertes Modell, das gezielt semantische Ähnlichkeit kodiert.

Die unterschiedlichen Modelle werden auf die Daten evaluiert, woraus die folgende Metriken entstehen:

Die Ergebnisse scheinen das genannte „Trade-off-Dreieck“ zu bestätigen: Das komplexeste Modell (DistilBERT) übertrifft die einfacheren interpretierbaren Modelle (LDA und CorEx) bei weitem, während die dazwischenliegenden Modelle in Bezug auf die Erklärbarkeit (SBERT etwas interpretierbarer als DistilBERT, aufgrund seiner ähnlichkeitsbasierten Natur) oder in Bezug auf die Rechenkomplexität (FastText) Zwischenergebnisse erzielen. Allerdings ist die Relevanz der Leistungslücke auf diesem Dataset zwischen DistilBERT und SBERT fraglich. Die Kombination von SBERT mit einem k-Nächste-Nachbarn-basierten Klassifikator kann ein guter Kompromiss sein: Seine Performanz liegt nah am besten Modell und sie kann gleichzeitig erklärbare Vorhersagen beibehalten (ein Artikel erhält eine Kategorie, weil ähnliche Artikel zu dieser Kategorie gehören). FastText scheint auch eine gute Option in Setups zu sein, in denen keine GPU verfügbar ist.

Fazit

Da viele Online-Shops einen Datensatz ähnlicher Komplexität besitzen bzw. einen Datensatz, in dem die Überlegenheit der komplexesten Transformer-Modelle kaum sichtbar ist, stellt sich die Frage, ob das leistungsstärkste verfügbare Modell standardmäßig angewendet werden sollte, ohne die erheblichen Rechen- und Implementierungskosten zu berücksichtigen.

Alle technischen Details sind in der zugehörigen Publikation zu finden:

Assessing the Performance Gain on Retail Article Categorization at the Expense of Explainability and Resource Efficiency.
Brito, Eduardo, et al. (German Conference on Artificial Intelligence (Künstliche Intelligenz)), 2022. Link

Autor*in

Eduardo Alfredo
Brito Chacón

Eduardo Brito ist Data Scientist und Projektleiter am Fraunhofer IAIS im Team Natural Language Understanding. Er forscht zurzeit an erklärbaren semantischen Textähnlichkeitsfunktionen für verschiedene Information-Retrieval-Anwendungsfälle, z.B. zur Kategorisierung von Einzelhandelsprodukten oder um relevante Passagen in juristischen Dokumenten zu identifizieren. Er ist besonders interessiert an die Entwicklung von Informed-Machine-Learning-Modellen, die bis zu einem gewissen Grad erklärbar und ressourcenbewusst sind, aber gleichzeitig kompetitiv bleiben im Vergleich zu den entsprechenden leistungsstärksten Deep-Learning-Modellen.