Bachelorarbeit: KI im E-Commerce

Künstliche Intelligenz und maschinelles Lernen sind im Zusammenhang der Entwicklung der Digitalisierung wichtige Themen, die auch im E-Commerce-Bereich immer bedeutender werden. David Laskowski hat sich bei basecom im Rahmen seiner Bachelorarbeit theoretisch und praktisch mit diesem spannenden Thema befasst. Über sein Projekt berichtet David in diesem Beitrag.

Als Anfang 2019 das Ende des fünften Semesters immer näher rückte, galt es, sich ein Thema und ein Unternehmen für das Abschlusssemester zu suchen. Denn im Studiengang Medieninformatik an der Hochschule Osnabrück wird das letzte Semester als Praxissemester absolviert. Nach meinem ersten Kontakt mit dem Gebiet des maschinellen Lernens, während eines Wahlmoduls, war ich von der Thematik begeistert. Somit war das grobe Thema für die Abschlussarbeit schon mal geklärt. Bei der Chance-Messe an der Hochschule Osnabrück habe ich dann mit basecom auch ein Unternehmen gefunden, das bereit war, das Experiment E-Commerce und maschinelles Lernen zu verbinden, umzusetzen und mich bei der Entwicklung eines konkreten Projekts zu meinem Wunschthema zu unterstützen. Nach einer kurzen gemeinsamen Besprechung sinnvoller Ansätze, ist die Idee aufgekommen, das maschinelle Lernen zu verwenden, um das Verhalten der Besucher der Onlineshops zu analysieren. Hierbei sollte anhand des Verhaltens der Besucher eine Vorhersage getroffen werden, ob diese bald den Shop verlassen. Wenn erkannt wurde, dass der Besucher den Shop bald verlassen wird, sollte er ein Rabatt-Angebot bekommen, um ihn zu einem Kauf zu bewegen. Die Idee war also, eine automatisiertes Tool zur Verbesserung der Conversion Rate zu entwickeln.

Zum Beginn meiner Praxisphase hatte ich nur eine grobe Vorstellung, wie die Konzeption und die Umsetzung der eigentlichen Softwarelösung ablaufen sollte. Da ich weder aus dem Studium noch aus meiner vorherigen Berufserfahrung Vorkenntnisse zu dem Themenbereich hatte, musste ich mich zunächst einarbeiten. Anhand von einigen Literaturempfehlungen meines Professors und vielen, vielen Online-Tutorials bekam ich langsam einen Eindruck von der Thematik. Zusätzlich machte ich mich ein wenig mit dem Shopsystem Magento vertraut, da der Plan war, die Softwarelösung in einem Magento-Shop auszuprobieren.

Maschinelles lernen: Neuronale Netze trainieren

Da für das maschinelle Lernen eine große Menge von Daten benötigt wird, um eine mögliche Systematik zu erkennen, erstellte ich zunächst eine Lösung zum Sammeln dieser Daten. Ein kleines in JavaScript geschriebenes Plugin wurde so umgesetzt, dass es Seitenaufrufe, Mausbewegungen und viele weitere Daten eines Besuchers aufzeichnete. Die Daten wurden dann anonym in einer Datenbank abgespeichert. Zeitgleich wurden mehrere Kunden gefragt, ob bei ihnen Interesse bestand, die Softwarelösung probehalber in ihrem Shop zu integrieren. aktivshop (aktivshop.de) war der erste Kunde der, sich bereit erklärte, mich Daten sammeln zu lassen. Nachdem die Details auf der technischen Seite und seitens des Datenschutzes geklärt waren, wurde die Softwarelösung in den Shop integriert. Nach ein bis zwei Wochen stand bereits eine große Menge an Daten zur Verfügung.

Im Anschluss an die erfolgreiche Projektphase und der damit verbundenen Abgabe des Projektberichts, galt es nun, sich an die Analyse der Daten zu machen. Nach der ersten Durchsicht der Daten ergaben sich mehrere Ansätze für die Umsetzung. Erste Versuche, ein neuronales Netz umzusetzen und zu trainieren, waren jedoch erfolglos. Nach Rücksprache mit meinem Professor habe ich dann die Konzepte noch einmal angepasst. Die Seitenaufrufe der einzelnen Besucher sollten in Kategorien eingeteilt werden. In Magento wird hierfür eine Liste von Klassen gehalten, die eine grobe Kategorisierung der Seite zulässt. Beispielsweise kann man so erkennen, ob es sich um eine Artikelübersicht, eine Produktdetailseite oder den Warenkorb handelt. Mit Keras, einem Python Framework für das Thema maschinelles Lernen, wurde dann das entsprechende neuronale Netz entworfen. Dem Netz wurde als Eingabe eine Sequenz von den zuvor genannten Kategorien gegeben. Durch das Training sollte es lernen, anhand der Sequenz die nächste Kategorie vorherzusagen. Anhand dieser Vorhersage hätte man dann für einen Besucher des Onlineshops erkennen können, wann er plant die Seite zu verlassen.
Während der Arbeit mit den unterschiedlich entwickelten Netzen und den vielen Trainingsversuchen zeichnete sich aber immer wieder ab, dass eine verlässliche Vorhersage nicht möglich war. Um mögliche Probleme mit der Struktur der neuronalen Netze auszuschließen, habe ich dann noch ein Optimierungsverfahren angewendet, um die Leistungsfähigkeit der Netze zu verbessern. Auch das hat nicht zu dem gewünschten Erfolg geführt.
Neben der Umsetzung der entwickelten Konzepte musste natürlich auch noch eine Bachelorarbeit verfasst werden. Dies nahm dann einen Großteil der verbleibenden Zeit in Anspruch. Obwohl ich trotzdem zwischendurch immer noch neue Ansätze und kleinere Anpassung ausprobiert habe, in der Hoffnung, dass sich die Leistungsfähigkeit der Netze doch noch bessert.

Letztendlich blieb es bei dem Ergebnis, dass die Vorhersage des Verhaltens der Besucher nicht verlässlich möglich war. Trotzdem habe ich durch die Recherchen für die Arbeit viel gelernt und viele neue Bereiche und Technologien kennengelernt. Außerdem ist der Aufbau der gesamten Softwarelösung so allgemein gehalten, dass sie ohne weiteres auf einen anderen Shop angewendet werden könnte. Denn es ist durchaus möglich, dass ein Versuch in einem anderen Shop zu erfolgreichen Vorhersagen führt, weil das Verhalten der Besucher vorhersehbarer ist. Auch nach dem etwas ernüchternden Ergebnis meiner Bachelorarbeit und dem relativ hohen Arbeitsaufwand, der in die Recherche und die Umsetzung geflossen ist, finde ich das Thema nach wie vor sehr interessant. Ich bin mir sicher, dass es weitere Anwendungsfälle gibt, in denen man maschinelles Lernen und E-Commerce erfolgreich kombinieren kann.

Nach seiner Bachelorarbeit ist David uns treu geblieben. Seit September 2019 ist er bei basecom in der Business Unit Spryker als Softwareentwickler tätig.

Wenn du auch deine Abschlussarbeit in einem innovativen Softwareunternehmen mit einer tollen Arbeitsatmosphäre und netten Kollegen schreiben möchtest, schau doch mal auf unserer Karriereseite vorbei! Wir freuen uns auf deine Bewerbung!