1 Einleitung

1.1 Das allgemeine Problem

In der, zu dieser Arbeit vorangegangenen, Projektarbeit [1] wurde das Musikempfehlungssystems libmunin implementiert. Um Musikempfehlungen auszusprechen, muss ein solches System die Ähnlichkeit zwischen zwei Liedern feststellen können. Dies ist das grundsätzliche Problem eines solchen Systems: Musik ist nur schwer vergleichbar. Fragt man mehrere Menschen, wie ähnlich ein Musikstück zu einem anderem ist, so erhält man genauso viele Antworten, wie man Fragen gestellt hat. Die Einschätzung von Musik ist eine sehr subjektive Angelegenheit, die auch häufig zwischen Menschen Diskussionen auslöst. Stuft man den Künstler Status Quo als Rock ein? Oder doch eher als Pop? Was zählt überhaupt noch als Rock? Gibt es eine, für den Computer verständliche, Definition von Rock?

Wenn man jetzt noch versucht, einem Computer den Begriff der Musikähnlichkeit beizubringen, so wird es noch weitaus komplizierter. Dieser kann nur objektiv nach bestimmten Metriken entscheiden. Diese Metriken zu definieren, muss dann wiederum die Aufgabe eines Menschen sein — also sind auch diese wiederum subjektiv, da sie die Vorlieben des Autors widerspiegeln. Auch können diese Metriken nie für alle Fälle funktionieren. Ein gutes Stück ,,Kaffeesatzleserei" lässt sich leider nie ganz vermeiden. Daher werden in dieser Arbeit einige Annahmen getroffen, die sich aufgrund ihrer Natur nur schwer empirisch nachweisen lassen. An den entsprechenden Stellen wird auf die gemachten Annahmen hingewiesen.

1.2 Das konkrete Problem

Erschwerend kommt hinzu, dass jeder Nutzer andere Vorlieben und Gewohnheiten hat. So gesehen, ist libmunin in der ,,Standardeinstellung" ein Musikempfehlungssystem, das genau auf einen Nutzer und dessen Vorlieben zugeschnitten ist: Seinem Entwickler. Bibliotheksanwender können jedoch die Bibliothek an ihre Präferenzen anpassen oder ihren Endnutzern eine Möglichkeit geben, selbst Einstellungen vorzunehmen. Damit die Bibliotheksanwender diese Anpassungen vornehmen können, sollten sie verstehen was intern vor sich geht — genau darum soll es in dieser Arbeit gehen. Hauptsächlich wird diskutiert, wie libmunin die Ähnlichkeit zwischen den Attributen eines Liedes berechnet und wie aus diesen Ähnlichkeiten ein Graph aufgebaut wird. Auch auf libmunin's Möglichkeit, vom Nutzer zu lernen wird eingegangen. Zu jedem vorgestellten Thema werden auch Überlegungen angestellt, welche Verbesserungen in zukünftigen Versionen gemacht werden können.