Experimente mit den Conditions – Welche Visuellen Darstellungsformen sind möglich?

Was ich eigentlich erreichen wollte war:

  • zeigen, wie sich der Zustand des Erzählers im Verlauf der Zeit ändert
  • wie sich sein Zustand bezogen auf die anderen Charaktere ändert

Nun bin ich mir aber nicht mehr sicher, ob das überhaupt möglich ist.

Ich denke, das Problem an meiner derzeitigen Darstellung ist, dass die Richtung bereits die Zeit darstellt und somit nicht mehr für andere Bedeutungen genutzt werden kann. Auch Farbe ist mehr oder weniger belegt (Geschlecht der Charaktere, Erzähler im Unterschied zu anderen Charakteren).

Mein Gedanke war, für jeden Paragraph, in dem der Erzähler vorkommt, einen Strich von der Mitte nach außen zu zeichnen. Dieser Strich wird dann je nach Emotion coloriert. Weitere mögliche Eigenschaften, wie Handlung (speech, action,..) oder Zustand (mental health, physical health) könnten in weiteren Ringen um den Mittelpunkt dargestellt werden.

In nachfolgendem Screenshot sieht man zumindest schon mal die farbcodieren Emotionen (vereinfacht in positive, negative, neutral) und den Ring darum herum (noch nicht farblich codiert).

Screen Shot 2015-10-13 at 5.16.53 PM

Probleme:

  • man erkennt dabei eigentlich nichts
  • was passiert wenn es mehrere Emotionen in einem Absatz gibt?
  • gemeinsam mit den Relationen wird es ein unübersichtliches Linien-Wirrwarr (darum habe ich sie beim Screenshot ausgeblendet)
  • ich kann nicht auf die gleiche Weise den Zustand der Charaktere zeigen (aufgrund der räumlichen Festlegung)
Werbeanzeigen
Experimente mit den Conditions – Welche Visuellen Darstellungsformen sind möglich?

Visuelle Einteilung in Tales

Da zB in der Geschichte „The Pit and the Pendulum“ nur der Ich-Erzähler vorkommt und keine anderen Charaktere, habe ich nun den Kreis durch die Anzahl der untersuchten Geschichten geteilt und die jeweiligen Charaktere darin platziert. So sieht man auch gleich, wie viele Personen (und wie viele davon weiblich / männlich) in welcher Geschichte vorkommen.

Screen Shot 2015-10-09 at 9.39.02 PM Screen Shot 2015-10-09 at 9.39.45 PM Screen Shot 2015-10-09 at 9.39.54 PM

Bei William Wilson werde ich wohl doch den „Unbekannten“, der sich am Ende als der Ich-Erzähler selbst herausstellt, als Charakter hinzufügen. Sonst ist es ja eigentlich eine inhaltliche Vorwegnahme.

Den Ich-Erzähler habe ich momentan noch nicht hinzugefügt in der neuen Ansicht, da ich gleich in die Umsetzung seiner Emotionen gehen werde.

Da habe ich bereits in der anderen Ansicht probiert, allerdings war das ein eher kläglicher Versuch:

Screen Shot 2015-10-08 at 8.50.34 PMScreen Shot 2015-10-08 at 7.44.03 PM

Visuelle Einteilung in Tales

In an ideal world…

Folgende Probleme und „Nice-to-have“-Funktionen können gelöst und implementiert werden, wenn am Ende dafür Zeit bleibt.

Issues

  • die Relation-rules sind immer noch nicht perfekt.. daran könnte man wsl ewig arbeiten. Schön wäre aber, wenn es immer sauber vom Rest getrennte Satzteile wären.
  • Das Problem mit den 2 Morellas besteht immer noch. Hauptsächlich deshalb, weil mir keine gute Lösung einfällt, aber auch, weil ich es als kein sehr wichtiges Problem erachte. Die einzige „cleane“ Lösung die mir einfällt, ist, nur dann einen temporären Charakter zu erzeugen, wenn im Absatz nur alias-Bezeichnungen von einer Person vorkommen („wife / mother“ oder „daughter“). Das reduziert aber die gefundenen Matches so drastisch, dass mir das irgendwie unsinnig erscheint – vor allem weil der Name Morella so häufig vorkommt. Die einzige „dirty“ Lösung die mir einfällt, ist den rohen Text zu bearbeiten und hinter jedem „Morella“ den passenden aka zu schreiben, z.B. „Morella <DAUGHTER>“, und diesen dann bei jeder Textausgabe rauszuschneiden. Aber ja, das wäre halt ziemlich dirty.
  • William Wilson

