Ich arbeite als Datenwissenschaftler bei
CleverDATA . Wir sind an maschinellen Lernprojekten beteiligt, und eine der häufigsten Anforderungen für die Entwicklung von Marketinglösungen auf der Basis von maschinellem Lernen ist die Entwicklung von Empfehlungsmodellen.
In diesem Artikel werde ich über Empfehlungssysteme sprechen, versuchen, einen möglichst vollständigen Überblick über bestehende Ansätze zu geben, und an den Fingern erklären, wie die Algorithmen funktionieren. Ein Teil des Materials basiert auf einem guten Kurs über die Empfehlungssysteme des
MovieLens- Labors (mit denen die meisten Menschen durch denselben Datensatz zum Testen von Empfehlungen vertraut sind), der Rest stammt aus persönlicher Erfahrung. Der Artikel besteht aus zwei Teilen. Der erste beschreibt die Erklärung des Problems und gibt einen Überblick über einfache (aber beliebte) Empfehlungsalgorithmen. Im zweiten Artikel werde ich über fortgeschrittenere Methoden und einige praktische Aspekte der Implementierung sprechen.
QuelleÜberprüfung und Erklärung des Problems
Die Aufgabe des Empfehlungssystems besteht darin, den Benutzer über ein Produkt zu informieren, an dem er zu einem bestimmten Zeitpunkt am meisten interessiert sein könnte. Der Kunde erhält Informationen und der Service verdient Geld mit der Bereitstellung hochwertiger Services. Dienstleistungen sind nicht unbedingt Direktverkäufe der angebotenen Waren. Der Service kann auch Provisionen verdienen oder einfach die Benutzerbindung erhöhen, was sich dann in Werbung und anderen Einnahmen niederschlägt.
Abhängig vom Geschäftsmodell können Empfehlungen die Grundlage sein, wie beispielsweise bei TripAdvisor, oder einfach ein praktischer zusätzlicher Service (wie beispielsweise in einigen Online-Bekleidungsgeschäften), mit dem das Kundenerlebnis verbessert und die Katalognavigation verbessert werden soll bequem.
Die Personalisierung des Online-Marketings ist ein offensichtlicher Trend des letzten Jahrzehnts. Laut
McKinsey stammen 35% des Umsatzes von Amazon oder 75% des Umsatzes von Netflix aus empfohlenen Produkten, und dieser Prozentsatz wird wahrscheinlich steigen. Bei Empfehlungssystemen geht es darum, was der Kunde anbieten kann, um ihn glücklich zu machen.
Um die ganze Vielfalt der Empfehlungsdienste zu veranschaulichen, werde ich eine Liste der Hauptmerkmale geben, mit denen Sie jedes Empfehlungssystem beschreiben können.
- Empfehlungsgegenstand - was wird empfohlen.
Hier gibt es viel Abwechslung - es können Waren (Amazon, Ozon), Artikel (Arxiv.org), Nachrichten (Surfingbird, Yandex.Zen), Bilder (500px), Videos (YouTube, Netflix), Menschen (Linkedin, LonelyPlanet), Musik sein (Last.fm, Pandora), Wiedergabelisten und mehr. Im Allgemeinen können Sie alles empfehlen.
- Der Zweck der Empfehlung ist, warum sie empfohlen wird.
Zum Beispiel: kaufen, informieren, schulen, Kontakte knüpfen.
- Der Kontext der Empfehlung ist das, was der Benutzer gerade tut.
Zum Beispiel: Waren schauen, Musik hören, mit Menschen reden.
- Die Quelle der Empfehlung ist, wer empfiehlt:
- Publikum (durchschnittliche Restaurantbewertung auf TripAdvisor),
- Interessierte Benutzer
- Expertengemeinschaft (manchmal, wenn es um ein komplexes Produkt geht, wie zum Beispiel Wein).
- Der Grad der Personalisierung .
Nicht persönliche Empfehlungen - wenn Sie wie alle anderen empfohlen werden. Sie ermöglichen das Targeting nach Region oder Zeit, berücksichtigen jedoch nicht Ihre persönlichen Vorlieben.
Eine erweiterte Option ist, wenn Empfehlungen Daten aus Ihrer aktuellen Sitzung verwenden. Sie haben sich mehrere Produkte angesehen und am Ende der Seite werden Ihnen ähnliche angeboten.
Persönliche Empfehlungen verwenden alle verfügbaren Informationen über den Kunden, einschließlich der Historie seiner Einkäufe.
- Transparenz
Menschen vertrauen der Empfehlung mehr, wenn sie genau verstehen, wie sie aufgenommen wurde. Es besteht also ein geringeres Risiko, auf "skrupellose" Systeme zu stoßen, die bezahlte Waren fördern oder teurere Waren in die Rangliste aufnehmen. Darüber hinaus sollte ein gutes Empfehlungssystem selbst in der Lage sein, gekaufte Bewertungen und Verkaufscheats zu verarbeiten.
Manipulationen sind übrigens auch unbeabsichtigt. Wenn zum Beispiel ein neuer Blockbuster veröffentlicht wird, ist das erste, was die Fans tun, dementsprechend, dass die Bewertung für die ersten paar Monate stark überschätzt werden kann.
- Das Format der Empfehlung .
Dies kann ein Popup-Fenster sein, eine sortierte Liste, die in einem bestimmten Abschnitt der Site angezeigt wird, eine Multifunktionsleiste am unteren Bildschirmrand oder etwas anderes.
- Algorithmen
Trotz der vielen vorhandenen Algorithmen beschränken sich alle auf mehrere grundlegende Ansätze, die später beschrieben werden. Am klassischsten sind die Algorithmen Zusammenfassungsbasiert (nicht persönlich), Inhaltsbasiert (Modelle basierend auf der Produktbeschreibung), Kollaboratives Filtern (Kollaboratives Filtern), Matrixfaktorisierung (Methoden basierend auf Matrixzerlegung) und einige andere.

