{"id":4564,"date":"2022-11-16T05:00:39","date_gmt":"2022-11-16T05:00:39","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/automatische-kategorisierung\/"},"modified":"2025-11-12T14:53:12","modified_gmt":"2025-11-12T14:53:12","slug":"automatische-kategorisierung","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/automatische-kategorisierung\/","title":{"rendered":"Automatische Kategorisierung von Online-Shop-Artikeln aus Produktbeschreibungen"},"content":{"rendered":"\n<p>Wenn man online shoppt, erwartet man ein breites Produktangebot, welches l\u00e4ngst nicht mehr rein manuell zu warten ist. G\u00e4ngige Online-Shops klassifizieren jeden Artikel unter einer oder mehreren Kategorien, um die Produktsuche zu vereinfachen. Wie kann sich so ein Prozess automatisieren lassen?<\/p>\n\n\n\n<p>Eine m\u00f6gliche L\u00f6sung erfolgt durch Textkategorisierung. Aus einem Produktkatalog k\u00f6nnen Produktbeschreibungen und die jeweiligen Kategorien benutzt werden, um ML-Modelle zu trainieren, die anhand eines kurzen Textes, die passenden Kategorien vorhersagen. Heutzutage l\u00f6st man solche Probleme standardm\u00e4\u00dfig mit vortrainierten <a href=\"https:\/\/lamarr-institute.org\/de\/kontextabhaengige-einbettungsvektoren\/\" target=\"_blank\" rel=\"noreferrer noopener\">kontextabh\u00e4ngigen Einbettungsvektoren<\/a>, insbesondere mit Transformer-basierten Modellen wie <a href=\"https:\/\/lamarr-institute.org\/de\/bert\/\" target=\"_blank\" rel=\"noreferrer noopener\">BERT<\/a> (Bidirectional Encoder Representations from Transformers). Das sind tiefe neuronale Netzwerke, die aus sehr vielen Texten, verschiedene Sprachen modellieren k\u00f6nnen. Dies erm\u00f6glicht unter anderem, z\u00fcgig einen Text-Klassifikator aus den Produktbeschreibungen zu trainieren. Obwohl die Resultate von solchen Ergebnissen erstaunlich gut sein k\u00f6nnen, machen manche ihrer Eigenschaften ihre Implementierung in der Praxis schwer:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Die derzeit leistungsst\u00e4rksten Modelle laufen normalerweise auf spezialisierter Hardware (meistens GPUs oder TPUs), um Ergebnisse in einer machbaren Zeit zu erhalten.<\/li>\n\n\n\n<li>Selbst in dem Fall, dass die Trainingszeit ignoriert wird, kann die Rechenkomplexit\u00e4t w\u00e4hrend der Inferenzphase ein Problem darstellen, wenn sie zu zus\u00e4tzlicher Latenz bei Webanwendungen f\u00fchrt und schlie\u00dflich die Benutzerzufriedenheit verschlechtert.<\/li>\n\n\n\n<li>Black-Box-Modelle wie BERT sind schwierig zu \u00fcberpr\u00fcfen, sobald Probleme auftreten (z. B. \u201eWarum diese unerwartete Kategorie f\u00fcr dieses Produkt?\u201c).<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Das Problem des Trade-off-Dreiecks<\/span><\/h2>\n\n\n\n<p>Ein besonderer Anwendungsfall ist es zum Beispiel, wenn eine ressourcenarme L\u00f6sung ben\u00f6tigt wird, bei der einige Kategorien nicht verwechselt werden d\u00fcrfen (beispielsweise darf \u201eSexspielzeug\u201c nicht f\u00e4lschlicherweise als \u201eSpielzeug\u201c klassifiziert werden, daher sind volle Black-Box-Modelle ungeeignet). Gleichzeitig sollen aber auch die bestm\u00f6glichen Klassifizierungen erreicht werden. An dieser Stelle tritt ein \u201eTrade-off-Dreieck\u201c aus drei Aspekten auf, welche man bei der Wahl einer Klassifikationsmodellarchitektur nicht zur selben Zeit vollst\u00e4ndig erreichen kann: Leistung, Erkl\u00e4rbarkeit und geringer Ressourcenbedarf. Deshalb ist es das Ziel, die Leistungsl\u00fccke zwischen Black-Box-BERT-basierten Methoden und leichteren erkl\u00e4rbaren Modellen zu quantifizieren. Daf\u00fcr wird <a href=\"https:\/\/arxiv.org\/abs\/1910.01108\" target=\"_blank\" rel=\"noopener\">DistilBERT<\/a> mit einer auf <em>k<\/em>-N\u00e4chste-Nachbarn-basierte Klassifikationspipeline verglichen. DistilBERT schneidet zwar in der Regel etwas schlechter ab, ist es aber deutlich kompakter als \u00e4quivalente BERT-basierte Modelle. Die auf <em>k<\/em>-N\u00e4chste-Nachbarn-basierte Klassifikationspipeline wird auf einer Reihe verschiedener Textdarstellungen mit unterschiedlichem Grad an Rechenkomplexit\u00e4t und Erkl\u00e4rbarkeit \u2013 einschlie\u00dflich Topic-Modelle und neuronale Sprachmodelle \u2013 trainiert.<\/p>\n\n\n\n<p>Dieser Rahmen ist erkl\u00e4rbar, da trivialerweise die Nachbarn (die \u00e4hnlichsten Produktbeschreibungen) als Erkl\u00e4rungen f\u00fcr jeden klassifizierten Artikel gezeigt werden k\u00f6nnen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Eine ressourcenarme L\u00f6sung mit bestm\u00f6glicher Klassifizierung<\/span><\/h2>\n\n\n\n<p>Obwohl eine gewisse Leistungsl\u00fccke zu beobachten ist, kann dieser Unterschied sich kaum lohnen, wenn die gemessenen, viel gr\u00f6\u00dferen CPU-Zeiten f\u00fcr DistilBERT ber\u00fccksichtigt werden. Auch wegen ihrer mangelnden Erkl\u00e4rbarkeit muss das aktuellste verf\u00fcgbare neuronale Netz nicht unbedingt die beste Option sein, insbesondere wenn das Modell in einer Produktionsumgebung ausgef\u00fchrt werden muss.<\/p>\n\n\n\n<p>Die erkl\u00e4rbare Pipeline besteht aus einem Sprachmodell, welches vektorielle Repr\u00e4sentationen f\u00fcr Textbeschreibungen generiert, und einem N\u00e4chste-Nachbarn-Klassifikator. Das bedeutet, laut des jeweiligen Sprachmodells, werden \u201e\u00e4hnliche\u201c Artikel (anhand ihrer Beschreibung), f\u00fcr die Kategorien des bisher bekannten \u00e4hnlichsten Artikels \u00fcbernommen. Zu den getesteten Sprachmodellen geh\u00f6ren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Latent Dirichlet allocation (LDA): Das klassische <a href=\"https:\/\/towardsdatascience.com\/light-on-math-machine-learning-intuitive-guide-to-latent-dirichlet-allocation-437c81220158\" target=\"_blank\" rel=\"noopener\">Topic Model<\/a>, wof\u00fcr nur Nomen aus den Texten \u00fcbernommen werden.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/gregversteeg\/corex_topic\" target=\"_blank\" rel=\"noopener\">Anchored CorEx<\/a>: Auch ein Topic Model, das es erm\u00f6glicht, Anker-W\u00f6rter zu benutzen, um die Modellierung der Topics zu beeinflussen. Wie bei LDA, werden nur Nomen verwendet, um zwei unterschiedliche Modelle zu trainieren: einmal \u201eunsupervised\u201c und einmal mit 10 Anker-W\u00f6rter pro Artikel-Kategorie, n\u00e4mlich die mit den h\u00f6chsten \u201e<a href=\"https:\/\/de.wikipedia.org\/wiki\/Transinformation\" target=\"_blank\" rel=\"noopener\">Mutual Information<\/a>\u201c.<\/li>\n\n\n\n<li><a href=\"https:\/\/fasttext.cc\/\" target=\"_blank\" rel=\"noopener\">FastText<\/a>: Ein neuronales Sprachmodell, das effizient auf CPUs bzw. auf \u201eg\u00e4ngigen\u201c Rechnern laufen kann.<\/li>\n\n\n\n<li>SentenceBERT (<a href=\"https:\/\/towardsdatascience.com\/an-intuitive-explanation-of-sentence-bert-1984d144a868\" target=\"_blank\" rel=\"noopener\">SBERT<\/a>): Ein BERT-basiertes Modell, das gezielt semantische \u00c4hnlichkeit kodiert.<\/li>\n<\/ul>\n\n\n\n<p>Die unterschiedlichen Modelle werden auf die Daten evaluiert, woraus die folgende Metriken entstehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large wp-duotone-midnight\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Tabelle_Metriken-1024x835.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-25483\" title=\"\"><\/figure>\n\n\n\n<p>Die Ergebnisse scheinen das genannte \u201eTrade-off-Dreieck\u201c zu best\u00e4tigen: Das komplexeste Modell (DistilBERT) \u00fcbertrifft die einfacheren interpretierbaren Modelle (LDA und CorEx) bei weitem, w\u00e4hrend die dazwischenliegenden Modelle in Bezug auf die Erkl\u00e4rbarkeit (SBERT etwas interpretierbarer als DistilBERT, aufgrund seiner \u00e4hnlichkeitsbasierten Natur) oder in Bezug auf die Rechenkomplexit\u00e4t (FastText) Zwischenergebnisse erzielen. Allerdings ist die Relevanz der Leistungsl\u00fccke auf diesem Dataset zwischen DistilBERT und SBERT fraglich. Die Kombination von SBERT mit einem <em>k<\/em>-N\u00e4chste-Nachbarn-basierten Klassifikator kann ein guter Kompromiss sein: Seine Performanz liegt nah am besten Modell und sie kann gleichzeitig erkl\u00e4rbare Vorhersagen beibehalten (ein Artikel erh\u00e4lt eine Kategorie, weil \u00e4hnliche Artikel zu dieser Kategorie geh\u00f6ren). FastText scheint auch eine gute Option in Setups zu sein, in denen keine GPU verf\u00fcgbar ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Da viele Online-Shops einen Datensatz \u00e4hnlicher Komplexit\u00e4t besitzen bzw. einen Datensatz, in dem die \u00dcberlegenheit der komplexesten Transformer-Modelle kaum sichtbar ist, stellt sich die Frage, ob das leistungsst\u00e4rkste verf\u00fcgbare Modell standardm\u00e4\u00dfig angewendet werden sollte, ohne die erheblichen Rechen- und Implementierungskosten zu ber\u00fccksichtigen.<\/p>\n\n\n\n<p>Alle technischen Details sind in der zugeh\u00f6rigen Publikation zu finden:<\/p>\n\n\n\n<p><strong>Assessing the Performance Gain on Retail Article Categorization at the Expense of Explainability and Resource Efficiency.<\/strong><br>Brito, Eduardo, et al. (<em>German Conference on Artificial Intelligence (K\u00fcnstliche Intelligenz)), 2022.<\/em> <a href=\"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-031-15791-2_5\" target=\"_blank\" rel=\"noreferrer noopener\">Link<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag zeigt Autor Eduardo Brito wie die Klassifizierung von Artikeln in Online-Shops automatisiert werden kann und pr\u00e4sentiert anhand eines Anwendungsbeispiels eine ressourcenschonende L\u00f6sung.<\/p>\n","protected":false},"author":9,"featured_media":4567,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,546],"blog-tag":[1482,1533,1552,1598],"class_list":["post-4564","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-anwendung","blog-tag-einbettungsvektoren","blog-tag-klassifikation","blog-tag-logistik","blog-tag-sprachmodelle"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/9"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4567"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4564"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4564"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}