Nice-to-haves

  • GUI Elemente um die Darstellung zu beeinflussen:
    • Checkboxen für Relations: [x] Erzähler-Figur Beziehungen, [x] Figur-Erzähler Beziehungen; schalten die jeweiligen Beziehungen an oder aus
    • Darstellungsmodus (betrifft die Farben der Charaktere und der Relations):
      • nach Gender
      • nach Emotion
    • Namen ein- und ausschalten:
      • stellt die Namen der Figuren dar
      • in der viewPerLayer-Ansicht wird auch der Name des Erzählers angezeigt
In an ideal world…

Ausgabe von Paragraph Text und highlighting der Relations

Ok, das habe ich mir wesentlich einfacher vorgestellt. Es war aber nur deshalb ein Problem, weil die Text Funktion von Nodebox OpenGL so schlecht beschrieben ist, und es mich immer noch stark verwirrt, dass der Ursprung in OpenGL links unten statt links oben ist (wenn man also die Überschrift über den Absatz setzen will, muss man seinen y-Wert höher setzen statt niedriger).

Das Ganze sieht dann so aus:

Screen Shot 2015-10-04 at 11.43.12 PM Screen Shot 2015-10-04 at 11.45.30 PM Screen Shot 2015-10-04 at 11.46.05 PM

Ausgabe von Paragraph Text und highlighting der Relations

Emotion Analyse

Während die meisten Sentiment Analysen nur drei Werte vergeben (positive, negative, neutral), ordnet die WordNet Affect Library Begriffe Emotionen zu.

Da diese Library relativ alt ist, hat es gedauert, diese zum Laufen zu bringen. Man muss dazu die veraltete WordNet Version 1.6 anstatt die aktuelle 3.0 (die auch in der NLTK Library integriert ist) verwenden. Da ich das über normale Installationsversuche nicht geschafft habe, wird diese nun mittels dem NLTK WordNetCorpusReader geladen.

Daraufhin habe ich mal die bisher gewonnenen Conditions und Relations durch die „get_emotions“ Funktion laufen lassen, und folgenden Output bekommen:

Screen Shot 2015-10-03 at 1.33.50 PM Screen Shot 2015-10-03 at 1.36.56 PM

Ich denke, dass ich damit schon viel anfangen kann. Wenn ich es schaffe, die Conditions den Emotionen zuzuordnen, erhalten diese eine effektive Aussage. Ich könnte dann jeder Emotion eine visuelle Repräsentation zuordnen, und somit den „Gemütszustand“ der Personen darstellen.

Emotion Analyse

To Do: Tasks bis zum 10.Oktober

Analyzer:

  • relations grammar überarbeiten *)
  • WordNet Domains Affect Library zum Laufen bringen
  • Conditions nach Emotionen analysieren
  • Conditions den tempCharacters zuordnen

Visualizer:

  • Functions defaultView() und viewPerLayer(layerID) implementieren
  • Slider einbauen
  • Visualisierungsversuche der Conditions

*)
grammar = r“““
NP: {<DT|TO|IN>?<PRP|PRP\$>+<IN|DT>?<CD>?<JJ.*|RB.*|CC|DT>*<NN|NNS|NNP>+(<IN|DT>*<JJ.*>*<NN|NNS|NNP>+)?(<DT|IN>?<JJ.*|RB.*>*)?}
REL: {<VB.*>?<PRP|NNP>+<VB.*|RB.*>+<NP>+<VB.*|RB.*|JJ.*>*<IN|DT>*<PRP|NN.*>?}
REL: {<DT>?<PRP|NNP>+<VB.*|RB.*>+<IN|TO>?<PRP|NNP>+<NP>?<MD|VB.*|RB.*|RP>*<JJ.*>*<IN|DT>*<PRP|NN.*>?}
REL: {<PRP|NNP>+<CC><PRP|NNP>?<VB.|RB><NN|NNS>}
„““

To Do: Tasks bis zum 10.Oktober