Aus dem Kauf eines Produktes wird bei Empfehlungssystemen grundsätzlich erst einmal eine positive Haltung des Kunden abgeleitet. Eine differenzierte Beurteilung ist aber nur dann möglich, wenn der Kunde das Produkt auch bewerten darf. Wir zeigen Möglichkeiten auf, verbesserte Empfehlungen mit Hilfe der Benotungen zu erzeugen.
Liegen Produktbewertungen vor, können diese auf verschiedene Weisen genutzt werden. Ein relativ einfacher Ansatz besteht etwa darin, den Durchschnittswert der Benotungen eines Produkts zur Sortierung der Produkte nach Beliebtheit zu verwenden. Bei dieser Herangehensweise können die Bewertungen auch anonym erfolgen; jedem Interessenten wird hierbei die gleiche Rangfolge präsentiert, die unabhängig von den eigenen Vorlieben ermittelt wird.
Marketingstrategen wollen mehr: Sie träumen von der Möglichkeit, die individuelle Kaufbereitschaft eines konkreten Kunden für jedes Produkt verlässlich vorhersagen zu können. Es könnte bspw. aus einer Auswahl von gleichwertigen Produkten dasjenige dem Kunden empfohlen werden, das die höchste vorhergesagte individuelle Bewertung erzielt.
Um das heute vorgestellte Verfahren besser verstehen zu können, gehen wir vereinfachend von folgenden Annahmen aus:
- Jedes Produkt wird durch die gleiche Menge von Attributen beschrieben.
- Die Produkte unterscheiden sich durch die jeweiligen Werte der Attribute.
- Jeder Kunde ordnet einem Attribut ein Gewicht zu, das die individuelle Bedeutung des Attributs für den Kunden ausdrückt.
- Die erwartete Bewertung eines Produktes durch einen Kunden ergibt sich als Summe der Produkte Attributswert*Kundengewicht über alle Attribute
Zur Illustration nehmen wir vereinfachend drei Produkteigenschaften A, B und C an, die ein Produkt besitzen kann. Für jedes von 10 Produkten haben Experten die Ausprägung der Produkteigenschaften festgelegt, die in der vorhergehenden Tabelle dargestellt sind. Ein großer positiver Wert besagt, dass die Eigenschaft stark erfüllt ist; ein betragsmäßig großer negativer Wert lässt erkennen, dass diese Eigenschaft wenig erfüllt ist. Ein neutraler Wert von 0 hieße, dass die Eigenschaft für die Produktbewertung nicht relevant oder nicht anwendbar ist.
Zusätzlich wurden die Kunden befragt, wie sie durch die Produkteigenschaften beeinflusst werden. Diese Werte sind in der folgenden Tabelle zusammengefasst:
Trifft ein negatives Kundengewicht auf einen positiven Attributswert, führt dies zur Abwertung des Produkts. Ein negatives Kundengewicht bei einem negativen Attributswert ergibt hingegen eine Aufwertung. Ein Kundengewicht 0 gehört zu einem Attribut, das für den Kunden nicht relevant ist.
Die vorhergesagten Bewertungen der 10 Produkte durch Kunden K1 ergeben sich beispielsweise zu
Der Wert 10 für das erste Produkt P1 ergibt sich durch die Summe 1*1+1*3-2*(-3)=10. Hier erzeugt die Abwesenheit bzw. geringe Ausprägung der Eigenschaft C beim Kunden K1 einen Nutzengewinn. Hingegen stößt der hohe C-Wert des Produkts P8 von 5 bei diesem Kunden auf Ablehnung. Der Nutzen von Produkt P8 ergibt sich zu 1*(-3)+1*3-2*5=-11 und stellt für den Kunden K1 den geringsten Wert dar.
So weit, so gut. Der gezeigte Ansatz hat jedoch vor allem den folgenden Haken:
Es wird sich kein Experte bereiterklären, bei Tausenden von Produkten die Ausprägungen von Eigenschaften festzulegen, die ihrerseits auch erst einmal definiert werden müssten.
Die Gewichtung der Eigenschaften durch den Kunden stellt noch das kleinere Problem dar. Es gibt durchaus Anwendungen, bei denen die Ausprägungen der Produkte bekannt sind und der Kunde die Möglichkeit hat, die Produkte gemäß den eigenen Präferenzen zu sortieren. Als Beispiel sei der Persönliche Testsieger der Stiftung Warentest genannt, bei welchem der Anwender die Teilergebnisse in jeder Testrubrik nach eigenem Gusto gewichten kann. Trotzdem müsste der Kunde erst einmal zur Eingabe seiner persönlichen Gewichte bewegt werden.
Aber es gibt Grund zur Hoffnung. Seien im folgenden neuen Beispiel die Bewertungen von 10 Produkten durch 5 Kunden auf einer Skala von -3 bis 3 dargestellt.
Es gibt nun erstaunlicherweise Verfahren wie etwa die Singulärwertzerlegung, die es ermöglichen, allein aus den abgegebenen Bewertungen gleichzeitig latente Produkteigenschaften mit sämtlichen Werten für alle Produkte und individuelle Gewichtungen der Eigenschaften durch die Kunden zu generieren, sodass sich für jeden Kunden und jedes Produkt die tatsächliche Note exakt als Summe der Produkte Attributswert*Kundengewicht über alle Attribute ergibt.
Der Kunde muss somit nicht begründen können, warum ihm ein Produkt gefällt; es reicht aus, wenn er seine Meinung kundtut.
Das Verfahren stellt sicher, dass die Produktwerte von unterschiedlichen Attributen unkorreliert sind, also sozusagen unterschiedliche Facetten eines Produktes beleuchtet werden. Welche Bedeutung ein solchermaßen künstlich erzeugtes Attribut hat, weiß der Algorithmus hingegen nicht; diese kann aber manchmal durch einen Experten durch Betrachtung der Produktwerte erahnt werden.
In diesem Beispiel sind 5 Eigenschaften notwendig. Die Anzahl entspricht dem Minimum aus Kundenanzahl und Produktanzahl (für eine vergrößerte Darstellung bitte auf die Grafiken klicken!).
Beispielsweise kann nun die Bewertung des Produkts P1 durch Kunden K2 berechnet werden (bei Verwendung einer Nachkommastelle) zu (-2.2)*(-1.3) +0.1*0.0 +0.5*0.2 -0.1*(-0.2) -0.3*0.2=2.92; bei Verwendung der exakten Zahlen erschiene hier nun die tatsächliche Bewertung 3 der ursprünglichen Tabelle.
Der Einfluss der Attribute variiert: Ein Blick auf die Tabellen verrät, dass die Beiträge der Produktattribute, als auch die Gewichte der Kunden von A nach E tendenziell sinken und somit auch der Beitrag zur prognostizierten Bewertung. Auch bei Tausenden von Produkten und Kunden gibt es auf jeden Fall automatisch generierte Attribute, Produktwerte und Kundengewichte, mit deren Hilfe die Bewertung exakt rekonstruiert werden kann; nur hofft man, dass, relativ gesehen, wenige Attribute ausreichen, um die tatsächliche Benotung hinreichend genau annähern zu können. In unserem Beispiel zeigt die folgende Tabelle die berechneten Bewertungen, wenn nur die wichtigsten Eigenschaften A und B verwendet werden.
Diese approximierten Produktbewertungen sind so gut, dass Rundung auf ganze Zahlen zu den ursprünglichen Originalwerten führt. Hier hat der verwendete Algorithmus also zwei Eigenschaften gefunden, die bei bekannter Gewichtung des Kunden völlig ausreichen, um die Bewertung genügend genau zu erklären.
In unserem Beispiel hatten alle Kunden alle Produkte bewertet. In der Praxis liegen nun für einen Kunden natürlich nicht sämtliche Bewertungen aller Produkte vor, und man möchte ja auch nicht Bewertungen für Produkte vorhersagen, die der Kunde schon besitzt und bewertet hat. Es gibt dann komplexere Ansätze (*), nur die tatsächlich vorhandenen Bewertungen einfließen zu lassen.
Aus den abgegebenen Bewertungen der Kunden für die Produkte werden simultan die notwendigen Gewichte der Kunden bzw. Werte der Produkte erzeugt. So kann dann auch für ein vom Kunden bisher unbewertetes Produkt eine Prognose abgegeben werden, wenn denn das Produkt durch andere Kunden ausreichend viele Bewertungen erhalten hat und einige dieser Kunden unter anderem Bewertungen für Produkte abgegeben haben, die auch der ausgewählte Kunde bewertet hat. Wenn es hingegen eine Kundengruppe A gibt, die nur Produkte aus einer Menge X bewertet hat und eine weitere Kundengruppe B, die nur Produkte einer anderen Menge Y bewertet hat, dann kann kein Kunde aus A eine vernünftige Empfehlung für Produkte aus Y erhalten, da keine Verbindung zwischen diesen beiden Produktuniversen existiert.
Ein neues Produkt oder ein neuer Kunde bereiten in diesem Ansatz prinzipiell Schwierigkeiten. Vielleicht haben wir ja in einem zukünftigen Blogbeitrag für diesen Fall eine Lösung parat.
(*): Yehuda Koren, Robert Bell: Advances in Collaborative Filtering, in Recommender Systems Handbook, S. 145-186, Springer 2011.