000
20.01.2009, 15:19 Uhr
xXx
Devil
|
Also, ich habe sagen wir mal ein Autoverkäufer. Dieser hat einen Kunden der von ganz vielen Autos eins hat (d.h. binäres Format). So jetzt hat der Verkäufer noch mehr Kunden, die auch Autos gekauft haben und es soll nun Werbung, für jeden individual, generiert werden. Dazu soll jetzt geguckt werden welche Kunden welches Auto haben und dann daraufhin rausgesucht werden wie hoch die Ähnlichkeit des Kundes mit einem anderen ist. Diese Ähnlichkeit wird für jedes Auto das der andere Kunde besitzt angerechnet. Das machen wir mit allen anderen Kunden außer dem, den die Werbung zukommen soll . Dann haben wir am Ende bei einem Auto einen sehr hohen Wert (relativ) der uns angibt, dass wir doch bitte dieses Auto in die Werbung stellen sollten, weil die Wahrscheinlichkeit hoch ist, dass auch dem umworbenen Kunden dieses Auto gefallen wird.
So das ganze nennt man collaborativ filtering.
Soweit ist alles klar, das Problem ist im Moment nur, welche Metrik zum berechnen der Ähnlichkeit benutzt werden sollte. Es gibt ja Jaccard (Tanimoto), Dice, Euklidischer Abstand und viele andere. Doch beim Jaccard, der ja besonders für Binäre Datensätze geeignet ist, hab ich das Problem, dass er nicht darauf eingeht, dass evtl. jemand der sagen wir 22 Autos gekauft hat, davon stimmen 10 mit einem anderen Überein evtl. mehr aussage Kraft hat, als jemand der 2 Autos gekauft hat und davon stimmen nur 1 überein.
Hätte jemand da eine andere Metrik im Angebot die sich gut eignen würde?
Es handelt sich in echt natürlich nicht um Autos und Autoverkäufer sondern um etwas anderes
In welcher Sprache würdet ihr es realisieren? Dachte erst an PHP weils einfach von überall erreichbar wäre, doch kann ich die Sprache nicht wirklich gut leiden (ehm hier mal keine Diskussion warum, Typsicherheit usw.) und hat es schnell in C++ mitm Jaccard-Koeffizienten realisiert und ohne jetzt groß zu optimieren ist selbst dabei das einlesen der Datenbanken doch recht langsam. Von d.h. weiß ich noch nicht so ganz ob es empfehlenswert ist, da mit PHP ran zu gehen.
Jemand paar Pro/Contra-Argumente zu bieten?
Links: http://kontext.fraunhofer.de/haenelt/kurs/folien/VektorAehnlichkeit-2.pdf http://en.wikipedia.org/wiki/Jaccard_index www.amazon.de/Programming-Collective-Intelligence-Building-Applications/dp/0596529325/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1232105613&sr=8-1 |