Prof. Dr. Franz Schweiggert Abteilung Angewandte Informationsverarbeitung
Ingo Melzer Blatt 3


Uni Logo



Software Engineering Praxis (WS 2000/2001)


Abgabetermin 1. Dezember 2000

4. Ich kann mich einfach nicht entscheiden (20 Punkte)

Es ist spannend, das Verhalten oder die Meinung von Personen durch Vergleich mit anderen zu schätzen. Dazu benötigt man eine Datenbank mit Wertung von Personen. Es sei im Folgenden vi,j die Wertung des Benutzers i zum Thema j. Ist Ii die Menge aller von iabgegebenen Wertungen, so ist seine mittlere Wertung $\bar{v}_i = \frac{1}{\left\vert I_i\right\vert}\sum\limits_{j\in I_i}v_{i,j}$. Möchte man nun die Wertung der aktiven Person a zu j, also pa,jvorhersagen, so berechnet man $p_{a,j}=\bar{v}_a+\kappa\sum\limits_{i=1}^{n}\omega(a,i)(v_{i,j}-\bar{v}_i)$. Die Gewichte $\omega(a,i)$ geben die Korrelation zwischen a und iwieder. Im Folgenden wählen wir $\kappa=\frac{1}{\sum\limits_{i=1}^{n}\left\vert\omega(a,i)\right\vert}$. Eine der gebräuchlichsten Formeln zur Berechnung der Korrelation zwischen zwei Personen a und i ist der Pearson-Korrelationskoeffizient:


\begin{eqnarray*}\omega(a,i)=\frac{\sum\limits_k(v_{a,k}-\bar{v}_a)(v_{i,k}-\bar...
...imits_k(v_{a,k}-\bar{v}_a)^2\sum\limits_k(v_{i,k}-\bar{v}_i)^2}}
\end{eqnarray*}


Die Summation über k geht über alle Themen, zu denen die Wertung von a und i vorliegt.

Obiges wollen wir an einer kleinen Filmdatenbank testen. Auf unserem FTP-Server liegt eine Liste von Filmen (films). Zu etwa zehn dieser Filme sollte jeder Teilnehmer der Übungen bitte seine Meinung (Zahl 1 (schlecht) bis 10 (sehr gut)) abgeben. Ruft dazu bitte das Skript /www/thales/www/htdocs/sai/ws00/sepraxis/addvote.pl auf. Als Parameter muss der genaue Titel des Films und die Wertung angegeben werden. Alle Wertung werden in der Datei votes im gleichen Verzeichnis abgelegt.

Schreiben Sie nun ein Perl-Skript, das pa,j, also die vermutliche Meinung der Person a zum Film j, mittels obiger Formel berechnet.

Obige Formeln stammen aus einem Paper von John Breese, David Heckermann und Carl Kadie mit dem Titel ,,Empirical Analysis of Predictive Algorithms for Collaborative Filtering`` von 1998.


Noch ein paar Tipps:



Ingo Melzer 2000-11-30