Beim inhaltsbasierten Filtern werden Artikelfunktionen verwendet, um andere Artikel zu empfehlen die den Nutzenden aufgrund früherer Aktionen oder expliziten Feedback geben.
Um das inhaltsbasierte Filtern zu demonstrieren, lassen Sie uns einige Funktionen von Hand entwickeln. für den Google Play Store. Die folgende Abbildung zeigt eine Featurematrix, in der jede Zeile steht für eine App und jede Spalte für ein Feature. Funktionen Kategorien umfassen (z. B. Bildung, Freizeit, Gesundheit), der Publisher der App und viele andere. Nehmen wir zur Vereinfachung an, diese Featurematrix ist binär: ein Wert ungleich null bedeutet, dass die App über diese Funktion verfügt.
Sie repräsentieren auch die Nutzenden im selben Feature-Bereich. Einige der nutzerbezogenen explizit durch den Nutzer bereitgestellt werden. Zum Beispiel wählt ein Nutzer "Apps für die Unterhaltung" in ihrem Profil. Andere Funktionen können implizit sein, basierend auf den bereits installierten Apps. Beispiel: Die Nutzenden eine andere von Science R Us veröffentlichte App installiert.
Das Modell sollte für diesen Nutzer relevante Artikel empfehlen. Dazu müssen Sie wählen Sie zuerst einen Ähnlichkeitsmesswert aus (z. B. „Punktprodukt“). Dann müssen Sie das System so einrichten, dass jedes Kandidatenelement nach dieser Ähnlichkeit bewertet wird Messwert. Beachten Sie, dass die Empfehlungen spezifisch für diesen Nutzer sind, da das Modell hat keine Informationen über andere Nutzer verwendet.
Punktprodukt als Ähnlichkeitsmaß verwenden
Angenommen, die Nutzereinbettung \(x\) und die App Einbettung \(y\) sind beide binären Vektoren. Seit \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), ein Funktion, die in beiden enthalten ist, \(x\) und \(y\) eine 1 zur der Summe. Mit anderen Worten: \(\langle x, y \rangle\) ist die Zahl von Merkmalen, die gleichzeitig in beiden Vektoren aktiv sind. Ein hoher Punktprodukt gibt dann allgemeinere Merkmale an, also eine höhere Ähnlichkeit.
Versuchen Sie es selbst!
Berechnen Sie das Punktprodukt für jede App aus der obigen App-Aufgabe. Verwenden Sie diese Informationen dann, um die folgende Frage zu beantworten: