Fakultät für Informatik Technische Universität München Konzeption und Realisierung einer Kooperationsplattform zum Aufbau eines reputationsbasierten Kompetenznetzwerkes Abschlusspräsentation Bachelors Thesis Kompetenznetz-Vorstellung© sebis Jakob Mund Themensteller: Prof. Dr. Florian Matthes Betreuer: Christian M. Schweda Software Engineering for Business Information Systems (sebis) wwwmatthes.in.tum.de 1
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned2
Rückblick: Motivation © sebis BuMaSc-FinalWorkshopLessonsLearned3 Über Web 2.0 Beurteilung Beurteilt Beurteilung Beurteilt Aggregiertes Urteil: 7,5Dokument- bewertung 7,5 Dabei ist es unklar ob man dem Bewertenden vertrauen kann. Rückblick
Rückblick: Themenstellung Ziel ist ein System, das Nutzern hilft, vertrauenswürdige Aussagen über bestimmte Inhalte im Web zu erhalten. Dazu sollen Nutzer (quantifizierte) Aussagen sowohl über andere Benutzer als auch über Inhalte machen können. Aussagen werden einem oder mehreren Kompetenzfeldern zugeordnet. System soll (prototypisch) objektorientiert realisiert werden © sebis Kompetenznetz-Vorstellung4 Rückblick
Rückblick: Kernpunkte und Herausforderungen Beziehungen zwischen Kompetenzfeldern (z.B. Teilkompetenzen) möglichst flexibel aber gleichzeitig ohne viel Zusatzaufwand Wahl geeigneter Bewertungsskala und deren Eignung für statistische Operationen Sicherstellung von Unverfälschtheit von bewerteten Webdokumenten bzw. Umgang bei festgestellten Änderungen Möglichst präziser und robuster Inferenzalgorithmus Objektorientierter Entwurf der den flexiblen Austausch von Konzepten ermöglicht © sebis Kompetenznetz-Vorstellung5 Rückblick
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf DatenmodellObjektorientierter EntwurfInferenzmechanismus Beziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned6
Funktionale Anforderungen: Bewertung und Kategorisierung © sebis BuMaSc-FinalWorkshopLessonsLearned7
Nichtfunktionale Anforderungen Das System muss eine Verfügbarkeit von 99% aufweisen Verfügbarkeit Die Antwortzeiten für alle Anwendungsfälle müssen < 4 Sek. betragen, wobei für die Suche und Inferenz 2 Sek. nicht überschreiten darf Antwortzeiten Der Objektentwurf soll so gestaltet sein, dass gewisse Mechanismen (z.B. Inferenzmechanismus) flexibel austauschbar sind Flexibler Objektentwurf Als tech nolo gisch e Basis soll Java 2 EE verw ende t werd en Technologische Basis Das System soll unter den weitverbreiteten Browsern (IE 6.0+, Firefox 2.0+, Opera 9+) fehlerfrei darstellbar sein Browser- Kompatibilität © sebis BuMaSc-FinalWorkshopLessonsLearned8
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned9
Entwurf: Datenmodell © sebis BuMaSc-FinalWorkshopLessonsLearned10
Entwurf: Objektorientierter Entwurf © sebis BuMaSc-FinalWorkshopLessonsLearned11 Austauschbarer Inferenzalgorithmus: Anwendung des Strategy Patterns [Ga95] Vor der Inferenzabfrage muss ein Algorithmus ausgewählt worden sein, kann aber (sogar zur Laufzeit) ausgetauscht werden Aufruf der Methode getRating() der Klasse Document leitet an das Interface DeductionStrategy weiter Kompatible Algorithmen müssen DeductionStrategy implementieren
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned12
Entwurf: Inferenzmechanismus - Anforderungen Bewertungen werden auf einer Ordinalskala von 1 (schwache positive Bewertung) bis 5 (starke positive Bewertung) vergeben Direkte Benutzer- und Dokumentbewertungen werden ohne Änderungen als Endbewertung übernommen Dokumentbewertungen von Benutzern mit stärker positiver Bewertung sollen im Endergebnis stärker berücksichtigt werden Bewertungen, die über kürzere Bewertungsketten erreichbar sind, sollen stärker in das Endergebnis einfließen Kreise in Bewertungsketten dürfen keinen Einfluss auf die Endbewertung haben Sollte bei für das Endergebnis ausschlaggebenden Bewertungen der Hashcode des Dokuments unterschiedlich sein, soll der Benutzer darauf hingewiesen werden Sollte kein Pfad vom Benutzer zum nachgefragten Dokument möglich sein, ist keine Inferenz möglich © sebis BuMaSc-FinalWorkshopLessonsLearned13
Entwurf: Inferenzmechanismus – Kalkül I © sebis BuMaSc-FinalWorkshopLessonsLearned14 Direkt dem System zugeführte Informationen: … Benutzerbewertungen bestehen aus Zuordnungen (Benutzer x Benutzer x Tag) und einer (surjektiven) Abbildung dieser auf eine Bewertung … Dokumentbewertungen bestehen auf Zuordnungen (Benutzer x Dokument x Tag) und einer (surjektiven) Abbildung dieser auf eine Bewertung Dabei erlauben wir für Zwischenergebnisse (trotz Ordinalskala) Fließkommawerte, dem Benutzer präsentierte Bewertungen werden dabei mithilfe einer Rundungsfunktion gerundet Wahl des Kompetenzfeldes Sofern der Benutzer ein Kompetenzfeld angibt, wird die Inferenz unter diesem durchgeführt Alternativ kann die Wahl des Kompetenzfeldes dem System überlassen werden, dabei wird das für das angefragte Dokument am häufigsten annotierte Tag ausgewählt
Entwurf: Inferenzmechanismus – Kalkül II Sphärenkonzept Anwendung des Sphärenkonzepts auf den Benutzergraphen Abstand zwischen zwei Benutzern ist die Länge des minimalen Pfades zwischen ihnen Benutzerbewertungen der Sphäre n berücksichtigen nur Bewertungen der Sphären <n Kleine Welt Phänomen Nach Untersuchungen von Milgram [Mi67] kennt jeder jeden über maximal 6 Kanten Dämpfungsfunktion g(n) Starke negative Steigung (exponentielles neg. Wachstum) © sebis BuMaSc-FinalWorkshopLessonsLearned15
Entwurf: Inferenzmechanismus – Kalkül III Benutzerbewertungen © sebis BuMaSc-FinalWorkshopLessonsLearned16 Dokumentbewertungen
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned17
Entwurf: Beziehungen zwischen Kompetenzfeldern I © sebis BuMaSc-FinalWorkshopLessonsLearned18 Mittels eines Ähnlichkeitsmaßes wird die paarweise Ähnlichkeit zwischen zwei Tags gemessen (links), wobei alle Kanten, die über einem Grenzwert liegen, in den Ähnlichkeitsgraphen (rechts) übernommen werden
Entwurf: Beziehungen zwischen Kompetenzfeldern II © sebis BuMaSc-FinalWorkshopLessonsLearned19 Vom Ähnlichkeitsgraphen ausgehend kann mittels der Zentralität von Knoten eine Hierarchie generiert werden. Dabei werden Störkanten (Noisy Edges) entfernt.
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned20
Laufsport, 5 Ernährung, 1Ernährung, 2 Garfield Anwendungsbeispiel: Status Quo © sebis BuMaSc-FinalWorkshopLessonsLearned21 Fitness, 4 Roadrunner Obelix Fitness, 2 Popeye Ernährung, 4
Ich Fitness, 5 Ernährung, 2 Anwendungsbeispiel: Ziele © sebis BuMaSc-FinalWorkshopLessonsLearned Laufsport, 5 Ernährung, 1Ernährung, 2 Garfield Fitness, 4 Roadrunner Obelix Fitness, 2 Popeye Ernährung, 4 Ernährung, 5
Anwendungsbeispiel: Live-Demo… © sebis BuMaSc-FinalWorkshopLessonsLearned23
Agenda Ergebnisse und Ausblick Anwendungsbeispiel Entwurf Datenmodell & Objektorientierter EntwurfInferenzmechanismusBeziehungen zwischen Kompetenzfeldern Anforderungsanalyse Rückblick © sebis BuMaSc-FinalWorkshopLessonsLearned24
Ergebnisse der Arbeit Umfeldanalyse in den Bereichen Social Networkds, Social Bookmarking und Bewertungssysteme durchgeführt Funktionale und Nichtfunktionale Anforderungen erhobenDatenmodell und Objektmodell mit Flexibilität und Erweiterungsmöglichkeiten erstelltAnforderungen an einen Inferenzmechanismus erhoben und in einem Kalkül formalisiert Methoden zur automatischen Generierung von Kompetenzbeziehungen in Form von Ähnlichkeitsbeziehungen sowie Hierarchiebeziehungen vorgestellt Kritische Diskussion der Inferenz und Beziehungsgenerierung in Bezug auf die Kooperationsplattform geführt Implementierung der Kernfunktionalität in einem funktionsfähigen Prototyp durchgeführtAnsatzpunkte für weitere Ausführungen aufgezeigt © sebis BuMaSc-FinalWorkshopLessonsLearned25
Ausblick Aufbau und Wachstum der Community von entscheidender Bedeutung für den Erfolg solch einer Kooperationsplattform (starke positive Netzeffekte) [PRW03] Flexible Wahl der Mechanismen für Inferenz und Kompetenzfeldverwaltung in Bezug zu der Große der Community empfohlen: die Zeitpunkte der Wechsel sollten dabei detailliert untersucht werden Überprüfung der Kooperationsplattform auf Performance (Caching [IC97]) und Usability [Pa03], gegebenenfalls Optimierungen in diesen Bereichen Überprüfung der Güte des Inferenzkalküls mit empirischen Methoden, und aufbauend darauf Anpassung und Weiterentwicklung Arbeit als Einstieg in die Thematik der reputationsbasierten Plattform für Bewertungen von Web-Inhalte; Resultate könnten helfen dem quantitativen Wachstum im WWW eine benutzergenerierte Qualitätssicherung entgegenzustellen © sebis BuMaSc-FinalWorkshopLessonsLearned26
Vielen Dank für Ihre Aufmerksamkeit! © sebis BuMaSc-FinalWorkshopLessonsLearned27
Backup Folien © sebis BuMaSc-FinalWorkshopLessonsLearned28
Anforderungen: Benutzerverwaltung © sebis BuMaSc-FinalWorkshopLessonsLearned29
Anforderungen: Suche © sebis BuMaSc-FinalWorkshopLessonsLearned30
Entwurf: Objektorientierter Entwurf II © sebis BuMaSc-FinalWorkshopLessonsLearned31 Beschränkung auf eine, globale Instanz des Benutzermanagers Anwendung des Singleton-Patterns [Ga95] privates, statisches Attribut instance vom Typ UserManager Privater Konstruktur verhindert Instantiierung von außen Statische Methode getInstance() gibt die Instanz des Benutzermanagers zurück. Sollte diese nicht vorhanden sein, wird zuvor eine erstellt.
Entwurf: Inferenzmechanismus – Kalkül IV © sebis BuMaSc-FinalWorkshopLessonsLearned32 Inferierte Benutzerbewertung: Inferierte Dokumentbewertung:
Entwurf: Beziehungen zwischen Kompetenzfeldern III © sebis BuMaSc-FinalWorkshopLessonsLearned33 Algorithmus zur Generierung des Ähnlichkeitsgraphen: Kosinus-Ähnlichkeitsmaß:
Entwurf: Beziehungen zwischen Kompetenzfeldern IV © sebis BuMaSc-FinalWorkshopLessonsLearned34 Algorithmus zur Generierung einer hierarchischen Taxonomie: Zentralität (closeness centrality):