QuelleIm Zentrum eines jeden Empfehlungssystems steht die sogenannte Präferenzmatrix. Dies ist eine Matrix, auf deren einer Achse alle Clients des Dienstes (Benutzer) und auf der anderen Seite Objekte der Empfehlung (Elemente) beiseite gelegt werden. Am Schnittpunkt einiger Paare (Benutzer, Artikel) wird diese Matrix mit Bewertungen (Bewertungen) gefüllt - dies ist ein bekannter Indikator für das Interesse des Benutzers an diesem Produkt, ausgedrückt auf einer bestimmten Skala (z. B. von 1 bis 5).
Benutzer bewerten normalerweise nur einen kleinen Teil der Produkte im Katalog. Die Aufgabe des Empfehlungssystems besteht darin, diese Informationen zusammenzufassen und die Einstellung des Kunden zu anderen Produkten vorherzusagen, über die nichts bekannt ist. Mit anderen Worten, Sie müssen alle leeren Zellen im obigen Bild ausfüllen.
Die Konsummuster der Menschen sind unterschiedlich und neue Produkte müssen nicht empfohlen werden. Sie können wiederholte Positionen anzeigen, um beispielsweise den Bestand aufzufüllen. Nach diesem Prinzip werden zwei Warengruppen unterschieden.
- Wiederholbar . Zum Beispiel Shampoos oder Rasierer, die immer gebraucht werden.
- Einzigartig . Zum Beispiel Bücher oder Filme, die selten wieder erworben werden.
Wenn das Produkt nicht explizit einer der Klassen zugeordnet werden kann, ist es sinnvoll, die Zulässigkeit von Wiederholungskäufen einzeln zu bestimmen (jemand geht nur wegen Erdnussbutter einer bestimmten Marke in den Laden, und für jemanden ist es wichtig, alles zu probieren, was im Katalog enthalten ist).
Das Konzept des "Interesses" ist ebenfalls subjektiv. Einige Benutzer benötigen nur Dinge aus ihrer Lieblingskategorie (konservative Empfehlungen), während jemand im Gegenteil eher auf nicht standardisierte Produkte oder Produktgruppen reagiert (riskante Empfehlungen). Beispielsweise kann Video-Hosting dem Benutzer nur neue Folgen seiner Lieblingsserie empfehlen und ihm regelmäßig neue Shows oder sogar neue Genres anbieten. Idealerweise sollten Sie eine Strategie für die separate Anzeige von Empfehlungen für jeden Kunden mithilfe der Modellierung einer Kundenkategorie auswählen.
Benutzerbewertungen können auf zwei Arten erhalten werden:
- explizite Bewertungen - der Benutzer gibt die Produktbewertung ab, hinterlässt eine Bewertung, mag die Seite,
- implizite Bewertungen - der Benutzer drückt seine Haltung nicht explizit aus, aber aus seinen Handlungen kann eine indirekte Schlussfolgerung gezogen werden: Er hat das Produkt gekauft - das heißt, er mag es, liest die Beschreibung lange - es bedeutet, dass Interesse besteht usw.
Natürlich sind explizite Präferenzen besser - der Benutzer selbst sagt, dass es ihm gefallen hat. In der Praxis bieten jedoch nicht alle Websites die Möglichkeit, ihr Interesse ausdrücklich zu bekunden, und nicht alle Benutzer haben den Wunsch, dies zu tun. Beide Arten von Bewertungen werden am häufigsten gleichzeitig verwendet und ergänzen sich gut.
Es ist auch wichtig, zwischen den Begriffen Vorhersage (Vorhersage des Interesses) und der Empfehlung selbst (Darstellung der Empfehlung) zu unterscheiden. Was und wie gezeigt werden soll, ist eine separate Aufgabe, die die im Vorhersageschritt erhaltenen Schätzungen verwendet, aber auf verschiedene Arten implementiert werden kann.
Manchmal wird der Begriff „Empfehlung“ im weiteren Sinne verwendet und bezieht sich auf jede Optimierung, sei es eine Auswahl von Kunden für das Mailing von Werbung, die Bestimmung des optimalen Angebotspreises oder einfach die Auswahl der besten Kommunikationsstrategie mit dem Kunden. In dem Artikel beschränke ich mich auf die klassische Definition dieses Begriffs, die die Auswahl des für den Kunden interessantesten Produkts bezeichnet.
Nicht personalisierte Empfehlungen
Beginnen wir mit nicht personalisierten Empfehlungen, da diese am einfachsten zu implementieren sind. In ihnen wird das potenzielle Interesse des Benutzers einfach durch die durchschnittliche Bewertung des Produkts bestimmt: "Jeder mag es, also wird es Ihnen gefallen." Die meisten Dienste arbeiten nach diesem Prinzip, wenn der Benutzer nicht am System angemeldet ist, z. B. derselbe TripAdvisor.
Empfehlungen können auf verschiedene Arten angezeigt werden - wie ein Banner auf der Seite der Produktbeschreibung (Amazon), als Ergebnis einer nach einem bestimmten Parameter sortierten Anfrage (TripAdvisor) oder auf andere Weise.
Produktbewertungen können auch auf verschiedene Arten angezeigt werden. Dies können Sterne neben dem Produkt, die Anzahl der Likes, der Unterschied zwischen positiven und negativen Stimmen (wie dies normalerweise in Foren der Fall ist), der Anteil hoher Bewertungen oder sogar ein Histogramm von Bewertungen sein. Histogramme sind die informativste Methode, haben jedoch einen Nachteil: Sie sind schwer miteinander zu vergleichen oder zu sortieren, wenn Sie Produkte auflisten müssen.
Kaltstartproblem
Ein Kaltstart ist eine typische Situation, in der noch nicht genügend Daten gesammelt wurden, damit das Empfehlungssystem ordnungsgemäß funktioniert (z. B. wenn ein Produkt neu ist oder nur selten gekauft wird). Wenn die durchschnittliche Bewertung anhand der Schätzungen von nur drei Benutzern (igor92, xyz_111 und oleg_s) berechnet wird, ist eine solche Bewertung eindeutig nicht zuverlässig, und die Benutzer verstehen dies. In solchen Situationen werden die Bewertungen häufig künstlich angepasst.
Der erste Weg besteht darin, nicht den Durchschnittswert, sondern den geglätteten Durchschnitt (gedämpfter Mittelwert) anzuzeigen. Die Bedeutung ist folgende: Bei einer kleinen Anzahl von Bewertungen neigt die angezeigte Bewertung eher zu einer Art sicherem "Durchschnitts" -Indikator, und sobald eine ausreichende Anzahl neuer Bewertungen erfasst wird, funktioniert die "Durchschnitts" -Anpassung nicht mehr.
Ein anderer Ansatz besteht darin, Konfidenzintervalle für jede Bewertung zu berechnen. Je mehr Schätzungen, desto weniger Abweichungen des Durchschnitts und damit mehr Vertrauen in seine Richtigkeit. Als Bewertung können Sie beispielsweise die untere Grenze des Intervalls anzeigen (Low CI Bound). Gleichzeitig ist klar, dass ein solches System recht konservativ sein wird und dazu neigt, die Bewertungen für neue Produkte zu unterschätzen (es sei denn, dies ist natürlich ein Erfolg).
Da Schätzungen auf einen bestimmten Maßstab beschränkt sind (z. B. von 0 bis 1), ist die übliche Methode zur Berechnung des Konfidenzintervalls hier schlecht anwendbar: aufgrund der Verteilungsschwänze, die bis ins Unendliche gehen, und der Symmetrie des Intervalls selbst. Es gibt eine alternative und genauere Methode zur Berechnung - das
Wilson-Konfidenzintervall . In diesem Fall werden asymmetrische Intervalle von ungefähr dieser Art erhalten.
Im obigen Bild ist die horizontale Bewertung der Durchschnittsbewertung aufgetragen, und die vertikale Bewertung ist die Streuung um den Durchschnitt. Die Farbe zeigt unterschiedliche Stichprobengrößen an (je größer die Stichprobe, desto kleiner das Konfidenzintervall).
Das Kaltstartproblem ist ebenso relevant für nicht personalisierte Empfehlungen. Der allgemeine Ansatz besteht darin, das, was derzeit nicht gezählt werden kann, durch verschiedene Heuristiken zu ersetzen (z. B. durch eine durchschnittliche Bewertung zu ersetzen, einen einfacheren Algorithmus zu verwenden oder ein Produkt erst zu verwenden, wenn Daten gesammelt wurden).
Relevanz von Empfehlungen
In einigen Fällen ist es auch wichtig, die „Frische“ der Empfehlung zu berücksichtigen. Dies gilt insbesondere für Artikel oder Forenbeiträge. Neue Einträge sollten oft ganz oben stehen. Verwenden Sie dazu Dämpfungsfaktoren. Im Folgenden finden Sie einige Formeln zur Berechnung des Rankings von Artikeln auf Medienseiten.
Beispiel für die Bewertungsberechnung im Hacker-Nachrichtenmagazin:
Dabei gilt U = Aufwärtsstimmen, D = Abwärtsstimmen und P (Strafe) - zusätzliche Anpassung für die Implementierung anderer Geschäftsregeln
Bewertungsberechnung in Reddit:
wobei U = Anzahl der Stimmen dafür, D = Anzahl der Gegenstimmen, T = Zeitpunkt der Aufzeichnung. Der erste Term schätzt die „Aufnahmequalität“ und der zweite nimmt eine Zeitkorrektur vor.
Offensichtlich gibt es keine universelle Formel, und jeder Dienst erfindet die Formel, die sein Problem am besten löst - sie wird empirisch überprüft.
Inhaltsbasierte Empfehlungen
Persönliche Empfehlungen empfehlen die maximale Nutzung von Informationen über den Benutzer selbst, vor allem über seine früheren Einkäufe. Einer der ersten war der inhaltsbasierte Filteransatz. Im Rahmen dieses Ansatzes wird die Beschreibung des Produkts (Inhalts) mit den Interessen des Benutzers verglichen, die aus seinen vorherigen Bewertungen hervorgegangen sind. Je mehr das Produkt diesen Interessen entspricht, desto höher wird das potenzielle Interesse des Benutzers bewertet. Die offensichtliche Anforderung hierbei ist, dass alle Produkte im Katalog eine Beschreibung haben müssen.
In der Vergangenheit waren inhaltliche Empfehlungen häufig Waren mit einer unstrukturierten Beschreibung: Filme, Bücher, Artikel. Solche Zeichen können beispielsweise Textbeschreibungen, Rezensionen, Besetzungen und mehr sein. Nichts hindert jedoch die Verwendung gewöhnlicher numerischer oder kategorialer Zeichen.
Unstrukturierte Merkmale werden in typischer Weise für den Text beschrieben - Vektoren im Raum der Wörter (
Vektor-Raum-Modell ). Jedes Element eines solchen Vektors ist ein Merkmal, das möglicherweise das Interesse des Benutzers charakterisiert. Ebenso ist ein Produkt ein Vektor im selben Raum.
Während der Benutzer mit dem System interagiert (z. B. kauft er Filme), werden die Vektorbeschreibungen der von ihm gekauften Waren zu einem einzigen Vektor zusammengefasst (zusammengefasst und normalisiert) und somit ein Vektor seiner Interessen gebildet. Ferner ist es ausreichend, ein Produkt zu finden, dessen Beschreibung dem interessierenden Vektor am nächsten kommt, d.h. Löse das Problem, n nächste Nachbarn zu finden.
Nicht alle Elemente sind gleich wichtig: Beispielsweise tragen verwandte Wörter offensichtlich keine Nutzlast. Daher müssen bei der Bestimmung der Anzahl übereinstimmender Elemente in zwei Vektoren alle Messungen zuerst nach ihrer Signifikanz abgewogen werden. Diese Aufgabe wird durch die in
Text Mining bekannte
TF-IDF- Transformation gelöst, die selteneren Interessen mehr Gewicht beimisst. Das Zusammentreffen solcher Interessen ist für die Bestimmung der Nähe zweier Vektoren wichtiger als das Zusammentreffen populärer Vektoren.
Das TF-IDF-Prinzip ist hier gleichermaßen auf gewöhnliche nominelle Attribute anwendbar, wie zum Beispiel Genre, Regisseur, Sprache. TF - ein Maß für die Wichtigkeit des Attributs für den Benutzer, IDF - ein Maß für die "Seltenheit" des Attributs.
Es gibt eine ganze Familie ähnlicher Transformationen (z. B. BM25 und ähnliche), aber im Wesentlichen wiederholen sie alle dieselbe Logik wie TF-IDF: Seltene Attribute sollten beim Vergleich von Produkten mehr Gewicht haben. Das Bild unten zeigt, wie das Gewicht des TF-IDF vom TF und IDF abhängt. Die nächste horizontale Achse ist DF: Attributfrequenz unter allen Produkten, die entfernte horizontale Achse ist TF: Logarithmus der Attributfrequenz des Benutzers.
Einige Punkte, die bei der Implementierung berücksichtigt werden können.
- Wenn Sie eine Vektorraumpräsentation von Waren erstellen, können Sie anstelle einzelner Wörter Schindeln oder n-Gramm (aufeinanderfolgende Wortpaare, Tripel usw.) verwenden. Dadurch wird das Modell detaillierter, für das Training werden jedoch mehr Daten benötigt.
- An verschiedenen Stellen der Produktbeschreibung kann das Gewicht der Schlüsselwörter unterschiedlich sein (z. B. kann eine Filmbeschreibung aus einem Titel, einer kurzen Beschreibung und einer detaillierten Beschreibung bestehen).
- Produktbeschreibungen von verschiedenen Benutzern können unterschiedlich gewichtet werden. Zum Beispiel können wir aktiven Benutzern mit vielen Bewertungen mehr Gewicht geben.
- Ebenso können Sie wiegen und produzieren. Je höher die durchschnittliche Bewertung eines Objekts ist, desto höher ist sein Gewicht (ähnlich wie bei PageRank ).
- Wenn die Produktbeschreibung Links zu externen Quellen zulässt, können Sie verwirrt werden und auch alle Informationen von Drittanbietern analysieren, die sich auf das Produkt beziehen.
Es ist ersichtlich, dass die inhaltsbasierte Filterung den in Suchmaschinen wie Yandex und Google verwendeten Mechanismus zum Abgleichen von Abfragedokumenten fast vollständig wiederholt. Der einzige Unterschied besteht in der Form einer Suchabfrage - hier handelt es sich um einen Vektor, der die Interessen des Benutzers beschreibt, und es gibt die Schlüsselwörter des angeforderten Dokuments. Als Suchmaschinen anfingen, Personalisierung hinzuzufügen, wurde die Unterscheidung noch mehr aufgehoben.
Als Maß für die Nähe zweier Vektoren wird am häufigsten der Kosinusabstand verwendet.
Wenn eine neue Bewertung hinzugefügt wird, wird der Interessenvektor schrittweise aktualisiert (nur für die Elemente, die sich geändert haben). Beim Nacherzählen ist es sinnvoll, neuen Schätzungen etwas mehr Gewicht zu geben, da die Präferenzen variieren können.
Kollaboratives Filtern (benutzerbasierte Option)
Diese Klasse von Systemen begann sich in den 90er Jahren aktiv zu entwickeln. Im Rahmen des Ansatzes werden Empfehlungen basierend auf den Interessen anderer ähnlicher Benutzer generiert. Solche Empfehlungen sind das Ergebnis einer „Zusammenarbeit“ vieler Benutzer. Daher der Name der Methode.
Die klassische Implementierung des Algorithmus basiert auf dem Prinzip von k nächsten Nachbarn. An den Fingern - für jeden Benutzer suchen wir nach k, die ihm am ähnlichsten sind (in Bezug auf Präferenzen), und ergänzen die Informationen über den Benutzer mit bekannten Daten über seine Nachbarn. Wenn beispielsweise bekannt ist, dass Ihre interessierten Nachbarn von dem Film "Blood and Concrete" begeistert sind und Sie ihn aus irgendeinem Grund nicht gesehen haben, ist dies eine hervorragende Gelegenheit, Ihnen diesen Film zum Anschauen am Samstag anzubieten.
Das obige Bild zeigt das Prinzip der Methode. In der Präferenzmatrix wird der Benutzer gelb hervorgehoben, für die wir die Bewertungen für neue Produkte (Fragezeichen) ermitteln möchten. Drei seiner nächsten Nachbarn sind blau hervorgehoben.
"Ähnlichkeit" ist in diesem Fall ein Synonym für "Korrelation" von Interessen und kann auf viele Arten betrachtet werden (zusätzlich zur Pearson-Korrelation gibt es auch einen Kosinusabstand, einen Jacquardabstand, einen Hamming-Abstand usw.).
Die klassische Implementierung des Algorithmus hat ein offensichtliches Minus - er ist in der Praxis aufgrund der quadratischen Komplexität schlecht anwendbar.
Wie bei jeder Methode des nächsten Nachbarn müssen alle paarweisen Abstände zwischen Benutzern berechnet werden (und es können Millionen von Benutzern vorhanden sein). Es ist leicht zu berechnen, wie komplex die Berechnung der Distanzmatrix sein wirdDabei ist n die Anzahl der Benutzer und m die Anzahl der Produkte. Bei einer Million Benutzern sind mindestens 4 TB erforderlich, um die Distanzmatrix roh zu speichern.Dieses Problem kann teilweise durch den Kauf von Hochleistungseisen gelöst werden. Wenn Sie sich jedoch mit Bedacht nähern, ist es besser, Korrekturen in den Algorithmus einzuführen:- Aktualisieren Sie Entfernungen nicht bei jedem Einkauf, sondern bei Chargen (z. B. einmal am Tag).
- Berechnen Sie die Distanzmatrix nicht vollständig neu, sondern aktualisieren Sie sie schrittweise.
- Entscheiden Sie sich für iterative und ungefähre Algorithmen (z. B. ALS).
Damit der Algorithmus effektiv ist, ist es wichtig, dass einige Annahmen erfüllt sind.- Der Geschmack von Menschen ändert sich nicht mit der Zeit (oder ändert sich, aber für alle gleich).
- Wenn der Geschmack der Menschen übereinstimmt, dann stimmen sie in allem überein.
Wenn beispielsweise zwei Kunden dieselben Filme bevorzugen, mögen sie auch dieselben Bücher. Dies geschieht häufig, wenn die empfohlenen Produkte homogen sind (z. B. nur Filme). Wenn dies nicht der Fall ist, haben möglicherweise einige Kunden die gleichen Essenspräferenzen, und die politischen Ansichten sind direkt entgegengesetzt - hier ist der Algorithmus weniger effektiv.
Die Nachbarschaft des Benutzers im Präferenzbereich (seine Nachbarn), die wir analysieren, um neue Empfehlungen zu generieren, kann auf verschiedene Arten ausgewählt werden. Wir können mit allen Benutzern des Systems im Allgemeinen arbeiten, wir können einen bestimmten Näherungsschwellenwert festlegen, wir können mehrere Nachbarn zufällig auswählen oder die n ähnlichsten Nachbarn wählen (dies ist der beliebteste Ansatz).Die Autoren von MovieLens als optimale Anzahl von Nachbarn geben Zahlen von 30-50 Nachbarn für Filme und 25-100 für willkürliche Empfehlungen an. Hier ist klar, dass wir, wenn wir zu viele Nachbarn nehmen, mehr Chancen auf zufälliges Rauschen haben. Und umgekehrt, wenn wir zu wenig nehmen, erhalten wir genauere Empfehlungen, aber es können weniger Produkte empfohlen werden.Ein wichtiger Schritt bei der Aufbereitung von Daten ist die Normalisierung von Schätzungen.Datenstandardisierung (Skalierung)
Da alle Benutzer unterschiedlich bewerten - jemand setzt fünf in eine Reihe und Sie erwarten selten vier von jemandem - ist es besser, die Daten vor der Berechnung zu normalisieren, d. H. führen zu einer einzelnen Skala, damit der Algorithmus sie korrekt miteinander vergleichen kann.Natürlich muss die vorhergesagte Schätzung dann durch die inverse Transformation in die ursprüngliche Skala übersetzt werden (und gegebenenfalls auf die nächste ganze Zahl gerundet werden).Es gibt verschiedene Möglichkeiten zur Normalisierung:- Zentrierung (Mittelwertzentrierung) - Von den Bewertungen des Benutzers subtrahieren wir einfach die durchschnittliche Bewertung
*, die nur für nicht-binäre Matrizen relevant ist
- Standardisierung (Z-Score) - Zusätzlich zur Zentrierung teilen wir die Bewertung durch die Standardabweichung des Benutzers.
* Hier kann die Bewertung nach der umgekehrten Konvertierung über die Skala hinausgehen (d. h. beispielsweise 6 auf einer Fünf-Punkte-Skala), aber solche Situationen sind ziemlich selten und Sie werden einfach durch Runden auf die nächste akzeptable Schätzung gelöst.
- Doppelstandardisierung - das erste Mal, wenn wir Benutzerbewertungen normalisieren, das zweite Mal - Produktbewertungen.
Wenn der Film „The Best Movie“ eine durchschnittliche Bewertung von 2,5 hat und der Benutzer 5 gibt, ist dies ein starker Faktor, der darauf hinweist, dass solche Filme eindeutig seinem Geschmack entsprechen.
Die „Ähnlichkeit“ oder Korrelation der Präferenzen zweier Benutzer kann auf unterschiedliche Weise berücksichtigt werden. Tatsächlich müssen wir nur zwei Vektoren vergleichen. Wir listen einige der beliebtesten auf.- — , .
— , .
50 / min(50, Rating intersection) damping factor, .
— , .. , . .
. , — , .

— , (.. ), . , .
Eine interessante Entwicklung des kollaborativen Ansatzes sind die sogenannten Trust-basierten Empfehlungen, die nicht nur die Nähe der Menschen nach ihren Interessen berücksichtigen, sondern auch ihre „soziale“ Nähe und den Grad des Vertrauens zwischen ihnen. Wenn wir zum Beispiel sehen, dass ein Mädchen auf Facebook regelmäßig eine Seite mit Audioaufnahmen ihrer Freundin besucht, vertraut sie ihrem Musikgeschmack. Daher können Empfehlungen an das Mädchen neue Songs aus der Wiedergabeliste des Freundes vollständig mischen.Begründung der Empfehlungen
Es ist wichtig, dass der Benutzer dem Empfehlungssystem vertraut, und dafür sollte es einfach und verständlich sein. Falls erforderlich, sollte immer eine verständliche Erklärung der Empfehlung verfügbar sein (in englischer Terminologieerklärung).Als Teil der Erklärung ist es schön, die Bewertung der Nachbarn durch das Produkt zu zeigen, nach welchem Attribut (z. B. der Schauspieler oder Regisseur) ein Zufall aufgetreten ist, und das Vertrauen des Systems in die Bewertung (Vertrauen) anzuzeigen. Um die Benutzeroberfläche nicht zu überlasten, können Sie all diese Informationen in die Schaltfläche „Weitere Informationen“ eingeben.Zum Beispiel:
- "Vielleicht gefällt dir der Film ... weil er dort läuft ... und ..."
- "Benutzer mit ähnlichem Musikgeschmack bewerteten das Album ... 4,5 von 5 Punkten."
Zusammenfassung
Dies beendet den ersten Teil des Artikels. Wir untersuchten die allgemeine Problemstellung, sprachen über nicht-persönliche Empfehlungen, beschrieben zwei klassische Ansätze (inhaltsbasierte und kollaborative Filterung) und berührten auch das Thema der Begründung von Empfehlungen. Im Allgemeinen reichen diese beiden Ansätze völlig aus, um ein produktionsfähiges Empfehlungssystem aufzubauen. Im nächsten Teil werde ich die Überprüfung fortsetzen und über modernere Methoden sprechen, einschließlich solcher, die neuronale Netze und tiefes Lernen betreffen, sowie über Hybridmodelle.In der Zwischenzeit sehen Sie unsere offenen Stellen.