Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:styloahonline:handbuch [2023-11-08] – [GUI Konzept] Hannes Kahl | de:styloahonline:handbuch [2024-09-11] (aktuell) – [Mehrer Config files] Hannes Kahl | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== stylo ah online | + | ====== stylo-ah-online |
- | ===== Ursprung: | + | ===== Ursprung: |
- | Im Rahmen | + | Im Rahmen unserer |
- Die Möglichkeit zur Selbstdokumentation der Experimente ist gering. | - Die Möglichkeit zur Selbstdokumentation der Experimente ist gering. | ||
- Die Interaktion zwischen Python und R ist problematisch. | - Die Interaktion zwischen Python und R ist problematisch. | ||
- Die Möglichkeit eines einfachen Einsatzes von Multiprocessing ist fraglich. | - Die Möglichkeit eines einfachen Einsatzes von Multiprocessing ist fraglich. | ||
- | - Die Software ist teilweise schwierig zu installieren. | + | - Die Software ist teilweise schwierig zu installieren |
- | Daher wollte | + | Daher wollten |
===== Links zum Thema ===== | ===== Links zum Thema ===== | ||
Zeile 14: | Zeile 14: | ||
- [[ https:// | - [[ https:// | ||
- [[ https:// | - [[ https:// | ||
- | - [[ http:// | + | - [[ http:// |
===== Implementierte Analyse-Pipeline(s) ===== | ===== Implementierte Analyse-Pipeline(s) ===== | ||
- | Die Implementierte Textanalyse verläuft in sieben Schnitten. Diese stellen die Abfolge bzw. die Pipeline der Verarbeitung dar: | + | Die Implementierte Textanalyse verläuft in sieben Schnitten. Diese Schritte |
- Auswahl der Files (Corpus) (jedes File repräsentiert einen Text) | - Auswahl der Files (Corpus) (jedes File repräsentiert einen Text) | ||
- Normalisierung (Formatanpassung, | - Normalisierung (Formatanpassung, | ||
- | - Zerlegung in Token (Wortformen, | + | - Zerlegung in Token (Wortformen, |
- | - Zählung / Vektorbildung (01-Kodierung, | + | - Zählung / Vektorbildung (01-Kodierung, |
- Auswahl aus den Vektoren (Beschränkung der Häufigkeitsliste, | - Auswahl aus den Vektoren (Beschränkung der Häufigkeitsliste, | ||
- Anwendung eines Maßes | - Anwendung eines Maßes | ||
Zeile 31: | Zeile 31: | ||
===== Funktionsüberblick ===== | ===== Funktionsüberblick ===== | ||
- | In stylo ah online sind folgende Funktionen verfügbar: | + | In stylo-ah-online sind folgende Funktionen verfügbar |
<box 100% round #FFFFFF #F4F8FD #F6F6F6 #286da8 left |**Normalisierung: | <box 100% round #FFFFFF #F4F8FD #F6F6F6 #286da8 left |**Normalisierung: | ||
__Normalform__ | __Normalform__ | ||
- | Wortmaskierung (Stopworte) | + | Wortmaskierung (Stoppwörter) |
__ Vereinheitichen bestimmter Zeichen__ | __ Vereinheitichen bestimmter Zeichen__ | ||
UV-Angleich | UV-Angleich | ||
Zeile 62: | Zeile 62: | ||
__ __ | __ __ | ||
Zerlegung in Wortformen | Zerlegung in Wortformen | ||
- | __ Zerlegung in Buchstaben | + | __ Zerlegung in Buchstaben-N-Gramme__ |
- | Zerlegung in Buchstaben | + | Zerlegung in Buchstaben-N-Gramme |
- | __ Zerlegung in Wort n-grame__ | + | __ Zerlegung in Wort-N-Gramme__ |
- | Zerlegung in n-grame mit Lücken | + | Zerlegung in n-Gramme |
__ Zerlegung in Pseudo-Silben __ | __ Zerlegung in Pseudo-Silben __ | ||
Zerlegung in Kopf Körper und Coda | Zerlegung in Kopf Körper und Coda | ||
Zeile 126: | Zeile 126: | ||
<box 100% round #FFFFFF #F4F8FD #F6F6F6 #286da8 left |**Gruppierung: | <box 100% round #FFFFFF #F4F8FD #F6F6F6 #286da8 left |**Gruppierung: | ||
- | hierarchische Clusterung, multidimensional scaling (MDS), | + | hierarchische Clusterung, multidimensional scaling (MDS), |
</box |Gruppierung> | </box |Gruppierung> | ||
Zeile 132: | Zeile 132: | ||
==== GUI Konzept ==== | ==== GUI Konzept ==== | ||
- | Jeder Verarbeitungsschritt wird in einem Konfigurationsschritt eingestellt. Jeder Konfigurationsschritt besitzt ein zusätzliches Kommentarfeld und eine der Anzeige der Zwischenergebnissen (rechte Spalte). Die GUI empfindet die Schritte der Textanalyse nach. Einzige Ausnahme bildet die Auswahl des Corpus, die ist zwar an oberer Stelle angezeigt, aber von der Benutzung her ist das der letzte Schritt! Jedes GUI-Element ist mit einer Beschriftung versehen. Sofern die Funktion einer weiteren Erklärung bedarf, | + | Jeder Verarbeitungsschritt wird in einem Konfigurationsschritt eingestellt. Jeder Konfigurationsschritt besitzt ein zusätzliches Kommentarfeld und eine der Anzeige der Zwischenergebnissen (rechte Spalte). Die GUI empfindet die Schritte der Textanalyse nach. Einzige Ausnahme bildet die Auswahl des Corpus; die ist zwar an oberer Stelle angezeigt, aber von der Benutzung her ist das der letzte Schritt! Jedes GUI-Element ist mit einer Beschriftung versehen. Sofern die Funktion einer weiteren Erklärung bedarf, ist zusätzlich eine kursive Erklärung angefügt. |
==== Überblick zur Benutzung ==== | ==== Überblick zur Benutzung ==== | ||
- | | + | |
- | | + | |
- | - Erneute Berechnung | + | - Erneute Berechnung |
- | ==== Die einzelnen Schritte der Textanalyse benutzen | + | ==== 1. Konfiguration des Browsers |
- | === Arbeitsschritt: Browser Voreinstellungen === | + | Speicherort: Legen Sie einen Ordner an, in welchem die Ergebnisse von stylo-ah-online gespeichert werden können. Konfigurieren Sie ihren Browser so, dass er die Dowloads in diesem Ordner ablegt. Die Anleitung für Firefox: [[https:// |
- | Speicherort, Web-Konsole, RAM | + | |
- | === Arbeitsschritt: Benennung === | + | |
- | - das Benennungsmodel | + | |
- | - Benennungen in der Config-Datei | + | |
- | - Import Export | + | |
- | - mehrer Konfigurationen speichern | + | |
- | - ... | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | === Arbeitsschritt: | + | |
- | ==== Serien | + | Datenbanken: |
- | - Aufruf von | + | |
- | ==== Browser ==== | + | Web-Konsole: |
- | Welche | + | |
+ | ==== 2. Konfigurieren der Analyseschritte ==== | ||
+ | ==== 2.1 Arbeitsschritt: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Die Benennung beinhaltet zusammengesetzte Namen für die Experimente. Dabei werden die einzelnen Teile der Benennung durch Unterstriche abgetrennt. Leerzeichen in Einträgen werden durch Bindestriche ersetzt. Die einzelnen Einträge der Benennung erlauben verschiedene Organisationsmuster für Experimente. Das Datum wird beim ersten Programmlauf automatisch ausgefüllt. Der einmal erstellte Name charakterisiert den Programmablauf und die Einstellungen genau. Änderungen in der Benennung führt auf ein neues Experiment, welches auch separat gespeichert wird. Die Benennung geht in die Config-Datei ein und ein erneuter Aufruf einer Config-Datei stellt alles unter dieser Bezeichnung wieder her. Auf diese Weise können mehrere Konfigurationen unterschieden werden. | ||
+ | |||
+ | === 2.1.1 Auswahl und Anzahl der Zeichen === | ||
+ | * Dateinamen sollten so lang wie nötig und so kurz wie möglich gehalten werden. | ||
+ | * Es werden nur **Kleinbuchstaben [a-z]** und **Zahlen [0-9]** sowie der **Unterstrich [_]** und **Bindestrich [-]** verwendet. Für von der Software automatisch benannte Dateien wird als Ausnahme die Zeichenklasse [A-Z] zugelassen. | ||
+ | * Es dürfen nicht benutzt werden Sonderzeichen, | ||
+ | * Altgriechische Bezeichnungen zu Werken oder Autoren werden ins lateinische transliteriert, | ||
+ | * Aus Kompatibilitätsgründen sollte die MAX_PATH Einstellung von 260 bei Windows nicht überschritten werden, dass bedeutet, Ordnerstruktur + Dateinamen sollten maximal aus 256 Zeichen bestehen, da die Laufwerksbezeichnung und das unsichtbar endende Nullzeichen mitgezählt werden. Der maximale Pfad auf einem Windows-Laufwerk D wäre demzufolge " | ||
+ | |||
+ | === 2.1.2 Mögliche Bestandteile im Dateinamen === | ||
+ | == Typ des Dokumentes: == | ||
+ | |||
+ | beschluss / protokoll / rechnung / notiz / skizze etc. Ein Typ ist immer dann anzugeben, wenn er sich nicht zwangsläufig aus der Dateiendung ergibt. Bei den Endungen jpg oder png beispielsweise den Typ " | ||
+ | |||
+ | == Subjekt: == | ||
+ | |||
+ | als Subjekt wird jene Enität verstanden, über die eine Aussage getroffen wird. Eine Rechnung über den bestellten Medion-Rechner bei Saturn würde demzufolge als Subjekt saturn und medion bekommen, die Datei mit rechnung_saturn_medion beginnen. | ||
+ | |||
+ | == Status: == | ||
+ | |||
+ | der Bearbeitungzustand des Dokumentes, wenn es der stetigen Veränderung unterworfen ist. Bei Listen böte sich zum Beispiel voll oder unvoll an, um zu erklären, ob sie komplett sind. Bei Office-Dokumenten könnte auf final oder unfinal zurückgegriffen werden. | ||
+ | |||
+ | == ID: == | ||
+ | |||
+ | bei automatisch vergebenen Identifikationsnummern ist es mitunter hilfreich, die ID im Namen zu behalten, um die Datei der Originalversion zuordnen zu können. Zum Beispiel wäre es sinnvoll eine Statistik zu Plutarchs //De tranquillitate animi// aus dem TLG mit tlg0007-096 im Dateinamen zu kennzeichnen. | ||
+ | |||
+ | == Datum: == | ||
+ | |||
+ | Datumsangaben im Dateinamen sind insbesondere dann sinnvoll, wenn ein Dokument unveränderlich zu Archivierung abgelegt werden soll (protokoll_projektmeeting_replikation_2023-04-28.pdf) oder es zu sukzessiven Änderungen kommt, um die Versionierung übersichtlicher zu gestalten (replikation_stylesheed_2023_v01). | ||
+ | |||
+ | == Versionsnummer: | ||
+ | |||
+ | Um die Bedeutung als Versionsnummer klar zu machen wird ein kleines v vorangestellt. Die Anzahl der führenden Nullen ist abhängig von der zu erwartbaren Menge. | ||
+ | |||
+ | == Autorname: == | ||
+ | |||
+ | Auf die Benennung des (letzten) Autoren im Dateinamen sollte verzichtet werden außer eine Dateiversion wird parallel und unabhängig voneinander von mehreren Personen bearbeitet und es entstehen dadurch horizontale (anstatt vertikale) Dateiversionen, | ||
+ | |||
+ | |||
+ | == Dateiendung: | ||
+ | |||
+ | Die Dateiendung bezeichnet den Teil, der nach dem abschließenden Punkt folgt. Er verweist in aller Regel auf den Dateityp, also die Art und Weise, wie die Informationen in der Datei kodiert sind. | ||
+ | |||
+ | |||
+ | ==== 2.2 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Im Abschnitt " | ||
+ | Für umfangreichere Corpora ist es nötig die Darstellung von Zwischenergebnissen zu beschränken. Das kann an dieser Stelle mit dem Haken bei " | ||
+ | |||
+ | == Input eines Config files == | ||
+ | |||
+ | Wenn config files über die "Save config file"- oder "Gen all..." | ||
+ | |||
+ | |||
+ | == Mehrere Config files == | ||
+ | |||
+ | Werden mehrer config files geladen, dann werden diese nacheinander verarbeitet und die Ergebnisse werden, wie angegeben, abgespeichert. Mehrer Konfigurationen dieser Art werden auf dem aktuellen Korpus ausgeführt. | ||
+ | |||
+ | == Serien von config files == | ||
+ | |||
+ | Wenn man die "Gen all..." | ||
+ | |||
+ | == Reset des Tools == | ||
+ | |||
+ | Sowohl das Tool, als auch der Browser | ||
+ | Wenn der Button "Delet configuration" | ||
+ | Wenn der Button " | ||
+ | Wenn man den Button "Reset stylo-ah-online" | ||
+ | Will man die Seite und somit den Zustand (Programmversion) des Tools nicht aus dem Browser-Cach laden, sondern den neusten Code vom Server, dann kann man den Button " | ||
+ | === 2.3 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Im Abschnitt "Input / Replication" | ||
+ | |||
+ | Im Vergleich zu **stylo** ist der Vorgang anders, wenn es um die Auswahl von Corpora geht: In **stylo** genügt es einen Ordner anzugeben, welcher den Ordner " | ||
+ | |||
+ | Mit " | ||
+ | |||
+ | Zudem wird nun ein Histogramm der absoluten Häufigkeiten der Zeichen der Eingabe angezeigt. | ||
+ | |||
+ | |||
+ | |||
+ | === 2.4 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Auf der rechten Seite werden die Zwischenergebnisse des Normalisierungsschritts angezeigt. Man kann somit Einsicht in die Güte der Normalisierung nehmen und gegebenen falls Änderungen vornehmen. Unter dem Anzeigetext befindet sich die Liste der Eingabetexte, | ||
+ | |||
+ | == 2.4.1 Word masking / stop words == | ||
+ | Setzt man den Haken in diesem Abschnitt, dann werden die Wortformen auf der Stopp-Wortliste aus den Strings entfernt. Den Vorgang nennt man ebenfalls Maskierung von Wortformen. Man kann sich mit dem Button die aktuelle Stopp-Wortliste anzeigen lassen. Genauso ist es möglich, eine andere Stopp-Wortliste durch die Eingabe einer Datei, die jedes Stopp-Wort durch ";;;" | ||
+ | |||
+ | == 2.4.2 Sign equalization == | ||
+ | In diesem Abschnitt der Einstellungen geht es um die Behandlung einzelner Zeichen und Zeichengruppen. Die ersten beiden Haken dienen der Vereinheitlichung von diakritischen Zeichen und Strichen. Dadurch wird die unterschiedliche Kodierung visuell gleicher Zeichen vereinheitlicht. Die weiteren Normalisierungen erklären sich (Ersetzung aller u und v durch v, Ersetzung aller i und j durch i, Vereinheitlichung von Schreibweisen Iota und Sigma, Auflösung von Ligaturen, die Lösung einiger Zeichen). | ||
+ | |||
+ | == 2.4.3 Markup / Format == | ||
+ | Vornehmlich geht es um die Lösung zusätzlicher Formatierungsangaben und der Metadaten / Struktur. Sollte die Eingabe in wohlgeformtem XML geschehen, dann löscht der erste Haken dieses unter Verwendung eines XML-Parsers. Sollte dem nicht so sein, dann werden die XML-Tags mittels eines regulären Ausdrucks gelöscht. Hier können zudem Interpunktion und Zeilenumbrüche gelöscht werden. | ||
+ | |||
+ | == 2.4.4 Word level conversions == | ||
+ | Unter die Veränderungen auf Wortformebene zählt alles, was die Wortform als logische, organisatorische Einheit berücksichtigt. Dies betrifft Wortformtrennungen, | ||
+ | |||
+ | == 2.4.5 Combinations == | ||
+ | Hier können Kombinationen von Normalisierungsschritten gewählt werden. Andere Einstellungen werden dann ignoriert. | ||
+ | |||
+ | == 2.4.6 Transliteration == | ||
+ | Sollte es nötig sein Texte ihrem Zeichenbestand nach zu vereinheitlichen, | ||
+ | |||
+ | === 2.5 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | == 2.5.1 Word level decomposition == | ||
+ | Die Einstellungen setzt die Vorstellung von Wortformen um, aus denen ein Text besteht. Jede Auswahl tut etwas mit der Wortform. Es kann nur ein Verfahren gewählt werden. Sollen lediglich Wortformen als Token behandelt werden, dann muss dies über die N-Gramm-Einstellung geschehen. | ||
+ | |||
+ | == 2.5.2 General N-Gram decomposition == | ||
+ | Mittels dieser Einstellung kann der String in N-Gramme (Aufteilungen der Länge N, " | ||
+ | Mit der Auswahl "Word level" zerlegt man den String in " | ||
+ | Mit der Einstellung "sign level of words" teilt man die Zeichen der Wortformen auf. Durch die Auffüllung können Wortendungen und -anfänge kodiert werden. Die Wortübergänge werden nicht kodiert. Mit der Auswahl "signs of whole string" | ||
+ | |||
+ | === 2.6 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Im oberen Pulldown-Menü des Abschnitts kann man sich für die Zählweise entscheiden, | ||
+ | |||
+ | Um dem Umstand verschieden langer Texte noch auf eine andere Weise zu begegnen, existiert die Einstellung "Text length normalization" | ||
+ | |||
+ | Es wird zusätzlich eine Diagramm angegeben, was die Zählung pro Token und Text als Barplot angibt. | ||
+ | |||
+ | == 2.6.1 Most frequent token / words (per text) == | ||
+ | |||
+ | Mit den beiden Zahlenangaben kann der Frequenzrang angegeben werden, der im Profil Berücksichtigung finden soll. Sollen lediglich die Werte der 100 häufigsten Token Betrachtung finden, dann muss man den niedrigsten Rang 0, als minimal zu berücksichtigenden Rang, und den Wert 100, als höchsten zu berücksichtigenden Rang, angeben. | ||
+ | |||
+ | == 2.6.2 Culling == | ||
+ | |||
+ | Mit den beiden Werten kann man angeben, in wie viel Prozent der Texte ein Token mindestens und maximal auftreten soll, um im Profil Berücksichtigung zu finden. Im Kontrast zu Most frequent words oder TF-IDF kann man dabei nicht absehen, wie die Profile beeinflusst werden. Es kann durchaus sein, dass damit null-besetzte Bereiche vermindert werden, allerdings kann auch das Gegenteil eintreten. Hier sollte man die Profile genau untersuchen. | ||
+ | |||
+ | == 2.6.3 Textlängen Normalisierung == | ||
+ | |||
+ | Eine Normalisierung, | ||
+ | === 2.7 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Aus dem Pulldown-Menü können verschiedene Distanzmaße ausgewählt werden, die zum Vergleich zwischen der Token-Profilen benutzt werden sollen. Die Anwendung der Maße auf die Profil-Vektoren ergibt die Distanzmatrix. Die Distanzmatrix ist Grundlage der Gruppierung der Texte untereinander. Manche Maße erfordern die Angabe eines Zahlenwerts. Was dieser bedeutet, ist von Maß zu Maß verschieden. Man sollte die Dokumentation der Maß, wie sie in stylo-ah-online verlinkt ist, konsultieren. | ||
+ | |||
+ | Es wird außerdem eine Darstellung des Distanzmatrix (Distanzen aller Textpaare) als Heatmap angegeben. | ||
+ | |||
+ | === 2.8 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Zur Zeit stehen noch nicht alle Cluster-Verfahren, | ||
+ | |||
+ | Wichtig für die graphische Darstellung sind die Offset-Werte (Bereich für Beschriftungen) und die Größenangabe der Grafik. Die Grafiken können als SVG gespeichert werden und in Veröffentlichungen Einsatz finden. Die Werte beziehen sich auf alle erstellten Grafiken. | ||
+ | |||
+ | === 2.9 Arbeitsschritt: | ||
+ | {{: | ||
+ | |||
+ | Im Abschnitt " | ||
+ | |||
+ | ==== 3. Erneute Berechnung und Serien ==== | ||
+ | |||
+ | stylo-ah-online speichert das Corpus, welches aktuell bearbeitet wird. Es speichert auch Zwischenergebnisse. Werden Änderungen der Konfiguration vorgenommen, | ||
+ | |||
+ | Sollen mehrere verschiedene Konfigurationen ausgeführt und die Ergebnisse exportiert werden, dann legen sie mehrere Config-Dateien an und öffnen diese als Datei-Liste. Jede Konfiguration wird dann auf die gespeicherten Daten des Corpus angewendet. Auch hier kann man von der Wiederverwendung von unveränderten Zwischenergebnissen profitieren. | ||