SlideShare ist ein Scribd-Unternehmen logo
Personalisierung im Internet Dr. Udo Ornik
Übersicht ,[object Object],[object Object],[object Object],[object Object],[object Object]
Definition Personalisierung Anpassung von angebotenen Informationen  an die Interessen des jeweiligen Betrachters.  Aber auch: Sammlung von Informationen über das  jeweilige Verhalten des Betrachters
Einsatzbereiche  ,[object Object],[object Object],[object Object],In folgenden Bereichen des Internet bietet sich die Personalisierung an
Problem: Identifizierung ,[object Object],[object Object],[object Object]
Problem: http:// Das http-Protokoll ist Verbindungslos. Das Web  hat also kein Gedächtnis Get URL1 URL i Get URL2 Get URL3 . . . Im Prinzip ist für jede Webseite eine Verbindung  notwendig
Problem: NAT und Proxies Hinter dem Gateway  verliert sich  die Spur
Techniken: Identifizierung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cookie setzen <html> <head> <script language=JavaScript> function  setCookie (name,value) { document.cookie=name+&quot;=&quot;+escape(value) } </script> </head> <body> <A HREF=&quot;javascript: setCookie ('testCookie','Hallo ich binapos;s') &quot;>  ... Setze Cookie ... </A> </body> </html>
Techniken: Cookies SITESERVERID=167adba237d88dd7847091369810e7d6bahnauskunft.com/064285900831887777323730704029419385*
Cookie lesen <html> <head> <Script language=JavaScript> function  getCookie()  { alert(unescape(document.cookie)) } </Script> </head> <body onload= getCookie() > </body> </html>
Cookies ,[object Object],[object Object],[object Object],[object Object],[object Object]
Techniken: Codierte URLs Nach der Definition der persönlichen  Einstellungen wird eine Eintrittswebsite als  Favorit gespeichert: http://www.test.com/start.htm ?userid=215859 Über den Übergabestring kann der User beim  Anklicken dieses Links wieder identifiziert  werden
Codierte URLs Bsp: ASP <%  userid =Request.Querystring(´´userid´´) %>
Techniken: Auslesen der Userdaten <% DbConn=Server.CreateObject(ADODB.Connection) DbConn.open (DSN=´´odbc-name´´) RS=Server.CreateObject(ADODB.RecordSet) SQL=´´Select * FROM userdaten where ID = ´´& userid RS.open DBConn, SQL %> Hallo <%=RS(´´Vorname´´)%> schön Sie wieder zusehen
Techniken: Klassifizierung der Daten ,[object Object],[object Object],[object Object]
Techniken: Metadaten ,[object Object],[object Object],[object Object],[object Object],[object Object]
Techniken: Metadaten ,[object Object],[object Object],[object Object]
Techniken: Automatische Erfassung von MetaDaten Abhdsivfnrnvfr poevppopopovgt Fkmkmkgmg < rthhzzjz > Eruh kog W i Vektor aus N Merkmalen, die jedem Dokument zugeordnet werden i Index für Merkmal j Index für Dokument URL j
Add-on Programme ,[object Object],[object Object],[object Object],[object Object],Add-ons unterliegen den Beschränkungen  des Webs gar nicht oder nur teilweise.  Problem : Nur für beschränkten Userkreis  zugänglich
Techniken: Logdateien ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Das  World Wide Web  Consortium  (W3C)  hat folgendes Format als „Common Log Format'' definiert:  remotehost rfc931 authuser [date] &quot;request&quot; status bytes
Weitere Standarts ,[object Object],[object Object],[object Object]
Techniken: Logdateien W3C 132.180.237.26 - - [20/Dec/1999:15:26:39 +0100] &quot;GET /~c99f72/mmi10.shtml HTTP/1.0&quot; 200 208  132.180.237.25 - - [20/Dec/1999:15:26:47 +0100] &quot;GET /~c99f71/form.html HTTP/1.0&quot; 200 140  132.180.237.25 - - [20/Dec/1999:15:27:20 +0100] &quot;GET /~c99f71/kursleiter.php3?n=blw HTTP/1.0&quot; 200 188  132.180.237.26 - - [20/Dec/1999:15:27:32 +0100] &quot;GET /~c99f72/check.php3?n=fghgfg HTTP/1.0&quot; 200 88  132.180.237.26 - - [20/Dec/1999:15:27:56 +0100] &quot;GET /~c99f72/mmi10.shtml HTTP/1.0&quot; 200  . . . Dies sind längst nicht alle tatsächlich  vorliegenden Informationen !
Techniken: W3C Extended #Fields: date time c-ip cs-username s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken s-port cs-version cs(User-Agent) cs(Cookie) cs(Referer) 1998-09-17 09:08:11 192.168.100.5 - W3SVC2 EMU 192.168.100.5 GET /private/index.htm,+Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+NT),+- - 401 5 1403 269 16 80 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+NT) - -
 
 
 
 
Strategien zur Anpassung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Strategien: Explizite Abfrage
Strategien: Collaborative Filtering Durch gemeinschaftliches Filtern auf der Basis der Vorlieben anderer User werden Empfehlungen ausgesprochen.
 
