Themed Relationship

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Themed Relationship as PDF for free.

More details

  • Words: 1,962
  • Pages: 6
1 Visualisierung der thematischen Verwandtschaft zwischen allen Autoren des Wikis Wer ist mit wem thematisch verwand? Welche User haben also auf der Ebene des gesamten Wikis mit welchen anderen Usern zusammen Artikel verfasst? Um diese Frage zu beantworten stellt meine Mediawiki Extension mit Hilfe von GraphViz1 die Wiki-global auftretenden Relationen dar. Die Ausgabe eignet sich u.A. für die Startseite, eine einzelne (Spezial-)Seite oder eine eigene TAB-Seite. Letzteres hätte den Vorteil, dass die Information stets in Aktionsnähe des Wiki-Benutzers wäre. GraphViz bietet leider nur eine statische Ausgabe des Graphen, allerdings habe ich mich dennoch für GraphViz entschieden, weil es das einzige ’Framework’ ist , welches möglichst viele der folgenden Anforderungen an den Graphen erfüllt: • Es muss eine Darstellung eines zusammenhangslosen Graphen möglich sein. Nicht jeder Autor steht mit einem anderen Autor in Relation. Es können einzelne Autoren oder Autorengruppen von anderen Gruppen oder Autoren unabhängig sein. • Es soll eine Ausdrucksmöglichkeit für die Nähe der Knoten existieren. Thematisch näher verwandte Autoren sollen vom Betrachter identifiziert werden können. • Es soll eine Ausdruckmöglichkeit für die Anzahl der gesamten Editierungen eines Autors im Wiki geben. Damit kann der Betrachter Autoren, die nur selten Beiträge schreiben erkennen. • Platzsparende Darstellung des Graphen. • Die Abbildung soll die Übersichtlichkeit fördern und nicht verschlechtern. Überschneidungen der Kanten sollen minimiert werden können, da solche nicht der Übersichtlichkeit beitragen. • Skalierbarkeit des Graphen. Ein Graph mit vielen Knoten und Kanten darf nicht unübersichtlich werden. GraphViz erfüllt alle Anforderungen.

T he king

Vister

Inkognito

ViktorDite

Dummy

MiniMind

DummyUser MoreMind

Abbildung 1: Beispielhafte GraphViz-Darstellung von Relationen

1

http://www.graphviz.org/

1

