Fakultät für Informatik Technische Universität München
Konzeption und Realisierung einer Kooperationsplattform zum Aufbau eines reputationsbasierten KompetenznetzwerkesAbschlusspräsentationBachelor’s Thesis
080528-Kompetenznetz-Vorstellung © sebis
Jakob MundThemensteller: Prof. Dr. Florian MatthesBetreuer: Christian M. SchwedaSoftware Engineering for Business Information Systems (sebis)wwwmatthes.in.tum.de
1
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 2
Rückblick: Motivation
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 3
ÜberWeb 2.0
<Kompetenz Bereich=„Web2.0“ Wert=„5“>Beurteilung
Beurteilt
<Kompetenz Bereich=„Web2.0“ Wert=„10“>
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
© sebis080528-Kompetenznetz-Vorstellung 4
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
© sebis080528-Kompetenznetz-Vorstellung 5
Rückblick
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 6
Funktionale Anforderungen: Bewertung und Kategorisierung
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 7
Nichtfunktionale Anforderungen
•Das System muss eine Verfügbarkeit von ≥99% aufweisenVerfü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 technologische Basis soll Java 2 EE verwendet werden
Technologische Basis
•Das System soll unter den weitverbreiteten Browsern (IE 6.0+, Firefox 2.0+, Opera 9+) fehlerfrei darstellbar sein
Browser-Kompatibilität
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 8
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 9
Entwurf: Datenmodell
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 10
Entwurf: Objektorientierter Entwurf
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 11
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
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 12
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
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 13
Entwurf: Inferenzmechanismus – Kalkül I
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 14
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)
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 15
Entwurf: Inferenzmechanismus – Kalkül III
Benutzerbewertungen
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 16
Dokumentbewertungen
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 17
Entwurf: Beziehungen zwischen Kompetenzfeldern I
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 18
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
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 19
Vom Ähnlichkeitsgraphen ausgehend kann mittels der Zentralität von Knoten eine Hierarchie generiert werden. Dabei werden Störkanten (Noisy Edges) entfernt.
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 20
www.sattmitspinat.de
www.ironbird.com
www.fitforrun.de
Laufsport, 5
Ernährung, 1 Ernährung, 2
Garfield
Anwendungsbeispiel: Status Quo
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 21
Fitness, 4
Roadrunner
Obelix
Fitness, 2
Popeye
Ernährung, 4
Ich
Fitness, 5
Fitness, 5
Ernährung, 2
Anwendungsbeispiel: Ziele
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 22
www.sattmitspinat.de
www.ironbird.com
www.fitforrun.de
Laufsport, 5
Ernährung, 1 Ernährung, 2
Garfield
Fitness, 4
Roadrunner
Obelix
Fitness, 2
Popeye
Ernährung, 4
Ernährung, 5
Anwendungsbeispiel: Live-Demo…
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 23
Agenda
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 24
Ergebnisse der Arbeit
Umfeldanalyse in den Bereichen Social Networkds, Social Bookmarking und Bewertungssysteme durchgeführt
Funktionale und Nichtfunktionale Anforderungen erhoben
Datenmodell und Objektmodell mit Flexibilität und Erweiterungsmöglichkeiten erstellt
Anforderungen 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ührt
Ansatzpunkte für weitere Ausführungen aufgezeigt
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 25
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
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 26
Vielen Dank für Ihre Aufmerksamkeit!
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 27
Backup Folien
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 28
Anforderungen: Benutzerverwaltung
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 29
Anforderungen: Suche
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 30
Entwurf: Objektorientierter Entwurf II
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 31
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
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 32
Inferierte Benutzerbewertung:
Inferierte Dokumentbewertung:
Entwurf: Beziehungen zwischen Kompetenzfeldern III
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 33
Algorithmus zur Generierung des Ähnlichkeitsgraphen:
Kosinus-Ähnlichkeitsmaß:
Entwurf: Beziehungen zwischen Kompetenzfeldern IV
© sebis080505-BuMaSc-FinalWorkshopLessonsLearned 34
Algorithmus zur Generierung einer hierarchischen Taxonomie:
Zentralität (closeness centrality):
Top Related