Collaborative Filtering Titel1 Titel4 Titel3 Titel6 Titel1 Titel4 Titel2 Titel5 input Vorschlag Titel2 Titel5 Der Vorschlag lässt sich mit geeigneten statistischen Methoden berechnen
Collaborative Filtering Linearer Korrelations- Koeffizient (Pearson) Vorhersage für die  Bewertung eines  Merkmals i durch user a.
Strategie: Content Based Filtering ,[object Object],[object Object]
Content-Based Filtering:  KI-Trainingsphase Abhdsivfnrnvfr poevppopopovgt Fkmkmkgmg < rthhzzjz > Eruh kog URL j Kodierung Input 0   uninteressant 1   interessant Wertung Dim N Neuronales  Netz Dim  N+1 W i . . . W i 1
Content-Based Filtering:  KI-Trainingsphase Die kategorisierten Seite bilden Punkte in N+1 dim Vektorraum Punkt j aus Website Punkt k aus Training Metrik ermöglicht Erkennung interessanter Seiten W i 1
Strategien: Verhaltensbeobachtung ,[object Object],[object Object],[object Object]
Strategien: Regelbasierte Systeme ,[object Object],[object Object],[object Object],[object Object]
Strategien: Regelbasierte Systeme User Input Tracking  System, Befragung Wissens basis Output lernen Interferenz maschine ,[object Object],[object Object],[object Object],[object Object],[object Object],Marktforschung
Beispiele ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Quellen Übersichtsartikel Agentenbasiertes Suchen, Filtern und Klassifizieren von Informationsangeboten , Dipl. Kaufmann Frank Teuteberg, Preprint Europa Universität Viadrina Frankfurt Untersuchungen zur Personalisierung,  Dipl.-Ing. Michael Sonntag,  http://www.fim.uni-linz.ac.at/Publications/Aussendung10.98/Personalisierung.htm SWAMI, a framework for collaborative filetring algorithm development and evaluation , Danyel Fisher et al., University of Berkeley,  http://epoch.cs.berkeley.edu:8000/~mct/f99/paper.html Seminar zur Personalisierung im Internet  WS 00/01  , Universität Frankfurt, Lehrstuhl BWL ,  http://www.ecommerce.wiwi.uni-frankfurt.de:8080/lehre/00ws/seminar/seminararbeiten. html Viele Gesichter , c`t 2000, Heft 18, S88, Dietmar Janetzko, Dirk Zugemaier Wichtige Quelle für Forschungsarbeiten auf dem Gebiet des Collaborative Filtering: http://www.cs.umn.edu/Research/GroupLens/

Weitere ähnliche Inhalte

Ähnlich wie Personalisierung

Webhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQLWebhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQL
Torben Brodt
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
Thomas Siegers
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
e-dialog GmbH
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
Jakob .
 
ITP 2.1 und Webanalyse
ITP 2.1 und WebanalyseITP 2.1 und Webanalyse
ITP 2.1 und Webanalyse
📊 Markus Baersch
 
GA-Konferenz-2011 Holger Tempel_Tracking Code
GA-Konferenz-2011 Holger Tempel_Tracking CodeGA-Konferenz-2011 Holger Tempel_Tracking Code
GA-Konferenz-2011 Holger Tempel_Tracking Code
e-dialog GmbH
 
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOsOMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
get traction GmbH
 
Brand Analytics
Brand AnalyticsBrand Analytics
Brand Analytics
Olesya Afanasyeva
 
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
DataValueTalk
 
CheckAud® for SAP® Systems
CheckAud® for SAP® SystemsCheckAud® for SAP® Systems
CheckAud® for SAP® Systems
IBS Schreiber GmbH
 
1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards1. Technologie-Tag - Webstandards
1. Technologie-Tag - WebstandardsNico Steiner
 