1.1 Generierung der Eingabedaten Die Eingabedaten für GraphViz1 werden aus der Tabelle ’revision’ in der Datenbank ausgelesen. Die ’revision’ Tabelle enthält die Änderungen aller Artikel im Wiki. Dazu gehört auch das Anlegen einer neuen Seite. Jeder neu angelegten oder geänderten Seite sind Benutzer mit ihrer ID und ihrem Namen zugeordnet. Die Tabelle enthält zudem die Länge der Änderung, den Kommentar, Zeitstempel und die Information ob die Änderung ggf. nur geringfügig war. Es ist zudem möglich, durch einen Parameter festzulegen, ab welcher Anzahl an geänderten Wörtern eine Änderung unter die Klasse der thematischen Nähe fällt – ab wann also eine Änderung den Counter erhöht. Die SQL-Query liest zu jeder (Artikel-)Seite die Benutzer, die darin editiert haben und deren ID aus. Da die thematische Verwandschaft sich durch die Anzahl der Editierungen an verschiedenen und nicht an gleichen Artikeln definiert, werden die Daten »distinct« ausgelesen. »distinct« liest nur die unterschiedlichen Elemente aus und verringert dadurch auch die Anzahl der Treffer an Artikeln mit nur einem einzigen Autor. Ferner wird abgefragt ob es sich um eine geringfügige Änderung (minor edit) handelt oder nicht. Geringfügige Änderungen werden nicht betrachtet, da sie in den meisten Fällen nur eine Formatierung korrigieren und somit keine Relation des Editors mit dem Autor darstellen. Aus dem Ergebnis der Query wird ein mehrdimensionales Array erzeugt, so dass zu jeder Seite (Hauptindex des Arrays) jeweils ein Unterarray mit allen Autoren zugeordnet wird, die diese Seite editiert haben (Abb. 2). Es werden also pro Seite die User, die gemeinsam daran gearbeitet haben, in n-Tupeln gesammelt. GraphViz würde zur Gestaltung des Graphes an sich, durchaus mit einer sich leicht aus dem Array erzeugbaren Adjazenzliste auskommen. Allerdings bietet die Grammatik keine Möglichkeit zur automatischen Zählung mehrfach vorkommender Relationen. Um die Relationen jedoch korrekt auszuwerten, müssen nun alle n-Tupel auf 2er Tupel (’Autorenpärchen’) aufgebrochen werden (Abb. 2 und 3). Nur so ist es möglich das mehrfache Vorkommen gleicher Tupel zu zählen um die Anzahl in der Kantenstärke auszudrücken. Hierbei ist es nicht mehr wichtig aus welchen Artikeln diese 2er Tupel Relationen genau entstanden sind, sondern nur noch die Anzahl ihres vorkommens. Denn falls ein Tupel mehrfach vorkommt, bedeutet dies, dass diese User mehrfach an verschiedenen Artikeln editiert haben. In diesem Fall erhöht sich durch die Definition der thematischen Verwandschaft die Nähe der beiden Autoren zueinander. Die Häufigkeit des Auftretens des Tupels wird dann als Maß für die Kantenstärke in der Darstellung der Relationen verwendet (Listing 1). Leider lässt sich die Nähe der Knoten in GraphViz nicht verlässlich abbilden (siehe Kapitel 1.2), so dass die Abbildung der Nähe beider Objekte über die Kantendicke erfolgen muss. Die aufgespaltenen Tupel werden in ein neues Array geschrieben und deren Häufigkeit mittels der Funktion my − counter() hinzugefügt. Die Funktion ’makeGraph()’ baut anschließend aus diesem neuen Array, dass nur noch 2er Tupel und den Zähler enthält den GraphViz-Datensatz zusammen. Dabei werden alle Autoren aus der MediaWiki Datenbank gelesen und als Knoten in den Datensatz eingesetzt. Die Schriftgröße der Knoten wird auf den Logarithmus der Editcounts der Autoren gesetzt. MediaWiki speichert die Anzahl der globalen Editierungen eines Autors in einem Feld EditCount. Der Logarithmus beschränkt die Schriftgröße auf ein lesbares aber dennoch vergleichbares Maß. Mit der Schriftgröße wächst auch die Größe des Knotens. Je größer also ein Knoten, desto höher die allgemeine Beteiligung des Autors im Wiki. Die Schriftgröße spiegelt also die Wichtigkeit eines abgebildeten Autors wieder [Kra09]. Schließlich wird jeder Knoten wird zudem auf die dazugehörige Benutzerseite verlinkt, die beiden Elemente des Tupels miteinander verbunden und der Zähler als Kantenstärke angehängt (Listing 1) und der Datensatz mittels des MediaWiki Parsers an die GraphViz-Extension2 weitergereicht. Die Darstellung übernimmt darauf die GraphViz-Extension.

2

http://www.mediawiki.org/wiki/Extension:GraphViz

2

Abbildung 2: Jeder Seite wird eine Liste der User, die darin editiert haben, in einem Unterarray zugeordnet. graph g{ ViktorDite -- DummyUser [style="setlinewidth(2)"]; ViktorDite -- Vister [style="setlinewidth(2)"]; ViktorDite -- MiniMind [style="setlinewidth(1)"]; DummyUser -- Vister [style="setlinewidth(2)"]; DummyUser -- MiniMind [style="setlinewidth(1)"]; Vister -- MiniMind [style="setlinewidth(1)"]; ViktorDite -- Dummy [style="setlinewidth(1)"]; DummyUser -- Dummy [style="setlinewidth(1)"]; Vister -- Dummy [style="setlinewidth(1)"]; }

Listing 1: GraphViz Datensatz nach Beispiel in Abb. 1, 2 und 3

