Angenommen, ich habe eine große Liste von Objekten (Tausende oder Zehntausende), von denen jedes mit einer Handvoll Tags versehen ist. Es gibt Dutzende oder Hunderte möglicher Tags, und ihre Verwendung folgt einem typischen Potenzgesetz: Einige Tags werden extrem häufig verwendet, aber die meisten sind selten. Alle außer den häufigsten paar Dutzend Tags könnten in der Tat in der Regel ignoriert werden.
Das Problem besteht nun darin, wie man die Beziehung zwischen diesen Tags visualisieren kann. Eine Tag-Cloud ist eine schöne Visualisierung der Frequenzen, aber sie ignoriert, welche Tags mit anderen Tags auftreten. Angenommen, der Tag :bar tritt nur bei Objekten auf, die auch mit :foo getaggt sind. Das sollte visuell erkennbar sein. Gleiches gilt für drei Tags, die tendenziell zusammen auftreten.
Man könnte jeden Tag zu einer Blase machen und sie teilweise überlappen lassen. Technisch betrachtet ist das ein Venn-Diagramm, aber es so zu behandeln könnte umständlich sein. Google Charts zum Beispiel kann Venn-Diagramme erstellen, aber nur für 3 oder weniger sets (tags): http://code.google.com/apis/chart/docs/gallery/venn_charts.html
Der Grund, warum sie es auf 3 sets beschränken, ist, dass es bei mehr schrecklich aussieht. Siehe "Erweiterungen auf höhere Anzahlen von sets" auf der Wikipedia-Seite: http://en.wikipedia.org/wiki/Venn_diagrams
Aber das gilt nur, wenn jede mögliche Schnittmenge nicht leer ist. Wenn nicht mehr als 3 Tags jemals gemeinsam auftreten (vielleicht nach dem Aussortieren der seltenen Tags), dann könnten eine Sammlung von Venn-Diagrammen funktionieren (wobei die Größen der Blasen die Tag-Frequenz repräsentieren).
Oder vielleicht ein Graph (mit Knoten und Kanten), bei dem visuell dickere oder dünnere Kanten die Häufigkeit des gemeinsamen Auftretens repräsentieren.
Haben Sie irgendwelche Ideen oder Hinweise auf Tools oder Bibliotheken? Idealerweise würde ich das mit JavaScript machen, aber ich bin offen für Dinge wie R und Mathematica oder wirklich alles andere. Ich bin bereit, einige tatsächliche Daten zu teilen (du wirst lachen, wenn ich dir sage, wofür es steht), wenn jemand neugierig ist.
Nachtrag: Die Anwendung, die ich ursprünglich im Sinn hatte, war TagTime, aber mir fällt auf, dass dies auch gut auf das Problem der Visualisierung meiner leckeren Lesezeichen zutrifft.
1 Stimmen
Du hast anscheinend den Teil über Programmierung aus deiner Frage weggelassen.
0 Stimmen
Er fragt, welche Bibliotheken er verwenden sollte. Es sei denn, er möchte ein Buch ausleihen, handelt es sich wahrscheinlich um eine Programmierfrage.