Digitallotse
DigitallotseDigitallotse
Digitallotse
Felix Escribano
 
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...Michael Kirst-Neshva
 
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
e-dialog GmbH
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
Jürg Stuker
 
Usergroup02 Berlin IE8
Usergroup02 Berlin IE8Usergroup02 Berlin IE8
Usergroup02 Berlin IE8mspgermany
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Spark Summit
 
Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop Systeme
Peter Haase
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
Ulrike Schwinn
 
Server-Side Google Tag Manager: Was, wie und warum
Server-Side Google Tag Manager: Was, wie und warumServer-Side Google Tag Manager: Was, wie und warum
Server-Side Google Tag Manager: Was, wie und warum
📊 Markus Baersch
 

Ähnlich wie Personalisierung (20)

Webhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQLWebhacks am Beispiel PHP + MySQL
Webhacks am Beispiel PHP + MySQL
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
 
Schnittstellen und Webservices
Schnittstellen und WebservicesSchnittstellen und Webservices
Schnittstellen und Webservices
 
ITP 2.1 und Webanalyse
ITP 2.1 und WebanalyseITP 2.1 und Webanalyse
ITP 2.1 und Webanalyse
 
GA-Konferenz-2011 Holger Tempel_Tracking Code
GA-Konferenz-2011 Holger Tempel_Tracking CodeGA-Konferenz-2011 Holger Tempel_Tracking Code
GA-Konferenz-2011 Holger Tempel_Tracking Code
 
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOsOMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
OMWest Barcamp 2018: Onpage SEO im Griff: Alerting und Monitoring für SEOs
 
Brand Analytics
Brand AnalyticsBrand Analytics
Brand Analytics
 
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
’Klare Sicht auf Ihre Kunden - Erfolgsfaktor korrekter Kundendaten!” Klaus Sc...
 
CheckAud® for SAP® Systems
CheckAud® for SAP® SystemsCheckAud® for SAP® Systems
CheckAud® for SAP® Systems
 
1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards
 
Digitallotse
DigitallotseDigitallotse
Digitallotse
 
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...
Irm and dlp_and_security_in_office_365_(de)_share_point-konferenz-wien-2013_a...
 
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
GAUC 2017 Workshop Saubere Webanalyse Prozesse aufziehen: Markus Vollmert (lu...
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Usergroup02 Berlin IE8
Usergroup02 Berlin IE8Usergroup02 Berlin IE8
Usergroup02 Berlin IE8
 
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
Clickstream Analysis with Spark—Understanding Visitors in Realtime by Josef A...
 
Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop Systeme
 
Sensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle DatenbankSensitive Daten in der Oracle Datenbank
Sensitive Daten in der Oracle Datenbank
 
Server-Side Google Tag Manager: Was, wie und warum
Server-Side Google Tag Manager: Was, wie und warumServer-Side Google Tag Manager: Was, wie und warum
Server-Side Google Tag Manager: Was, wie und warum
 

Personalisierung

  • 2.
  • 3. Definition Personalisierung Anpassung von angebotenen Informationen an die Interessen des jeweiligen Betrachters. Aber auch: Sammlung von Informationen über das jeweilige Verhalten des Betrachters
  • 4.
  • 5.
  • 6. Problem: http:// Das http-Protokoll ist Verbindungslos. Das Web hat also kein Gedächtnis Get URL1 URL i Get URL2 Get URL3 . . . Im Prinzip ist für jede Webseite eine Verbindung notwendig
  • 7. Problem: NAT und Proxies Hinter dem Gateway verliert sich die Spur
  • 8.
  • 9. Cookie setzen <html> <head> <script language=JavaScript> function setCookie (name,value) { document.cookie=name+&quot;=&quot;+escape(value) } </script> </head> <body> <A HREF=&quot;javascript: setCookie ('testCookie','Hallo ich binapos;s') &quot;> ... Setze Cookie ... </A> </body> </html>
  • 11. Cookie lesen <html> <head> <Script language=JavaScript> function getCookie() { alert(unescape(document.cookie)) } </Script> </head> <body onload= getCookie() > </body> </html>
  • 12.
  • 13. Techniken: Codierte URLs Nach der Definition der persönlichen Einstellungen wird eine Eintrittswebsite als Favorit gespeichert: http://www.test.com/start.htm ?userid=215859 Über den Übergabestring kann der User beim Anklicken dieses Links wieder identifiziert werden
  • 14. Codierte URLs Bsp: ASP <% userid =Request.Querystring(´´userid´´) %>
  • 15. Techniken: Auslesen der Userdaten <% DbConn=Server.CreateObject(ADODB.Connection) DbConn.open (DSN=´´odbc-name´´) RS=Server.CreateObject(ADODB.RecordSet) SQL=´´Select * FROM userdaten where ID = ´´& userid RS.open DBConn, SQL %> Hallo <%=RS(´´Vorname´´)%> schön Sie wieder zusehen
  • 16.
  • 17.
  • 18.
  • 19. Techniken: Automatische Erfassung von MetaDaten Abhdsivfnrnvfr poevppopopovgt Fkmkmkgmg < rthhzzjz > Eruh kog W i Vektor aus N Merkmalen, die jedem Dokument zugeordnet werden i Index für Merkmal j Index für Dokument URL j
  • 20.
  • 21.
  • 22.
  • 23. Techniken: Logdateien W3C 132.180.237.26 - - [20/Dec/1999:15:26:39 +0100] &quot;GET /~c99f72/mmi10.shtml HTTP/1.0&quot; 200 208 132.180.237.25 - - [20/Dec/1999:15:26:47 +0100] &quot;GET /~c99f71/form.html HTTP/1.0&quot; 200 140 132.180.237.25 - - [20/Dec/1999:15:27:20 +0100] &quot;GET /~c99f71/kursleiter.php3?n=blw HTTP/1.0&quot; 200 188 132.180.237.26 - - [20/Dec/1999:15:27:32 +0100] &quot;GET /~c99f72/check.php3?n=fghgfg HTTP/1.0&quot; 200 88 132.180.237.26 - - [20/Dec/1999:15:27:56 +0100] &quot;GET /~c99f72/mmi10.shtml HTTP/1.0&quot; 200 . . . Dies sind längst nicht alle tatsächlich vorliegenden Informationen !
  • 24. Techniken: W3C Extended #Fields: date time c-ip cs-username s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken s-port cs-version cs(User-Agent) cs(Cookie) cs(Referer) 1998-09-17 09:08:11 192.168.100.5 - W3SVC2 EMU 192.168.100.5 GET /private/index.htm,+Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+NT),+- - 401 5 1403 269 16 80 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+4.01;+Windows+NT) - -
  • 25.  
  • 26.  
  • 27.  
  • 28.  
  • 29.
  • 31. Strategien: Collaborative Filtering Durch gemeinschaftliches Filtern auf der Basis der Vorlieben anderer User werden Empfehlungen ausgesprochen.
  • 32.  
  • 33. Collaborative Filtering Titel1 Titel4 Titel3 Titel6 Titel1 Titel4 Titel2 Titel5 input Vorschlag Titel2 Titel5 Der Vorschlag lässt sich mit geeigneten statistischen Methoden berechnen
  • 34. Collaborative Filtering Linearer Korrelations- Koeffizient (Pearson) Vorhersage für die Bewertung eines Merkmals i durch user a.
  • 35.
  • 36. Content-Based Filtering: KI-Trainingsphase Abhdsivfnrnvfr poevppopopovgt Fkmkmkgmg < rthhzzjz > Eruh kog URL j Kodierung Input 0 uninteressant 1 interessant Wertung Dim N Neuronales Netz Dim N+1 W i . . . W i 1
  • 37. Content-Based Filtering: KI-Trainingsphase Die kategorisierten Seite bilden Punkte in N+1 dim Vektorraum Punkt j aus Website Punkt k aus Training Metrik ermöglicht Erkennung interessanter Seiten W i 1
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. Quellen Übersichtsartikel Agentenbasiertes Suchen, Filtern und Klassifizieren von Informationsangeboten , Dipl. Kaufmann Frank Teuteberg, Preprint Europa Universität Viadrina Frankfurt Untersuchungen zur Personalisierung, Dipl.-Ing. Michael Sonntag, http://www.fim.uni-linz.ac.at/Publications/Aussendung10.98/Personalisierung.htm SWAMI, a framework for collaborative filetring algorithm development and evaluation , Danyel Fisher et al., University of Berkeley, http://epoch.cs.berkeley.edu:8000/~mct/f99/paper.html Seminar zur Personalisierung im Internet WS 00/01 , Universität Frankfurt, Lehrstuhl BWL , http://www.ecommerce.wiwi.uni-frankfurt.de:8080/lehre/00ws/seminar/seminararbeiten. html Viele Gesichter , c`t 2000, Heft 18, S88, Dietmar Janetzko, Dirk Zugemaier Wichtige Quelle für Forschungsarbeiten auf dem Gebiet des Collaborative Filtering: http://www.cs.umn.edu/Research/GroupLens/