Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Visualisierung von von Daten (https://www.delphipraxis.net/159267-visualisierung-von-von-daten.html)

frieder2008 21. Mär 2011 09:13

Visualisierung von von Daten
 
Liebe Leute,

ich habe ein neues Problem, bei dem mir bisher jeglicher Ansatz fehlt:

Ich habe Daten, die miteinander verglichen werden. Als Ergebnis dieser Vergleichsbereichnungen habe ich zB 10 Dateien, die jeweils die Vergleichswerte ('Ähnlichkeit') zu allen anderen Dateien enthalten:

DataName1
DataName2 VergleichsWert2-1
DataName3 VergleichsWert3-1
DataName4 VergleichsWert4-1
...

DataName2
DataName1 VergleichsWert1-2
DataName3 VergleichsWert3-2
DataName4 VergleichsWert4-2
...

DataName10
DataName1 VergleichsWert1-10
DataName2 VergleichsWert2-10
DataName3 VergleichsWert3-10


Ich habe also eine Matrix an Daten (String/Wort) und ihrer 'Ähnlichkeit' (Extended). Ich möchte jetzt gerne alle Daten so visualisieren, dass zu jedem Datensatz zB die ersten 3 'ähnlichsten' anderen DS gruppiert werden - und das natürlich iterativ.

Bisher habe ich die Daten immer als DOT exportiert und in Gephi automatisch visualisiert. Ich würde das aber gerne im kleinen selbst bauen (nicht in Netzwerk- sondern z.B. als 'Ähnlichkeitsfelder'-Darstellung).

Hat jemand eine Idee für einen Ansatz? - Ich habe von Datenvisualisierung in delphi (TGraphic o.ä.) kaum/keine Erfahrung.

Danke und viele Grüße,
frieder

sx2008 21. Mär 2011 09:40

AW: Visualisierung von von Daten
 
Zitat:

Zitat von frieder2008 (Beitrag 1089978)
'Ähnlichkeitsfelder'-Darstellung

??? Hier sagt ein Bild mehr als 1000 Worte.
Aufmalen, abfotografieren, nachbearbeiten und hier posten wäre ne gute Möglichkeit.

frieder2008 21. Mär 2011 09:48

AW: Visualisierung von von Daten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, stimmt.

Das angehängte Bild ist ein Screenshot eines Programms (CCDB), das ähnliches realisiert. Das Bild visualisiert die Ähnlichkeit von Wörtern. Man stelle sich nun dazu vor, dass hinter jedem abgebildeten Wort ein DS mit den 'Ähnlichkeitswerten' (Extended) aller anderen Wörter steckt und danach werden die Wörter dann 'automatisch' gruppiert.

Wenn ich sowas hinbekäme, wärs natürlich saucool. Aber vielleicht gibts andere Ideen?

Danke und Gruß,
frieder

Klaus01 21. Mär 2011 09:58

AW: Visualisierung von von Daten
 
.. vielleicht sehe ich es nicht richtig.

Aber auf dem Bild ist nicht die Ähnlichkeit von Wörtern,
sondern die Ähnlichkeit der Bedeutung der Wörter zu sehen.

Zum ersteren würde mir Levenshstein Distanz einfallen.

Zu zweiteren eine große Datenbank mit Wörtern und deren Bedeutung.

Grüße
Klaus

BUG 21. Mär 2011 10:13

AW: Visualisierung von von Daten
 
Zitat:

Zitat von Klaus01 (Beitrag 1089982)
Aber auf dem Bild ist nicht die Ähnlichkeit von Wörtern,
sonder die Ähnlichkeit der Bedeutung der Wörter zu sehen.

Das ist völlig egal, da er die "Ähnlichkeitswerte" bereits hat und es nur um die Darstellung geht ;)

frieder2008 21. Mär 2011 10:15

AW: Visualisierung von von Daten
 
Ja, richtig. Visualisiert werden soll auch bei mir die Ähnlichkeit von Wortbedeutungen; wie das geht, weiß ich und ist bereits implementiert. Problem ist die Visualisierung.

Zitat:

Zitat von Klaus01 (Beitrag 1089982)
Zum ersteren würde mir Levenshstein Distanz einfallen.

Oje, ich bin kein Mathematiker/Informatiker ;) Dieses Prinzip war mir bereits bekannt, aber ich habe nicht die geringste Ahnung, wie ich das codetechnisch angehen könnte, mit welchen Komponenten o.ä.

Eine Idee wäre folgende, zu der ich aber einen delphi-Ansatz/Anfang bräuchte:
- Feste Matrix an Feldern (z.B. 10x10 Wörter)
- Startwort festlegen und in die Mitte setzen
- die ersten 4 'ähnlichsten' Wörter drum herum gruppieren

