Kandidatengenerierung – Übersicht

Das Erstellen von Kandidaten ist die erste Phase der Empfehlung. Bei einer Abfrage generiert das System eine Reihe relevanter Kandidaten. Die folgende Tabelle zeigt zwei gängige Ansätze zum Generieren von Kandidaten:

TypDefinitionBeispiel
inhaltsbasiertes Filtern Verwendet die Ähnlichkeit zwischen Elementen, um Elemente zu empfehlen, die dem Nutzer gefallen. Wenn sich Nutzer A zwei niedliche Katzenvideos ansieht, kann das System diesem Nutzer niedliche Tiervideos empfehlen.
kollaboratives Filtern Verwendet Ähnlichkeiten zwischen Abfragen und Elementen, um Empfehlungen zu geben. Wenn Nutzer A einem Nutzer B ähnelt und Nutzer B Video 1 positiv bewertet, kann das System Video 1 Nutzern A empfehlen (auch wenn Nutzer A keine Videos gesehen hat, die Video 1 ähneln).

Projektbereiche einbetten

Bei der inhalts- und kollaborativen Filter werden jedes Element und jede Abfrage (oder der Kontext) einem Einbettungsvektor in einem gemeinsamen Einbettungsbereich\(E = \mathbb R^d\)zugeordnet. In der Regel ist der Einbettungsraum niedrigdimensional (d. h. \(d\) ist viel kleiner als der Korpus) und erfasst eine latente Struktur des Elements oder Abfragesatzes. Ähnliche Elemente wie YouTube-Videos, die normalerweise vom selben Nutzer angesehen werden, werden im Einbettungsbereich nahe beieinander platziert. Das Konzept von „Nähe“ wird durch eine Ähnlichkeitsmessung definiert.

Ähnlichkeitsmessung

Eine Ähnlichkeitsmessung ist eine Funktion \(s : E \times E \to \mathbb R\) , die ein Paar von Einbettungen verwendet und einen skalaren Messwert zurückgibt, um ihre Ähnlichkeit zu messen. Die Einbettungen können so verwendet werden, um Kandidaten zu generieren: Bei einer Abfrageeinbettung \(q \in E\)sucht das System nach Elementeinbettungen\(x \in E\) nahe bei \(q\), d. h. Einbettungen mit hoher Ähnlichkeit \(s(q, x)\).

Zur Ermittlung des Ähnlichkeitsgrads verlassen sich die meisten Empfehlungssysteme auf eines oder mehrere der folgenden Elemente:

  • Kosinus
  • Punktprodukt
  • Euklidischer Abstand

Kosinus

Das ist einfach der Kosinus des Winkels zwischen den beiden Vektoren. \(s(q, x) = \cos(q, x)\)

Punktprodukt

Das Punktprodukt zweier Vektoren ist\(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). Er wird ebenfalls als \(s(q, x) = \|x\| \|q\| \cos(q, x)\) berechnet (der Kosinus des Winkels multipliziert mit dem Produkt der Normen). Wenn die Einbettungen normalisiert sind, fallen also Punktprodukt und Kosinus zusammen.

Euklidischer Abstand

Das ist die übliche Entfernung im euklidischen Raum \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Eine kleinere Entfernung bedeutet eine größere Ähnlichkeit. Wenn die Einbettungen normalisiert sind, fällt die quadratische euklideische Entfernung mit dem Punktprodukt (und dem Kosinus) bis zu einer Konstante zusammen, da das der Fall ist \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Bild mit einem zweidimensionalen Einbettungsbereich, der eine eingebettete Abfrage und drei Kandidatenelemente enthält.

Ähnlichkeitsmessung vergleichen

Nehmen wir das Beispiel in der Abbildung rechts. Der schwarze Vektor stellt die Abfrageeinbettung dar. Die anderen drei Einbettungsvektoren (Element A, Element B, Element C) stellen Kandidatenelemente dar. Je nach verwendeter Ähnlichkeitsmessung kann sich das Ranking der Elemente unterscheiden.

Versuchen Sie, mithilfe des Bildes das Ranking der Artikel anhand aller drei Ähnlichkeitsmessungen zu bestimmen: Kosinus, Punktprodukt und euklidischen Abstand.

Welche Ähnlichkeitsmessung ist geeignet?

Im Vergleich zum Kosinus ist die Punktproduktähnlichkeit von der Norm der Einbettung abhängig. Je größer die Norm einer Einbettung ist, desto höher ist die Ähnlichkeit (bei Elementen mit akutem Winkel) und desto wahrscheinlicher wird sie empfohlen. Dies kann sich auf die folgenden Empfehlungen auswirken:

  • Elemente, die sehr häufig im Trainings-Dataset enthalten sind (z. B. beliebte YouTube-Videos), enthalten oft Einbettungen mit umfangreichen Normen. Wenn es sinnvoll ist, Informationen zur Beliebtheit zu erfassen, sollten Sie das Punktprodukt vorziehen. Wenn Sie jedoch nicht vorsichtig sind, dominieren die beliebten Artikel am Ende vielleicht die Empfehlungen. In der Praxis können Sie andere Varianten von Ähnlichkeitsmaßnahmen verwenden, bei denen die Norm des Artikels weniger im Mittelpunkt steht. Definiere beispielsweise\(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) für einige \(\alpha \in (0, 1)\).

  • Elemente, die sehr selten angezeigt werden, werden während des Trainings möglicherweise nicht häufig aktualisiert. Wenn sie mit einer großen Norm initialisiert sind, empfiehlt das System daher möglicherweise seltene Elemente gegenüber relevanteren Elementen. Um dieses Problem zu vermeiden, müssen Sie die Initialisierung mit Bedacht einsetzen und eine entsprechende Normalisierung vornehmen. Dieses Problem wird in der ersten Übung ausführlich beschrieben.