1.2 Darstellung Für eine korrekte und aussagekräftige Darstellung sollte die Rendering-Engine der GraphViz-Extension auf neato umgestellt werden. Neato3 ist eine alternative Rendering-Engine von GraphViz, die zur Darstellung ein Spring-Modell-Layout verwendet. Neato ordnet die Knoten zirkulär von der Mitte nach außen an. Das Spring-Layout simuliert daraufhin physikalische Federkräfte zwischen den Knoten und Kanten, so dass ein Layout entsteht, in dem die Gesamtenergie des Systems möglichst gering ist. Dieses Layout ermöglicht durch die Angabe der »len« und »weight« Parameter die Kantenlänge zwischen den Knoten zu variieren, so dass Abstand der Knoten zueinander theoretisch bestimmt werden kann. »len« gibt dabei die bevorzugte Länge der Kante in Inch an. Je höher der Wert, desto Länger die Kante (um die Nähe auszudrücken wird hier der Kehrwert der Kantendicke gesetzt). »weight« gibt an, mit welcher Gewichtung der Layouter versuchen soll, die bevorzugte Länge der Kante einzuhalten. Um so höher der Wert, desto strenger ist die Einhaltung der Werte. Allerdings wird hier keine Garantie gegeben, dass dieser Wert eingehalten wird (besonders, wenn die Option zur Vermeidung von Überschneidungen

3

Neato liegt dem GraphViz Paket bei

3

=>

Abbildung 3: maketupel() wandelt alle n-Tupel in 2er Tupel um der Knoten eingeschaltet ist), so dass über den Abstand der Knoten im Graph keine verlässliche Aussage über die Nähe der repräsentierten Autoren gegeben ist. Um die Rendering-Engine von dot auf neato umzustellen muss die in der Installationsanleitung von GraphViz angegebene Zeile $wgGraphVizSettings->dotCommand = ’//dot’; gegen die Zeile $wgGraphVizSettings->dotCommand = ’//neato’; ausgetauscht werden. Wenn man jedoch vermeiden möchte, dass die Umstellung auf neato im gesamten Wiki vollzogen wird, kann man auch die von mir modifizierte graphViz.php4 Extension anstatt der originalen verwenden. Sie unterstützt im Gegensatz zur originalen Version (obwohl vom Autor angegeben) Parameter, die beim parsen ausgelesen werden. Der Parameter ‘renderer’ übermittelt dabei den gewünschte Rendering-Algorithmus. Die Verwendung der Extension ändert sich dann von graph g{ a -- b;} zu graph g{ a -- b;} Falls die modifizierte Version verwendet wird, bedarf es einer weiteren Änderung. Der Graphviz Pfad darf nur noch auf den Ordner referenzieren, nicht mehr auf den Renderer selbst. Folgendes muss geändert werden: $wgGraphVizSettings->dotCommand = ’//dot’; zu $wgGraphVizSettings->dotCommand = ’//’;

4

http://viskoda.viktor-dite.de/master-thesis/graphviz

4

Falls kein Parameter angegeben wird, wird automatisch ‘dot’ verwendet. Erlaubt sind die Parameter renderer={dot,neato,dotty}

Literatur [Bal08]

Michael Balzer. All of inflation’s little parts. New York Times, May 2008.

[BDL05] Michael Balzer, Oliver Deussen, and Claus Lewerentz. Voronoi treemaps for the visualization of software metrics. In SoftVis ’05: Proceedings of the 2005 ACM symposium on Software visualization, pages 165–172, New York, NY, USA, 2005. ACM. [BS08]

S. Blaschke and K. Stein. Methods and measures for the analysis of corporate wikis: A case study. 2008.

[Bur06]

Remo Burkhard. Knowledge Visualization: Die nächste Herausforderung für Semantic Web Forschende. Semantic Web, pages 201–212, 2006.

[Cam08] Vincenzo Cammarata. Wikibility of innovation oriented workplaces. Master’s thesis, University of Lugano, 2008. [Col07]

Christopher Collins. Docuburst: Radial space-filling visualization of document content. 2007.

[Döb09]

Steffi Döbbelin. Arbeitsumgebungen in der Softwareentwicklung im Team. Master’s thesis, Universität Paderborn, Didaktik der Informatik, 2009.

[Edl06]

Karl Edlinger. Informationsvisualisierung im Wissensmanagement : eine Analyse unterschiedlicher Visualisierungstechniken auf ihre Eignung für das Wissensmanagement. 2006.

[eG09]

eResult GmbH. Navigation nutzergerecht gestalten. http://www.eresult.de/ studien_artikel/forschungsbeitraege/navigation_nutzergerecht_ gestalten.html, Januar 2009.

[Fle98]

Jennifer Fleming. Web Navigation: Designing the User Experience. O’Reilly Verlag, 1998.

[Gen06]

Oliver Gendera. Visualisierung von Suchpfaden. http://www.is.informatik. uni-duisburg.de/bib/pdf/ir/Gendera:06.pdf, Universität Dortmund, April 2006.

[GG07]

Jakub Gawryjołek and Piotr Gawrysiak. The analysis and visualization of entries in wiki services. In Advances in Intelligent Web Mastering, pages 118–123. Springer Berlin / Heidelberg, 2007.

[Har08]

Chriss Harrison. Wikiviz. http://www.chrisharrison.net/projects/wikiviz/ index.html, 2008.

[HBB07] Todd Holloway, Miran Bozicevic, and Katy Börner. Analyzing and visualizing the semantic coverage of wikipedia and its authors: Research articles. Complex., 12(3):30–40, 2007. [IBL06]

Uni-Stuttgart IBL. Wikiverwendungsweisen. http://www.ibl.uni-stuttgart.de/ wiki/index.php/WikiVerwendungsweisen, 2006.

[IBM05]

IBM. History flow. http://www.alphaworks.ibm.com/tech/historyflow/, 2005.

[Kei07]

Prof. Dr.-Ing. Reinhard Keil. Softwareergonomie. http://wwwhni.uni-paderborn. de/iug/lehre/, 2007.

[Kra09]

André Kramer. Auf einen Blick. In c’t, Heft4, volume 4, page 154. heise, 2009.

[Kre05]

Lothar Krempel. Visualisierung komplexer Strukturen. Campus Verlag, 2005.

[LC01]

Bo Leuf and Ward Cunningham. The Wiki Way: Quick Collaboration on the Web. AddisonWesley, 2001.

[LLW08] Xinghua Lou, Shixia Liu, and Tianshu Wang. Fanlens: A visual toolkit for dynamically exploring the distribution of hierarchical attributes. Visualization Symposium, 2008. PacificVIS ’08. IEEE Pacific, pages 151–158, March 2008.

5

[Lud04]

Kerstin A. Ludwig. Star - Visualisierung von Daten. April 2004.

[Nie07]

Enrico Niemczewsky. Visualisierungen von Kompetenzen als Inhalte- und Authorenbeziehungen in Wikinetzen - Exploration aktueller Möglichkeiten. Praktikumsarbeit am Fraunhofer IESE, 2007.

[R.01]

Spence R. Information visualization. Harlow: Addison-Wesley, 2001.

[RB07]

Martin Rosvall and Carl T. Bergstrom. An information-theoretic framework for resolving community structure in complex networks. PNAS, 104(18):7327–7331, May 2007.

[RB09]

The Ronald and Groß Benedikt. Inhaltliche Nähe, alternative Navigation im Wiki. http: //ig.hfg-gmuend.de/medienlabor/inhaltliche-nahe/, 2009.

[RD09]

Daniela Richter and Khadim Diouf. Wikis & wikiversity. In Seminarband: Web 2.0 - Lernen in sozialen Netzwerken, pages 21–42, 2009.

[Shn96]

B. Shneiderman. The eyes have it: a task by data type taxonomy for information visualizations. Visual Languages, 1996. Proceedings., IEEE Symposium on, pages 336–343, 1996.

[SM00]

Heidrun Schuhmann and Wolfgang Müller. Visualisierung. Springer, 2000.

[SZ00]

John Stasko and Eugene Zhang. Focus+context display and navigation techniques for enhancing radial, space-filling hierarchy visualizations. In INFOVIS ’00: Proceedings of the IEEE Symposium on Information Vizualization 2000, page 57, Washington, DC, USA, 2000. IEEE Computer Society.

Sunburst 3d. [TLW08] Thomas Techert, Ulrich Lang, and Eduard Warkentin. //ig.hfg-gmuend.de/Members/thomas_techert/meine-projekte/ sunburst-datenvisualisierung, April 2008.

http:

[und08]

undisclosed. Wissensmanagement 2.0. http://www.rolotec.ch/wissenswiki/ index.php/Wissensmanagement_2.0, 2008.

[und09]

undisclosed. Brockhaus. http://www.brockhaus-enzyklopaedie.de/, 2009.

[VWD04] Fernanda B. Viégas, Martin Wattenberg, and Kushal Dave. Studying cooperation and conflict between authors with history flow visualizations. In CHI ’04: Proceedings of the SIGCHI conference on Human factors in computing systems, pages 575–582, New York, NY, USA, 2004. ACM. [Wan08]

Jinhui Wang. Knowledge Visualization of Wikipedia. PhD thesis, Dublin Institute of Technology, 2008.

[Wik06]

Wikipedia. Information retrieval. Information-Retrieval, 2006.

[Wil97]

Graham J. Wills. Nicheworks - interactive visualization of very large graphs. In GD ’97: Proceedings of the 5th International Symposium on Graph Drawing, pages 403–414, London, UK, 1997. Springer-Verlag.

[Win09]

Jens Winter. Social information retrieval. In Seminarband: Web 2.0 - Lernen in sozialen Netzwerken, pages 117–132, 2009.

[Wir02]

Thomas Wirth. Missing Links. Hanser, 2002.

[Zei06]

Michael Zeiller. Visualisierung im Wissensmanagement. Wissen und Management, 1:4, 2006.

6

http://de.wikipedia.org/wiki/

Related Documents