###########Wort3
#############|
####Wort2 - WortUrspr - Wort1
#############|
###########Wort4

- Dann Wort2 nehmen, erste 4 ähnlichste Wörter dazu und ebenso um Wort2 herum gruppieren
* dabei 'Ähnlichkeit' zu allen anderen bisher dargestellten Wörtern prüfen
* Wenn z.B. Wort2x1 auch im 'Ähnlichkeitsradius (erste 4 ähnlichste Wörter)' von Wort1 liegt, dann entsprechend umgruppieren

###########Wort2 - Wort2x1[=Wort5]
#############|#####|
####Wort3 - WortUrspr - Wort1
#############|
###########Wort4

Tja, aber WIE umgruppieren?!?

(Ich glaube, visualisieren müsste ich dann nicht einmal als Bild, sondern da reichte dann ja eine Tabelle o.ä.).

Gruß, frieder

Klaus01 21. Mär 2011 10:36

AW: Visualisierung von von Daten
 
.. würde ich grafisch lösen.

Verschiedene Radien welche die Distanz zum "Ursprungswort" (Zentrum) verdeutlichen.
O.k. das würde nur funktionieren wenn sich alle Ähnlichkeiten auf das "Ursprungswort"
beziehen.

Grüße
Klaus

Gausi 21. Mär 2011 11:07

AW: Visualisierung von von Daten
 
Du hast also gewissermaßen eine Matrix, die Ähnlichkeiten zwischen den Objekten angibt, und willst die Objekte so anordnen, dass ähnliche Objekte nahe beieinander stehen?

Das ist allgemein ein ziemlich komplexes Thema, und lässt sich z.B. mit Multidimensionaler Skalierung lösen, bzw. mit dem SMACOF-Verfahren. Damit hast du zwar immer noch nicht die Tabellenstruktur, aber das wäre ein erster Ansatz, um die Wörter zu plazieren.

Für Nicht-Mathematiker ist das wahrscheinlich nichts - ggf. gibt es für den Fall hier noch einfachere Methoden.

http://de.wikipedia.org/wiki/Multidi...ale_Skalierung
http://en.wikipedia.org/wiki/Stress_majorization

BUG 21. Mär 2011 11:26

AW: Visualisierung von von Daten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn das keine wissenschaftliche Anwendung ist, würde ich mir erstmal nicht so viele Gedanken machen und die Tabelle mit einem einfachen Schema ausfüllen, wobei man schon benutzte Worte einfach wegstreicht nicht mehr betrachtet.

Hier ein Vorschlag, um eine weitere "Schicht" hinzuzufügen:
Anhang 33667
Dazu bräuchtest du noch die Möglichkeit, den Abstand zu 2 Worten zu ermitteln, was man probeweise einfach mit sqrt(sqr(DistanzZuA) + sqr(DistanzZuB)) regeln könnte.


Eventuell reicht so ein naiver Ansatz ja aus :stupid:

frieder2008 21. Mär 2011 11:36

AW: Visualisierung von von Daten
 
Danke für die Infos.

Zitat:

Zitat von BUG (Beitrag 1090006)
wobei man schon benutzte Worte einfach wegstreicht.

Hm, das verstehe ich doch nicht ganz. Es sollen eig. keine Wörter gestrichen werden, sondern dann im Zweifel umgruppiert. Aber ich sehe ein, dass das nicht so einfach wird.

Zitat:

Zitat von Gausi (Beitrag 1090001)
Du hast also gewissermaßen eine Matrix, die Ähnlichkeiten zwischen den Objekten angibt, und willst die Objekte so anordnen, dass ähnliche Objekte nahe beieinander stehen?

Ja. Bei Gephi lässt sich das schon ganz gut automatisch machen, ist aber halt extern und wird als Netzwerk dargestellt. Und ich habe keinen weiteren Zugriff auf die Visualisierung (Click-Ereignis o.ä.).

Zitat:

Zitat von Gausi (Beitrag 1090001)
Das ist allgemein ein ziemlich komplexes Thema, und lässt sich z.B. mit Multidimensionaler Skalierung lösen, bzw. mit dem SMACOF-Verfahren. Damit hast du zwar immer noch nicht die Tabellenstruktur, aber das wäre ein erster Ansatz, um die Wörter zu plazieren.

Hat das hier schon mal jemand gemacht oder gibt es irgendwo einen Bsp.-Code, dem ich mich experimentell mal nähern könnte?

Oder weitere Ideen?

Danke und gruß,
frieder


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz