Bitte warten
Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.
Autor: Stefan Kluge
Fach: Informatik - Theoretische Inf.
Details
Tags: Personalisierungstechniken, Untersuchung, Anforderungen, Möglichkeiten, Umsetzung
Jahr: 2002
Seiten: 132
Note: sehr gut
Sprache: Deutsch
Dateigröße: 799 KB
ISBN (E-Book): 978-3-640-04667-6
Co-Autor: Gerald Menzel
Volltext (computergeneriert)
HTWK Leipzig
Diplomarbeit
Personalisierungstechniken im WWW
Untersuchung der Anforderungen und Möglichkeiten
anhand einer prototypischen Umsetzung
Vorgelegt dem Fachbereich Informatik, Mathematik und
Naturwissenschaften von
Kluge, Stefan
Humboldtstraße 4
06766 Wolfen
Matrikelnummer: 21957
Menzel, Gerald
Max-Seyfert-Straße 5
04316 Leipzig-Baalsdorf
Matrikelnummer: 22091
abgegeben am 18. Februar 2002
Erstgutachter: Prof. Dr.-Ing. Gabriele Schade
Zweitgutachter: Prof. Dr.-Ing. habil. Dr. rer. nat Wolfgang S. Wittig
1-2
Inhaltsverzeichnis
Inhaltsverzeichnis 1-2
1.
Einleitung 1-5
2.
Grundlagen und Gegebenheiten 2-8
2.1
Begriff Personalisierung 2-8
2.2
Sicherheitsaspekte und Datenschutz 2-10
2.2.1
Sicherheitsaspekte bei der Personalisierung 2-10
2.2.1.1
Personalisierung mittels unabhängiger Nutzerverwaltung. 2-11
2.2.1.2
Personalisierung durch gemeinsame Nutzerverwaltung 2-12
2.2.2
Datenschutz 2-14
2.2.3
Rechtliche Grundlagen 2-15
2.2.4
Potentielle Gefahren 2-17
2.2.5
Maßnahmen 2-19
2.3
Bekannte Techniken zur Personalisierung 2-21
2.3.1
Expertengestützte Systeme 2-21
2.3.1.1
Uniforme Bewertung 2-21
2.3.1.2
Regelbasierte Personalisierung 2-22
2.3.2
Nutzergestützte Systeme 2-23
2.3.2.1
Einfaches Filtern 2-24
2.3.2.2
Inhaltsbasiertes Filtern 2-24
2.3.2.3
Kollaboratives Filtern (collaborative filtering): 2-25
3.
Konzepte zur Lösung 3-30
3.1
Datengewinnung 3-31
3.1.1
Technischer Ansatz zur kontinuierlichen Nutzerbeobachtung .. 3-33
3.1.2
Beschreibung der Funktionsweise 3-35
3.1.2.1
Identifikation der Session bzw. des Nutzers 3-35
3.1.2.2
Identifikation der angeforderten Seite 3-37
3.1.2.3
Identifikation der Aktionselemente 3-40
3.1.2.4
Identifikation aktiver Textdaten 3-44
3.1.2.5
Identifikation passiver Textdaten 3-47
3.1.2.6
Protokollierung der Seitenanforderung 3-50
3.1.2.7
Modifikation des HTML-Quelltextes 3-52
3.2
Informationsgewinnung 3-54
3.2.1
Informationsgewinnung aus Aktionsdaten 3-54
3.2.1.1
Aktionen 3-54
3.2.1.2
Seitenwechsel 3-56
3.2.1.3
Navigationswege 3-57
3.2.2
Textbasierte Informationen 3-65
3.2.2.1
Verarbeitung von Textdaten 3-66
3.2.2.2
Verarbeitung von textbasierten Informationen 3-77
3.3
Wissensgewinnung 3-81
3.3.1
Wissen über den Nutzer 3-81
3.3.1.1
Erfahrungslevel 3-82
3.3.1.2
Interessengebiete 3-83
©2002 - Kluge/Menzel
1-2
1-3
3.3.2
Wissen über die Anwendung 3-85
3.3.2.1
Nutzungsschwerpunkte (räumlich/zeitlich) 3-86
3.3.2.2
Zielgruppeninformationen 3-88
3.4
Integration 3-89
3.4.1
Metasprache 3-89
3.4.2
API 3-92
3.5
Anwendung 3-94
3.5.1
Personalisierung 3-94
3.5.1.1
Sichtbarkeit 3-94
3.5.1.2
Ranking 3-97
3.5.1.3
Textuelles Ranking 3-99
3.5.1.4
Hotlinks 3-102
3.5.1.5
Prefilling 3-104
3.5.1.6
Individuelle Rechtschreibkontrolle 3-106
3.5.1.7
Inhaltsvorschlag 3-108
3.5.1.8
Zusatzinformationen bei intensiver Nutzung 3-109
3.5.1.9
Auswahl ähnlicher Inhalte mittels kollaborativen Filterns 3-111
3.5.2
Analysen und Statistiken 3-115
4.
Zusammenfassung und Ausblick 4-120
5.
Anhänge 5-121
5.1
Grundbegriffe zur Computerlinguistik 5-121
Abbildungen 5-126
Gleichungen 5-127
Beispiele 5-127
Quellen, Referenzen und Verweise 5-130
©2002 - Kluge/Menzel
1-3
1-4
Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und
ohne fremde Hilfe verfasst, andere als die angegebenen Quellen nicht benutzt
und die den verwendeten Quellen wörtlich oder inhaltlich entnommenen Stellen
als solche kenntlich gemacht habe.
Leipzig, 18.02.2002
Stefan Kluge
Gerald Menzel
©2002 - Kluge/Menzel
1-4
1-5
1. Einleitung
Warum finden bis heute Techniken zur Personalisierung nur in so
geringem Maß Anwendung im WWW? Eine wesentlicher Grund ist die enorm
hohe Technologie- und Kostenhürde, die bisher bei der Realisierung eines
personalisierten Angebotes zu überwinden ist. Daneben bestehen zusätzlich oft
auch große Vorbehalte gegenüber der Personalisierung. Diese beziehen sich
neben dem nur schwer definierbaren wirtschaftlichen Nutzen vor allem auf die
Datenschutzproblematik.
Dennoch ist ein Trend hin zum verstärkten Einsatz von
Personalisierungstechniken erkennbar. Und das nicht nur im WWW. Diesen
wachsenden Bedarf nach entsprechenden Lösungen wird mehr und mehr
nachgekommen. Vor allem Hersteller von Systemen im Bereich Content
Management (CM) und Customer Relation Management (CRM) bieten
mittlerweile immer öfter auch Module mit Personalisierungstechniken. So ist die
große Mehrzahl der derzeit am Markt präsenten Lösungen meist nur als
Bestandteil oder Erweiterung umfangreicher CM- oder CRM-Lösungen
einsetzbar. Der Markt für derartige Systeme ist undurchsichtig und lässt sich
aufgrund der Vielfalt und rasanten technologischen Veränderungen der Systeme
kaum abgrenzen, weshalb an dieser Stelle bewusst keine Aufstellung oder gar
ein Vergleich einzelner verfügbarer Systeme gegeben werden soll.1
Beispiele für personalisierte Angebote im WWW sind inzwischen zahlreich
zu finden. Das Kürzel ,my′ weist vielerorts auf die Möglichkeit der persönlichen
Anpassung des Angebotes hin, so z.B. myYahoo2. Ein besonders oft zitiertes
Beispiel stellt der Online-Buchversand Amazon3 dar, welcher schon sehr früh
1 Dennoch sei auf das Angebot unter www.content-manager.de hingewiesen, welches aktuelle
Informationen und Vergleiche zu Produkten aus den Bereichen CM und CRM bietet.
2 www.yahoo.de
3 www.amazon.com / www.amazon.de
©2002 - Kluge/Menzel
1-5
1-6
auf Personalisierungstechniken gesetzt hat und damit auch sehr erfolgreich war
und ist.
Es fällt auf, dass derzeit hauptsächlich größere eCommerce-Angebote
den Querschnitt der personalisierten Angebote im WWW bilden. Dies ist wohl
vor allem damit zu begründen, dass der Einsatz von Personalisierungstechniken
meist wirtschaftlichen Erwägungen (Stichwort: Kundenbindung) folgt und sich
die Hersteller solcher Systeme ausschließlich auf dieses lukrative zentrale
Marktsegment konzentrieren.
Grenzbereiche finden dagegen bisher kaum Beachtung. Die meisten CM-
Systeme sind mit komplexen Verwaltungsfunktionen, wie z.B. Workflow-
Koordinierung oder Mitarbeiterverwaltung, ausgestattet und daher für kleinere
Anbieter völlig überdimensioniert bzw. nicht finanzierbar. Auch für das andere
Ende des Marktes, z.B. Anbieter mit sehr komplexen Angeboten, kommen die
derzeit verfügbaren Lösungen kaum in Frage, da diese oft nicht flexibel genug
den individuellen Bedürfnissen angepasst werden können.
Es besteht also Bedarf nach Personalisierungslösungen, die unabhängig
von CM-Systemen einsatzfähig sind. Eine solche Lösung müsste leicht und mit
nur geringem Aufwand in bestehende Angebote integrierbar, gleichzeitig aber
auch flexibel anzupassen und einsetzbar sein. Es müssten damit sowohl
komplett dynamische Websites personalisiert werden können als auch
Angebote, die teilweise oder gänzlich aus statischen HTML-Dateien bestehen.
Dem Personalisierungssystem sollte ein offenes und dadurch transparentes
Konzept zugrunde liegen, um Datenschutzbedenken entgegenwirken zu
können.
Im Folgenden werden Ansätze für ein solches innovatives
Personalisierungskonzept vorgestellt. Eine besondere Rolle spielen dabei auch
Methoden der Computerlinguistik.4 Im Gegensatz zu herkömmlichen Systemen
wird ein nicht-integrativer Ansatz, d.h. eine klare Trennung zwischen
4 Einige Grundbegriffe der Computerlinguistik werden im Anhang näher erläutert.
©2002 - Kluge/Menzel
1-6
1-7
Personalisierungssystem und der zu personalisierenden Anwendung, verfolgt.
Diese Arbeit untersucht die Möglichkeiten der Informationsgewinnung und
skizziert Anwendungsfälle für eine Personalisierung auf Basis dieser
Informationen.
©2002 - Kluge/Menzel
1-7
2-8
2. Grundlagen und Gegebenheiten
2.1 Begriff Personalisierung
Vor dem ,Wie′ sollen zu Beginn zunächst die Fragen ,Was ist
Personalisierung?′ und ,Wer braucht sie?′ geklärt werden. Erstere Frage ist nicht
leicht zu beantworten, denn es existieren viele verschiedene Definitionen zum
Begriff ,Personalisierung′ in unterschiedlichen Kontexten.
Bezogen auf das Feld der Informationsverarbeitung könnte eine intuitive
Definition vielleicht folgendermaßen lauten: ,Personalisierung bedeutet die
Anpassung von Inhalten für ein konkretes Subjekt, z.B. durch Hinzufügen von
für dieses Subjekt interessanten und Weglassen von uninteressanten
Informationen.′ Ein solches ,konkretes Subjekt′ könnte als eine reale Person
oder auch als eine Gruppe von Personen verstanden werden.
Tatsächlich existieren aber auch hier teilweise sehr verschiedene
Definitionen. So findet der Begriff Personalisierung u.a. im Bereich eCommerce
Verwendung und meint dort oft nichts anderes als die Möglichkeit, sich als
Kunde mit Name, Adress- und Kontoverbindungsdaten zu registrieren, um diese
bei späteren Bestellungen nicht erneut eingeben zu müssen. Es bedarf also
einer allgemeinen (allumfassenden) Definition des Begriffes Personalisierung für
das Feld der Informationsverarbeitung.
Personalisierung bedeutet eine positive Beeinflussung der Art und Weise,
wie Information für eine konkrete Person zugänglich ist. Dies schließt z.B. auch
die Möglichkeit der Vorauswahl von Informationen ein, abhängig von den
Präferenzen der Person - in Anbetracht der zunehmenden Informationsflut eine
nicht zu unterschätzende Stärke personalisierter Informationssysteme.
Bei der Entwicklung von Informationssystemen wie z.B.
Anwendungsprogrammen, aber auch Angeboten im WWW, wurde bisher meist
©2002 - Kluge/Menzel
2-8
2-9
von einer allgemeinen Zielgruppe ausgegangen, welche, abhängig vom
Charakter des Systems, mehr oder weniger groß ist. Der Gruppe werden
gewisse Eigenschaften zugeschrieben und diese als für jedes Individuum der
Gruppe zutreffend angenommen. Anhand dieses Eigenschaftskataloges findet
die Ausrichtung der Schnittstellen und Inhalte des Systems statt. Die Anpassung
an den Nutzer (die Zielgruppe) ist also statisch, d.h. einmalig, bei der
Entwicklung des Angebotes. Naturgemäß können so jedoch nur elementare und
wenig differenzierte Eigenschaften von Personen berücksichtigt werden. Dies
sind in den meisten Fällen Eigenschaften wie z.B. Alter, Bildungsstand,
Interessengruppe usw.
Im Gegensatz zu diesem klassischen Zielgruppenkonzept, verfolgt die
Personalisierung den Gedanken, jeden einzelnen Nutzer als Individuum zu
behandeln und die Schnittstellen und Inhalte des Informationssystems nach
dessen persönlichen Eigenschaften anzupassen. Natürlich bedeutet dies, dass
das Personalisierungssystem Kenntnis der persönlichen Eigenschaften jedes
Nutzers haben muss. Diese Daten können auf verschiedene Weise gewonnen
werden, vom einfachen Fragebogen bis hin zur automatischen Beobachtung
und Auswertung aller Aktionen der Nutzer des Informationssystems. Letzteres
Verfahren ist nur mit enormem technischem Aufwand realisierbar, birgt aber
großes Potenzial, da sich aus den so gesammelten Daten sehr viele
Informationen zu Eigenschaften der Nutzer gewinnen lassen, was wiederum
sehr komplexe und effiziente Personalisierungstechniken ermöglicht.
Jedoch müssen persönliche Daten als sensibel eingestuft werden.
Begriffe wie ,Nutzerbeobachtung′ oder ,Profilerstellung′ können leicht
missverstanden werden. Dies fügt der technischen Problematik auch noch einen
heiklen rechtlichen Aspekt hinzu und macht die Personalisierung zu einem
kontrovers diskutierten Thema. Das folgende Kapitel setzt sich daher zunächst
näher mit der Datenschutzproblematik auseinander.
©2002 - Kluge/Menzel
2-9
2-10
2.2 Sicherheitsaspekte und Datenschutz
2.2.1 Sicherheitsaspekte bei der Personalisierung
Berichtet man von Techniken zur Ermittlung von Nutzergewohnheiten,
zur Erstellung von Nutzerprofilen oder zur Individualisierung eines Interfaces,
so wird man oft konfrontiert mit Kommentaren wie "Spyware", "Datenspionage"
oder "ich will nicht, dass sich meine Oberfläche verändert". An dieser Stelle
muss man unterscheiden zwischen der Skepsis über die Qualität eines solchen
Systems, die zur vorschnellen Ablehnung führen kann, und über Bedenken
bezüglich Datenschutz und Anonymität.
Gründe für das Misstrauen gegenüber einer Interface-Individualisierung
können verschiedener Natur sein. Viele Nutzer, vor allem im professionellen
Bereich, haben schlechte Erfahrungen mit solchen Techniken gemacht. So sind
einige in Microsoft Windows bzw. in den Microsoft Office Produkten integrierten
Personalisierungstechniken für bestimmte Zielgruppen nicht geeignet oder
sogar produktivitätsmindernd. Als konkretes Beispiel sei an dieser Stelle die
Funktion zum automatischen Verbergen selten genutzter Menüpunkte genannt,
die in modernen Microsoft Office Produkten integriert ist. Während
durchschnittlichen Nutzern durch diese Funktion eine größere Übersichtlichkeit
gegeben wird, fühlen sich zahlreiche fortgeschrittene Anwender durch die
zusätzlich notwendige Erweiterung der jeweils eingeblendeten Menüleiste, um
verborgene Menüpunkte nutzen zu können, behindert. Microsoft hat mit seiner
hohen Marktdurchdringung einen großen Einfluss auf die öffentliche
Meinungsbildung. Daher sind diese für bestimmte Zielgruppen mangelhaften
Konzepte nicht unwesentlich für das Misstrauen dieser Nutzer
mitverantwortlich.
Für viele Kritiker sind Bedenken bezüglich der Datenspionage und des
Anonymitätsverlustes Gründe für eine Zurückhaltung. Diese Bedenken sind
©2002 - Kluge/Menzel
2-10
2-11
natürlich nicht von der Hand zu weisen. Jedoch muss berücksichtigt werden,
dass die Gewährleistung dieser Sicherheit von einem konkreten System abhängt
und nicht zu einer Pauschal-Verurteilung der Personalisierung an sich führen
kann. Nun ist es Nutzern von personalisierten Systemen allerdings in der Regel
nicht möglich, diese auf Einhaltung diverser Sicherheitsanforderungen zu
prüfen. Allerdings ist bereits ein Trend erkennbar, dass sich namhafte Firmen
immer öfter um eine freiwillige Sicherheitskontrolle durch mehr oder weniger
unabhängige Experten, wie dem TÜV für IT-Security, bemühen.
In dieser Arbeit werden modulare Personalisierungssystemkonzepte
favorisiert. Es handelt sich dabei um Konzepte, die eine unkomplizierte
Erweiterung bestehender Systeme um eben diese Personalisierungskomponente
ermöglichen. Sicherheitsaspekte, die für eine konkrete Anwendung dieser
Personalisierung relevant sind, müssen nicht zwangsläufig auch für die
Personalisierung an sich eine Bedeutung haben. Die gewährleistbare Sicherheit
hängt vor allem von der Schnittstelle zwischen dem Personalisierungssystem
und der Anwendung ab. Von den Autoren wird im Folgenden ein mehrstufiges
Sicherheitskonzept vorgestellt.
2.2.1.1 Personalisierung mittels unabhängiger Nutzerverwaltung
Nutzer des Personalisierungssystems werden völlig losgelöst von den
Nutzern der Anwendung betrachtet. Es gibt keinerlei Austausch von
Nutzeridentifikationsnummern oder sonstigen Daten, die eine Verbindung
zwischen Nutzerdaten des Personalisierungssystems und Nutzerdaten der
Anwendung ermöglichen. Damit ist es nicht möglich, Wissen über den Nutzer
innerhalb des Personalisierungssystems, auf eine reale Person zu übertragen,
da eine Verbindung zur realen Person, wenn überhaupt, nur in der Anwendung
existiert. So wäre dies z.B. möglich, wenn in der zu personalisierenden
Anwendung Adressinformationen archiviert würden und eine Abkopplung
zwischen Nutzer im Personalisierungssystem und Nutzer der Anwendung nicht
vorliegen würde.
©2002 - Kluge/Menzel
2-11
2-12
Vorteil dieser Methode ist die völlige Anonymität personalisierter Daten.
Es ist z.B. nicht möglich, Wissen über das Erfahrungslevel eines Nutzers auf
eine reale Person zu übertragen. Da dies aus Marketinggründen auch erwünscht
sein kann, ist es unter Umständen ebenso ein Nachteil. Ein erheblicher Nachteil
kann die mangelhafte Nutzererkennung sein. Das Einloggen ist die einzig
sichere und praktikable Möglichkeit zur Identifikation eines Nutzers, da die
jeweilige Person sich aktiv auf einem beliebigen Rechner mittels Benutzername
und Passwort identifiziert. Für das Personalisierungssystem ist dieses Verfahren
in diesem Fall jedoch nicht von Nutzen, daher muss die Identifikation auf der
Verwendung von Cookies bzw. nicht persistenten Session-IDs basieren. Cookies
sind Dateien, die von einem Server auf dem Client gespeichert werden, wo sie
vom Webbrowser verwaltet werden. Diese Dateien können beispielsweise eine
Nutzeridentifikationsnummer dauerhaft speichern. Da Cookies durch Nutzer
blockierbar sind, kann eine Wiedererkennung von Nutzern nicht garantiert
werden. Nicht persistenten Session-IDs sind, wie der Name schon sagt, nur für
die Dauer eine Session gültig. Eine solche eindeutige ID wird einem Nutzer bei
der ersten Anfrage vergeben und dann bei jeder weiteren Anfrage dieses
Nutzers weitergereicht. Für eine Personalisierung ist dieses Verfahren nur
bedingt geeignet, da wiederkehrende Nutzer nach Beendigung einer Session
nicht wiedererkannt werden können.
Sinnvoll ist die Anwendung der unabhängigen Nutzerverwaltung, wenn
im zu personalisierenden System ohnehin keine Nutzerverwaltung
implementiert ist. Außerdem gibt es Online-Angebote, die die Annahme von
Cookies durch Ihre Anwender voraussetzen. Auch in diesem Fall ist der Einsatz
möglich und voraussichtlich nur geringfügig durch mangelhafte
Nutzererkennung beeinträchtigt.
2.2.1.2 Personalisierung durch gemeinsame Nutzerverwaltung
Websites mit eigener Nutzerverwaltung können diese über die
Schnittstelle zum Personalisierungssystem propagieren. Technisch kann dies
©2002 - Kluge/Menzel
2-12
2-13
vereinfacht als ,,Durchreichen" einer eindeutigen Nutzeridentifikationsnummer
verstanden werden. Vorteilhaft ist in diesem Fall die eindeutige
Nutzererkennung durch Login. Die Möglichkeit, eine Verbindung zwischen
nutzerbezogenen Daten des Personalisierungssystems und denen der
Anwendung zu schaffen, kann aus Marketing-Sicht erhebliche Vorteile bringen.
So können Anwendungsfunktionalitäten implementiert werden, deren
Realisierung mit Hilfe einer Personalisierungsmetasprache nicht möglich wäre.
Als Beispiel sei das Verschicken von personalisierten Newslettern genannt. Als
Nachteil ist der Verlust der Anonymität personalisierter Informationen zu
nennen, wenn Informationen zur realen Person in der Anwendung vorliegen.
Generell soll hier darauf hingewiesen werden, dass Nutzerdaten
bezüglich einer Personalisierung in dem von uns vorgestellten Sinne im
Allgemeinen keine sensiblen persönlichen Informationen sind. Bei einer
Diskussion sollte im Auge behalten werden, dass es sich nicht um Konto-,
Adress- oder sonstige Informationen mit direktem Bezug zur realen Person
handelt. Die Informationen, die auf der Basis des hier vorgestellten
Personalisierungskonzeptes gewonnen werden, sind vielmehr als abstraktes
Wissen, etwa in Form von Navigationsverhaltensregeln bezüglich einer Website,
oder in Form von Interessenschwerpunkten, bezogen auf dynamische
Informations-Cluster, zu verstehen.
Einer Entscheidung für eines der beiden Sicherheitskonzepte sollten
folgende Überlegungen vorausgehen:
I. Anforderungen an die Personalisierung
Wird das Personalisierungssystem vorwiegend zur Analyse des
Kundenverhaltens eingesetzt? Oder kommen aktive Personalisierungsfunktionen
zum Einsatz, die beispielsweise Inhalte und Form der Anwendung beeinflussen?
Dann spricht dieser Fakt für eine Personalisierung durch gemeinsame
Nutzerverwaltung.
©2002 - Kluge/Menzel
2-13
2-14
II. Nutzerverwaltung der Anwendung
Existiert in der zu personalisierenden Anwendung eine Nutzerverwaltung?
Ist dies nicht der Fall, so kommt eine gemeinsame Nutzerverwaltung ohnehin
nicht in Frage.
III. Sicherheitsanforderungen an die Anwendung
Bei der Implementierung einer Personalisierungslösung in Anwendungen
mit strikten Sicherheitsbestimmungen kann es, z.B. auch aus
unternehmenspolitischen Gründen, gefordert werden, die Nutzeridentifikation
nicht an ein externes Modul weiterzugeben. Auch in diesem Fall kann keine
gemeinsame Nutzerverwaltung zum Einsatz kommen.
2.2.2 Datenschutz
Folgende Betrachtungen des Datenschutzes spielen nur dann eine Rolle,
wenn es sich bei den verarbeiteten Daten um personenbezogene Daten
handelt. "Personenbezogene Daten sind Einzelangaben über persönliche oder
sachliche Verhältnisse einer bestimmten oder bestimmbaren natürlichen Person
(Betroffener)."5 Abhängig vom Einsatz eines Personalisierungssystems ist eine
Verbindung zwischen verarbeiteten Daten eines Nutzers und der
entsprechenden natürlichen Person nicht immer notwendig. Die Bestimmbarkeit
einer natürlichen Person kann dadurch verhindert werden, dass eine solche
Verbindung gar nicht erst hergestellt wird. So können Daten über das
Navigationsverhalten eines Nutzers verarbeitet werden, ohne dabei Daten über
die natürliche Person, die sich hinter diesem Nutzer verbirgt, festzuhalten. In
einem solchen Fall spielen rechtliche Grundlagen des Datenschutzes keine Rolle.
Da bei einem Personalisierungssystem jedoch eine Verbindung zwischen
verarbeiteten Daten und den jeweiligen natürlichen Personen auch gewünscht
sein kann, sollen gesetzliche Regelungen an dieser Stelle nun genauer
betrachtet werden.
5 § 3 BDSG
©2002 - Kluge/Menzel
2-14
2-15
2.2.3 Rechtliche Grundlagen
Die rechtlichen Grundlagen des Datenschutzes in Deutschland sind im
Bundesdatenschutzgesetz (BDSG)6 festgehalten. Speziell im Internet-Bereich
spielen außerdem das Teledienstegesetz (TDG)7, das
Teledienstedatenschutzgesetz (TDSSG)8 und der Mediendienstestaatsvertrag
(MDStV)9 eine Rolle. Im Rahmen eines Urteils des Bundesverfassungsgerichts
wurde 1983 erstmals der Begriff der Informationellen Selbstbestimmung (ISR)
geprägt, welcher grundlegende Bedeutung für die datenschutzrechtliche
Gesetzgebung hat. Es wird argumentiert, dass ein Bürger in seiner Freiheit
wesentlich gehemmt sein kann, wenn für ihn nicht überschaubar ist, welche
Informationen seiner Umwelt über ihn bekannt sind.
Folgende gesetzliche Vorgaben sollten bei der Konzeption eines
Personalisierungssystems beachtet werden:
Es dürfen nur Daten verarbeitet werden, die für den konkreten Fall
erforderlich sind (Datensparsamkeit). Daten müssen zweckgebunden
gesammelt und vor Zugriffen unberechtigter geschützt werden (Zweckbindung).
Personen haben das Recht zu erfahren, welche personenbezogenen Daten über
Sie gespeichert werden und zu welchem Zweck dies geschieht. Außerdem
können betroffene Personen die Berichtigung, Löschung oder Sperrung der
Daten fordern. Die Datenverarbeitung muss so organisiert werden, dass Sie
nachvollziehbar ist (Transparenz). Dazu gehört auch die Unterrichtung der
betroffenen Personen vor der Erhebung der Daten.
Angaben über die rassische und ethnische Herkunft, politische
Meinungen, religiöse oder philosophische Überzeugungen,
Gewerkschaftszugehörigkeit, Gesundheit oder Sexualleben unterliegen
schärferen Bestimmungen.
6 http://www.datenschutz-berlin.de/recht/de/bdsg/bdsg1.htm (abgerufen am 17. Februar 2002)
7 http://www.bfd.bund.de/information/info5/info5011.htm (abgerufen am 17. Februar 2002)
8 http://www.bfd.bund.de/information/info5/info5012.htm (abgerufen am 17. Februar 2002)
9 http://www.iid.de/iukdg/gesetz/mdstv.html (abgerufen am 17. Februar 2002)
©2002 - Kluge/Menzel
2-15
2-16
Der folgende Ausschnitt der BDSG [§ 46] weist auf einige für die
Organisation der Datenverarbeitung wichtigen Anforderungen hin:
"1. Unbefugten den Zutritt zu Datenverarbeitungsanlagen, mit denen
personenbezogene Daten verarbeitet oder genutzt werden, zu verwehren
(Zutrittskontrolle),
2. zu verhindern, dass Datenverarbeitungssysteme von Unbefugten
genutzt werden können (Zugangskontrolle),
3. zu gewährleisten, dass die zur Benutzung eines
Datenverarbeitungssystems Berechtigten ausschließlich auf die ihrer
Zugriffsberechtigung unterliegenden Daten zugreifen können, und dass
personenbezogene Daten bei der Verarbeitung, Nutzung und nach der
Speicherung nicht unbefugt gelesen, kopiert, verändert oder entfernt werden
können (Zugriffskontrolle),
4. zu gewährleisten, dass personenbezogene Daten bei der
elektronischen Übertragung oder während ihres Transports oder ihrer
Speicherung auf Datenträger nicht unbefugt gelesen, kopiert, verändert oder
entfernt werden können, und dass überprüft und festgestellt werden kann, an
welche Stellen eine Übermittlung personenbezogener Daten durch
Einrichtungen zur Datenübertragung vorgesehen ist (Weitergabekontrolle),
5. zu gewährleisten, dass nachträglich überprüft und festgestellt werden
kann, ob und von wem personenbezogene Daten in Datenverarbeitungssysteme
eingegeben, verändert oder entfernt worden sind (Eingabekontrolle),
6. zu gewährleisten, dass personenbezogene Daten, die im Auftrag
verarbeitet werden, nur entsprechend den Weisungen des Auftraggebers
verarbeitet werden können (Auftragskontrolle),
7. zu gewährleisten, dass personenbezogene Daten gegen zufällige
Zerstörung oder Verlust geschützt sind (Verfügbarkeitskontrolle),
©2002 - Kluge/Menzel
2-16
2-17
8. zu gewährleisten, dass zu unterschiedlichen Zwecken erhobene Daten
getrennt verarbeitet werden können."
2.2.4 Potentielle Gefahren
Unberechtigter Zugang zu den Daten
Um nur berechtigten Personen den Zugang zu einem personalisierten
System zu ermöglichen, bietet sich ein Passwortschutz an. Abhängig von der
konkreten Implementierung wird dies möglicherweise nicht in der Zuständigkeit
des Personalisierungssystems liegen, sondern bereits von der zu
personalisierenden Anwendung selbst übernommen - zum Beispiel einem
Internet-Portal, welches ein Login vorsieht.
Missbrauch der Daten
Die Verwendung von personenbezogenen Daten für nicht vorgesehene
Zwecke wiederspricht der gesetzmäßigen Zweckbindung. Für ein
Personalisierungssystem bedeutet dies, dass bei der Formulierung des
Verwendungszweckes gegenüber den Benutzern entsprechend sorgfältig
vorgegangen werden muss. Einerseits erfordert die angestrebte und für das
Vertrauen des Nutzers notwendige Transparenz eine deutliche Formulierung
des Verwendungszweckes der Daten. Andererseits machen ökonomische
Gesichtspunkte eine Skalierbarkeit und Flexibilität eines
Personalisierungssystems und der entsprechend verarbeiteten Daten
notwendig. Auch hier gilt es eine Verhältnismäßigkeit zu wahren. Das heißt, vor
allem bei der Verarbeitung sensibler persönlicher Daten den Verwendungszweck
besonders unmissverständlich zu formulieren und ihm strikt zu entsprechen.
Schutz vor Datenmissbrauch heißt weiterhin, Maßnahmen zu ergreifen um
Unberechtigten den Zugang zu diese Daten zu verwehren. Diese Maßnahmen
hängen jedoch stark von der konkreten Anwendung und dem jeweiligen System
©2002 - Kluge/Menzel
2-17
2-18
ab und bedürfen einer individuellen Integration in das entsprechende
Sicherheitskonzept.
Manipulation der Daten
Im Gegensatz zur Manipulation etwa von Kontodaten in einer
Onlinebanking-Anwendung hat die Veränderung der Daten eines
Personalisierungssystems (nur) dessen Fehlfunktion zur Folge. Man muss sich
darüber im Klaren sein, dass die Daten der jeweiligen Anwendung völlig
unabhängig von den Daten des Personalisierungssystems sind. Eine
Manipulation wirkt sich also nicht in der Form aus, dass etwa eine Überweisung
innerhalb einer Onlinebanking-Anwendung ein falsches Konto erreichen würde,
allerdings wären Fehlfunktionen innerhalb des vom Personalisierungssystem
gesteuerten individuellen Nutzer-Interfaces möglich. Wie auch beim Schutz
gegen Missbrauch der Daten muss einer Manipulation bereits bei der
Integration in das gesamte Sicherheitskonzept der Zielanwendung vorgebeugt
werden. Andererseits können auch Anwendungsunabhängige Maßnahmen die
Sicherheit des Personalisierungssystems erhöhen. So zum Beispiel die Bildung
einer Checksumme über gefährdete Daten, welche dann bei der Verwendung
dieser Daten als Dekodierungsschlüssel dient.
Gefahr durch Verknüpfung von Daten
Auch wenn personenbezogene Daten isoliert betrachtet keine
unrechtmäßig erlangten Informationen darstellen, so muss beachtet werden,
dass die Verknüpfung dieser Daten möglicherweise weitergehende
Rückschlüsse zulassen. Ob eine Verknüpfung möglich ist, muss für jedes Datum
anhand der konkreten Anwendung geprüft werden. Auch hier gilt der Grundsatz
der Verhältnismäßigkeit. So ist die Verknüpfung von IP-Adresse und der
entsprechenden natürlichen Person theoretisch zwar möglich, jedoch nur mit
erheblichem Aufwand durchsetzbar. Damit ist die Verarbeitung der IP-Adresse
im Regelfall vertretbar.
©2002 - Kluge/Menzel
2-18
2-19
2.2.5 Maßnahmen
Passwort-Schutz
Passwörter gelten als guter Kompromiss zwischen Sicherheit und
Benutzerfreundlichkeit. Es lässt sich in jedem Fall folgende Empfehlung für
Passwort-Schutzmechanismen aussprechen10:Passwörter sind im System
verschlüsselt abzulegen und gegen unbefugte Zugriffe zu schützen
· wiederholte Falscheingaben sind zu unterbinden, z.B. durch Sperrung
nach dreimaliger Falscheingabe
· Passwörter sollten eine Mindestlänge von 6 Zeichen haben und aus
einem alphanumerischen Zeichenmix bestehen.
· Die Eingabe sollte verdeckt erfolgen, das Anzeigen von Ersatzzeichen
(*) lässt die Erkennung der Passwortlänge für Dritte zu.
· Falscheingaben sollten dem Nutzer sofort mitgeteilt und vom System
protokolliert werden.
· Die Nutzung von Trivialpasswörtern sollte vom System unterbunden
werden.
Bei den Maßnahmen ist jeweils abzuwägen, wie stark die Benutzbarkeit
des Systems darunter leidet und wie groß der organisatorische Aufwand ist. So
ist die Vorgabe einer Mindestlänge von 8 Zeichen zwar der Sicherheit zuträglich,
nicht jedoch der Usability. Ebenso ist es einem Systembetreiber unter
Umständen aus ökonomischen Gesichtspunkten nicht möglich, bei einer
Sperrung eines Nutzer-Profils eine Entsperrung nur nach Kontaktaufnahme mit
der jeweiligen Person vorzunehmen. Der Sicherheitsaufwand sollte vor allem im
Verhältnis zu den verarbeiteten personenbezogenen Daten stehen.
10 siehe auch: http://www.datenschutz-berlin.de/infomat/ratgeber/3ratgeb.htm (abgerufen am
17. Februar 2002)
©2002 - Kluge/Menzel
2-19
2-20
Verschlüsselung
Passwörter und andere sensible Daten müssen angemessen verschlüsselt
werden. Dies gilt auch für die Übertragung dieser Daten. Generell ist es
empfehlenswert, sich dabei an standardisierten Konzepten zu orientieren, zum
Beispiel einer Verschlüsselung gemäß des Advanced Encryption Standard
(AES)11 und einer Übertragung über Secure Socket Layer (SSL)12.
Transparenz
Platform for Privacy Preferences (P3P)13 ist ein Protokoll zur
Beschreibung von Daten-Sammlungs-Praktiken einer Website. Dieses Protokoll
dient sowohl der Information der Nutzer über private Daten, die auf einer
Website über ihn gesammelt werden, als auch der automatischen Verarbeitung
dieser Informationen durch den Webbrowser. Browser, die dies unterstützen,
können einen automatischen Vergleich mit den Sicherheitseinstellungen der
Nutzer vornehmen und den Nutzer ggf. warnen. Microsoft hat diese
Unterstützung im IE 6 integriert. P3P ist als Empfehlung des W3C ein offener
Standard und kann als vertrauensschaffende Maßnahme dem Betreiber einer
Personalisierungstechnik nutzenden Website empfohlen werden. Da das
Personalisierungssystem jedoch unabhängig von persönlichen Nutzerdaten
arbeitet, ist dies nur indirekt ein Aspekt des Datenschutzes. Indirekt deshalb,
weil zu vermuten ist, dass viele Benutzer ein generelles Misstrauen gegenüber
personalisierten Systemen aufbringen werden und gerade deshalb durch
Transparenz Vertrauen aufgebaut werden sollte.
11 http://csrc.nist.gov/encryption/aes/ (abgerufen am 17. Februar 2002)
12 http://www.netscape.com/eng/ssl3/ (abgerufen am 17. Februar 2002)
13 http://www.w3.org/P3P/ (abgerufen am 10. Dezember 2001)
©2002 - Kluge/Menzel
2-20
2-21
2.3 Bekannte Techniken zur Personalisierung
Den Kern eines jeden Personalisierungssystems bilden Methoden und
Verfahren, die auf verschiedenste Art und Weise die Beziehungen zwischen den
Inhalten der Anwendung und deren Nutzern analysieren und beeinflussen - die
eigentlichen Personalisierungstechniken. Es existieren verschiedene Ansätze für
solche Techniken, wobei die Struktur der Inhalte des Angebotes und der
Nutzergruppen bestimmend für die Qualität der erzielten Ergebnisse ist.
Qualitative,
Key
Endorsement
Collaborative
Complex
Products
Quantitative,
Attributes
Rule Based
CASE
Few
Highly
Uniform
Differentiated
Customer Needs,
Product Space
Abbildung 1: Kriterien zur Auswahl von Personalisierungstechniken14
2.3.1 Expertengestützte Systeme
2.3.1.1 Uniforme Bewertung
Bei der Personalisierung mit Hilfe uniformer Bewertungssysteme werden
dem Nutzer Entscheidungshilfen zur Auswahl von Inhalten, z.B. zum Kauf eines
Produktes oder zur Wahrnehmung einer Dienstleistung, geboten. Die
Entscheidungshilfen orientieren sich dabei nicht an den individuellen
Präferenzen des Nutzers, sondern an denen der Allgemeinheit, also aller Nutzer.
Definition: Uniforme Präferenzen liegen vor, wenn ein großer Prozentsatz
der Nutzer identische Merkmale eines Produktes oder einer Dienstleistung
schätzt.
14 Quelle: Hanson 2000
©2002 - Kluge/Menzel
2-21
2-22
Uniforme Bewertungssysteme sind nicht automatisierbar, d.h. die
benötigten Daten werden manuell erhoben. Alle Inhalte müssen durch
Nutzerbefragungen, Expertenanalysen oder ähnliche Verfahren regelmäßig neu
bewertet werden. Das bedeutet auch, dass sich nicht alle Arten von Inhalten für
diese Technik eignen, so z.B. Inhalte mit emotionalen Aspekten.
2.3.1.2 Regelbasierte Personalisierung
Bei der Personalisierung mit Hilfe regelbasierter Systeme werden die
über den Benutzer gesammelte Informationen einem Satz von Regeln
gegenübergestellt und anhand dieser Regeln ausgewertet. Ein solches
Expertensystem ist, wie der Name schon sagt, mit dem Schlussfolgern und
Handeln eines Experten vergleichbar.
Die zugrunde liegenden Regeln sind häufig nach folgendem Muster aufgebaut:
Folgerung(Bedingung1=wahr)(Bedingung2=wahr)...
Damit lassen sich Bedingungen definieren, wie z.B.:
,,Zeigt Nutzer verstärkt Interesse an >Outdoor<, >Camping< und
>Gebirge<, dann zeige Bannerwerbung einschlägiger Reiseveranstalter."
Ein komplexes regelbasiertes Personalisierungssystem besteht aus einer
Wissensbasis mit Fakten (Sachverhalte, dargestellt durch Objekt-Attribut-Wert
Trippel) und Regeln (in if/then-Struktur), einer Inferenzmaschine (enthält den
Schlussfolgerungsmechanismus), einem Wissenserwerbs-Subsystem, einem
Erklärungs-Subsystem und einer Benutzerschnittstelle.
©2002 - Kluge/Menzel
2-22
2-23
Wissensbasis
(Fakten und
Regeln)
Inferenzmaschine
(Schlussfolgerungs-
mechanismus
und Steuerung)
Wissenserwerbs-
Erklärungssubsystem
Benutzerschnittstele
subsystem
Abbildung 2: Aufbau eines komplexen regelbasierten Personalisierungssystems
Voraussetzung für den Betrieb eines regelbasierten Informationssystems
ist ein umfangreiches Inhalts- und Zielgruppen-Know-How seitens des
Betreibers, da dieser für die Aufstellung und Pflege der Regeln zuständig ist.
Der große Vorteil eines solchen Systems ist die hohe Flexibilität der
Personalisierung durch beliebige Verknüpfungsmöglichkeiten von Fakten und
Bedingungen, woraus auch eine gute Überschau- und Steuerbarkeit resultiert.
Diese Vorteile werden allerdings durch einen hohen konzeptionellen
Initialaufwand (z.B. Aufstellung der Regelbasis) und die Notwendigkeit einer
permanenten - meist manuellen - Aktualisierung erkauft.
2.3.2 Nutzergestützte Systeme
Grundlegendes Arbeitsprinzip der meisten nutzergestützten
Personalisierungssysteme (Cognitive- ,Economic- und Social Filtering) ist der
Einsatz mehr oder weniger komplexer Filtertechniken. Neben einfachen Filtern
lassen sich diese Verfahren hauptsächlich in inhaltsbasierte und
bewertungsbasierte Filterverfahren unterteilen. Nutzergestützte
Personalisierungssysteme lassen sich oft auch sehr gut mit regelbasierten
Systemen kombinieren.
©2002 - Kluge/Menzel
2-23
2-24
2.3.2.1 Einfaches Filtern
Wie der Name vermuten lässt, handelt es sich hierbei um ein sehr
simples Verfahren. Jeder Nutzer wird dabei einer manuell definierten Gruppe
zugeordnet und die Eigenschaften dieser Gruppe als für ihn zutreffend
angenommen. Beispiel:
,,Kunden, die der Gruppe >Premium-Kunden< zugeordnet sind, werden
bestimmte Rabatte angeboten."
Dieses Verfahren erfordert weder einen hohen Initial-, noch eine hohen
Aktualisierungsaufwand. Allerdings lassen sich damit auch nur einfachste
Personalisierungstechniken realisieren.
2.3.2.2 Inhaltsbasiertes Filtern
Inhaltsbasierte Filtertechniken (auch Cognitive/Content Based Filtering
genannt) stellen bereits fortgeschrittenere Methoden zur Personalisierung dar
und produzieren gegenüber dem einfachen Filtern schon wesentlich komplexere
Ergebnisse.
Grundlegendes Prinzip ist eine Klassifizierung aller Inhalte (z.B. Produkte)
des Informationssystems. Dies geschieht, indem jedem Inhalt eine Menge von
zutreffenden Attributen zugeordnet wird. Durch Vergleich dieser Attribute
lassen sich dann wiederum ähnliche Inhalte einander zuordnen. Die Ermittlung
der Präferenzen des Nutzers geschieht durch Beobachtung seiner Auswahl von
Inhalten. So können ihm z.B. passende (ähnliche) Inhalte vorgeschlagen
werden.
Voraussetzung dafür ist allerdings eine ausreichend gute Klassifizierung
der Inhalte. Als Vorteil zeigt sich hier, dass sich diese Klassifizierung in der
Regel natürlich ergibt. Leider lassen sich aber eben nicht alle Arten von Inhalten
gut klassifizieren. Schwierigkeiten treten z.B. bei Bildern oder Düften auf, da
sich solchen Inhalten nur schwer Attribute zuordnen lassen. In jedem Fall ist für
die Klassifizierung der Inhalte ein hoher Initialaufwand notwendig.
©2002 - Kluge/Menzel
2-24
2-25
2.3.2.3 Kollaboratives Filtern (collaborative filtering):
Die Anfänge dieser Technik liegen in den neunziger Jahren. Forschungen
an der Universität von Minnesota verfolgten damals das Ziel, die großen
Mengen von Beiträgen in Newsgroups zu filtern, um dem Nutzer zu
ermöglichen, leichter die für ihn interessanten Beiträge zu finden. Das daraus
entstandene Filtersystem war in der Lage, den Nutzerbestand automatisch in
passende Gruppen zu gliedern - die ,,Group Lens"15
Das so genannte kollaborative Filtern stellt eine der fortgeschrittensten
Filtertechniken dar. Grundlage ist hier nicht eine Klassifizierung der Inhalte,
sondern die Beziehung von Nutzern zu Inhalten. Diese Beziehung entsteht,
indem Nutzer die Inhalte bewerten. Das kann zum einen aktiv (manuell)
geschehen, z.B. durch die Vergabe von Bewertungspunkten durch den Nutzer,
oder auch passiv (automatisch). In letzterem Fall muss der Nutzer nicht direkt
in Anspruch genommen werden. Vielmehr vergibt er die Bewertungen
unbewusst, d.h. schon die bloße Auswahl von Inhalten durch den Nutzer kann
als Bewertung interpretiert werden.
Anhand ähnlicher Bewertungsmuster können alle Nutzer dynamisch
gebildeten Gruppen (sog. Peer-Gruppen) zugeordnet werden. Jede dieser
Gruppen erhält gewisse Eigenschaften, gebildet aus der Summe der
Eigenschaften aller der jeweiligen Gruppe zugehörigen Nutzer. Jede der so
gewonnenen Eigenschaften einer Gruppe wird nun auch als für jedes Mitglied
der Gruppe zutreffend angenommen.
15 siehe auch: http://www.cs.umn.edu/Research/GroupLens/index.html (abgerufen am 7.
Januar 2002)
©2002 - Kluge/Menzel
2-25
2-26
Ein bekanntes Beispiel stellt hier der Online-Buchhandel amazon.de16
dar. Dieser nutzt die Technik des kollaborativen Filterns z.B. für die Empfehlung
von Buchtiteln.
Abbildung 3: Produktempfehlung bei amazon.de (Screenshot)
Die für den Einsatz des kollaborativen Filterns notwendigen Daten
können mit Hilfe verschiedenster Techniken gewonnen werden. Zu nennen sei
hier vor allem die Technik der Nutzerbeobachtung (Usertracking), auf die später
noch näher eingegangen wird.
Da das kollaborative Filtern die zurzeit wohl fortgeschrittenste Technik
darstellt, soll hier auf verschiedene bekannte Algorithmen näher eingegangen
werden:
Speicherbasiert (Memory-Based)
Bei dieser Technik werden immer alle zugrunde liegenden Daten für die
Generierung von Empfehlungen genutzt. Der gesamte Bestand an
Bewertungsdaten wird nach Nutzern mit ähnlichem Bewertungsmuster
durchsucht. Als Maß für die Ähnlichkeit könnte dabei z.B. der
Korrelationskoeffizient nach Pearson dienen.
16 http://www.amazon.de (abgerufen am 20. Januar 2002)
©2002 - Kluge/Menzel
2-26
2-27
Dieser ist wie folgt definiert:
n
(
x x y y
i
-
)(
i
- )
i
=
r
1
xy
=
n
n
(
x x
2
y
y
2
i
-
) ×(
i
- )
i
=1
i
=1
Gleichung 1: Korrelationskoeffizient nach Pearson
Die Kovarianz zweier Nutzer wird durch deren Standardabweichung
dividiert. Der Definitionsbereich ist auf Werte zwischen -1 und +1 beschränkt,
wobei Paare mit hohem positivem Korrelationskoeffizienten als zueinander
ähnlich gewertet werden.
Nutzer1 Nutzer2 Nutzer3 Nutzer4 Nutzer5
Inhalt1
5
3
3
5
4
Inhalt2
5
5
4
4
5
Inhalt3
1
-
4
1
2
Inhalt4
-
5
5
2
3
Inhalt5
2
4
4
2
-
Inhalt6
5
-
5
-
3
Nutzer2 Nutzer3 Nutzer4 Nutzer5
Nutzer1
0.00
0.00
0.97
0.77
Nutzer2
0.85
-0.52
0.00
Nutzer3
-0.65
-0.37
Nutzer4
0.85
Beispiel 1: Neighbourhood-Methode - Bestand der Bewertungsdaten (Schulnoten) der Nutzer und berechnete
Korrelationskoeffizienten (gerundet)
In diesem Beispiel wurden Nutzer1 und Nutzer4 als zueinander sehr
ähnlich identifiziert (Korrelationskoeffizient = 0.97). Hier erscheint eine
Empfehlung von Inhalt4 an Nutzer1 sinnvoll. Dagegen haben z.B. Nutzer3 und
Nutzer4 so gut wie keine Gemeinsamkeiten (Korrelationskoeffizient = -0.65).
Modellbasiert (Model-based)
Im Gegensatz zum speicherbasierten Verfahren, wird bei modellbasierten
Techniken nicht ständig auf den gesamten Datenbestand zurückgegriffen.
©2002 - Kluge/Menzel
2-27
2-28
Stattdessen wird aus den Nutzerdaten ein Modell generiert (geschätzt, gelernt),
wofür eine Reihe verschiedener Verfahren (Cluster Model, Gibbs Sampling,
Clustered Pearson Algorithm, Bayesian Model, Bayesian Mixed Effects Model)
Anwendung finden.
Ob speicher- oder modellbasiert - für den Einsatz kollaborativer
Filtertechniken müssen zwei wichtige Vorraussetzungen erfüllt sein: Zum einen
bedarf es einer umfangreichen Menge möglichst vielfältiger Inhalte. Zum
anderen ist eine große bis sehr große Nutzerzahl zwingend erforderlich, um
gute Ergebnisse zu erhalten.
Sind diese Vorraussetzungen erfüllt, stellt die Technik des kollaborativen
Filterns ein sehr leistungsfähiges Verfahren dar und bringt eine Reihe von
wesentlichen Vorteilen gegenüber den vorher genannten Verfahren:
· Die Kenntnis der Identität des Nutzers ist nicht erforderlich, da nur
aus seinem Verhalten Schlüsse gezogen werden - aus
datenschutzrechtlicher Sicht ein entscheidender Vorteil.
· Jeder Nutzer kann individuell betrachtet werden.
· Durch Auswertung der Gruppenpräferenzen können dem Nutzer auch
neue (ihm unbekannte) Inhalte vorgeschlagen werden.
· Es fällt kein hoher Initialaufwand an, da die zu personalisierenden
Inhalte nicht klassifiziert werden müssen.
· Das System muss kaum manuell gepflegt werden, da es aus den
Nutzerdaten ständig hinzulernt und so die zugrunde liegenden Daten
immer aktuell sind.
· Das System ist sehr flexibel einsetzbar.
©2002 - Kluge/Menzel
2-28
2-29
Allerdings ist auch der Einsatz dieser Technik mit einer Reihe von
Problemen verbunden:
· Nicht die Inhalte der Empfehlungen, sondern nur die Empfehlung
selbst wird betrachtet, d.h. es werden keine inhaltlichen Beziehungen
berücksichtigt.
· Die Nichtberücksichtigung der Inhalte der Bewertungen birgt das
Risiko irrelevanter Vorschläge durch zufällige Zusammenhänge.
· Nur mindestens einmal bewertete Inhalte werden durch das System
berücksichtigt, was eine Sonderbehandlung neuer Inhalte erforderlich
macht (First-Rater-Problematik).
· Das System kann erst mit Erreichen einer bestimmten Anzahl von
Bewertungen zuverlässig arbeiten und gute Vorschläge liefern
(kritische Masse). Hierfür ist in der Regel ein längerer Zeitraum
erforderlich.
· Für exotische Nutzerprofile werden schlechtere Empfehlungen
generiert, da diese keiner ausreichend großen Gruppe bzw. keiner
Gruppe ausreichend gut zugeordnet werden können.
©2002 - Kluge/Menzel
2-29
3-30
3. Konzepte zur Lösung
Das Konzept für eine Personalisierungslösung, das in dieser Arbeit
vorgestellt werden soll, verfolgt einen nicht-integrativen und modularen Ansatz.
Dies bedeutet nicht nur eine strikte Trennung von Personalisierungssystem und
Anwendung. Auch das Personalisierungssystem selbst ist modular aufgebaut
und gliedert sich in folgende Bestandteile:
· Datengewinnung
· Informationsgewinnung
· Wissensgewinnung
· Personalisierungstechniken
· Auswertung
Zentraler Bestandteil ist dabei die Datenbank, in der sämtliche Ein- und
Ausgabedaten der einzelnen Verarbeitungsschritte abgelegt und verwaltet
werden.
Request
CM / CGI /
Informations-
Wissens-
HTML
gewinnung
gewinnung
g
n
e
r
u
Client
r
d
o
Daten-
Browser
gewinnung
e
i
t
e
nanf
S
Personali-
sierung
Datenbank
Response
Auswertung
Analysen
Statistiken
Abbildung 4: Modulare Struktur des Personalisierungssystems
©2002 - Kluge/Menzel
3-30
3-31
3.1 Datengewinnung
Verallgemeinert kann das Wort ,,Individualisierung" als Anpassung einer
Sache an ein Subjekt hinsichtlich seiner individuellen Merkmale verstanden
werden. Naturgemäß erfordert dies die Kenntnis der individuellen Merkmale des
Subjekts.
Bezogen auf die Anpassung der Schnittstelle eines Informationssystems
für einen konkreten Nutzer bedeutet dies die Notwendigkeit der Kenntnis aller
relevanten Daten zu den Eigenschaften dieses Nutzers, wie z.B. Interessen,
Gewohnheiten, Vorlieben, Fähigkeiten, Lebensumständen usw. Die Komplexität
und Treffsicherheit der Techniken zur Anpassung hängt dabei in hohem Maße
von der Qualität der aus diesen Daten gewonnenen Informationen ab. Für die
Qualität einer Information sind hierbei u.a. Kriterien wie Aktualität,
Wahrheitsgehalt und Komplexität maßgeblich.
All diese Anforderungen an die Qualität der Informationen machen die
Datengewinnung zu einem wesentlichen Bestandteil eines
Personalisierungssystems.
Herkömmliche Techniken / Fragebogen
Die einfachste und deshalb wohl verbreitetste Methode zur Gewinnung
von Daten zu Merkmalen des Nutzers ist der klassische Fragebogen. Dem
Nutzer wird hierbei (meist einmalig, bei Erstnutzung des Informationssystems)
ein Katalog aus Fragen präsentiert. Das Spektrum dieser Fragen reicht dabei
von den einfachen persönlichen Daten, wie Name und Alter, über eigene
Interessen bzw. Vorlieben, bis hin zur charakterlichen Selbsteinschätzung.
Hierbei muss die Sicherung der Qualität der Information allein dem
Nutzer überlassen werden, was nicht unproblematisch ist. Menschen neigen
dazu, Fragen zur eigenen Person nicht immer objektiv zu beantworten, was
ihnen meist nicht einmal bewusst ist. Der Wahrheitsgehalt der so gewonnenen
Informationen kann also nicht immer als gesichert angesehen werden.
©2002 - Kluge/Menzel
3-31
3-32
Hinzu kommt, dass die Akzeptanz
seitens der Nutzer gegenüber Fragebögen
nur gering ist und mit steigender Anzahl
der Fragen weiter abnimmt. Der Konflikt
zwischen dem Wunsch, möglichst viele
Daten über den Nutzer zu erfragen auf der
einen Seite und der mangelnden Akzeptanz
der Nutzer auf der anderen Seite, kann nur
durch einen Kompromiss überwunden
werden: Wenige einfache Fragen, bei
deren Beantwortung der Nutzer nicht den
Eindruck gewinnt, allzu viel über sich
preisgeben zu müssen. Diese Technik
ermöglicht also nur ein geringes
Komplexitätsmaß der gewonnenen
Information.
Ein weiterer wichtiger Aspekt ist die
Aktualität der erfragten Daten. Nur zum
Zeitpunkt der Beantwortung der Fragen
können die Daten als wirklich aktuell
angesehen werden. So können sich z.B. die
Abbildung 5: Typischer Fragebogen17
Interessengebiete eines Nutzers mit der
Zeit ändern. Je mehr Zeit seit der Beantwortung vergangen ist, desto geringer
ist das Aktualitätsmaß der Daten. Somit nimmt auch die Qualität der aus diesen
Daten gewonnenen Information stetig ab. Um eine ausreichende Aktualität der
Daten gewährleisten zu können, müsste die Nutzerbefragung also regelmäßig
wiederholt werden, was wiederum auf starke Akzeptanzprobleme stoßen würde.
Das also nur als gering einzuschätzende Qualitätsmaß der mit Hilfe eines
Fragebogens gewonnenen Informationen lässt diese Methode nur für einfachste
17 Anmeldung GMX, http://www.gmx.de (abgerufen am 24 Januar 2002)
©2002 - Kluge/Menzel
3-32
3-33
Personalisierungstechniken als geeignet erscheinen, z.B. für den Themenfilter
eines Nachrichtenportals.
Kontinuierliche Nutzerbeobachtung
Die im vorangegangenen Abschnitt gezeigten Probleme im
Zusammenhang mit der Datensammlung per Fragebogen gründen sich auf die
direkte Inanspruchnahme des Nutzers, die mangelhafte Aktualität und die
unzureichende Komplexität der mit diesem Verfahren gesammelten Daten und
den daraus gewonnenen Informationen.
Eine Technik, die durch kontinuierliches Beobachten des Verhaltens des
Nutzers Daten sammelt, könnte hier, zumindest teilweise, Abhilfe schaffen. Die
so gesammelten Daten wären ständig ausreichend aktuell - und das, ohne den
Nutzer direkt in Anspruch nehmen zu müssen. So entfiele also auch das
Problem undifferenzierter bzw. unrichtiger Angaben des Nutzers.
Im Folgenden soll nun untersucht werden, inwieweit und unter welchen
technischen Vorraussetzungen die Datengewinnung durch eine kontinuierliche
Nutzerbeobachtung realisierbar ist.
3.1.1 Technischer Ansatz zur kontinuierlichen
Nutzerbeobachtung
Beobachtet werden soll das Verhalten des Nutzers, d.h. alle seine
Aktionen, wie Navigation, Eingaben (z.B. Suchanfragen) usw. Die Grundlage
solcher Aktionen ist in der Regel die Anforderung einer Inhaltsseite beim
Webserver. Entscheidet sich der Nutzer beispielsweise durch Klick auf einen
Link für einen bestimmten Beitrag im Angebot eines Nachrichtenportals, so löst
dies eine Seitenanforderung beim Server aus.
©2002 - Kluge/Menzel
3-33
3-34
Browser
Web-
Seite
Seitenanforderung
server
Abbildung 6: Client-Server-Kommunikation - Anforderung einer Inhaltsseite
Da Seitenanforderungen aus technischen Gründen die einzige Möglichkeit
zum Austausch von Informationen zwischen Client und Server sind, muss es
auch genügen, diesen Vorgang zu beobachten, um alle relevanten Daten zu
erhalten. Bei einem seitenbasierten Informationssystem, wobei jede klassische
Website als ein solches System angesehen werden kann, bedeutet
"Nutzerbeobachtung,, also allein die Analyse des Musters der durch den Nutzer
ausgelösten Anforderungen von einzelnen Inhaltsseiten und den dabei
übermittelten Daten.
Das Datensammler-Modul ist als automatisch arbeitendes System zu
verstehen, welches die im Webserver eingehenden Seitenanforderungen
registriert und auswertet. Dazu gehört die Analyse der angeforderten URL (mit
Parametern), sowie die Untersuchung des Inhaltes der angeforderten Seite. Alle
gewonnenen relevanten Daten müssen anschließend in einer für eine spätere
Auswertung geeigneten Form abgespeichert werden.
Im Rahmen dieser Diplomarbeit wurde der Prototyp eines solchen
Datensammler-Moduls als Apache18-Modul unter Verwendung der
Servererweiterung ModPerl19 realisiert.
18 siehe auch http://www.apache.org/
19 siehe auch http://perl.apache.org/
©2002 - Kluge/Menzel
3-34
3-35
3.1.2 Beschreibung der Funktionsweise
Da die Auswertung der Seitenanforderungen aus Performancegründen
nicht in Echtzeit, also unmittelbar zum Zeitpunkt der Anforderung, erfolgen
kann, müssen zunächst alle relevanten Daten dieser Anforderungen (z.B. URL,
URL-Parameter, Post/Put-Daten) protokolliert und damit dauerhaft erfasst
werden. Dazu sind eine Reihe von Schritten notwendig.
3.1.2.1 Identifikation der Session bzw. des Nutzers
Den ersten Schritt stellt die Identifikation der Session bzw. des Nutzers
dar. Um aus gesammelten Daten Informationen über einen Nutzer zu
gewinnen, müssen diese Daten dem Nutzer natürlich auch eindeutig zugeordnet
werden können. Für die technische Realisierung sind im Wesentlichen zwei
Methoden denk- und realisierbar:
Automatische Variante
Für den Fall, dass das zu personalisierende System über keine eigene
Nutzerverwaltung verfügt, muss die Aufgabe der Nutzeridentifikation ebenfalls
durch das Datensammler-Modul übernommen werden. Hierzu wird zu Beginn
jeder Session automatisch eine eindeutige SessionID erzeugt und per Cookie
clientseitig hinterlegt. So können durch Auslesen des Cookies auch spätere
Sessions dem Nutzer eindeutig zugeordnet werden. Dieses Verfahren bringt
aber zwei wichtige Probleme mit sich:
Mit der Cookie-Methode wird tatsächlich nur der Client-Computer
identifiziert - nicht der Nutzer selbst. Benutzen nun mehrere Personen
denselben Computer (ohne spezielle Nutzerprofile), so können diese nicht
unterschieden werden, was eine Verfälschung der gewonnenen Informationen
bedeuten würde. Jedoch sind mittlerweile Betriebssysteme mit integrierter
Nutzerprofilverwaltung zum Standard geworden, was den Stellenwert dieser
Problematik mindert.
©2002 - Kluge/Menzel
3-35
3-36
Das zweite, noch wichtigere, Problem dieser Methode stellt die mögliche
Deaktivierung der Cookie-Funktion des Browsers durch den Nutzer dar. In
einem solchen Fall könnten keine Informationen clientseitig gespeichert
werden, was eine automatische Nutzeridentifikation unmöglich machen würde.
Allerdings setzen heutzutage vielen Websites die Nutzbarkeit der Cookie-
Funktion voraus, was somit zumindest in diesen Fällen auch den Einsatz der
automatischen Nutzeridentifikation ermöglicht. Es hat also durchaus Sinn, diese
Methode der Nutzeridentifikation zu implementieren.
Nutzung der systemeigenen Nutzeridentifikation
Verfügt das zu personalisierende System bereits über eine eigene
Nutzerverwaltung, so liegt es natürlich nahe, diese auch für das Datensammler-
Modul nutzbar zu machen. Im einfachsten Fall wird der Nutzeridentifikator
bereits durch das Informationssystem bei jeder Seitenanforderung mitgeführt
und steht somit auch dem Datensammler-Modul jederzeit zur Verfügung. Der
Betreiber muss dazu den Parameter spezifizieren, welcher den Nutzer
identifiziert.
Oft wird jedoch aus Sicherheitsgründen nicht der Nutzeridentifikator
selbst mitgeführt, sondern nur ein Sessionidentifikator, welcher meist zu Beginn
jeder Session als Zufallszahl neu erzeugt und in einer gesonderten
Datenbanktabelle dem eigentlichen Nutzeridentifikator zugeordnet wird. Da das
Datensammler-Modul mit dem Sessionidentifikator allein den Nutzer nicht
identifizieren kann, müssen in diesem Fall durch den Betreiber geeignete
Maßnahmen getroffen werden. Beispielsweise wäre es möglich, zusätzlich zum
Sessionidentifikator auch den Nutzeridentifikator als URL-Parameter
mitzuführen. Die Sicherheit bliebe dabei gewährleistet, da das
Informationssystem nicht den zusätzlich mitgeführten Nutzeridentifikator,
sondern allein den Sessionidentifikator zur Erkennung des Nutzers verwendet.
Alternativ dazu kann vom Betreiber der Identifikator bereits im Quelltext
integriert werden, der vom Personalisierungssystem ausgewertet wird.
©2002 - Kluge/Menzel
3-36
3-37
Für beide Methoden müssen natürlich auch die üblichen
Sicherheitsmaßnahmen zum Schutz vor Manipulationen implementiert werden.
So darf es z.B. Nutzern nicht möglich sein, durch Veränderung der
nutzeridentifizierenden URL-Parameter Schaden anzurichten.
3.1.2.2 Identifikation der angeforderten Seite
Der nächste Schritt ist die Identifikation der angeforderten Inhaltsseite.
Nur durch eine eindeutige Identifikation ist es möglich, Aktionen des Nutzers
Inhaltsseiten zuzuordnen. Jede Inhaltsseite muss also durch einen ihr
zugeordneten Bezeichner repräsentiert werden. Hierfür sind im Wesentlichen
zwei verschiedene Ansätze denkbar - zum einen eine automatische und zum
anderen eine explizite Benennung der Inhaltsseiten, wobei letztere durch den
Betreiber vorgenommen werden müsste.
Automatische Variante
Um eine Inhaltsseite sicher automatisch zu benennen, müssen Techniken
gefunden werden, die unter Einbeziehung gewisser Merkmale der Seite einen
Bezeichner generieren, welcher eindeutig und reproduzierbar ist. Jede
Inhaltsseite muss also ihrem Bezeichner zugeordnet werden können und
umgekehrt.
Bei rein HTML-basierten Websites ist dies meist trivial. Hierbei wird jede
Inhaltsseite durch eine HTML-Datei repräsentiert. Als Seitenidentifikator kann
also der Name dieser HTML-Datei dienen.
©2002 - Kluge/Menzel
3-37
3-38
URL:
/support/faq.html
Bezeichner:
/support/faq.html
Beispiel 2: Einer statischen HTML-Datei kann ihre URL als Bezeichner zugeordnet werden
Anders bei skriptbasierten Websites. Hier werden die eigentlichen
Inhaltsseiten dynamisch mit Hilfe von Skripten (z.B. Perl, PHP, ColdFusion usw.)
erzeugt, wobei keine direkte eindeutige Zuordnung von erzeugter Inhaltsseite
zur zuständigen Skript-Datei möglich ist. So kann ein Skript durchaus für die
Generierung von mehreren verschiedenen Inhaltsseiten verantwortlich sein -
abhängig z.B. von übermittelten Parametern (URL-/Submit-Parameter). Selbst
ein Portal mit mehreren hundert einzelnen Inhaltsseiten wird oft nur mit einigen
wenigen Skripten realisiert. Erst die Kombination des Skript-Dateinamens mit
der zugehörigen Menge von Parametern ergibt eine Einheit, die als
Seitenidentifikator genutzt werden kann.
Zunächst müssen also sämtliche übertragenen Parameter in Erfahrung
gebracht werden. Es existieren zwei etablierte Methoden der
Parameterübermittlung. Die gängigste dabei ist das direkte Anhängen der
Parameter an die URL, abgesondert durch ein Fragezeichen. Die Parameter
selbst sind in der Form Bezeichner=Wert notiert und durch das Zeichen &
voneinander getrennt. Die zweite wichtige Methode ist die Übermittlung von
Daten unter Verwendung von Formularen. Hierbei werden die Daten nicht als
URL-Anhang übertragen, sondern in einem gesonderten Puffer, der vom Server
ausgelesen werden kann. Beide Methoden in Kombination sind die Basis der
Datenübertragungen per HTTP-Protokoll auf denen heutige Websites aufbauen.
Aus dem URL-Pfad und den verfügbaren Parametern lässt sich nun eine
Zeichenkette generieren. Jeder so erzeugte Bezeichner kann einer Inhaltsseite
zugeordnet werden und umgekehrt.
©2002 - Kluge/Menzel
3-38
3-39
URL+Parameter:
/cgi-bin/forum.pl?fid=2&uid=76&pid=339
Bezeichner:
/cgi-bin/forum.pl?fid=2&uid=76&pid=339
Beispiel 3: Einer skript-generierten Seite kann eine aus der URL und den übermittelten Parametern (URL-/Post-
Parameter) gebildete Zeichenkette als Bezeichner zugeordnet werden
Einschränkend muss ergänzt werden, dass eine Eindeutigkeit nicht
garantiert werden kann, da skriptbasierte Systeme auch an innere Zustände
gebunden sein können. Im Falle der Änderung eines solchen inneren Zustandes
können auch bei völlig identischen URLs durchaus unterschiedliche Ausgaben
erzeugt werden. Dies kann z.B. durch die Einbeziehung von Daten verursacht
werden, die im Dateisystem oder einer Datenbank abgelegt wurden. Als Beispiel
sei auf eine Gültigkeitsprüfung verwiesen, die nur dann zu einer Erfolgsseite
verzweigt, wenn eine Kombination von Name und Passwort als gültig
identifiziert wurde. Da die für die Prüfung verwendeten Daten aus einer
Datenbank ausgelesen wurden, kann anhand der URL kein eindeutiger
Seitenidentifikator bestimmt werden.
In diesen Fällen kann vom Betreiber der Website mit Hilfe der vom
Personalisierungssystem zur Verfügung gestellten Metasprache explizit ein
eindeutiger Seitenidentifikator in den HTML-Quelltext der Seite integriert
werden.
Explizite Variante
Wie im vorherigen Abschnitt gezeigt, ist eine explizite Benennung von
Inhaltsseiten durch den Betreiber immer dann sinnvoll, wenn eine automatische
Benennung keinen eindeutigen Bezeichner generieren kann (z.B. wegen innerer
Zustandswechsel).
©2002 - Kluge/Menzel
3-39
3-40
Dem Betreiber muss also die Möglichkeit gegeben werden, explizit eine
Benennung der entsprechenden Inhaltsseiten vorzunehmen. Dies könnte z.B.
durch Verwendung der Metasprache realisiert werden.
<html>
<head>
...
<title>Login: Passwort bzw. Nutzername falsch!</title>
<!---qwertySrcParams PageIdent="WrongPasswordOrUsername-->
...
</head>
<body>
...
</body>
</html>
Beispiel 4: Explizite Vergabe eines Seitenbezeichners mit Hilfe von Quelltextparametern
3.1.2.3 Identifikation der Aktionselemente
Analog zur Identifikation der Session/des Nutzers und der angeforderten
Seite muss nun auch noch jedes Aktionselement der Seite identifiziert werden.
Als Aktionselemente zu verstehen sind hier Links (<a...>...</a>) sowie
Formulare (<form...>...</form>). Auch hier ist wieder sowohl eine
automatische als auch eine explizite Variante denkbar und sinnvoll.
Automatische Variante
Zur eindeutigen Benennung eines Links kann aus dem URL-Verweis
sowie der durch das öffnende und schließende Link-Tag begrenzten
Zeichenkette (u.U. auch HTML-Quelltext), ein Bezeichner gebildet werden.
Link-Tag:
<a name="link1" href="http://www.blickreich.de">QWERTY</a>
Bezeichner:
http://www.blickreich.de_QWERTY
Beispiel 5: Bildung des Bezeichners eines Aktionselementes (Link) aus der Ziel-URL und dem Link-Text
©2002 - Kluge/Menzel
3-40
3-41
Auf ähnliche Weise ist dies auch für Formulare möglich. Der Bezeichner
kann hier aus dem Attributbereich des Form-Tags und den Namen der
einzelnen Formularfelder gebildet werden.
Formular:
<form method=post action="/cgi-bin/dynamic.pl">
<input type=text name="Kommentar">
<input type=text name="Kundennummer">
<input type=password name="Passwort">
<input type=submit name="Absenden" value="Absenden">
</form>
Bezeichner:
/cgi-bin/dynamic.pl_KommentarKundennummerPasswortAbsenden
Beispiel 6: Für ein Formular kann der Bezeichner aus dem Attributbereich und den Namen der Fomularfelder
gebildet werden.
Um Mehrdeutigkeiten mit sonst identischen Aktionselementen auf
anderen Inhaltsseiten auszuschließen, muss auch der Seitenidentifikator bzw.
die PageID in den Bezeichner für Aktionselemente integriert werden. Für den
(sehr unwahrscheinlichen) Fall, dass nach dieser Vorschrift für zwei
Aktionselemente auf derselben Seite ein identischer Bezeichner gebildet wird,
genügt es, an vergebene Bezeichner eine fortlaufende Nummerierung
anzufügen.
Eindeutiger Bezeichner: http://www.blickreich.de_QWERTY_114_1
Beispiel 7: Anhängen des Seitenindentifikators und einer fortlaufenden Nummerierung ermöglicht eindeutige
Vergabe von Aktionselement-Bezeichnern
Der so generierte Bezeichner erlaubt die eindeutige Identifikation jedes
Aktionselementes jeder einzelnen Inhaltsseite und somit die Zuordnung jeder
Aktion eines Nutzers zu einem Aktionselement und der zugehörigen
Inhaltsseite.
©2002 - Kluge/Menzel
3-41
3-42
Explizite Variante
Bei Einsatz des automatische Verfahrens zur Benennung von
Aktionselementen wird jedes Aktionselement aller Inhaltsseiten als einmalig
identifiziert. Dies ist aber nicht immer sinnvoll. Beispielsweise hat es Sinn, die
einzelnen Punkte eines Seiten-Menüs, welches auf mehreren Inhaltsseiten
identisch erscheint, auch seitenübergreifend zu identifizieren. Es soll also nicht
für jeden Menüpunkt auf jeder Inhaltsseite ein neuer eindeutiger Bezeichner
gebildet werden. Vielmehr ist jeder Menüpunkt, der auf mehreren Inhaltsseiten
erscheint, als funktionale Einheit zu sehen. Solche funktionalen Einheiten
müssen durch den Betreiber explizit definiert und somit benannt werden
können.
Ähnlich wie für die explizite Benennung von Inhaltsseiten kann auch hier
vorgegangen werden. Dem Betreiber müssten hierzu mit Hilfe von Elementen
der Metasprache geeignete Verfahren zur Verfügung gestellt werden.
Es bedarf also der Möglichkeit einer sinnvollen Kombination von
automatischer und expliziter Benennung von Aktionselementen. Sinnvoll könnte
hier z.B. bedeuten, einer expliziten Benennung eines Aktionselementes stets
Vorrang zu gegeben, sodass die automatische Benennung nur bei Nicht-
vorhandensein einer expliziten Benennung zum Einsatz gebracht wird. Die
explizite Benennung eines Aktionselementes könnte z.B. wie folgt geschehen:
Link-Tag:
<a name="link1" href="http://www.blickreich.de">QWERTY</a>
Beispiel 8: Explizite Vergabe eines Bezeichners für ein Aktionselement durch den Betreiber
Der Wert des Name-Attributs ("link1") stellt dabei den explizit
vergebenen Bezeichner dar. Hierbei muss es natürlich dem Betreiber überlassen
werden, auf Konsistenz und Eindeutigkeit der Bezeichner zu achten.
Auch die weiter oben angesprochenen funktionalen Einheiten ließen sich
so durch eine Mehrfachvergabe desselben Bezeichners definieren. Stünde der
©2002 - Kluge/Menzel
3-42
3-43
Link aus obigem Beispiel in dieser Form in mehreren verschiedenen
Inhaltsseiten, so würde er dank seiner expliziten Benennung immer als ein und
dasselbe Aktionselement identifiziert. Gleiches gilt natürlich auch für Formulare.
Eine weitergehende Möglichkeit zur Benennung von Aktionselementen ist
die Bildung von funktionalen Einheiten, bestehend aus verschiedenen
Aktionselementen einer Inhaltsseite. Eine solche Gruppierung ist immer dann
sinnvoll, wenn mehrere Aktionselemente logisch einer Funktionsgruppe
zuzuordnen sind. Beispielsweise stellt eine ,,Weiter/Zurück"-Navigation einen
solchen Fall dar (siehe Beispiel 9: Definition einer funktionalen Einheit,
bestehend aus mehreren Aktionselementen). Für eine Personalisierung hat hier
nur die gemeinsame Betrachtung der Schaltflächen ,,Zurück" und ,,Weiter" Sinn,
d.h. beide Links müssen als
ein
Aktionselement identifiziert und benannt
werden. Dies könnte z.B. durch Implementierung geeigneter metasprachlicher
Konstrukte realisiert werden:
< Zurück | Weiter >
<!--qwertyBlock name="PageFlicker"-->
<
<a href="/cgi-bin/pages.pl?page=3">Zurück</a>
|
<a href="/cgi-bin/pages.pl?page=5">Weiter</a>
>
<!--/qwertyBlock-->
Beispiel 9: Definition einer funktionalen Einheit, bestehend aus mehreren Aktionselementen
Das Kommentar-Tag ,,qwertyBlock" übernimmt hier die Definition der
funktionalen Einheit. Alle in diesem Block eingeschlossenen Links bzw.
Formulare werden nicht länger einzeln benannt, sondern erhalten als Ganzes
den Bezeichner ,,PageFlicker". Das Beispiel zeigt auch, dass es nun möglich
ist, nicht nur Links in eine solche Gruppe einzuschließen, sondern auch anderen
zugehörigen HTML-Quelltext (hier z.B. ,,<","|",">").
©2002 - Kluge/Menzel
3-43
3-44
Nun lassen sich durch Mehrfachvergabe von Gruppenbezeichnern sogar
seitenübergreifende funktionale Einheiten bilden. Die explizite Vergabe von
Bezeichnern ermöglicht auch, bewusst bestimmte Aktionselemente bzw.
Funktionseinheiten von der Identifikation und somit von der Personalisierung
auszuschließen. Z.B. könnte dies für Sprungmarken innerhalb einer Inhaltsseite
sinnvoll sein.
<!--qwertyBlock--><a name="top"><!--/qwertyBlock-->
...
<a href="#top">nach open</a>
...
Beispiel 10: Ausschluss eines Links durch Definition eines unbenannten Blocks
Die Kennzeichnung, dass dieser Sprungmarken-Link ignoriert werden
soll, erfolgt hier durch den Einschluss des Links in einen ,,qwertyBlock", der
keinen expliziten Bezeichner besitzt.
3.1.2.4 Identifikation aktiver Textdaten
Ein Personalisierungssystem sollte es erlauben, textuelle Eingaben in das
Profil eines Nutzers einfließen zu lassen.
Beispiel 11: Formulareingaben eines Nutzers - aktive Textdaten
©2002 - Kluge/Menzel
3-44
3-45
Um dies zu realisieren, muss zunächst erkannt werden, ob es sich bei
den jeweiligen übermittelten Eingabeparametern um vom Nutzer eingegebene
Einträge handelt oder nicht. Es muss dabei beachtet werden, dass das
Personalisierungssystem nur eine URL-Anforderung erhält, in der die
entsprechenden Nutzereingaben als Parameter oder im HTTP-Request enthalten
sind. Eine einfache Unterscheidung, ob es sich um textuelle oder numerische
Einträge handelt, reicht natürlich nicht aus. Anhand einiger Beispiele soll im
Folgenden auf die Probleme bei der Erkennung von Nutzereinträgen
hingewiesen werden.
<form method=post action="/cgi-bin/dynamic.pl">
<input type=hidden name="WarenkorbID" value="347hifu472">
<input type=hidden name="Extra" value="Oliven, Speck">
<input type=text name="Kommentar">
<input type=text name="Kundennummer">
<input type=password name="Passwort">
<input type=submit value="absenden">
</form>
Beispiel 12: HTML-Formular mit Nutzereingabe
Es handelt sich hierbei um ein gewöhnliches HTML-Formular. Nach einem
Klick auf den Absenden-Button wird vom Client, auf dem dieses HTML-Formular
dargestellt wurde, ein HTTP-Request-Objekt erzeugt, in welchem auch die
Eingabeelemente des Formulars enthalten sind:
WarenkorbID = "347hifu472"
Extra = "Oliven, Speck"
Kommentar = [Eingabe des Nutzers]
Kundennummer = [Eingabe des Nutzers]
Passwort = [Eingabe des Nutzers]
Beispiel 13: Parameterübermittlung durch CGI-Datenübertragung
Das Personalisierungssystem hat an dieser Stelle keine Möglichkeit mehr
zu erkennen, dass es sich bei WarenkorbID und Extra nicht um aktive
Nutzereingaben handelt, im Gegensatz zu Kommentar, Kundennummer und
Passwort. Des Weiteren kann man feststellen, dass in bestimmten
Eingabefeldern zwar aktive Texteingaben erfolgen, aber möglicherweise keine
©2002 - Kluge/Menzel
3-45
3-46
sinnvollen Daten in Bezug auf ein Nutzerprofil zu erwarten sind. So hat es
beispielsweise keinen Sinn, die Kundennummer in eine Personalisierung des
Nutzerwortschatzes mit einzubeziehen. Ein weiterer Punkt wird am
beschriebenen Fall deutlich. Einige Felder sollten aus Sicherheitsgründen nicht
ausgewertet werden. Dies betrifft hier das Passwort-Feld.
Anhand der Aufzählungen lässt sich erkennen, dass es notwendig ist,
auszuwertende Eingabefelder explizit zu bestimmen. Der Betreiber muss die
Möglichkeit erhalten, die Eingabefelder zu spezifizieren, auf die er
Personalisierungstechniken anwenden möchte. Dies kann mit Hilfe der
Metasprache erreicht werden, z.B. durch Verwendung eines Attributs, welches
dem entsprechenden HTML-Input-Tag hinzugefügt wird:
<input type=text name="Kommentar" qwertyUse>
Alternativ ist dies auch durch einen umschließenden Kommentarblock
realisierbar, da nicht alle visuellen HTML-Editoren das Einfügen beliebiger
Attribute erlauben:
<!--qwertyUse-->
<input type=text name="Kommentar">
<!--/qwertyUse-->
Wie wir feststellen konnten, erhält das Personalisierungssystem die
Formulardaten über das HTTP-Protokoll in Form eines Requests. Um nun
herauszufinden, welche übermittelten Argumente auszuwerten sind, müsste die
Ausgangsseite erneut geladen und der Quelltext nach den oben beschriebenen
Metasprachelementen durchsucht werden. Dies stellt keine sonderlich
ökonomische Variante dar. Deshalb wird bereits beim Schritt zuvor, nämlich bei
der Anforderung der Seite, die das Formular enthält, diese Analyse
vorgenommen. Da jede Seite ohnehin einmal geparst werden muss, stellt es
keine Zusatzlast mehr dar. Dem Formular wird nun in diesem Schritt bereits ein
weiteres ,,hidden"-Feld hinzugefügt, welches Informationen über die
auszuwertenden Formular-Felder enthält. Mit Hilfe dieses ,,hidden"-Felds
können schließlich vom Personalisierungssystem die entsprechenden
Eingabefelder als aktive textuelle Daten behandelt und zur
©2002 - Kluge/Menzel
3-46
3-47
Informationsverarbeitung an das zuständige Linguistik-Modul weitergereicht
werden. Dies geschieht über die Schnittstelle zwischen Datengewinnungs- und
Informationsgewinnungsschicht.
Eine genaue technische Betrachtung zeigt, dass es nicht notwendig ist,
die kompletten textuellen Daten abzulegen. Da die Textdaten bereits bei der
Protokollierung der Nutzeraktionen und der dabei gespeicherten Parameter-
Werte-Paare in der Datenbank aufgenommen werden, ist es ausreichend, nur
die Parameter-Bezeichner in einer separaten Tabelle für die Protokollierung der
Textdaten abzulegen. Es wäre prinzipiell auch denkbar, diese Parameter-
Bezeichner direkt in die Tabelle, welche für die Protokollierung der
Nutzeraktionen zuständig ist, zu speichern. Jedoch muss man bedenken, dass
es sich bei dem überwiegenden Teil von Nutzeraktionen um Navigationen
handelt, nicht um textuelle Eingaben. Eine seperate Speicherung ist demzufolge
wesentlich ökonomischer.
Folgendes Beispiel zeigt die Verwendung des Attributes ,,qwertyUse" zur
expliziten Kennzeichnung der zu verarbeitenden Formularfelder durch den
Betreiber. Es wurde ein zusätzliches verstecktes Feld eingefügt, welches die
Bezeichner aller mit ,,qwertyUse" gekennzeichneten Formularfelder enthält:
<form method=post action="/cgi-bin/dynamic.pl">
<input type=hidden name="WarenkorbID" value="347hifu472">
<input type=hidden name="Extra" value="Oliven, Speck">
<input type=text name="Kommentar"
qwertyUse
>
<input type=text name="Kundennummer">
<input type=password name="Passwort">
<input type=submit value="absenden">
<input type=hidden name="qwertyUserText" value="Kommentar">
</form>
Beispiel 14: Spezifikation zu verarbeitender Eingabefelder
3.1.2.5 Identifikation passiver Textdaten
Im letzten Abschnitt wurde diskutiert, wie aktive Eingaben der Nutzer
erkannt und als Daten für die Informationsgewinnung bereitgestellt werden
können. Aktive Eingaben des Nutzers haben einen direkten Bezug zu dessen
©2002 - Kluge/Menzel
3-47
3-48
persönlichem Profil. Deshalb sind diese Daten besonders interessant für eine
Personalisierung.
Beispiel 15: Durch die Anwendung bereitgestellte Texte - passive Textdaten
Abhängig von der konkreten Anwendung sind Eingaben jedoch im
Verhältnis zu anderen Aktionen der Nutzer, etwa der Navigation, relativ selten.
Wesentlich häufiger ist der Nutzer passiv, indem er z.B. Seiteninhalte liest. Auch
dies sagt etwas über die Eigenschaften des Nutzers aus, z.B. über thematische
Interessen bezüglich des gelesenen Textes.
Im Zusammenhang mit der Navigation ist es daher sinnvoll, auch diese
passiven Textdaten zu betrachten. Bei passiven Textdaten handelt es sich
demnach um Texte, welche nicht vom Nutzer, sondern von der Anwendung
bereitgestellt werden. Natürlichsprachliche Inhalte einer Seite, die vom Nutzer
gelesen wurde, gehören dazu - idealerweise nur wirklich relevante Inhalte.
©2002 - Kluge/Menzel
3-48
3-49
Damit haben wir jedoch zugleich weitere Fragen aufgeworfen. Was sind
relevante Inhalte und welche Seiten wurden vom Nutzer tatsächlich gelesen?
Dies sind Probleme, welche auf der Ebene der Datengewinnung keine
Betrachtung finden können. Dazu müssen zunächst Navigationsdaten und
Textdaten analysiert werden, was jedoch erst auf der Informations-Ebene
geschieht. Aufgabe des Datengewinnungsmodules ist es lediglich, die Daten
möglichst verlustfrei bereitzustellen, die bei der Informationsverarbeitung
genutzt werden können.
Im Fall der passiven Textdaten bedeutet eine verlustfreie Bereitstellung,
dass der gesamte Quelltext einer Seite gespeichert werden muss, bis er auf
Informationsebene verarbeitet wurde. Genauer betrachtet entspricht dies der
Speicherung der aktuellen Seite eines jeden aktiven Nutzers, welche bei einem
erneuten Seitenaufruf überschrieben werden kann, da dann die
Informationsverarbeitung bereits stattgefunden hat.
©2002 - Kluge/Menzel
3-49
3-50
3.1.2.6 Protokollierung der Seitenanforderung
Um eine spätere Auswertung zu ermöglichen, müssen nun alle
relevanten Daten der Anforderung in geeigneter Form abgelegt werden, wofür
nur eine leistungsfähige Datenbank in Frage kommen dürfte. Diese Datenbank
enthält dann im Wesentlichen zwei Arten von Daten: Daten zu referenzierten
Objekten (Seiten, Links) sowie dem Protokoll, welches die Seitenanforderungen
in chronologischer Ordnung enthält.
User
Protocol
Inputs
UserID
EventID
InputID
SessionID
UserID
ProtocolID
PageCache
TimeStamp
FormName
SourcePageID
FieldName
Pages
PageID
FieldValue
PageID
SourceLinkID
PageIdent
PageURL
Links
PageParams
LinkID
LinkIdent
LinkAttr
PageID
Abbildung 7: Strukturschema der Datenbank
Tabelle Pages
Die Einträge in dieser Tabelle repräsentieren die eindeutig identifizierten
Seiten, auf die in mindestens einer protokollierten Seitenanforderung Bezug
genommen wurde. Bei jeder Seitenanforderung muss also zunächst geprüft
werden, ob bereits eine Seite mit diesem Bezeichner in Pages existiert. Ist dies
der Fall, so wurde diese Seite zu einem früheren Zeitpunkt schon einmal
angefordert, d.h. es kann auf den bestehenden Eintrag referenziert werden.
Enthält Pages noch keinen Eintrag für diesen Bezeichner, so stellt dies eine
erstmalige Anforderung dieser Seite dar, d.h. es muss ein neuer Eintrag in
Pages erzeugt und dann auf diesen referenziert werden. Mit Hilfe dieser
Methode lassen sich später Aktionen eines oder mehrerer Nutzer in direkten
Bezug zu einer Seite stellen.
©2002 - Kluge/Menzel
3-50
3-51
Tabelle Links
Analog zur Tabelle Seiten repräsentieren die Einträge der Tabelle
Links sämtliche eindeutig identifizierten Links, die in allen angeforderten
Seiten enthalten waren. Auch hier muss der Bezeichner jedes identifizierten
Links zunächst auf Existenz in Links geprüft, ggf. eingetragen und dann
referenziert werden.
Tabelle Protocol
Alle Einträge in diese Tabelle repräsentieren Seitenanforderungen. Zu
jeder Anforderung werden die ID der Ursprungsseite, die ID des verwendeten
Links, die ID der angeforderten Seite, die Session- bzw. Nutzer-ID sowie Datum
und Uhrzeit gespeichert.
Tabelle User
Die Tabelle User erfüllt mehrere Aufgaben. Primär ist sie für die
Sessionverwaltung, also für die Zuordnung von SessionIDs und NutzerIDs
verantwortlich. Das Feld PageCache nimmt bei jeder neuen Seitenanforderung
den Quelltext dieser Seite auf. Dies ist für die Auswertung des Seiteninhaltes
wichtig, der erst mit der nächsten Seitenanforderung vorgenommen werden
kann. Zusätzlich macht das Caching der angeforderten Seiten auch das
Echtzeit-Monitoring der Nutzeraktionen möglich.
Tabelle Inputs
In dieser Tabelle werden alle textuellen Eingaben der Nutzer abgelegt.
Dabei werden der Name des Formulars sowie der Feldname und Feldwert des
jeweiligen Eingabefeldes referenziert. Gemeinsam mit dem Eintrag
ProtocolID wird somit eine eindeutige Referenz zu der Datenquelle
gespeichert.
©2002 - Kluge/Menzel
3-51
3-52
3.1.2.7 Modifikation des HTML-Quelltextes
Um eine spätere genaue Rekonstruktion der Navigationswege zu
ermöglichen, ist es notwendig, dass durch das Datensammler-Modul gewisse
Informationen im Quelltext der angeforderten Seite hinterlegt werden, die es
ermöglichen, diese Seite mit der nächsten durch den Nutzer angeforderten
Seite in Beziehung zu setzen. Das heißt nichts anderes, als dass jeder
Seitenanforderung die Ursprungsseite, also die Seite, die den zur Anforderung
verwendeten Link enthält, zugeordnet werden kann. Mit jeder
Seitenanforderung, müssen also die PageID der Ursprungsseite und die LinkID
des verwendeten Links bzw. Formulars mit übermittelt werden.
Bei normalen Links ist dies durch Anhängen der IDs als Parameter an die
URL des href-Attributes realisierbar:
<a href="/support.pl?xyz=10&srcpageid=46&
srclinkid=114&sessionid=18377563">...</a>
Beispiel 16: Übermittlung von Ursprungsseiten-, Link- und Session-Indentifikator als URL-Parameter
Anders bei Formularen. Da hier ein Anhängen der Parameter an die
action-URL nicht möglich ist, muss für jeden Parameter ein verstecktes
Formularfeld in das Formular eingefügt werden, was in der Regel keine
Probleme verursachen sollte, da solche Formularfelder keinerlei Einfluss auf
Layout und Funktion der Inhaltsseite haben.
<form method=post action="/cgi-bin/dynamic.pl">
<input type=text name="Kommentar">
<input type=text name="Kundennummer">
<input type=password name="Passwort">
<input type=submit name="Absenden" value="Absenden">
<input type=hidden name="srcpageid" value="46">
<input type=hidden name="srclinkid" value="114">
<input type=hidden name="sessionid" value="18377563">
</form>
Beispiel 17: Übermittlung von Ursprungsseiten-, Link- und Session-Indentifikator als versteckte Formularfelder
Wie in obigem Beispiel zu sehen, kann neben den IDs für Ursprungsseite
und verwendeten Link auf gleichem Weg auch die ID der Session übermittelt
©2002 - Kluge/Menzel
3-52
3-53
werden. Insgesamt werden also mit jeder Seitenanforderung drei Parameter an
das Datensammler-Modul übermittelt.
©2002 - Kluge/Menzel
3-53
3-54
3.2 Informationsgewinnung
Wie der Name bereits sagt, hat das Datensammler-Modul allein die
Aufgabe, alle nur möglichen relevanten Daten zu Seitenanforderungen zu
sammeln und zu protokollieren. Diese Daten allein ermöglichen allerdings noch
nicht den Einsatz von Personalisierungstechniken. Der gesammelte
Datenbestand besteht nur aus einem chronologisch geordneten Protokoll aller
Seitenanforderungen und der durch dessen Einträge referenzierten Objekte
(Seiten, Aktionselemente, Sessions/Nutzer).
Diese große Menge von Daten muss also zunächst weiterverarbeitet
werden, um aus ihr so viel Information wie möglich zu gewinnen. Wie wir
später sehen werden, handelt es sich dabei nicht nur um Informationen zu den
Nutzern und deren Verhalten. Vielmehr erlauben die gewonnenen
Informationen zusätzlich auch Rückschlüsse zu Eigenschaften des
Informationssystems selbst.
Die durch das Datensammler-Modul bereitgestellten Daten lassen sich im
Wesentlichen in zwei Arten gliedern: Navigationsdaten und Inhaltsdaten. Unter
Navigationsdaten sind hier die Daten aller durch Nutzer verursachten
Seitenanforderungen zu verstehen. Inhaltsdaten hingegen stellen die durch die
Analyse der Seiteninhalte und der bei den Seitenanforderungen übermittelten
Parameter gewonnenen Daten dar.
3.2.1 Informationsgewinnung aus Aktionsdaten
Der Hauptanteil der durch das Datensammler-Modul bereitgestellten
Daten bezieht sich direkt auf die Aktionen des Nutzers.
3.2.1.1 Aktionen
Wie oben erwähnt repräsentiert der Bestand der gesammelten Daten im
Wesentlichen die Aktionen des Nutzers, z.B. Klicks auf Links oder das Absenden
©2002 - Kluge/Menzel
3-54
3-55
von Formularen. Aus diesen Daten lassen sich vielerlei Informationen über das
Verhalten des Nutzers gewinnen. Die aus diesen Daten direkt gewonnenen
Informationen bilden dabei die unterste Komplexitätsstufe.
Browser
Seite
Web-
Link
Seitenanforderung
server
klick
Abbildung 8: Schema Nutzeraktion - Klick
Häufigkeit und Intensität der Nutzung
Eine grundlegende Information, die sich aus Aktionsdaten gewinnen
lässt, ist die Häufigkeit der Nutzung eines Aktionselementes durch den Nutzer.
Dieser Wert liegt zwischen Null und einer beliebig großen Zahl. Er erlaubt
indirekt die Beurteilung der Relevanz dieses Aktionselementes für den Nutzer.
Für eine direkte Beurteilung kann die Nutzungshäufigkeit eines
Aktionselementes nur ins Verhältnis zur durchschnittlichen Nutzungshäufigkeit
aller anderen Aktionselemente bzw. der Häufigkeit des meistgenutzten
Aktionselementes gesetzt werden. Der so gewonnene Wert - die
Nutzungsintensität - steht für den Grad des Umfanges der Nutzung des
Aktionselementes durch den Nutzer.
Häufigkeit
Intensität
=
i
i
n
1
n
Häufigkeiti
i
=1
Gleichung 2: Nutzungsintensität
©2002 - Kluge/Menzel
3-55
3-56
Für folgendes Beispiel wurde anhand der Nutzungshäufigkeit von zehn
Aktionselementen deren Nutzungsintensität bestimmt.
Element
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
Häufigkeit
16
31
1
23
19
6
0
2
45
1
Intensität 1,11 2,15 0,07 1,6 1,32 0,42
0
0,14 3,13 0,07
Beispiel 18: Nutzungshäufigkeit und -intensität von zehn Aktionselementen
Eine Nutzungsintensität von 1 bezeichnet eine durchschnittliche
Nutzungshäufigkeit. Werte größer bzw. kleiner als 1 bezeichnen eine über- bzw.
unterdurchschnittliche Nutzungshäufigkeit.
3.2.1.2 Seitenwechsel
Die im vorherigen Abschnitt besprochenen Aktionsdaten lassen sich im
Regelfall auch als Seitenanforderungen interpretieren, da die meisten der
Nutzeraktionen nichts anderes als Klicks auf Links oder auch das Absenden von
Formularen darstellen.
Jede neue durch eine Nutzeraktion ausgelöste Seitenanforderung kann
bildlich als Ortswechsel dieses Nutzers angesehen werden - vorrausgesetzt, es
wurde wirklich eine neue Seite angefordert und nicht die aktuelle Seite ein
zweites Mal angefordert.
©2002 - Kluge/Menzel
3-56
3-57
Browser
Seite 1
Seite 2
Seite 2
Ortswechsel
klick
Seitenanforderung
Web-
server
Abbildung 9: Klick und Standortwechsel
Häufigkeit und Intensität
Analog zur Häufigkeit und Intensität der Nutzung von Aktionselementen
lassen sich diese Werte auch für Seitenanforderungen berechnen. Die
Häufigkeit stellt hier die Anzahl der Aufrufe einer bestimmten Inhaltsseite (die
Zielseite des Seitenwechsels) dar. Auch die Aufrufintensität lässt sich analog zur
Nutzungsintensität von Aktionselementen bestimmen.
3.2.1.3 Navigationswege
Nicht jeder Link und die damit verbundene Seitenanforderung führt den
Nutzer zu den gewünschten Inhalten. Oft bedarf es der Nutzung einer Reihe
von Links, die ihn durch die verschiedenen Hierarchieebenen des
Informationssystems führen, bis er schließlich zur gewünschten Inhaltsseite
gelangt. Die auf diesem Weg aufgerufenen Seiten interessieren den Nutzer
dabei oft nur insofern, als dass sie den Link zur nächsten Seite des
Navigationsweges enthalten. Die Analyse dieser Navigationswege erlaubt
©2002 - Kluge/Menzel
3-57
3-58
Rückschlüsse auf eine Vielzahl von Eigenschaften des Nutzers sowie des
Informationssystems selbst.
Der erfasste Datenbestand erlaubt die Rekonstruktion des Weges, auf
dem sich ein Nutzer durch die Seitentopologie des Informationssystems bewegt
hat, d.h. wann und in welcher Reihenfolge er, mit Hilfe welcher Links, von einer
Seite aus eine andere aufgerufen hat. Eine Nutzungssession besteht in der
Regel aus mehreren solcher Standortwechsel.
Ein Navigationsweg sei also definiert als eine zusammenhängende Kette
von Standortwechseln, beginnend mit einer Startseite und endend mit einer
Zielseite. Um einen Navigationsweg zu identifizieren, muss nun zunächst geklärt
werden, was unter einer Start- bzw. Zielseite zu verstehen ist, d.h. was diese
von anderen Seiten unterscheidet.
Die Startseite bildet den Ausgangspunkt eines Navigationsweges. Diese
kann entweder die erste innerhalb der Session angeforderte Inhaltsseite des
Informationssystems oder die ,,ehemalige" Zielseite des zuvor zurückgelegten
Navigationsweges sein. Die Behandlung des ersten Falles ist trivial, da sich der
erste Seitenaufruf innerhalb einer Session direkt aus dem Datenbestand
ermittelt lässt. Für die Behandlung des zweiten Falles genügt die Definition des
Begriffes ,,Zielseite".
Die Zielseite eines Navigationsweges bildet den Endpunkt der Kette von
Seitenanforderungen, die der Nutzer auf dem Weg zu den von ihm
gewünschten Inhalten ausgelöst hat, d.h. die Zielseite enthält diese
gewünschten Inhalte. Natürlich lässt sich nicht direkt ermitteln, um welche
Inhalte es sich dabei handelte. Allerdings kann die Verweildauer eines Nutzers
auf einer Seite ermittelt werden, indem die Differenz der Zeitpunkte des
Aufrufes dieser und des der nächsten Inhaltsseite berechnet wird.
Nimmt man nun an, dass der Nutzer auf Seiten, mit für ihn interessanten
Inhalten, länger verweilt, als auf Seiten, für deren Inhalte er sich weniger
interessiert, so ließe sich der Begriff ,,Zielseite" und damit der Navigationsweg
©2002 - Kluge/Menzel
3-58
3-59
auch wie folgt definieren: Ein Navigationsweg bildet sich aus einer Anfangsseite
mit langer Verweildauer, gefolgt von einer oder mehreren Seitenanforderungen
in kurzen Abständen und abgeschlossen durch die Zielseite mit wiederum einer
langen Verweildauer, wobei diese Zielseite auch die Anfangsseite eines
nachfolgenden Navigationsweges darstellen kann.
"Seite 1"
"Seite n"
Start-
"Seite 2"
"Seite 3"
"Seite n-1"
Zielseite
seite
lange Verweildauer
kurze Verweildauer
lange Verweildauer
Abbildung 10: Navigationsweg als Kette von Seitenanforderungen
Die Bestimmung eines Navigationsweges gründet sich also neben den
gesammelten Daten der Seitenanforderungen allein auf die berechnete
Verweildauer der einzelnen Wegseiten. Dies bringt leider eine Reihe von
Problemen mit sich:
Nicht aus jedem längeren Aufenthalt eines Nutzers auf einer Inhaltsseite
kann sicher geschlossen werden, dass es sich dabei wirklich um die Seite mit
den gewünschten Inhalten - also die Zielseite - handelt. Ebenso ist es möglich,
dass der Nutzer auch nur für eine Weile abgelenkt ist (z.B. Telefonanruf) und
seinen Navigationsweg später fortsetzen wird. Denkbar ist auch der Fall, dass
der gewünschte Inhalt nur einen kurzen Aufenthalt auf dieser Seite erfordert
(z.B. für einen Download), was die Erkennung des Zielpunktes eines
Navigationsweges ebenfalls unsicher macht. Hier müssen also Maßnahmen
getroffen werden, die helfen, derartige Situationen zu erkennen und eine
Fehlinterpretation zu verhindern, z.B. unter Einbeziehung statistischer
Verfahren.
Zu ermittelten Navigationswegen lassen sich - wie auch bei Aktionen und
Seitenwechseln - gewisse Informationen ableiten. Neben der Häufigkeit und
©2002 - Kluge/Menzel
3-59
3-60
Intensität der Nutzung ist hier auch die Geschwindigkeit der Navigation von
Interesse.
Sonderfall: Wiederholtes Anfordern einer Seite
Browser bieten in der Regel eine "Aktualisieren"-Funktion. Diese dient
dazu, die aktuelle Seite erneut zu laden, d.h. sie beim Server wiederholt
anzufordern. Dabei wird diese Seitenanforderung zunächst wie jede andere
Anforderung behandelt und ein neuer Protokolleintrag erzeugt.
Die Möglichkeit solcher doppelter Einträge muss deshalb bei der
Wegerkennung Berücksichtigung finden. Dies stellt allerdings kein großes
Problem dar, da hierzu einfach aufeinanderfolgende Seitenaufrufe eines Nutzers
verglichen und ggf. ignoriert werden müssen.
Sonderfall: "Vor"- bzw. "Zurück"′-Navigation / Browser-Cache
Wesentlicher Bestandteil der Browserfunktionalität stellt die Navigation
mit Hilfe der "Vor"- und "Zurück"-Schaltflächen dar. Ist eine angeforderte Seite
vollständig geladen, so wird sie in der Regel vom Browser in einen dafür
vorgesehenen Cache-Speicher abgelegt, um sie bei einem erneuten Aufruf
schneller verfügbar machen zu können. Die Seite wird dann nicht neu vom
Webserver angefordert, sondern direkt aus dem Browser-Cache geladen.
©2002 - Kluge/Menzel
3-60
3-61
Cache
Browser
Zurück
Vor
Zurück
Vor
Zurück
Vor
Zurück
Vor
Seite 1
Seite 2
Seite 1
Seite 3
klick
Seite 2
Seite 2
Seite 3
Seite 3
klick
klick
W ebserver
Abbildung 11: Anforderung einer Seite, Ablage im Cache und erneuter Aufruf. Der zweite Aufruf von Seite 1
geschieht ohne erneute Seitenanforderung
Der Vorteil eines schnelleren Seitenaufbaus für den Nutzer ist hier
gleichzeitig ein Nachteil für das Personalisierungssystem, da es diesen Vorgang
nicht direkt beobachten kann.
1
Seite 1
2
Seite 2
3
Seite 3
4
Abbildung 12: Verfälschte Navigationsdaten - Nutzer befindet sich scheinbar gleichzeitig auf Seite 2 und Seite 3
©2002 - Kluge/Menzel
3-61
3-62
Jedoch erlaubt der verfälschte Datenbestand eine nachträgliche
Rekonstruktion einer solchen Nutzernavigation, z.B. durch Einfügen zusätzlicher
Seitenwechsel:
2
1
Seite 1
3
Seite 2
4
Seite 3
5
Abbildung 13: Rekonstruierter Weg nach Einfügen eines zusätzlichen Seitenwechsels
Sonderfall: Mehrere Browserfenster
Im Normalfall wird bei Betätigung eines Links die neue Seite in dem
selben Browserfenster aufgebaut und ersetzt somit die aktuelle Seite. Allerdings
kann der Nutzer den Browser auch veranlassen, die gewünschte Seite in einem
gesonderten Browserfenster zu öffnen, wobei die aktuelle Seite im alten
Browserfenster erhalten bliebe. Die Möglichkeit einer theoretisch beliebigen
Anzahl von Browserfenstern eines Nutzers stellt ein schwieriges aber auch
lösbares Problem für die Wegeerkennung dar.
©2002 - Kluge/Menzel
3-62
3-63
Browser A
Browser B
Seite 1
Seite 2
Seite 2
klick
Seitenanforderung
Web-
server
Abbildung 14: Durch Klick auf Link ,,Seite 2" wird ein neues Browserfenster geöffnet
Dieser Vorgang erscheint für das Personalisierungssystem zunächst als
normaler Seitenwechsel. Dass ,,Seite 2" in einem neuen Browserfenster
angefordert wurde, kann es nicht feststellen. Navigiert der Nutzer nun
abwechselnd in beiden Fenstern, so könnte sich beispielsweise folgendes Bild
ergeben:
Browser B
Seite 2
4
Seite 4
5
Seite 5
Browser A
2
1
Seite 1
3
Seite 3
6
Seite 6
7
0:00
0:25
0:35
0:40
0:55
1:15
Abbildung 15: Wechselseitige Navigation mit zwei Browserfenstern
Da der erfasste Datenbestand zu Seitenanforderungen die Bezeichner
sowohl der angeforderten Seiten und des verwendeten Links als auch der
©2002 - Kluge/Menzel
3-63
3-64
Ursprungsseite umfasst, ist eine Behandlung solcher Situationen sehr gut
möglich. Hierfür ist eine Reihe verschiedener Vorgehensweisen denkbar:
Eine Variante stellt - ähnlich wie beim "Zurück"-Button-Problem - das
Einfügen zusätzlicher imaginärer Seitenwechsel in den Datenbestand dar:
Browser B
Seite 2
3
Seite 4
4
Seite 5
5
2
Browser A
5
1
Seite 1
6
Seite 3
7
Seite 6
8
0:00
0:25
0:35
0:40
0:55
1:15
1
2
3
4
5
6
7
8
Seite 1
Seite 2
Seite 4
Seite 5
Seite 1
Seite 3
Seite 6
0:00
0:25
0:30
0:45
0:45+X
0:55+X
1:15+X
Abbildung 16: Bereinigung des Datenbestandes durch Einfügen eines imaginären Seitenwechsels und
Korrektur des zeitlichen Verlaufes (X steht für die unbekannte Aufenthaltdauer auf Seite 5)
Beide Wegstränge werden zu einem Navigationsweg vereint, indem der
abgeschlossene Seitenstrang in den Hauptstrang eingefügt wird. Der zeitliche
Verlauf muss dabei korrigiert werden, um eine spätere Ermittlung der
Aufenthaltsdauer des Nutzers auf den einzelnen Seiten zu ermöglichen.
©2002 - Kluge/Menzel
3-64
3-65
Als alternative Vorgehensweise ist eine unabhängige Betrachtung und
Auswertung der beiden Wegstränge möglich. Für das obige Beispiel würde dies
folgendes bedeuten:
1
2
3
4
Seite 1
Seite 3
Seite 6
0:00
0:10
0:30
1
2
3
Seite 1
Seite 2
Seite 4
Seite 5
0:00
0:25
0:30
0:45
Abbildung 17: Bereinigung des Datenbestandes durch unabhängige Betrachtung der Wegstränge und
Korrektur des zeitlichen Verlaufs
Der durch Öffnen des zweiten Browserfensters neu entstandene
Wegstrang wird als eigenständig interpretiert. Der Haupt-Wegstrang bleibt
dabei erhalten. Der zeitliche Verlauf der einzelnen Seitenanforderungen beider
Stränge muss auch hier korrigiert werden.
3.2.2 Textbasierte Informationen
Wie wir bereits feststellten, können Nutzer durch das Anklicken eines
aktiven Elementes einer Website interagieren. Ein solches Element kann z.B. ein
Link sein. Handelt es sich um einen Formularbutton, so werden in der Regel
auch Formulartexte übertragen, die vom Nutzer auf dieser Seite eingegeben
wurden.
©2002 - Kluge/Menzel
3-65
3-66
Aktive textbasierte Informationen
Neben Navigationsinformationen lassen sich deshalb auch textbasierte
Informationen mit dem Nutzer in Zusammenhang bringen. Im oben genannten
Fall liegen aktive, textbasierte Informationen vor, da diese aktiv vom Nutzer
eingegeben wurden.
Nutzereingabe Herkunftsformular
,,Wüste, Australien"
Bild-Suchfunktion
,,Deutschland"
Ländereingabe beim Upload eines
Bildes
,,Suche einen Reisepartner für eine
Forum-Eintrag
Transsahara-Tour Anfang Dez 2002"
Beispiel 19: Beispiele für Nutzereingaben in einem Reiseportal
Passive textbasierte Informationen
Wir sprechen von passiven textbasierten Informationen, wenn Texte
betrachtet werden, welche zwar nicht vom Nutzer eingegeben wurden, aber
dennoch mit dem Nutzer in Zusammenhang gebracht werden können. Dies ist
bei dynamischen Seiteninhalten der Fall. Nutzer treffen eine Aussage über die
Qualität einer Seite, gemessen an ihrem aktuellen Interesse, indem sie kürzer
oder länger auf dieser Seite verweilen. Um diese Aussage in ein Nutzerprofil
einfließen zu lassen, bietet es sich an, die textuellen Informationen dieser Seite
so zu verarbeiten, dass sie möglichst einfach abzuspeichern und zu
interpretieren sind.
3.2.2.1 Verarbeitung von Textdaten
Bei der Datengewinnung wurden textuelle Eingaben des Nutzers sowie
von der Anwendung bereitgestellte Texte, also beliebige textuelle Seiteninhalte,
protokolliert. Auf der Datenebene handelt es sich hierbei zunächst nur um
Zeichenketten. Erst wenn diese Terme in Relation zu bereits existierenden
Informationen über die natürliche Sprache oder zu existierenden Informationen
©2002 - Kluge/Menzel
3-66
3-67
über bisherige Nutzereingaben gebracht werden können, ist es möglich, daraus
Informationen zu gewinnen und mit diesen das persönliche Profil des Nutzers
zu beeinflussen. Dazu wollen wir an einem Beispiel betrachten, welche
Informationen in Textdaten enthalten sein können und wie wir diese für unsere
Personalisierungstechniken verwenden können.
Nehmen wir einen beliebigen natürlichsprachlichen Term her:
"New Orleans in der Nacht".
Es könnte sich bei dieser Phrase um eine Suchanfrage in einem
Reiseportal handeln. Völlig unabhängig von der Suchfunktion würde es nun
sinnvoll erscheinen, wenn ein Personalisierungssystem anhand dieses
Suchausdrucks feststellen könnte, dass der Nutzer Interesse an Inhalten zum
Thema "New Orleans" in Zusammenhang mit "Nacht" hat.
Dabei sind wir soeben die ersten Schritte bereits gegangen. Zunächst
haben wir intuitiv den Term in Wörter unterteilt, d.h. segmentiert. In diesem
Fall ist das nicht schwierig, die Teilung wird anhand der Leerzeichen
vorgenommen. Leerzeichen sind jedoch nicht der einzige Trenn-Operator. Auch
Kommata, Satzzeichen und andere Sonderzeichen sind zu bedenken. Bei
einigen Sonderzeichen muss wiederum beachtet werden, dass diese zwar Satz-
und damit auch Wortgrenzen kennzeichnen, allerdings auch innerhalb eines
Wortes als Bestandteil von Eigennamen auftreten: "amazon.com", "Yahoo!".
Des Weiteren haben wir bereits intuitiv den Suchausdruck auf
Kollokationen (siehe ,,Grundbegriffe zur Computerlinguistik", Seite 5-121)
untersucht und "New" sowie "Orleans" als zusammengehörige Wörter erkannt.
Auch dies fiel uns nicht sonderlich schwer; etwas komplexer wird dieser
Vorgang, wenn Kollokationen über den gesamten Term verstreut sind. Gerade
Verbalphrasen treten oftmals nicht in direkter Nachbarschaft auf, so dass
zwischen zusammengehörigen Wörtern durchaus andere Wörter stehen
können. An dieser Stelle muss man sich jedoch fragen, in welchem Verhältnis
der zu betreibende Aufwand zum erwarteten Erfolg steht. Noch mussten wir
uns nicht festlegen, ob die Techniken der Computerlinguistik in Echtzeit
©2002 - Kluge/Menzel
3-67
3-68
ausgeführt werden sollen oder nicht. Aber selbst wenn dies nicht der Fall ist, so
können durchaus enorme Mengen an Textdaten zu verarbeiten sein. Ein hoher
Rechenaufwand muss ausreichend gerechtfertigt sein.
Schließlich wurden Wörter entfernt, die vermeintlich keine Bedeutung
haben. Die Wörter "in" und "der" sind typische Funktionswörter (siehe Kapitel
,,Grundbegriffe zur Computerlinguistik" Seite 5-121) mit sehr geringer
Eigenbedeutung. So wurden schließlich aus dem Term "New Orleans in der
Nacht" die so genannten bedeutungstragenden Einheiten "New Orleans" und
"Nacht".
Fassen wir die bereits erfolgten Analysen noch einmal zusammen:
(Originaltext)
New Orleans in der Nacht
Segmentieren
New | Or