Algorithmus zur Implementierung einer Wortwolke wie Wordle
Kontext
- Werfen Sie einen Blick auf Wordle: http://www.wordle.net/
- Es ist viel besser aussehend als alle anderen word cloud-Generatoren, die ich gesehen habe
- Hinweis: die Quelle ist nicht verfügbar - Lesen Sie die FAQ: http://www.wordle.net/faq#code
Meine Fragen
- Gibt es einen Algorithmus zur Verfügung, der tut, was Wordle?
- Wenn Nein, was sind einige alternativen, die produziert eine ähnliche Art der Ausgabe?
Weshalb ich Frage,
- einfach nur neugierig
- lernen wollen
InformationsquelleAutor der Frage namenlos | 2008-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin der Schöpfer von Wordle. Hier ist, wie Wordle funktioniert tatsächlich:
Zählen Sie die Wörter, wegwerfen langweilig Wörter, sortiert nach der Anzahl absteigend. Halten Sie die top-N-Wörter für einige N. Ordnen Sie jedem Wort eine Schriftgröße proportional zu Ihrer Anzahl. Generieren Sie ein Java2D-Form für jedes Wort, mit dem Java2D-API.
Jedes Wort "will" zu sein, irgendwo, wie "einige zufällige x-position in der vertikalen Mitte". In absteigender Reihenfolge der Häufigkeit, tun Sie dies für jedes Wort:
Das ist es. Die schwer Teil ist dabei der Schnittpunkt-Prüfung effizient, für die ich in letzter Treffer caching, hierarchische bounding-Boxen, und einen quadtree spatial index (all die Dinge, die Sie können lernen, mehr über einige fleißig googeln).
Edit: Als Reto Aebersold wies darauf hin, es gibt jetzt ein Buch, das Kapitel frei zur Verfügung, deckt das gleiche Gebiet: Schöne Visualisierung, Kapitel 3: Wordle
InformationsquelleAutor der Antwort Jonathan Feinberg
Hier ist eine wirklich schöne javascript-eines von Jason Davies, d3 verwendet. Sie können sogar verwenden webfonts.
Demo:
http://www.jasondavies.com/wordcloud/
Github:
https://github.com/jasondavies/d3-cloud
InformationsquelleAutor der Antwort johnpolacek
Habe ich implementiert einen Algorithmus, wie beschrieben von Jonathan Feinberg mit python erstellen einer tag-cloud. Es ist weit entfernt von den schönen Wolken von wordle.net aber es gibt Ihnen eine Vorstellung davon, wie es getan werden könnte.
Finden Sie das Projekt hier.
InformationsquelleAutor der Antwort Reto Aebersold
Ich habe eine Silverlight-Komponente, verwendet der Algorithmus Jonathan schlägt hier. Der Quellcode und Beispiel-Projekten zur Verfügung stehen und alle auf meinem blog:
http://whydoidoit.com
My cloud können Sie die Farbe und die Größe Wörter basiert auf unterschiedlichen Gewichtungen und es unterstützt word-Auswahl (aus einer Koordinate) und ausgewählte Wort-highlighting. Die Quelle liegt bei Ihnen zu verwenden, wie Sie sehen, passen.
InformationsquelleAutor der Antwort Mike Talbot
Arbeite ich an WordCrameine Verarbeitungs-Bibliothek für die Herstellung von word-clouds. Es ist ziemlich stark beeinflusst durch Wordle, und informiert durch den gleichen PDF-aeby im Zusammenhang mit oben. Es übernimmt die Kollisionserkennung für Sie, und Sie können sich darauf konzentrieren, wie Sie möchten, dass Ihre Worte gelegt, gefärbt, gedreht, usw.
InformationsquelleAutor der Antwort Dan Bernier
http://code.google.com/apis/visualization/documentation/gallery.html
Überprüfen Sie heraus die word-cloud-Visualisierung. Nicht so schick wie wordle.net aber wirklich einfach zu Ihrer site hinzufügen.
InformationsquelleAutor der Antwort Wavel
Ich war auf der Suche für ein wordle-wie Visualisierung, die es ermöglichen würde, legen Sie die Farbe, die ursprüngliche Lage und Größe eines Strings in Bezug zu anderen Daten, wie die Relevanz in einem text - hat nichts gefunden, aber Dank der Informationen, die ich hier gefunden (vor Allem Jonathan Erklärung und aeby ' s link), konnte ich endlich umsetzen 'Cloudio', das kommt relativ nah an wordle (zumindest glaube ich das...) und bietet die Funktionen, die ich suchte.
Umsetzung mit SWT und JFace, und ich habe versucht, ihn zu integrieren in das MVC-Modell von JFace, so dass Sie festlegen können, content - und label-Providern zum ändern des Layouts einer Wolke, und fügen Sie es zu anderen Eclipse-Plug-ins und RCP Anwendungen. Sie können auch ändern, wie die erste position einer Zeichenkette berechnet, so dass ist nicht schwierig zu benutzen ist es für die cluster-Visualisierung oder anderes. Es ist immer noch schlecht dokumentiert und beschränkt in gewisser Weise (und ich habe den ersten upload ein paar Stunden her, also könnte es noch ein bisschen buggy), aber wenn es dich interessiert, hier der link:
Und hier ist ein link zu einige Wolken, im Fall Sie möchten einen schnellen Eindruck: https://github.com/sschwieb/Cloudio/wiki/Example-Clouds
Cheers,
Stephan
InformationsquelleAutor der Antwort sschwieb
Hier finden Sie meine Implementierung von Wordle wie cloud.
Es verwendet die gleiche Spirale Algorithmus und die QuadTree-Datenstruktur.
http://sourcecodecloud.codeplex.com
oder
http://www.codeproject.com/Articles/224231/Word-Cloud-Tag-Cloud-Generator-Control-for-NET-Win
InformationsquelleAutor der Antwort George Mamaladze
Löwe und Lamm ist ein open-source-iOS-app, die erstellt word clouds mit am häufigsten Wörter aus einem selbst gewählten Buch der Bibel.
Er basiert auf dem Algorithmus, wie beschrieben von Jonathan Feinberg. Treffer Tests nicht verwenden einen quad-tree, aber die bounding-Boxen basieren auf der glyph bounding-Rechteck. Ich möchte zu brechen, die die Glyphe unten in viele kleinere bounding rects zu ermöglichen, word-Platzierung innerhalb eines glyph bounding-box.
GitHub: https://github.com/PetahChristian/LionAndLamb
InformationsquelleAutor der Antwort
Habe ich eine Tag-Cloud-generator hier, das nenne ich Disorganizer 🙂
Quellen TagCloudService
und die razor markup control
und ein WinForm-für Testzwecke
Sie können Ihren blog, Profil, etc., mit einem kleinen wrapper um ihn herum. Es verwendet C# 4.0 & Systems.Drawing-namespace stark.
Erstellt habe ich es, weil mit den anderen cloud-Generatoren nicht möglich, klicken Sie auf tags zu navigieren und erstellen nicht-hover-Animationen, um zu zeigen, dass Sie anklickbar sind. Da zeigt hover-animation in HTML ist notwendig für mich (ich Tue dies mit overlay-ed -, absolut-positioniert
<a>
tags) habe ich noch nicht entwickelt-Winkel-Wort-Anzeige - Sie sind entweder vertikal oder horizontal.Achtung :Die obigen links gehen können, invalid in ein paar Monaten, habe ich vor, langsam lösen Sie es aus den umliegenden Projekt in ein separates Projekt.
Finden Sie eine funktionsfähige demo -an diesem Beispiel blog-postaber es ist unvollständig, und in einer unvollständigen Seite. Kontaktieren Sie mich, wenn jemand dazu beitragen möchte, bekomme ich auf mit der Trennung es so schnell wie möglich.
InformationsquelleAutor der Antwort Zasz
Die Zoombare TagCloud Generator,extrahiert keywords aus einer angegebenen Quelle (text-Datei, und anderen Quellen) und zeigt die TagCloud als Zooming User Interface (ZUI)InformationsquelleAutor der Antwort tanveerakl