Independence Geschrieben 17. Juli 2009 Teilen Geschrieben 17. Juli 2009 Ich bin neu hier, also zuerst mal ein freundliches Hallo an alle! Ich hoffe, dass hier ist die richtige Rubrik für mein Thema. Ich bin 17 Jahre alt, und mache gerade ein Ferialpraktikum bei einer Softwarefirma. Meine Aufgabe ist es, eine konzeptionelle Arbeit über Tag Clouds zu schreiben. Ich erbitte eure geschulten Gehirne, meine Verwirrung bezüglich der Formeln aufzulösen. Tag Clouds werden hier warscheinlich viele kennen; es handelt sich um sogennante Schlagwortwolken (schauderhafte Übersetzung). Eine Tag Cloud greift auf ein System zu, auf dem Tags gespeichert sind (so wie Flickr, Delicioso, Technorati,...) und stellt die Tags, gemäß einer Hierarchie dann unterschiedlich groß (oder farbig, oder unterstrichen,...) dar. Die Hierarchie der Tags kommt bei einer klassischen Tag Cloud durch die Häufigkeit des Tags im System zustande = Häufigere Tags sollen größer dargestellt werden. Nun habe ich mir die Formel gesucht , die die relative Größe eines Tags in der Wolke berechnet (Wikipedia): si = fmin + ((ti-tmin)*(fmax-fmin)/(tmax-tmin)) • si: Anzuzeigende Fontgröße • fmax: maximale Fontgröße • ti: Häufigkeit • tmin: minimale Häufigkeit • tmax.: maximale Häufigkeit • fmin : minimale Fontgröße Diese Formel führt eine lineare Interpolation zwischen den Wertepaaren (tmin/fmin) und (tmax/fmax) durch, das heisst im Klartext sie verbindet die beiden Punkte mit einem geraden Strich (mithlife einer Funktion). Das klingt alles sehr plausibel für mich. S So könnte man abhängig vom "Gewicht" (also der Häufigkeit) ti eines Tags dessen individuelle Größe berechnen. Nun bin ich aber wieder und wieder auf andere Internetseiten ( wie diese: Tag Cloud Font Distribution Algorithm | Echo Chamber Project) gestoßen, die sich AUCH mit der Mathematik einer Tag Cloud mit linearer Größenformel auseinandersetzen, aber völlig anders vorgehen. Immer wieder, wie auch bei der Echochamberprojekt Seite, ist die Rede von "Thresholds" , sogennanten Schwellenwerten. Wenn ich das richtig verstanden habe, wird hier die Differenz aus Maximalgewicht und Minimalgewicht eines Tags einfach durch die gewünschte Anzahl an Größenordnungen dividiert, um somit in weiterer Folge "Größenbereiche" zu schaffen. Soll heißen, wenn das Gewicht eines Tags sich in einem gewissen Intervall befindet, dann wird ihm automatisch eine bestimmte Größe zugeordnet und wenn es einen vorher berechneten "Threshold" überschreitet, bekommt es die nächstgrößere Größe. Nun klingt auch DAS für mich plausibel, was ich aber (auch nach langem Überlegen) nicht verstehe, ist, wie ich diese beiden Konstruktionsansätze vereinen soll! Wenn ich den Konstruktionsansatz mit den Schwellenwerten nehme, wäre doch die oben gennante Formel für mich völlig unnötig, oder? Dann müsste ich doch nur das Gewicht eines Tags nehmen und dem entsprechenden, vorher berechneten Intervall zuordnen, um eine passende Größe zu erlangen? Ich werde trotzdem das Gefühl nicht los, dass es sich hierbei nicht um 2, sondern um 1 Theorie handelt, schon allein, weil mir diese beiden Formeln während meiner Internetrecherche immer wieder unter dem selben Schlagwort (Linearverteilung der Größe bei Tag Clouds) über den Weg laufen. Oder handelt es sich hier eventuell um zwei völlig voneinander unabhängige Möglichkeiten, die Größe der Tags in einer Cloud zu berechnen? Ich hoffe irgendjemand von euch tut sich an, diesen langen Text zu lesen, und kann mir vielleicht weiterhelfen. Im Vorhinein ein großes DANKE für jede noch so kleine Hilfestellung! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 17. Juli 2009 Teilen Geschrieben 17. Juli 2009 Diese Formel führt eine lineare Interpolation zwischen den Wertepaaren (tmin/fmin) und (tmax/fmax) durch, das heisst im Klartext sie verbindet die beiden Punkte mit einem geraden Strich (mithlife einer Funktion). Hier wird nichts verbunden, das ist eine einfache lineare Abbildung, so wie Du es auch aus der Prozentrechnung kennst, ein beliebiges Intervall [a,b] wird auf das Intervall [0,100] abgebildet. Das klingt alles sehr plausibel für mich. So könnte man abhängig vom "Gewicht" (also der Häufigkeit) ti eines Tags dessen individuelle Größe berechnen. Aber beachte auch, dass es sich bei Deiner angegebenen Formel nur um die Berechnung der Schriftgröße handelt. Wiki: Schlagwortwolke ? Wikipedia Da die Anzahl indexierter Objekte pro Schlagwort üblicherweise nach einem Potenzgesetz verteilt ist, ist für größere Wertebereiche eine logarithmische Darstellung sinnvoll. Du musst immer beachten wir reden bei diesen Dingen über Häufigkeiten und in diesem Fall über eine logarithmische Darstellung. Wenn diese schon vorliegt, wird dann die Schriftgröße interpoliert Nun bin ich aber wieder und wieder auf andere Internetseiten ( wie diese: Tag Cloud Font Distribution Algorithm | Echo Chamber Project) gestoßen, die sich AUCH mit der Mathematik einer Tag Cloud mit linearer Größenformel auseinandersetzen, aber völlig anders vorgehen. Immer wieder, wie auch bei der Echochamberprojekt Seite, ist die Rede von "Thresholds" , sogennanten Schwelle Ich werde trotzdem das Gefühl nicht los, dass es sich hierbei nicht um 2, sondern um 1 Theorie handelt, schon allein, weil mir diese beiden Formeln während meiner Internetrecherche immer wieder unter dem selben Schlagwort (Linearverteilung der Größe bei Tag Clouds) über den Weg laufen. Oder handelt es sich hier eventuell um zwei völlig voneinander unabhängige Möglichkeiten, die Größe der Tags in einer Cloud zu berechnen? Zitat aus Deinem Link One way to even out the fontsize distribution in the tag cloud would be to use a logarithmic thresholding algorithm instead of a linear one Man wird die Häufigkeit der Daten oft logarithmisch auftragen und dann linear die gewünschte Schriftgröße interpolieren bzw. wie man nun die Tag hervorhebt ist natürlich immer eine Designfrage Ich habe Deine Links nur kurz überflogen, aber Du musst immer gedanklich trennen: Wie kommt man von der Anzahl der Wörter zu einer entsprechenden Auswertung und im zweiten Schritt wie kommt man von der Auswertung zu einer Darstellung HTH Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geigenk Geschrieben 19. Juli 2009 Teilen Geschrieben 19. Juli 2009 Wenn ich das richtig verstanden habe, wird hier die Differenz aus Maximalgewicht und Minimalgewicht eines Tags einfach durch die gewünschte Anzahl an Größenordnungen dividiert, um somit in weiterer Folge "Größenbereiche" zu schaffen. Genau das tut deine Formel: si = fmin + ((ti-tmin)*(fmax-fmin)/(tmax-tmin)) Ein "Größenbereich" bedeutet einfach fmin+x bis fmin+x+1, ist also einfach durch die Schritte zwischen fmin und max festgelegt und unterliegt Rundungseinflüssen. Vielleicht bin ich zu naiv aber mal Logarithmik aussen vor gelassen sind deine zwei Ansätze ein und dasselbe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Independence Geschrieben 20. Juli 2009 Autor Teilen Geschrieben 20. Juli 2009 Erstmal vielen Dank für all die tollen Antworten! besonders flashpixx hat mir schon um einiges weitergeholfen @flashpixx du sagst ja, dass man zuerst eine formel finden muss, um die "gewichtung" des Tags festzulegen, bevor man anhand der gewichtung die Größe errechnet? das klingt sehr plausibel, danke nur was mich noch verwirrt... du sagst, eine logarithmische darstellung sei bei der Gewichtung der Tags sinnvoll, und die größe der tags soll man dann linear interpolieren Tag Clouds : Linear vs Logarithmic Interpolation warum ist dann hier die rede von "logarithmischer interpolation". Das Interpolationsverfahren, ist doch, wenn ich richtig verstanden habe, nur das verfahren, mit dem man dann die endgültige schriftgröße der gewichtung bestimmt, und das ist doch linear problemos durchzuführen oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 20. Juli 2009 Teilen Geschrieben 20. Juli 2009 du sagst ja, dass man zuerst eine formel finden muss, um die "gewichtung" des Tags festzulegen, bevor man anhand der gewichtung die Größe errechnet? Wo habe ich etwas über Gewichtung geschrieben? Bitte lies einmal mein Posting genauer, da steht nichts von einer Gewichtung du sagst, eine logarithmische darstellung sei bei der Gewichtung der Tags sinnvoll, und die größe der tags soll man dann linear interpolieren Es werden hier keine Gewichtungen der Tags darstellt, sondern die Häufigkeiten: Häufigkeit ? Wikipedia und bei Dein beiden angegeben Quellen müsste dies einer Power-Law Verteilung im groben entsprechen: Potenzgesetz (Statistik) ? Wikipedia Tag Clouds : Linear vs Logarithmic Interpolation warum ist dann hier die rede von "logarithmischer interpolation". Vielleicht liest Du einmal den ersten Satz: One of the topics our audience research is to figure out using linear interpolation versus logarithmic interpolation for the font-size formula Hier werden nur die Verfahren zur Ermittelung der Schriftgröße diskutiert Das Interpolationsverfahren, ist doch, wenn ich richtig verstanden habe, nur das verfahren, mit dem man dann die endgültige schriftgröße der gewichtung bestimmt, und das ist doch linear problemos durchzuführen oder? Ja, aber wie man interpoliert, dafür gibt es eine Menge Möglichkeiten z.B. linear, kubisch, quadratisch, .... Es nützt die relativ wenig, wenn Du einfach interpolierst, Du solltest schon wissen wie Deine Daten verteilt sind. Ich kann ja z.B. auch nur 3 Schriftgrößen verwenden und innerhalb jeder Größe interpoliere ich die Farbe. Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Independence Geschrieben 22. Juli 2009 Autor Teilen Geschrieben 22. Juli 2009 Wo habe ich etwas über Gewichtung geschrieben? Bitte lies einmal mein Posting genauer, da steht nichts von einer Gewichtung Aber du hast ja von einer Auswertung am Ende deines 1. Postings gesprochen? Was meinst du denn dann damit? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 22. Juli 2009 Teilen Geschrieben 22. Juli 2009 Aber du hast ja von einer Auswertung am Ende deines 1. Postings gesprochen? Was meinst du denn dann damit? Auswertung = Datenanalyse. Du hast erst einmal Wörter und was machst Du mit diesen? Die Datenanalyse ist hier eine statistische Analyse, die gewissen Gesetzmäßigkeiten folgt. Das ist der wichtigste Schritt, die visuelle Darstellung (Interpolation von Schriftgrößen) ist allenfalls technischer Natur Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Independence Geschrieben 23. Juli 2009 Autor Teilen Geschrieben 23. Juli 2009 Entschuldige wenn ich so dumm frage, aber reicht es als auswertung nicht auch, einfach die häufigkeit eines Tags zu zählen? Und wo ist der Unterschied zwischen Auswertung und Gewicht eines Tags? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. Juli 2009 Teilen Geschrieben 23. Juli 2009 Entschuldige wenn ich so dumm frage, aber reicht es als auswertung nicht auch, einfach die häufigkeit eines Tags zu zählen? Sicherlich nicht, schau Dir den Artikel zu Häufigkeiten an (absolut, relativ, kummulativ). Zusätzlich spielt auch eine Rolle, wie Du die gewonnen Daten entsprechende auf Deine gedanklichen Achsen aufträgst und dann darüber interpolierst Und wo ist der Unterschied zwischen Auswertung und Gewicht eines Tags? Eine Gewichtung ist z.B. die Multiplikation mit einem Skalar / Vektor, z.B. wenn in einer Reihe gerade Zahlen immer additiv hinzu kommen und ungerade subtraktiv. Dann ergibt sich multipliziere ich anhand der Position einfach mit (-1)^i (entsprechende Gewichte hast Du bei Feed-Forward-Netzen). Siehe dazu Gewichtung ? Wikipedia Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Independence Geschrieben 23. Juli 2009 Autor Teilen Geschrieben 23. Juli 2009 ok und könntest du das mit der Auswertung noch etwas näher erklären? was genau passiert bei der Datenanalyse? muss ich nun die Daten im Rahmen der Auswertung gewichten? generell: mit welchen schritten würdest du beginnen, wenn du die mathematische struktur für eine tag cloud entwickeln müsstest? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. Juli 2009 Teilen Geschrieben 23. Juli 2009 ok und könntest du das mit der Auswertung noch etwas näher erklären? was genau passiert bei der Datenanalyse? Ich werde Dir hier sicherlich keine Einführung in Statistik bzw Stochastik geben können. Das Wissen musst Du Dir selbst aneignen muss ich nun die Daten im Rahmen der Auswertung gewichten? Das sind sind Fragen, die problembezogen zu beantworten sind generell: mit welchen schritten würdest du beginnen, wenn du die mathematische struktur für eine tag cloud entwickeln müsstest? Datenhäufigkeit ermitteln, versuchen daraus den Schluss auf die Verteilung zu bekommen und dann überlegen wie ich das visuell sinnvoll darstelle. Ich denke mal, dass man mit der Power-Law Verteilung schon recht gut liegt. Die visuelle Ansicht ist ja in das Design der Webseite anzupassen Ich würde wohl eher ein völlig anderes Verfahren einsetzen Clusteranalyse ? Wikipedia weil ich damit auch Ähnlichkeiten der Tag ermitteln kann, da z.B. das Wort "Dorf" bzw "Stadt" letztendlich eine ähnliche Bedeutung haben. Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Independence Geschrieben 23. Juli 2009 Autor Teilen Geschrieben 23. Juli 2009 Ich würde so vorgehen: Ich würde zuerst mal die Häufigkeit, mit der ein Tag vorkommt ermitteln. Dann würde ich zusammen mit der Häufigkeit und eventuell anderen Parametern (wie zb. Datum) eine Gewichtung der Tags erstellen. Nun würde ich mir ansehen, wie die Taggewichtungen verteilt sind (wie du sagstest warscheinlich eine Power-law-verteilung), und anhand dessen eine passende Interpolation zur Größenermittlung durchführen. Wäre dieses Verfahren i.A. korrekt, oder vergesse ich etwas? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. Juli 2009 Teilen Geschrieben 23. Juli 2009 I Ich würde zuerst mal die Häufigkeit, mit der ein Tag vorkommt ermitteln. Dann würde ich zusammen mit der Häufigkeit und eventuell anderen Parametern (wie zb. Datum) eine Gewichtung der Tags erstellen. Nun würde ich mir ansehen, wie die Taggewichtungen verteilt sind (wie du sagstest warscheinlich eine Power-law-verteilung), und anhand dessen eine passende Interpolation zur Größenermittlung durchführen. Du hast mein Post gelesen? Das ist nur um die Gewichtung bezügl des Datums erweitert. Wenn Du den Wiki Artikel zu Schlagwortwolke ? Wikipedia liest, dann steht dort: Prinzipiell wird die Schriftgröße eines Schlagwortes in einer Schlagwortwolke durch dessen Häufigkeit bestimmt. [...] Bei kleinen Häufigkeiten genügt es, für jede Anzahl von eins bis zu einem Maximalwert die Schriftgröße direkt anzugeben. Für größere Werte sollte eine Normierung vorgenommen werden. Bei einer linearen Normierung wird das Gewicht ti eines Deskriptors auf eine Größenskala von 1 bis f abgebildet, wobei tmin und tmax den Wertebereich der vorhandenen Gewichte angeben. [...] Da die Anzahl indexierter Objekte pro Schlagwort üblicherweise nach einem Potenzgesetz verteilt ist, ist für größere Wertebereiche eine logarithmische Darstellung sinnvoll. [...] Für flektierende Sprachen wie das Deutsche müssen die Wörter vor dem Zählen zuerst lemmatisiert also auf ihre Grundform reduziert werden. Was willst Du jetzt von mir jetzt wissen? Ob das korrekt ist was Du da machen willst, woher soll ich das beantworten können? Ich kenne weder Daten noch, das was dabei raus kommen soll. Wenn Du so etwas implementieren sollst, dann musst Du entweder ein fertiges Tool dafür nehmen oder Dich eben mit der Mathematik / Algorithmik auseinander setzen. Aber wie Du auch siehst, ist die Datengrundlage extrem wichtig, damit Du die Häufigkeiten ermitteln kannst, je nach Sprache musst Du eben zuerst lemmatisieren. Generell es gibt ein unzählige Menge an Visualisierungsalgorithmen, eben das von mir genannte Clustering (da unterschiedliche Varianten), MDS, Isomap, PCA (Hauptkomponentenanalyse ? Wikipedia), .... (nur mal um ein paar zu nennen). DIe Kernfrage bleibt, "was" soll Dir die Visualisierung als Ergebnis liefern, "was" hast Du für Daten und ggf. ob Du Deine Daten zuerst vorverarbeiten musst. Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.