Woher weiß die Bibliothek, was Ihnen gefallen könnte?
Ein Empfehlungssystem schlägt Dinge vor, die einer Person wahrscheinlich gefallen. Beim kollaborativen Filtern stammt der Vorschlag aus dem Verhalten ähnlicher Personen, ohne dass jemand die Bücher selbst beschreiben muss.
Wer dieselben Bücher geliehen hat wie Sie, hat vermutlich einen ähnlichen Geschmack. Was diese Personen noch geliehen haben, ist Ihr nächster Tipp.
Am Ende dieser Lektion
Notiz
Ich kann Bücher aus den Ausleihen ähnlicher Personen empfehlen und jeder Empfehlung eine Zahl geben.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Empfehlungssystem | ein Programm, das Dinge für eine Person vorschlägt |
| Kollaboratives Filtern | Vorschläge aus dem Verhalten vieler Personen |
| Ähnlichkeit | wie viele Bücher zwei Personen gemeinsam geliehen haben |
| Empfehlungswert | die Zahl, die zeigt, wie stark ein Buch passt |
| Kaltstart | das Problem bei neuen Personen ohne Ausleihen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ähnliche Personen haben ähnliche Bücher geliehen
Die Daten sind einfach: für jede Person die Liste ihrer geliehenen Bücher. Die Ähnlichkeit zweier Personen zählt die Bücher, die in beiden Listen stehen.
Anna und Ben haben Krimi und Kochbuch gemeinsam, ihre Ähnlichkeit ist also 2. Anna und Cem teilen nur den Krimi, ihre Ähnlichkeit ist 1.
Beispiel: Ähnlichkeit zu Anna
| Person | Ausleihen | Gemeinsam mit Anna | Ähnlichkeit |
|---|---|---|---|
| Ben | Krimi, Kochbuch, Reisebericht | Krimi, Kochbuch | 2 |
| Cem | Krimi, Lyrik | Krimi | 1 |
| Dora | Roman, Lyrik, Atlas | Roman | 1 |
| Emil | Kochbuch, Reisebericht | Kochbuch | 1 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Gemeinsame Bücher zweier Personen zählen
docker exec jupyter python3 -c "print(len([b for b in ['Krimi','Kochbuch','Roman'] if b in ['Krimi','Kochbuch','Reisebericht']]))"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Der Empfehlungswert addiert die Ähnlichkeiten
Für ein Buch, das Anna noch nicht kennt, gehen Sie alle anderen Personen durch. Hat eine Person das Buch geliehen, addieren Sie ihre Ähnlichkeit zu Anna.
Das Ergebnis ist der Empfehlungswert. Der Reisebericht hat 3: Ben bringt 2, Emil 1. Das Buch mit dem höchsten Wert ist der erste Tipp.
Ähnlichkeiten zu Anna berechnen
# Was haben fünf Personen in der Hochschulbibliothek ausgeliehen?
ausleihen = {
"Anna": ["Krimi", "Kochbuch", "Roman"],
"Ben": ["Krimi", "Kochbuch", "Reisebericht"],
"Cem": ["Krimi", "Lyrik"],
"Dora": ["Roman", "Lyrik", "Atlas"],
"Emil": ["Kochbuch", "Reisebericht"],
}
def aehnlichkeit(a, b):
gemeinsam = 0
for buch in ausleihen[a]:
if buch in ausleihen[b]:
gemeinsam = gemeinsam + 1
return gemeinsam
for person in ["Ben", "Cem", "Dora", "Emil"]:
print(person, aehnlichkeit("Anna", person))
# Wer ist Anna am ähnlichsten? Ändern Sie "Anna" in "Emil" und lesen Sie neu.
Ein häufiger Fehler
Warnung
Viele denken, das beliebteste Buch sei die beste Empfehlung. Die Empfehlung gehört aber zu einer Person: Sie zählt nur die Ausleihen ähnlicher Personen, und zwar stärker, je ähnlicher sie sind. Ein Buch, das alle leihen, kann für Anna trotzdem unpassend sein.
Neue Personen haben keine Ausleihen
Wer noch nichts geliehen hat, ist niemandem ähnlich, und das System kann nichts empfehlen. Man nennt das den Kaltstart. Hilfreich ist dann, die beliebtesten Bücher zu zeigen.
Außerdem verstärken Empfehlungen sich selbst: Wer nur sieht, was andere liehen, entdeckt wenig Neues. Zeigen Sie deshalb auch Bücher, die niemand empfohlen bekam.