5.5. 🚀 Analyse 2: Syntaktische N-Gramme#

5.5.1. Hinweise zur AusfĂŒhrung des Notebooks#

Dieses Notebook kann auf unterschiedlichen Levels erarbeitet werden (siehe Abschnitt “Technische Voraussetzungen”):

  1. Book-Only Mode

  2. Cloud Mode: DafĂŒr auf 🚀 klicken und z.B. in Colab ausfĂŒhren.

  3. Local Mode: DafĂŒr auf Herunterladen ↓ klicken und “.ipynb” wĂ€hlen.

5.5.2. Übersicht#

Im Folgenden wird das Korpus mithilfe syntaktischer n-Gramme analysiert. Ziel ist es, wiederkehrende grammatische Muster, insbesondere adjektivische Modifikationen von Substantiven, ĂŒber Zeit zu untersuchen und damit ĂŒber rein lexikalische HĂ€ufigkeiten hinauszugehen. Im Unterschied zur Analyse semantischer Felder stehen hier syntaktisch motivierte Wortkombinationen auf Basis von AbhĂ€ngigkeitsbeziehungen im Fokus, etwa Adjektiv ← Substantiv-Relationen wie „verdorbene ← Luft“, „frischer ← Wind“ oder „dicker ← Qualm“. Untersucht wird, wie hĂ€ufig solche Konstruktionen im Korpus auftreten und wie sich ihr Vorkommen zeitlich entwickelt – um stilistische und diskursive VerĂ€nderungen in der Beschreibung bestimmter Konzepte sichtbar zu machen.

In diesem Notebook-Walkthrough beschrĂ€nken wir uns aus GrĂŒnden der Übersichtlichkeit auf das Substantiv „Luft“, der Code funktioniert jedoch ebenso mit einer ganzen Liste mehrerer Substantive.

Dazu werden die folgenden Schritte durchgefĂŒhrt:

  1. Einlesen des Korpus, der Metadaten sowie der bereits erzeugten spaCy-Annotationen

  2. Auswahl relevanter POS-tags & Dependency-Relationen zur Bildung syntaktischer n-Gramme

  3. Extraktion syntaktischer n-Gramme auf Basis der vorhandenen AbhÀngigkeitsinformationen

  4. Identifikation von Ausreißertexten, die auffĂ€llige Peaks in den Zeitreihen (mit-)verursachen

  5. KWIC-/Kontextansicht ausgewÀhlter Belegstellen aus diesen Texten zur qualitativen Einordnung der syntaktischen Muster

  6. VerÀnderungsorientierte Analyse: Identifikation aufkommender und verschwindender Modifikatoren sowie der ZeitrÀume mit dem stÀrksten Vokabularwandel

  7. Diskussion der Ergebnisse

5.5.3. Import der Bibliotheken#

import sys
!{sys.executable} -m pip install numpy pandas plotly itables tqdm spacy click nbformat
import requests
from pathlib import Path
import re
from typing import Dict, List, Union, Tuple
from collections import OrderedDict, Counter
from time import time

import numpy as np
import pandas as pd

import nbformat
import plotly.express as px
import plotly.io as pio
import plotly.graph_objects as go

from itables import show
from tqdm import tqdm

import spacy
from spacy.tokens import DocBin, Doc

if 'google.colab' in sys.modules:
  pio.renderers.default = "colab"
else:
  pio.renderers.default = "notebook+plotly_mimetype"

Laden des spaCy-Modells

! {sys.executable} -m spacy download de_core_news_sm
nlp = spacy.load("de_core_news_sm")

5.5.4. Einlesen der Annotationen#

In diesem Schritt werden die zuvor erzeugten spaCy-Annotationen aus dem Dateisystem eingelesen. Die gespeicherte Doc-Dateien (siehe Annotation mit Spacy/Dateien schreiben werden zu vollstÀndigen spaCy.Doc-Objekten rekonstruiert und in einer Datenstruktur abgelegt, die eine weitere Analyse erlaubt.

In der folgenden Zelle definieren wir den Pfad zum Quellordner, in dem die spacy-Annotationen als Dateien gespeichert sind. Anschließend erstellen wir diesen Ordner (mit der Methode mkdir, die Ordner anlegen kann):

# 🚀 Create data directory path
# Change path here when using another corpus
annotation_dir = Path("../data/spacy")
annotation_dir.mkdir(parents=True, exist_ok=True)

In der folgenden Zelle erhalten wir die Liste der Dateien in dem Ordner auf GitHub, in dem die wĂ€hrend der Korpusverarbeitung erzeugten spaCy-Annotationen gespeichert sind. Die Liste der direkten URLs zu diesen Dateien wird zunĂ€chst in der Variable url_list gespeichert und anschließend in die lokal abgelegte Textdatei github_txt_file_urls.txt geschrieben.

# 🚀 Create download list 
github_api_txt_dir_path = "https://api.github.com/repos/quadriga-dk/Text-Fallstudie-3/contents/data/spacy"
txt_dir_info = requests.get(github_api_txt_dir_path).json()
url_list = [entry["download_url"] for entry in txt_dir_info]

# 🚀 Write download list as txt file
url_list_path = Path("github_txt_file_urls.txt")
with url_list_path.open('w') as output_txt:
    output_txt.write("\n".join(url_list))

In der folgenden Zelle verwenden wir das Programm wget, um jede Datei herunterzuladen. wget liest dabei die URL jeder Datei mit spaCy-Annotationen aus der Textdatei github_txt_file_urls.txt, die wir im vorherigen Schritt erstellt haben.

# ⚠ Only execute, if you haven't downloaded the files yet!
# 🚀 Download all spacy files from github – this step will take a while
! wget -i github_txt_file_urls.txt -P ../data/spacy

In der folgenden Zelle iterieren wir ĂŒber die .spacy-Dateien und öffnen jede einzelne als spaCy-Objekt in Python (damit alle linguistischen Merkmale des Textes im weiteren Code programmatisch genutzt werden können). ⚠ Die Verarbeitung aller Annotationsdateien dauert mehrere Minuten!

# Create dictionary to save the corpus data (filenames and tables)
annotated_docs = {}

start = time()
# Iterate over spacy files
for fp in tqdm(annotation_dir.iterdir(), desc="Reading annotated data"):
    # check if the entry is a file, not a directory
    if fp.is_file():
        # check if the file has the correct suffix spacy
        if fp.suffix == '.spacy':
            print( f"Loading file: {fp.name}" )
            # load spacy DocBin objects
            doc_bin = DocBin().from_disk(fp)
            chunk_docs = list(doc_bin.get_docs(nlp.vocab))
            # merge bins into one single document
            full_doc = Doc.from_docs(chunk_docs)

            # save the data frame to the dictionary, key=filename (without suffix), value=spacy.Doc
            annotated_docs[fp.stem] = full_doc
took = time() - start

Hide code cell output

Reading annotated data: 0it [00:00, ?it/s]
Reading annotated data: 1it [00:00,  6.04it/s]
Loading file: Gottfried_Keller_-_Die_drei_gerechten_Kammacher_(1856).spacy
Loading file: Levin_SchĂŒcking_-_Hart_am_Rande_(1887).spacy
Reading annotated data: 2it [00:00,  5.38it/s]
Loading file: Ferdinand_von_Saar_-_Marianne_(1873).spacy
Reading annotated data: 3it [00:00,  5.01it/s]
Loading file: Willibald_Alexis_-_Der_Werwolf_1_(1848).spacy
Reading annotated data: 4it [00:01,  3.14it/s]
Reading annotated data: 5it [00:01,  3.94it/s]
Loading file: Christoph_von_Schmid_-_Ludwig,_der_kleine_Auswanderer_(1834).spacy
Loading file: Oskar_Panizza_-_Der_Korsetten-Fritz_(1893).spacy
Loading file: Hermann_Kurz_-_Gesammelte_kleinere_ErzĂ€hlungen_–_Vierter_Teil_(1858).spacy
Reading annotated data: 7it [00:01,  3.95it/s]
Loading file: Oskar_Panizza_-_Die_Menschenfabrik_(1890).spacy
Loading file: Heinrich_Laube_-_Reisenovellen_-_Band_3_(1836).spacy
Reading annotated data: 9it [00:02,  4.19it/s]
Loading file: Fritz_Mauthner_-_Böhmische_Novellen_(1897).spacy
Reading annotated data: 10it [00:02,  2.94it/s]
Loading file: Oskar_Panizza_-_Die_gelbe_Kröte_(1896).spacy
Loading file: Adolf_von_Winterfeld_-_Die_vier_Töchter_des_Rittmeister_Schimmelmann_(1873).spacy
Reading annotated data: 12it [00:03,  2.44it/s]
Reading annotated data: 13it [00:03,  2.93it/s]
Loading file: Heinrich_Seidel_-_Das_Atelier_(1899).spacy
Loading file: Nataly_von_Eschstruth_-_Jung_gefreit_-_1_(1897).spacy
Reading annotated data: 14it [00:04,  2.53it/s]
Reading annotated data: 15it [00:04,  2.90it/s]
Loading file: Ludwig_Tieck_-_Die_Reisenden_(1824).spacy
Loading file: Charles_Sealsfield_-_In_der_PrÀrie_verirrt_(1841).spacy
Loading file: Eduard_Mörike_-_Traumseele_(1875).spacy
Loading file: Achim_von_Arnim_-_Die_KronenwÀchter_(1817).spacy
Reading annotated data: 18it [00:05,  3.51it/s]
Loading file: Franz_von_Gaudy_-_Venetianische_Novellen_(1838).spacy
Reading annotated data: 19it [00:06,  2.57it/s]
Reading annotated data: 20it [00:06,  3.01it/s]
Loading file: Ludwig_Tieck_-_Der_Schutzgeist_(1839).spacy
Loading file: Karl_Gutzkow_-_Eine_Phantasieliebe_(1845).spacy
Reading annotated data: 21it [00:06,  3.38it/s]
Loading file: Fritz_Reuter_-_Eine_Heirathsgeschichte_(1855).spacy
Loading file: Nataly_von_Eschstruth_-_Jung_gefreit_-_2_(1897).spacy
Reading annotated data: 23it [00:06,  3.93it/s]
Loading file: Leopold_Kompert_-_Ohne_Bewilligung_(1848).spacy
Loading file: Clemens_Brentano_-_Die_Chronika_des_fahrenden_SchĂŒlers_(Urfassung)_(1818).spacy
Reading annotated data: 25it [00:07,  4.78it/s]
Loading file: Gustav_Freytag_-_Verlorene_Handschrift_(1864).spacy
Reading annotated data: 26it [00:09,  1.74it/s]
Reading annotated data: 27it [00:09,  2.08it/s]
Loading file: Eduard_Mörike_-_Der_Schatz_(1836).spacy
Loading file: Moritz_Hartmann_-_Der_Krieg_um_den_Wald_-_1_(1850).spacy
Reading annotated data: 28it [00:09,  2.27it/s]
Loading file: ETA_Hoffmann_-_Seltsame_Leiden_eines_Theaterdirektors_(1818).spacy
Reading annotated data: 29it [00:09,  2.57it/s]
Loading file: Karl_May_-_Der_Weg_zum_GlĂŒck._Sechster_Band_(1886).spacy
Reading annotated data: 30it [00:10,  1.72it/s]
Reading annotated data: 31it [00:11,  2.14it/s]
Loading file: Jeremias_Gotthelf_-_Der_Oberamtmann_und_der_Amtsrichter_(1853).spacy
Loading file: Joseph_Schreyvogel_-_Samuel_Brinks_letzte_Liebesgeschichte_(1821).spacy
Reading annotated data: 32it [00:11,  2.70it/s]
Reading annotated data: 34it [00:11,  4.15it/s]
Loading file: Willy_Pastor_-_Der_Tod_des_Judas_(1895).spacy
Loading file: Johannes_Schlaf_-_In_Dingsda_(1892).spacy
Loading file: Louise_von_François_-_Die_letzte_Reckenburgerin_(1871).spacy
Reading annotated data: 35it [00:12,  2.73it/s]
Reading annotated data: 36it [00:12,  3.08it/s]
Loading file: Ernst_Wichert_-_Der_Schaktarp_(1881).spacy
Loading file: Carl_Weisflog_-_BĂŒrgerliche_Historien_(1828).spacy
Reading annotated data: 37it [00:12,  2.92it/s]
Loading file: Willibald_Alexis_-_Der_Roland_von_Berlin_–_Zweiter_Band_(1840).spacy
Reading annotated data: 38it [00:13,  2.52it/s]
Reading annotated data: 40it [00:13,  3.86it/s]
Loading file: Joseph_von_Eichendorff_-_Das_Marmorbild_(1819).spacy
Loading file: Ludwig_Tieck_-_AbendgesprÀche_(1839).spacy
Loading file: Friedrich_GerstÀcker_-_StrÀflinge_(1857).spacy
Reading annotated data: 41it [00:14,  3.16it/s]
Loading file: Felix_Dahn_-_Ein_Kampf_um_Rom_(1876).spacy
Reading annotated data: 42it [00:16,  1.17it/s]
Reading annotated data: 43it [00:16,  1.47it/s]
Loading file: Maximilian_Schmidt_-_'s_Almstummerl_(1888).spacy
Reading annotated data: 44it [00:16,  1.87it/s]
Loading file: Johannes_Schlaf_-_Papa_Hamlet_(1889).spacy
Loading file: Adalbert_Stifter_-_Ein_Gang_durch_die_Katakomben_(1844).spacy
Loading file: Wilhelm_Raabe_-_Die_Leute_aus_dem_Walde_(1863).spacy
Reading annotated data: 46it [00:17,  1.95it/s]
Loading file: Friedrich_GerstÀcker_-_Das_alte_Haus_(1857).spacy
Reading annotated data: 47it [00:18,  2.08it/s]
Loading file: Jeremias_Gotthelf_-_Der_Besenbinder_von_Rychiswyl_(1852).spacy
Loading file: Ludwig_Tieck_-_Der_Geheimnisvolle_(1822).spacy
Reading annotated data: 49it [00:18,  2.94it/s]
Reading annotated data: 50it [00:18,  3.25it/s]
Loading file: Christoph_von_Schmid_-_Das_Blumenkörbchen_(1823).spacy
Loading file: Friedrich_GerstĂ€cker_-_Die_Flucht_ĂŒber_die_Kordilleren_(1859).spacy
Reading annotated data: 51it [00:18,  3.54it/s]
Loading file: Hans_Hoffmann_-_Im_Lande_der_PhÀaken_(1884).spacy
Reading annotated data: 52it [00:19,  3.57it/s]
Loading file: Willibald_Alexis_-_Die_Hosen_des_Herrn_von_Bredow_(1846).spacy
Reading annotated data: 53it [00:19,  2.63it/s]
Reading annotated data: 55it [00:19,  4.19it/s]
Loading file: Ludwig_Ganghofer_-_Der_nette_Kerl_(1880).spacy
Loading file: Oskar_Panizza_-_Indianer-Gedanken_(1893).spacy
Loading file: ETA_Hoffmann_-_Des_Vetters_Eckfenster_(1822).spacy
Loading file: Joseph_von_Eichendorff_-_Viel_LĂ€rmen_um_Nichts_(1833).spacy
Reading annotated data: 57it [00:20,  4.76it/s]
Loading file: FW_HacklÀnder_-_Vier_Könige_-_Bilder_aus_dem_Soldatenleben_(1841).spacy
Reading annotated data: 58it [00:20,  4.45it/s]
Reading annotated data: 62it [00:20,  7.96it/s]
Loading file: Franz_Kuenlin_-_Die_Ehen_werden_im_Himmel_geschlossen_(1840).spacy
Loading file: Hugo_von_Hofmannsthal_-_Reitergeschichte_(1899).spacy
Loading file: Ludwig_Steub_-_Die_falsche_Mutter_Gottes_(1871).spacy
Loading file: Wilhelm_Raabe_-_Keltische_Knochen_(1864).spacy
Loading file: Wilhelm_Fischer_-_Das_Licht_im_Elendhause_(1898).spacy
Reading annotated data: 64it [00:20,  8.19it/s]
Loading file: Leopold_von_Sacher-Masoch_-_Der_Capitulant_(1875).spacy
Loading file: Julius_Mosen_-_Georg_Venlot_(1831).spacy
Reading annotated data: 66it [00:21,  6.12it/s]
Loading file: Otto_Julius_Bierbaum_-_Die_Mondmarie_(1893).spacy
Loading file: Friedrich_GerstÀcker_-_Unter_den_Pehuenchen_(1867).spacy
Reading annotated data: 67it [00:22,  4.01it/s]
Reading annotated data: 68it [00:22,  4.49it/s]
Loading file: Ilse_Frapan_-_Weisse_Flamme_(1895).spacy
Loading file: Christoph_von_Schmid_-_Die_Ostereier_(1816).spacy
Loading file: Fritz_Reuter_-_Ein_grÀflicher_Geburtstag_-_1_(1847).spacy
Reading annotated data: 70it [00:22,  5.75it/s]
Loading file: Hermann_Kurz_-_Der_Weihnachtsfund_(1856).spacy
Reading annotated data: 71it [00:22,  4.33it/s]
Reading annotated data: 72it [00:22,  4.90it/s]
Loading file: Wilhelm_Hauff_-_Phantasien_im_Bremer_Ratskeller_(1827).spacy
Loading file: Karl_Gutzkow_-_Der_SadducÀer_von_Amsterdam_(1843).spacy
Reading annotated data: 73it [00:23,  5.47it/s]
Loading file: Eduard_Mörike_-_Maler_Nolten_(1832).spacy
Reading annotated data: 74it [00:23,  2.62it/s]
Reading annotated data: 75it [00:24,  3.16it/s]
Loading file: Adalbert_Stifter_-_Prokopus_(1847).spacy
Loading file: Johann_Rudolf_Wyß_der_JĂŒngere_-_Viel_Noth_und_viel_HĂŒlf_(1825).spacy
Loading file: Robert_Schweichel_-_Die_Falkner_von_St._Vigil_(1881).spacy
Reading annotated data: 77it [00:25,  1.89it/s]
Loading file: Eugenie_Marlitt_-_Das_Geheimnis_der_alten_Mamsell_(1867).spacy
Reading annotated data: 78it [00:26,  1.86it/s]
Loading file: Peter_Rosegger_-_Peter_Mayr_der_Wirt_an_der_Mahr_(1891).spacy
Reading annotated data: 79it [00:27,  1.68it/s]
Loading file: Ludwig_Tieck_-_Tod_des_Dichters_(1845).spacy
Reading annotated data: 80it [00:27,  1.76it/s]
Loading file: Edmund_Hoefer_-_Das_Wyler_SchlĂ¶ĂŸchen_(1865).spacy
Reading annotated data: 81it [00:27,  1.90it/s]
Loading file: Julius_Wolff_-_Der_Raubgraf_(1884).spacy
Reading annotated data: 82it [00:28,  1.78it/s]
Reading annotated data: 84it [00:28,  2.96it/s]
Loading file: ETA_Hoffmann_-_Das_GelĂŒbde_(1817).spacy
Loading file: Edmund_Hoefer_-_Das_verlassene_Haus_(1845).spacy
Loading file: Ludwig_Tieck_-_Hexensabbat_(1831).spacy
Reading annotated data: 85it [00:29,  2.56it/s]
Loading file: Ludwig_Tieck_-_Dichterleben,_zweiter_Theil_(1831).spacy
Reading annotated data: 86it [00:29,  2.72it/s]
Loading file: Johanna_Spyri_-_In_sicherer_Hut_(1882).spacy
Loading file: Claire_von_GlĂŒmer_-_GesĂŒhnt_(1882).spacy
Reading annotated data: 88it [00:29,  3.85it/s]
Reading annotated data: 90it [00:29,  5.32it/s]
Loading file: Fanny_zu_Reventlow_-_Ultimo_(1897).spacy
Loading file: Heinrich_Hansjakob_-_Afra_(1897).spacy
Loading file: Heinrich_Zschokke_-_Das_blaue_Wunder_(1829).spacy
Loading file: Nataly_von_Eschstruth_-_Der_Stern_des_GlĂŒcks_(1896).spacy
Reading annotated data: 92it [00:30,  4.08it/s]
Loading file: Franz_Xaver_Bronner_-_Ein_Mönchsleben_aus_der_empfindsamen_Zeit_-_Band_2_(1850).spacy
Reading annotated data: 93it [00:31,  3.04it/s]
Reading annotated data: 95it [00:31,  4.27it/s]
Loading file: Friedrich_Rochlitz_-_Amtsbericht_des_Pfarrers_zu_EichengrĂŒn_(1821).spacy
Loading file: Eduard_Mörike_-_BruchstĂŒcke_eines_Romans_(1875).spacy
Loading file: Friedrich_Spielhagen_-_In_Reih'_und_Glied._Erster_Theil_(1866).spacy
Reading annotated data: 96it [00:32,  2.44it/s]
Loading file: Heinrich_Laube_-_Reisenovellen_-_Band_4_(1836).spacy
Reading annotated data: 97it [00:32,  2.40it/s]
Loading file: Fritz_Reuter_-_Montecchi_un_Capuletti_oder_De_Reis'_nah_Konstantinopel_(1868).spacy
Reading annotated data: 98it [00:33,  2.15it/s]
Loading file: Friedrich_Hebbel_-_Eine_Nacht_im_JĂ€gerhause_(1863).spacy
Loading file: Wilhelm_Jensen_-_Die_Pfeifer_vom_Dusenbach_(1886).spacy
Reading annotated data: 100it [00:34,  2.54it/s]
Loading file: Balduin_Möllhausen_-_Das_MormonenmÀdchen._Band_II_(1864).spacy
Reading annotated data: 101it [00:34,  2.38it/s]
Loading file: Adalbert_Stifter_-_Witiko_(1865).spacy
Reading annotated data: 102it [00:36,  1.32it/s]
Reading annotated data: 104it [00:36,  2.08it/s]
Loading file: Arthur_Schnitzler_-_Die_Braut_(1895).spacy
Loading file: Paul_Heyse_-_Spielmannslegende_(1883).spacy
Loading file: Jeremias_Gotthelf_-_Leiden_und_Freuden_eines_Schulmeisters_(1838).spacy
Reading annotated data: 105it [00:37,  1.90it/s]
Loading file: Karl_May_-_Der_Schatz_im_Silbersee_(1890).spacy
Reading annotated data: 106it [00:38,  1.33it/s]
Loading file: Maximilian_Schmidt_-_Die_Jachenauer_in_Griechenland_(1888).spacy
Reading annotated data: 107it [00:39,  1.56it/s]
Loading file: Theodor_MĂŒgge_-_Afraja_(1854).spacy
Reading annotated data: 108it [00:40,  1.23it/s]
Loading file: Sophie_Wörishöffer_-_Robert_des_Schiffsjungen_Fahrten_und_Abenteuer_(1877).spacy
Reading annotated data: 109it [00:41,  1.01s/it]
Loading file: Ludwig_Tieck_-_Eigensinn_und_Laune_(1836).spacy
Reading annotated data: 110it [00:42,  1.27it/s]
Reading annotated data: 111it [00:42,  1.65it/s]
Loading file: Ludwig_Tieck_-_Das_Zauberschloß_(1830).spacy
Loading file: Joachim_Nettelbeck_-_Des_Seefahrers_Nettelbeck_Lebensgeschichte_(1821).spacy
Reading annotated data: 112it [00:42,  2.03it/s]
Loading file: Balduin_Möllhausen_-_Der_Schatz_von_Quivira_(1879).spacy
Reading annotated data: 113it [00:43,  1.59it/s]
Loading file: Ludwig_Ganghofer_-_Die_Brautfahrt_des_Damian_Zagg_(1880).spacy
Reading annotated data: 114it [00:43,  1.92it/s]
Loading file: Ernst_Eckstein_-_FĂŒrst_Arno_(1899).spacy
Loading file: Hans_Hoffmann_-_Das_Gymnasium_zu_Stolpenburg_(1891).spacy
Reading annotated data: 116it [00:44,  2.76it/s]
Loading file: Fritz_Reuter_-_DörchlÀuchting_(1866).spacy
Reading annotated data: 117it [00:44,  2.46it/s]
Loading file: Wilhelm_Hauff_-_Novellen_(1828).spacy
Reading annotated data: 118it [00:45,  1.81it/s]
Loading file: Ludwig_Uhland_-_Lied_der_Nibelungen_(1840).spacy
Loading file: Ludwig_Tieck_-_Die_Ahnenprobe_(1833).spacy
Reading annotated data: 120it [00:45,  2.75it/s]
Reading annotated data: 121it [00:45,  3.27it/s]
Loading file: Ludwig_Tieck_-_Des_Lebens_Überfluss_(1837).spacy
Loading file: Edmund_Hoefer_-_Auf_der_UniversitÀt_(1846).spacy
Loading file: Paul_Heyse_-_Im_Grafenschloß_(1861).spacy
Reading annotated data: 123it [00:46,  4.46it/s]
Loading file: Moritz_Gottlieb_Saphir_-_Album_geselliger_Thorheiten_(1858).spacy
Reading annotated data: 124it [00:46,  3.38it/s]
Reading annotated data: 125it [00:46,  3.83it/s]
Loading file: Ottilie_Wildermuth_-_UnabhÀngigkeit_(1855).spacy
Loading file: Marie_von_Ebner-Eschenbach_-_Der_gute_Mond_(1886).spacy
Reading annotated data: 127it [00:46,  5.67it/s]
Loading file: Therese_Huber_-_Alte_Zeit_und_neue_Zeit_(1828).spacy
Loading file: Johannes_Scherr_-_Die_Tochter_der_Luft_(1874).spacy
Reading annotated data: 128it [00:47,  4.12it/s]
Loading file: ETA_Hoffmann_-_Die_Irrungen_-_Verloren_und_Gefunden_(1820).spacy
Loading file: Wilhelm_Raabe_-_Der_Hungerpastor_(1864).spacy
Reading annotated data: 130it [00:48,  2.84it/s]
Reading annotated data: 132it [00:48,  3.88it/s]
Loading file: Wilhelm_Raabe_-_Der_gute_Tag_(1876).spacy
Loading file: Ottilie_Wildermuth_-_Ein_sonnenloses_Leben_(1855).spacy
Loading file: Ottilie_Wildermuth_-_MĂ€dchenbriefe_(1862).spacy
Reading annotated data: 133it [00:48,  4.34it/s]
Loading file: Berthold_Auerbach_-_Auf_der_Höhe_Band_I_(1865).spacy
Reading annotated data: 134it [00:49,  3.26it/s]
Loading file: Gottfried_Keller_-_Spiegel,_das_KĂ€tzchen_(1856).spacy
Loading file: Ludwig_Anzengruber_-_Kalendergeschichten_(1882).spacy
Reading annotated data: 136it [00:49,  3.49it/s]
Loading file: Karl_Wilhelm_Salice_Contessa_-_Das_Gastmahl_(1815).spacy
Loading file: Heinrich_Schaumberger_-_GlĂŒckliches_UnglĂŒck_(1874).spacy
Reading annotated data: 138it [00:50,  4.42it/s]
Loading file: Ottilie_Wildermuth_-_Eine_Königin_(1862).spacy
Loading file: Conrad_Ferdinand_Meyer_-_Das_Leiden_eines_Knaben_(1883).spacy
Reading annotated data: 140it [00:50,  4.86it/s]
Loading file: Leopold_Kompert_-_Neue_Geschichten_aus_dem_Ghetto_(1860).spacy
Reading annotated data: 141it [00:50,  3.58it/s]
Reading annotated data: 143it [00:51,  4.96it/s]
Loading file: Ottilie_Wildermuth_-_Der_Peterli_von_Emmental_(1862).spacy
Loading file: Theodor_Körner_-_Die_Reise_nach_Schandau_(1810).spacy
Loading file: Karl_Immermann_-_MĂŒnchhausen_(1839).spacy
Reading annotated data: 144it [00:52,  1.91it/s]
Loading file: Friedrich_Spielhagen_-_Sturmflut_(1877).spacy
Reading annotated data: 145it [00:53,  1.88it/s]
Loading file: Julius_Wolff_-_Der_SĂŒlfmeister_(1883).spacy
Reading annotated data: 146it [00:54,  1.49it/s]
Loading file: ETA_Hoffmann_-_Die_Serapions-BrĂŒder_(1821).spacy
Reading annotated data: 147it [00:56,  1.12s/it]
Loading file: Balduin_Möllhausen_-_Westliche_FÀhrten_(1873).spacy
Reading annotated data: 148it [00:57,  1.06it/s]
Loading file: Carl_Franz_van_der_Velde_-_Das_Liebhaber-Theater_(1824).spacy
Reading annotated data: 149it [00:57,  1.27it/s]
Loading file: Alexander_von_Ungern-Sternberg_-_Die_Zerrissenen_(1832).spacy
Reading annotated data: 150it [00:58,  1.58it/s]
Loading file: Georg_Ebers_-_Homo_sum_(1878).spacy
Reading annotated data: 151it [00:58,  1.70it/s]
Loading file: Berthold_Auerbach_-_Das_Landhaus_am_Rhein_-_Band_II_(1869).spacy
Reading annotated data: 152it [00:59,  1.73it/s]
Reading annotated data: 153it [00:59,  2.27it/s]
Loading file: ETA_Hoffmann_-_Die_Geheimnisse_-_MerkwĂŒrdige_Korrespondenz_des_Autors_mit_vers_(1821).spacy
Loading file: Wilhelm_Raabe_-_Das_letzte_Recht_(1862).spacy
Loading file: Friedrich_GerstÀcker_-_Die_Regulatoren_in_Arkansas_(1845).spacy
Reading annotated data: 155it [01:00,  2.13it/s]
Loading file: Ottilie_Wildermuth_-_Die_alte_Freundin_(1877).spacy
Reading annotated data: 156it [01:00,  2.13it/s]
Loading file: Ludwig_Ganghofer_-_Der_JĂ€ger_von_Fall_(1883).spacy
Reading annotated data: 157it [01:01,  2.24it/s]
Reading annotated data: 158it [01:01,  2.68it/s]
Loading file: Joseph_von_Eichendorff_-_Aus_dem_Leben_eines_Taugenichts_(1826).spacy
Loading file: Josephine_GrÀfin_Schwerin_-_Rodanseck_(1883).spacy
Reading annotated data: 159it [01:01,  2.69it/s]
Loading file: Sophie_Wörishöffer_-_Gerettet_aus_Sibirien_(1885).spacy
Reading annotated data: 160it [01:02,  2.60it/s]
Loading file: Theodor_Körner_-_Hans_Heilings_Felsen_(1811).spacy
Loading file: Wilhemine_von_Hillern_-_Die_Geier-Wally_(1875).spacy
Reading annotated data: 162it [01:02,  3.39it/s]
Reading annotated data: 164it [01:02,  4.96it/s]
Loading file: Michael_Georg_Conrad_-_Die_bayrische_Königstragödie_im_BĂŒrgerhause_(1886).spacy
Loading file: ETA_Hoffmann_-_Der_Magnetiseur_(1814).spacy
Loading file: Adalbert_Stifter_-_Der_beschriebene_TĂ€nnling_(1846).spacy
Loading file: Fritz_Reuter_-_Memoiren_eines_alten_Fliegenschimmels_(1855).spacy
Reading annotated data: 166it [01:02,  6.03it/s]
Reading annotated data: 168it [01:02,  7.10it/s]
Loading file: Arthur_Schnitzler_-_Der_Andere_(1895).spacy
Loading file: Paul_Heyse_-_Die_Witwe_von_Pisa_(1865).spacy
Loading file: Heinrich_Laube_-_Die_Karlisten_(1837).spacy
Loading file: Sir_John_Retcliffe_-_Nena_Sahib_(1858).spacy
Reading annotated data: 170it [01:04,  2.98it/s]
Loading file: Wilhelm_Raabe_-_Gutmanns_Reisen_(1891).spacy
Reading annotated data: 171it [01:04,  2.89it/s]
Loading file: Philipp_Galen_-_Der_Strandvogt_von_Jasmund_-_Erster_Band_(1859).spacy
Reading annotated data: 172it [01:05,  2.78it/s]
Reading annotated data: 173it [01:05,  3.16it/s]
Loading file: Heinrich_Seidel_-_Das_alte_Haus_(1899).spacy
Loading file: Ulrich_Hegner_-_Saly's_Revolutionstage_(1814).spacy
Reading annotated data: 174it [01:05,  3.13it/s]
Loading file: Ossip_Schubin_-_Toter_FrĂŒhling_(1893).spacy
Reading annotated data: 175it [01:06,  2.84it/s]
Reading annotated data: 176it [01:06,  3.52it/s]
Loading file: Ferdinand_von_Saar_-_Innocens_(1866).spacy
Loading file: Adalbert_Stifter_-_Der_Kuss_von_Sentze_(1866).spacy
Loading file: Edmund_Hoefer_-_Die_alte_Erlaucht_(1857).spacy
Reading annotated data: 178it [01:06,  3.85it/s]
Loading file: Armand_(Friedrich_Strubberg)_-_Saat_und_Ernte_(1866).spacy
Reading annotated data: 179it [01:07,  2.15it/s]
Loading file: Heinrich_Seidel_-_Ein_Skizzenbuch_(1878).spacy
Reading annotated data: 180it [01:08,  2.42it/s]
Loading file: Heinrich_von_Kleist_-_Der_Findling_(1811).spacy
Loading file: Johanna_Schopenhauer_-_Gabriele_(1819).spacy
Reading annotated data: 182it [01:08,  2.34it/s]
Reading annotated data: 183it [01:09,  2.67it/s]
Loading file: Johanna_Spyri_-_Moni_der_Geißbub_(1887).spacy
Loading file: Felix_Dahn_-_Vom_Chiemgau_(1896).spacy
Reading annotated data: 184it [01:09,  2.73it/s]
Loading file: Karl_Immermann_-_Die_Epigonen_(1836).spacy
Reading annotated data: 185it [01:10,  1.59it/s]
Reading annotated data: 186it [01:10,  2.04it/s]
Loading file: Wilhelm_Heinrich_Riehl_-_GrÀfin_Ursula_(1856).spacy
Loading file: Friedrich_Halm_-_Die_Freundinnen_(1860).spacy
Loading file: Heinrich_Laube_-_Die_Novelle_in_der_Theaterloge_(1837).spacy
Loading file: ETA_Hoffmann_-_Rat_Krespel_(1818).spacy
Reading annotated data: 189it [01:11,  4.00it/s]
Reading annotated data: 190it [01:11,  4.15it/s]
Loading file: Rudolf_Lindau_-_Liquidiert_(1877).spacy
Loading file: FW_HacklÀnder_-_Handel_und_Wandel_(1850).spacy
Reading annotated data: 191it [01:12,  2.88it/s]
Reading annotated data: 192it [01:12,  3.41it/s]
Loading file: Ludwig_Tieck_-_Der_MondsĂŒchtige_(1832).spacy
Loading file: Nataly_von_Eschstruth_-_Hofluft_-_Band_1_(1889).spacy
Reading annotated data: 193it [01:12,  3.32it/s]
Loading file: Friedrich_GerstÀcker_-_Tahiti_(1854).spacy
Reading annotated data: 194it [01:13,  2.10it/s]
Reading annotated data: 195it [01:13,  2.66it/s]
Loading file: Paul_Heyse_-_Maria_Francisca_(1858).spacy
Loading file: Theodor_Fontane_-_Schach_von_Wuthenow_(1883).spacy
Reading annotated data: 196it [01:13,  2.89it/s]
Loading file: Ludwig_Aurbacher_-_Die_schwÀbische_Bauernhochzeit_(1832).spacy
Loading file: Hedwig_Schobert_-_KĂŒnstlerblut_(1892).spacy
Reading annotated data: 198it [01:14,  2.94it/s]
Loading file: Conrad_Ferdinand_Meyer_-_Angela_Borgia_(1891).spacy
Reading annotated data: 199it [01:14,  2.87it/s]
Loading file: Ludwig_Tieck_-_Der_Pokal_(1812).spacy
Loading file: Joseph_von_Eichendorff_-_Auch_ich_war_in_Arkadien!_(1834).spacy
Loading file: Heinrich_Laube_-_Eine_Fahrt_nach_Pommern_und_der_Insel_RĂŒgen_(1837).spacy
Reading annotated data: 202it [01:15,  4.57it/s]
Reading annotated data: 204it [01:15,  5.84it/s]
Loading file: Oskar_Panizza_-_Der_operierte_Jud'_(1893).spacy
Loading file: Joseph_von_Eichendorff_-_Die_GlĂŒcksritter_(1841).spacy
Loading file: Wilhelm_Jensen_-_Hunnenblut_(1892).spacy
Reading annotated data: 205it [01:15,  5.98it/s]
Loading file: Joseph_Baumann_-_Ulli_und_Elsi_(1829).spacy
Loading file: H._Clauren_-_Der_selige_Papier-MĂŒller_(1820).spacy
Loading file: Wilhelm_Raabe_-_Das_Horn_von_Wanza_(1881).spacy
Reading annotated data: 208it [01:15,  6.82it/s]
Loading file: Heinrich_Steinhausen_-_Irmela_(1881).spacy
Reading annotated data: 209it [01:16,  4.63it/s]
Loading file: Johanna_Spyri_-_Heidis_Lehr-_und_Wanderjahre_(1880).spacy
Reading annotated data: 210it [01:16,  4.33it/s]
Loading file: Jean_Paul_-_Der_Komet_(1820).spacy
Reading annotated data: 211it [01:17,  2.34it/s]
Reading annotated data: 213it [01:17,  3.50it/s]
Loading file: Ludwig_Tieck_-_Der_Gelehrte_(1827).spacy
Loading file: Emerenz_Meier_-_Der_Brechelbrei_(1897).spacy
Loading file: Carl_Spitteler_-_Ei_Ole_(1887).spacy
Loading file: Otto_Julius_Bierbaum_-_Josephine_(1893).spacy
Loading file: Berthold_Auerbach_-_BarfĂŒĂŸele_(1856).spacy
Reading annotated data: 216it [01:18,  4.39it/s]
Loading file: Wilhelm_Jensen_-_Nach_Sonnenuntergang_–_Zweites_Buch_(1879).spacy
Reading annotated data: 217it [01:18,  3.94it/s]
Loading file: Franz_Grillparzer_-_Der_arme_Spielmann_(1847).spacy
Loading file: Gustav_Freytag_-_Die_verlorene_Handschrift_(1864).spacy
Reading annotated data: 219it [01:20,  2.14it/s]
Loading file: Levin_SchĂŒcking_-_Die_Rheider_Burg_(1859).spacy
Reading annotated data: 220it [01:20,  2.17it/s]
Reading annotated data: 221it [01:21,  2.59it/s]
Loading file: Johann_Gabriel_Seidl_-_Die_Schweden_vor_OlmĂŒtz_(1843).spacy
Loading file: Wilhelmine_Heimburg_-_Trudchens_Heirat_(1894).spacy
Reading annotated data: 222it [01:21,  2.69it/s]
Loading file: Georg_Ebers_-_Per_aspera_(1892).spacy
Reading annotated data: 223it [01:22,  1.53it/s]
Reading annotated data: 224it [01:23,  1.87it/s]
Loading file: Johannes_Scherr_-_Werther-Graubart_(1873).spacy
Loading file: Franz_Stelzhamer_-_Groß-Piesenham_(1874).spacy
Reading annotated data: 225it [01:23,  2.40it/s]
Loading file: Theodor_Fontane_-_Unterm_Birnbaum_(1885).spacy
Reading annotated data: 226it [01:23,  2.79it/s]
Reading annotated data: 227it [01:23,  3.37it/s]
Loading file: Friedrich_Spielhagen_-_Die_Dorfcoquette_(1868).spacy
Loading file: Karl_Wilhelm_Salice_Contessa_-_Die_SchatzgrÀber_(1825).spacy
Loading file: Karl_Gutzkow_-_Der_Zauberer_von_Rom._IV._Buch_(1858).spacy
Reading annotated data: 229it [01:24,  2.99it/s]
Loading file: Jeremias_Gotthelf_-_Wie_Joggeli_eine_Frau_sucht_(1841).spacy
Loading file: Theodor_Storm_-_Hinzelmeier_(1855).spacy
Loading file: Christoph_von_Schmid_-_Der_Weihnachtsabend_(1825).spacy
Reading annotated data: 232it [01:24,  4.88it/s]
Loading file: Wilhelm_Raabe_-_Abu_Telfan_(1868).spacy
Reading annotated data: 233it [01:25,  3.40it/s]
Reading annotated data: 234it [01:25,  3.73it/s]
Loading file: Wilhelm_Raabe_-_Die_GĂ€nse_von_BĂŒtzow_(1866).spacy
Loading file: Otto_Ludwig_-_Die_Heiterethei_und_ihr_Widerspiel_(1857).spacy
Reading annotated data: 235it [01:26,  2.65it/s]
Loading file: Peter_Rosegger_-_Die_Schriften_des_Waldschulmeisters_(1875).spacy
Reading annotated data: 236it [01:26,  2.46it/s]
Loading file: Ludwig_Tieck_-_Die_Verlobung_(1823).spacy
Reading annotated data: 237it [01:26,  2.77it/s]
Loading file: Theodor_Meyer-Merian_-_Dienen_und_Verdienen_(1865).spacy
Reading annotated data: 238it [01:27,  3.01it/s]
Loading file: Wilhelm_Raabe_-_Deutscher_Mondschein_(1873).spacy
Loading file: FW_HacklÀnder_-_Eugen_Stillfried_-_Erster_Band_(1852).spacy
Reading annotated data: 240it [01:27,  3.38it/s]
Loading file: Berthold_Auerbach_-_Auf_der_Höhe_Dritter_Band_(1865).spacy
Reading annotated data: 241it [01:27,  3.27it/s]
Loading file: Paul_Heyse_-_Ein_Ring_(1862).spacy
Loading file: Karl_Wilhelm_Salice_Contessa_-_Haushahn_und_Paradiesvogel_(1813).spacy
Reading annotated data: 243it [01:28,  4.18it/s]
Loading file: Friedrich_GerstÀcker_-_Das_Wrack_(1870).spacy
Loading file: Berthold_Auerbach_-_Das_Landhaus_am_Rhein_-_Band_I_(1869).spacy
Reading annotated data: 245it [01:28,  4.22it/s]
Reading annotated data: 247it [01:28,  5.52it/s]
Loading file: Wilhelm_Heinrich_Riehl_-_Rheingauer_Deutsch_(1897).spacy
Loading file: Jeremias_Gotthelf_-_Das_Erdbeeri_Mareili_(1850).spacy
Loading file: Johanna_Spyri_-_Heidi_kann_brauchen,_was_es_gelernt_hat_(1881).spacy
Reading annotated data: 248it [01:29,  5.39it/s]
Loading file: Ludwig_Aurbacher_-_ErzĂ€hlungen,_Lieder_und_SprĂŒche_aus_dem_Allerley_(1847).spacy
Loading file: Leopold_von_Sacher-Masoch_-_Mondnacht_(1875).spacy
Reading annotated data: 250it [01:29,  5.65it/s]
Loading file: Johann_David_Wyss_-_Der_schweizerische_Robinson_(1812).spacy
Reading annotated data: 251it [01:30,  3.42it/s]
Loading file: Willibald_Alexis_-_Der_falsche_Woldemar_(1842).spacy
Reading annotated data: 252it [01:31,  1.83it/s]
Loading file: Joseph_Victor_von_Scheffel_-_Ekkehard_(1855).spacy
Reading annotated data: 253it [01:32,  1.49it/s]
Loading file: Sophie_Wörishöffer_-_Onnen_Visser_-_Der_Schmugglersohn_von_Norderney_(1885).spacy
Reading annotated data: 254it [01:33,  1.17it/s]
Loading file: Wilhelm_Heinrich_Riehl_-_Durch_tausend_Jahre_–_Zweiter_Band_(1897).spacy
Reading annotated data: 255it [01:34,  1.13it/s]
Loading file: Georg_Weerth_-_Leben_und_Taten_des_berĂŒhmten_Ritters_Schnapphahnski_(1849).spacy
Reading annotated data: 256it [01:35,  1.38it/s]
Loading file: Wilhelm_Heinrich_Riehl_-_Die_Lehrjahre_eines_Humanisten_(1856).spacy
Loading file: Gottfried_Keller_-_Der_Landvogt_von_Greifensee_(1877).spacy
Reading annotated data: 258it [01:35,  2.14it/s]
Loading file: Heinrich_Zschokke_-_Addrich_im_Moos_(1825).spacy
Reading annotated data: 259it [01:36,  1.84it/s]
Reading annotated data: 261it [01:36,  2.83it/s]
Loading file: Johann_Peter_Hebel_-_Der_Zundelheiner_(1839).spacy
Loading file: Adalbert_Stifter_-_Das_alte_Siegel_(1844).spacy
Loading file: Marie_Nathusius_-_Elisabeth._I._Band_(1858).spacy
Reading annotated data: 262it [01:36,  2.74it/s]
Loading file: Ludwig_Steub_-_Die_Rose_der_Sewi_(1879).spacy
Reading annotated data: 263it [01:37,  3.01it/s]
Loading file: Heinrich_Laube_-_Reisenovellen_-_Band_6_(1837).spacy
Reading annotated data: 264it [01:37,  2.95it/s]
Loading file: ETA_Hoffmann_-_Lebensansichten_des_Katers_Murr_(1819).spacy
Reading annotated data: 265it [01:38,  2.00it/s]
Loading file: Georg_Ebers_-_Die_Schwestern_(1880).spacy
Reading annotated data: 266it [01:39,  1.74it/s]
Loading file: Bertha_von_Suttner_-_Eva_Siebeck_(1892).spacy
Reading annotated data: 267it [01:39,  1.87it/s]
Loading file: Friedrich_Hebbel_-_Matteo_(1841).spacy
Loading file: Carl_Spindler_-_Herbstviolen_(1834).spacy
Reading annotated data: 269it [01:39,  2.79it/s]
Loading file: Carl_Spitteler_-_Friedli,_der_Kolderi_(1891).spacy
Loading file: Achim_von_Arnim_-_Armut,_Reichtum,_Schuld_und_Buße_der_GrĂ€fin_Dolores_(1810).spacy
Reading annotated data: 271it [01:40,  2.26it/s]
Loading file: FW_HacklÀnder_-_Namenlose_Geschichten_-_Erster_Band_(1851).spacy
Reading annotated data: 272it [01:41,  2.06it/s]
Loading file: Karl_Gutzkow_-_Die_Nihilisten_(1853).spacy
Reading annotated data: 273it [01:41,  2.35it/s]
Reading annotated data: 274it [01:41,  2.87it/s]
Loading file: Theodor_Storm_-_Auf_der_UniversitÀt_(1863).spacy
Loading file: Peter_Rosegger_-_Der_Pfarrersbub_(1874).spacy
Loading file: Ignaz_Franz_Castelli_-_Tobias_Guarnerius_(1839).spacy
Loading file: Christoph_von_Schmid_-_Das_TĂ€ubchen_(1854).spacy
Reading annotated data: 277it [01:42,  5.27it/s]
Loading file: Sir_John_Retcliffe_-_Solferino_(1866).spacy
Loading file: H._Clauren_-_Das_Dijon-Röschen_-_1_(1823).spacy
Reading annotated data: 279it [01:43,  3.38it/s]
Loading file: Karl_von_Holtei_-_Der_letzte_Komödiant_-_Dritter_Teil_(1863).spacy
Reading annotated data: 280it [01:43,  3.14it/s]
Loading file: Ludwig_Tieck_-_Der_wiederkehrende_griechische_Kaiser_(1831).spacy
Reading annotated data: 281it [01:43,  3.08it/s]
Loading file: Ida_Hahn-Hahn_-_Peregrin_(1864).spacy
Reading annotated data: 282it [01:44,  2.02it/s]
Loading file: Friedrich_von_Sallet_-_Kontraste_und_Paradoxen_(1843).spacy
Reading annotated data: 283it [01:45,  1.94it/s]
Loading file: Friedrich_GerstÀcker_-_Blau_Wasser_(1858).spacy
Reading annotated data: 284it [01:46,  1.55it/s]
Loading file: Edmund_Hoefer_-_Der_Alte_von_Menkendorf_(1882).spacy
Reading annotated data: 285it [01:47,  1.48it/s]
Loading file: Marie_von_Ebner-Eschenbach_-_Lotti,_die_Uhrmacherin_(1880).spacy
Reading annotated data: 286it [01:47,  1.83it/s]
Reading annotated data: 288it [01:47,  2.95it/s]
Loading file: Johann_Gabriel_Seidl_-_Sie_ist_versorgt!_(1842).spacy
Loading file: ETA_Hoffmann_-_Ignaz_Denner_(1817).spacy
Loading file: Joseph_von_Eichendorff_-_Die_EntfĂŒhrung_(1839).spacy
Loading file: Heinrich_Schaumberger_-_Vater_und_Sohn_(1876).spacy
Reading annotated data: 290it [01:48,  3.22it/s]
Loading file: Ottilie_Wildermuth_-_Das_Feental_(1862).spacy
Loading file: Rudolph_Stratz_-_Unter_den_Linden_(1893).spacy
Reading annotated data: 292it [01:48,  3.89it/s]
Reading annotated data: 293it [01:48,  4.29it/s]
Loading file: Paul_Heyse_-_Die_Pfadfinderin_(1870).spacy
Loading file: Heinrich_Schaumberger_-_Gesalzene_Krapfen_(1874).spacy
Loading file: Gottfried_Keller_-_Das_Sinngedicht_(1881).spacy
Reading annotated data: 295it [01:49,  3.66it/s]
Reading annotated data: 298it [01:49,  5.89it/s]
Loading file: Peter_Rosegger_-_Die_schöne_Lenerl_(1874).spacy
Loading file: Detlev_von_Liliencron_-_Der_letzte_Gruß_(1899).spacy
Loading file: Franz_Grillparzer_-_Das_Kloster_bei_Sendomir_(1827).spacy
Loading file: Wilhelm_Raabe_-_Gedelöcke_(1866).spacy
Reading annotated data: 300it [01:49,  7.06it/s]
Reading annotated data: 302it [01:49,  8.38it/s]
Loading file: Karl_May_-_Freuden_und_Leiden_eines_Vielgelesenen_(1896).spacy
Loading file: Achim_von_Arnim_-_HollÀndische_Liebhabereien_(1826).spacy
Loading file: Karl_May_-_Ein_StĂŒcklein_vom_alten_Dessauer_(1875).spacy
Loading file: Heinrich_Seidel_-_Leberecht_HĂŒhnchen_als_Großvater_(1890).spacy
Loading file: Peter_Rosegger_-_Die_Abelsberger_Chronik_(1898).spacy
Reading annotated data: 304it [01:50,  5.24it/s]
Loading file: Ludwig_Tieck_-_Der_Aufruhr_in_den_Cevennen_(1826).spacy
Reading annotated data: 305it [01:51,  3.83it/s]
Loading file: Karl_Emil_Franzos_-_Moschko_von_Parma_(1880).spacy
Reading annotated data: 306it [01:51,  3.56it/s]
Reading annotated data: 307it [01:51,  3.85it/s]
Loading file: Louise_Anklam_-_Kindergeschichten_(1898).spacy
Loading file: Friedrich_de_la_Motte_Fouqué_-_Undine_(1811).spacy
Reading annotated data: 308it [01:51,  4.26it/s]
Loading file: Adolf_Glassbrenner_-_Die_Königsstraße_(1838).spacy
Loading file: Theodor_Storm_-_Aquis_submersus_(1877).spacy
Reading annotated data: 310it [01:52,  5.15it/s]
Reading annotated data: 311it [01:52,  5.50it/s]
Loading file: Richard_Voß_-_Die_Sabinerin_(1889).spacy
Loading file: Paul_Heyse_-_Barbarossa_(1869).spacy
Reading annotated data: 313it [01:52,  6.92it/s]
Loading file: Louise_von_François_-_FrÀulein_Muthchen_und_ihr_Hausmeier_(1859).spacy
Loading file: Philipp_Galen_-_Der_Strandvogt_von_Jasmund_-_Zweiter_Band_(1859).spacy
Reading annotated data: 314it [01:52,  5.12it/s]
Loading file: Oskar_Meding_-_Der_Todesgruß_der_Legionen_(1874).spacy
Reading annotated data: 315it [01:53,  2.38it/s]
Loading file: Achim_von_Arnim_-_Isabella_von_Ägypten_(1812).spacy
Reading annotated data: 316it [01:54,  2.43it/s]
Reading annotated data: 318it [01:54,  3.74it/s]
Loading file: Leopold_Kompert_-_Eisik's_Brille_(1860).spacy
Loading file: ETA_Hoffmann_-_Das_fremde_Kind_(1817).spacy
Loading file: Wilhelm_Raabe_-_Meister_Autor_oder_Die_Geschichten_vom_versunkenen_Garten_(1874).spacy
Reading annotated data: 319it [01:54,  3.71it/s]
Loading file: Friedrich_GerstĂ€cker_-_Unter_dem_Äquator_(1861).spacy
Reading annotated data: 320it [01:55,  1.96it/s]
Loading file: Friedrich_GerstÀcker_-_John_Wells_(1859).spacy
Loading file: Friedrich_Spielhagen_-_Noblesse_oblige_(1888).spacy
Reading annotated data: 322it [01:56,  2.29it/s]
Loading file: Oskar_Panizza_-_Der_Goldregen_(1893).spacy
Loading file: Sir_John_Retcliffe_-_Magenta_und_Solferino_-_Band_3_(1864).spacy
Reading annotated data: 324it [01:57,  2.38it/s]
Loading file: Ludwig_Tieck_-_Das_alte_Buch_und_die_Reise_ins_Blaue_hinein_(1835).spacy
Reading annotated data: 325it [01:57,  2.62it/s]
Loading file: FW_HacklÀnder_-_Humoristische_ErzÀhlungen_(1847).spacy
Reading annotated data: 326it [01:58,  2.54it/s]
Loading file: Wilhelm_Raabe_-_Pfisters_MĂŒhle_(1884).spacy
Reading annotated data: 327it [01:58,  2.46it/s]
Loading file: Ernst_Barlach_-_Fragmente_aus_frĂŒherer_Zeit_(1895).spacy
Reading annotated data: 328it [01:58,  2.52it/s]
Loading file: Leopold_von_Sacher-Masoch_-_Der_Wanderer_(1895).spacy
Loading file: Karl_Immermann_-_Der_Oberhof_(1839).spacy
Reading annotated data: 330it [01:59,  2.51it/s]
Reading annotated data: 331it [01:59,  2.94it/s]
Loading file: ETA_Hoffmann_-_Die_Brautwahl_(1818).spacy
Loading file: ETA_Hoffmann_-_Das_öde_Haus_(1817).spacy
Reading annotated data: 333it [02:00,  3.95it/s]
Loading file: Ludwig_Salomon_-_Die_BlĂŒchertrompete_(1871).spacy
Loading file: Adalbert_Stifter_-_Der_Hochwald_(1841).spacy
Reading annotated data: 334it [02:00,  4.16it/s]
Loading file: Jeremias_Gotthelf_-_Jakobs_des_Handwerksgesellen_Wanderungen_durch_die_Schweiz_(1846).spacy
Reading annotated data: 335it [02:01,  2.34it/s]
Reading annotated data: 337it [02:01,  3.49it/s]
Loading file: Justinus_Kerner_-_Geschichte_des_MĂ€dchens_von_Orlach_(1834).spacy
Loading file: Gottfried_Keller_-_Pankraz,_der_Schmoller_(1856).spacy
Loading file: Oskar_Meding_-_Zwei_Kaiserkronen_(1872).spacy
Reading annotated data: 338it [02:02,  1.98it/s]
Loading file: Willibald_Alexis_-_Walladmor_(1824).spacy
Reading annotated data: 339it [02:03,  1.56it/s]
Reading annotated data: 340it [02:03,  1.97it/s]
Loading file: Clemens_Brentano_-_Die_mehreren_WehmĂŒller_und_ungarischen_Nationalgesichter_(1817).spacy
Loading file: Heinrich_Smidt_-_Seemanns-Sagen_und_Schiffer-MĂ€rchen_(1835).spacy
Reading annotated data: 341it [02:04,  2.15it/s]
Reading annotated data: 342it [02:04,  2.67it/s]
Loading file: Ernst_Wichert_-_Ewe_(1880).spacy
Loading file: Wilhelm_Raabe_-_Zum_wilden_Mann_(1873).spacy
Reading annotated data: 343it [02:04,  3.16it/s]
Reading annotated data: 344it [02:04,  3.86it/s]
Loading file: Joseph_von_Eichendorff_-_Eine_Meerfahrt_(1835).spacy
Loading file: Wilhelm_Hauff_-_Der_Mann_im_Mond_(1826).spacy
Reading annotated data: 345it [02:05,  2.80it/s]
Loading file: Clemens_Brentano_-_Der_arme_Raimondin_(1814).spacy
Loading file: Theodor_MĂŒgge_-_Erich_Randal_(1856).spacy
Reading annotated data: 347it [02:06,  1.72it/s]
Loading file: Karl_Gutzkow_-_Die_Ritter_vom_Geiste_(1851).spacy
Reading annotated data: 348it [02:12,  1.70s/it]
Loading file: Hanns_von_Gumppenberg_-_Vom_Fenster_aus_(1895).spacy
Loading file: Karl_Gutzkow_-_Der_Zauberer_von_Rom._I._Buch_(1858).spacy
Reading annotated data: 350it [02:12,  1.12s/it]
Loading file: JJA_Pffyfer_zu_Neueck_-_O_ma_patrie!_(1853).spacy
Loading file: Franz_Stelzhamer_-_Reisel,_der_WildschĂŒtz_und_Geiger_(1874).spacy
Loading file: ETA_Hoffmann_-_Die_Geschichte_vom_verlornen_Spiegelbilde_(1819).spacy
Loading file: Christoph_von_Schmid_-_Gottfried,_der_junge_Einsiedler_(1829).spacy
Reading annotated data: 354it [02:12,  1.83it/s]
Loading file: Karl_Wilhelm_Salice_Contessa_-_Vergib_uns_unsere_Schuld_(1825).spacy
Loading file: Georg_Schirges_-_Der_BĂ€lgentreter_von_Eilersrode_(1845).spacy
Reading annotated data: 356it [02:13,  2.17it/s]
Reading annotated data: 358it [02:13,  2.82it/s]
Loading file: ETA_Hoffmann_-_Der_Sandmann_(1817).spacy
Loading file: Heinrich_Heine_-_Der_Rabbi_von_Bacherach_(1840).spacy
Loading file: Oskar_Panizza_-_Das_Wirtshaus_zur_Dreifaltigkeit_(1893).spacy
Reading annotated data: 360it [02:13,  3.58it/s]
Loading file: Louise_Aston_-_Aus_dem_Leben_einer_Frau_(1847).spacy
Loading file: Franz_von_Gaudy_-_Die_Brenta-Blume_(1838).spacy
Loading file: Adalbert_Stifter_-_Wirkungen_eines_weißen_Mantels_-_Der_arme_WohltĂ€ter_-_Der_Pförtner_(1848).spacy
Reading annotated data: 362it [02:13,  4.37it/s]
Loading file: CĂ€sar_Flaischlen_-_Schattenspiel_(1897).spacy
Loading file: Oskar_Meding_-_Die_Saxoborussen_(1885).spacy
Reading annotated data: 364it [02:15,  3.11it/s]
Loading file: Charles_Sealsfield_-_Das_KajĂŒtenbuch_oder_Nationale_Charakteristiken_(1843).spacy
Reading annotated data: 365it [02:15,  2.40it/s]
Loading file: Charles_Sealsfield_-_Der_Legitime_und_die_Republikaner_(1833).spacy
Reading annotated data: 366it [02:16,  1.86it/s]
Reading annotated data: 367it [02:17,  2.17it/s]
Loading file: Oskar_Klaußmann_-_Drei_KriminalerzĂ€hlungen_(1889).spacy
Loading file: Achim_von_Arnim_-_Frau_von_Saverne_(1817).spacy
Loading file: Max_Eyth_-_Hinter_Pflug_und_Schraubstock_(1899).spacy
Reading annotated data: 369it [02:18,  2.12it/s]
Loading file: Carl_Spindler_-_Der_Jesuit_(1829).spacy
Reading annotated data: 370it [02:18,  1.78it/s]
Loading file: Eugenie_Marlitt_-_ThĂŒringer_ErzĂ€hlungen_(1869).spacy
Reading annotated data: 371it [02:20,  1.49it/s]
Loading file: Johann_Gabriel_Seidl_-_Cornelia_Fieramonti_(1842).spacy
Loading file: Johann_Gabriel_Seidl_-_Der_tödliche_Knopf_(1839).spacy
Loading file: Theodor_Fontane_-_Vor_dem_Sturm_(1878).spacy
Reading annotated data: 374it [02:21,  1.66it/s]
Reading annotated data: 376it [02:21,  2.33it/s]
Loading file: Christoph_von_Schmid_-_Das_hölzerne_Kreuz_(1826).spacy
Loading file: Johann_Gottfried_Seume_-_Die_Weinlese_(1810).spacy
Loading file: H._Clauren_-_Mimili_(1816).spacy
Reading annotated data: 377it [02:21,  2.69it/s]
Reading annotated data: 378it [02:22,  3.09it/s]
Loading file: Paul_Heyse_-_Die_kleine_Mama_(1865).spacy
Loading file: Paul_Heyse_-_Das_Bild_der_Mutter_(1858).spacy
Reading annotated data: 379it [02:22,  3.62it/s]
Reading annotated data: 380it [02:22,  4.18it/s]
Loading file: Otto_Julius_Bierbaum_-_Die_Schlangendame_(1896).spacy
Loading file: Adalbert_Stifter_-_Der_Hagestolz_(1845).spacy
Reading annotated data: 381it [02:22,  4.19it/s]
Loading file: Jeremias_Gotthelf_-_Der_Geltstag_(1845).spacy
Reading annotated data: 382it [02:23,  2.45it/s]
Loading file: Ernst_Dronke_-_Die_Maikönigin_(1846).spacy
Reading annotated data: 383it [02:23,  2.75it/s]
Loading file: Ulrich_Hegner_-_Die_Molkenkur_(1812).spacy
Reading annotated data: 384it [02:24,  2.62it/s]
Loading file: August_Kopisch_-_Ein_Carnevalsfest_auf_Ischia_(1856).spacy
Loading file: Adolf_Stern_-_Vor_Leyden_(1866).spacy
Reading annotated data: 386it [02:24,  3.61it/s]
Reading annotated data: 387it [02:24,  4.18it/s]
Loading file: Hermann_Stehr_-_Der_Schindelmacher_(1899).spacy
Loading file: Ludwig_Steub_-_Benno_und_Kriemhilde_(1879).spacy
Loading file: Karl_Gottlieb_Samuel_Heun_-_Die_Versuchung_(1827).spacy
Reading annotated data: 389it [02:24,  5.66it/s]
Loading file: Marie_von_Ebner-Eschenbach_-_Krambambuli_(1884).spacy
Loading file: Georg_Engel_-_Die_Last_(1898).spacy
Reading annotated data: 391it [02:24,  5.79it/s]
Loading file: Berthold_Auerbach_-_Der_Kindesmord_(1848).spacy
Loading file: Gottfried_Keller_-_Das_verlorene_Lachen_(1874).spacy
Reading annotated data: 393it [02:25,  6.67it/s]
Loading file: Julius_Stinde_-_Die_Familie_Buchholz._Aus_dem_Leben_der_Hauptstadt_(1884).spacy
Reading annotated data: 394it [02:25,  4.38it/s]
Reading annotated data: 395it [02:25,  4.99it/s]
Loading file: ETA_Hoffmann_-_Der_Elementargeist_(1819).spacy
Loading file: Bertha_von_Suttner_-_Die_Waffen_nieder!_(1889).spacy
Reading annotated data: 396it [02:26,  2.88it/s]
Loading file: Heinrich_Heine_-_Schnabelewopski_(1834).spacy
Reading annotated data: 397it [02:26,  3.07it/s]
Reading annotated data: 398it [02:27,  3.64it/s]
Loading file: Anna_Rothpletz_-_Der_Vorabend_des_Weihnachtsfestes_(1830).spacy
Loading file: Ulrich_Hegner_-_Aus_dem_Leben_eines_Geringen_(1840).spacy
Loading file: H._Clauren_-_Der_Blutschatz_(1823).spacy
Reading annotated data: 400it [02:27,  4.52it/s]
Loading file: Brigitte_Augusti_-_MĂ€dchenlose_(1882).spacy
Reading annotated data: 401it [02:27,  4.36it/s]
Loading file: Robert_Hamerling_-_Aspasia_(1875).spacy
Reading annotated data: 402it [02:28,  1.98it/s]
Reading annotated data: 404it [02:29,  3.11it/s]
Loading file: Rainer_Maria_Rilke_-_Die_NĂ€herin_(1895).spacy
Loading file: Ludwig_Tieck_-_Der_Wassermensch_(1835).spacy
Loading file: Adolf_Glassbrenner_-_Der_Gensd'armen-Markt_(1838).spacy
Loading file: Wilhelm_Fischer_-_Wastel_(1898).spacy
Loading file: Friedrich_GerstÀcker_-_Im_Busch_(1864).spacy
Reading annotated data: 407it [02:29,  3.54it/s]
Loading file: Ludwig_Rellstab_-_1812_–_Ein_historischer_Roman_(1834).spacy
Reading annotated data: 408it [02:32,  1.50it/s]
Loading file: ETA_Hoffmann_-_Lebensansichten_des_Katers_Murr_(1820).spacy
Reading annotated data: 409it [02:32,  1.45it/s]
Loading file: Friedrich_GerstÀcker_-_Die_Nacht_auf_dem_Walfisch_(1858).spacy
Loading file: Adalbert_Stifter_-_Bunte_Steine_(1853).spacy
Reading annotated data: 411it [02:33,  1.84it/s]
Loading file: Heinrich_von_Kleist_-_Geistererscheinung_(1811).spacy
Loading file: Heinrich_von_Kleist_-_Die_Verlobung_in_St._Domingo_(1811).spacy
Loading file: Theodor_Fontane_-_Die_Poggenpuhls_(1896).spacy
Reading annotated data: 414it [02:33,  2.74it/s]
Loading file: Franz_Xaver_Bronner_-_Ein_Mönchsleben_aus_der_empfindsamen_Zeit_(1850).spacy
Reading annotated data: 415it [02:34,  2.41it/s]
Reading annotated data: 417it [02:34,  3.23it/s]
Loading file: Ferdinand_KĂŒrnberger_-_Die_Last_des_Schweigens_(1866).spacy
Loading file: Ferdinand_KĂŒrnberger_-_Flucht_und_Fund_(1859).spacy
Loading file: Friedrich_GerstÀcker_-_Die_Silbermine_in_den_Ozarkgebirgen_(1847).spacy
Loading file: Richard_Voß_-_Die_Auferstandenen_–_Erster_Band_(1887).spacy
Reading annotated data: 419it [02:35,  3.43it/s]
Loading file: Wilhelm_Raabe_-_Deutscher_Adel_(1878).spacy
Reading annotated data: 420it [02:35,  3.42it/s]
Loading file: Jeremias_Gotthelf_-_Michels_Brautschau_(1849).spacy
Reading annotated data: 421it [02:35,  3.36it/s]
Loading file: Wilhelm_Meinhold_-_Die_Bernsteinhexe_Maria_Schweidler_(1841).spacy
Reading annotated data: 422it [02:36,  2.90it/s]
Reading annotated data: 425it [02:36,  5.14it/s]
Loading file: Hugo_von_Hofmannsthal_-_Gerechtigkeit_(1893).spacy
Loading file: Friedrich_Hebbel_-_Die_Kuh_(1849).spacy
Loading file: H._Clauren_-_Die_GrÀnz-Kommission_(1825).spacy
Loading file: Heinrich_von_Kleist_-_Das_Bettelweib_von_Locarno_(1811).spacy
Loading file: Heinrich_Laube_-_Ein_Liebespaar_(1837).spacy
Loading file: August_Hagen_-_Norika_(1829).spacy
Reading annotated data: 428it [02:36,  6.18it/s]
Reading annotated data: 429it [02:37,  6.08it/s]
Loading file: Wilhelm_Raabe_-_Höxter_und_Corvey_(1875).spacy
Loading file: Ernst_von_Wolzogen_-_Die_Gloriahose_und_andere_Novellen_(1897).spacy
Reading annotated data: 430it [02:37,  5.10it/s]
Loading file: Hermann_Kurz_-_Schillers_Heimatjahre_(1843).spacy
Reading annotated data: 431it [02:38,  2.31it/s]
Loading file: Johanna_Spyri_-_Einer_vom_Hause_Lesa_(1890).spacy
Reading annotated data: 432it [02:39,  2.20it/s]
Loading file: Gottfried_Keller_-_Martin_Salander_(1886).spacy
Reading annotated data: 433it [02:39,  2.07it/s]
Reading annotated data: 435it [02:39,  3.27it/s]
Loading file: Johann-Conrad_Appenzeller_-_Ein_Tag_in_der_Diligence_(1812).spacy
Loading file: Johann_Jakob_Reithard_-_Die_Frauen_in_Burgdorf,_oder_Entstehung_der_HĂŒhnersuppe_(1860).spacy
Loading file: Wilhelm_Raabe_-_Die_schwarze_Galeere_(1865).spacy
Reading annotated data: 437it [02:40,  4.64it/s]
Loading file: Heinrich_Laube_-_Das_Schloß_in_Franken_(1837).spacy
Loading file: Annette_von_Droste-HĂŒlshoff_-_Die_Judenbuche_(1842).spacy
Loading file: Maximilian_Schmidt_-_Die_Schwanjungfrau_(1885).spacy
Reading annotated data: 439it [02:40,  4.98it/s]
Reading annotated data: 440it [02:40,  5.13it/s]
Loading file: Anastasius_GrĂŒn_-_Der_Eremit_auf_der_Sierra_Morena_(1827).spacy
Loading file: FW_HacklÀnder_-_Der_letzte_Bombardier_(1870).spacy
Reading annotated data: 441it [02:42,  1.98it/s]
Loading file: David_Heß_-_Der_Tonkunst_Wettstreit_mit_der_Malerei_(1816).spacy
Loading file: Theodor_Fontane_-_Meine_Kinderjahre_(1894).spacy
Reading annotated data: 443it [02:42,  2.54it/s]
Reading annotated data: 444it [02:42,  2.95it/s]
Loading file: Leopold_von_Sacher-Masoch_-_Neue_ErzÀhlungen_(1893).spacy
Loading file: Carl_Spindler_-_Der_VogelhÀndler_von_Imst_(1841).spacy
Reading annotated data: 445it [02:44,  1.69it/s]
Loading file: Otto_Ruppius_-_Das_VermÀchtnis_des_Pedlars_(1859).spacy
Reading annotated data: 446it [02:44,  1.67it/s]
Loading file: Berthold_Auerbach_-_SchwarzwÀlder_Dorfgeschichten_(1843).spacy
Reading annotated data: 447it [02:50,  1.86s/it]
Loading file: Berthold_Auerbach_-_Landolin_von_Reutershöfen_(1878).spacy
Reading annotated data: 448it [02:50,  1.46s/it]
Loading file: Maximilian_Schmidt_-_Glasmacherleut'_(1869).spacy
Reading annotated data: 449it [02:50,  1.13s/it]
Reading annotated data: 450it [02:50,  1.17it/s]
Loading file: Jeremias_Gotthelf_-_Wie_fĂŒnf_MĂ€dchen_im_Branntwein_jĂ€mmerlich_umkommen_(1838).spacy
Loading file: Heinrich_Heine_-_Florentinische_NĂ€chte_(1837).spacy
Reading annotated data: 451it [02:51,  1.56it/s]
Reading annotated data: 452it [02:51,  1.97it/s]
Loading file: Ferdinand_von_Saar_-_Die_Geigerin_(1875).spacy
Loading file: Ludwig_Steub_-_Der_schwarze_Gast_(1863).spacy
Loading file: FW_HacklĂ€nder_-_Der_Augenblick_des_GlĂŒcks_(1857).spacy
Reading annotated data: 454it [02:51,  2.40it/s]
Reading annotated data: 457it [02:51,  4.32it/s]
Loading file: Richard_Voß_-_Felice_Leste_(1889).spacy
Loading file: Bertha_von_Suttner_-_Langeweile_(1895).spacy
Loading file: ETA_Hoffmann_-_Die_Jesuiterkirche_in_G._(1817).spacy
Loading file: Eugenie_Marlitt_-_Die_zweite_Frau_(1874).spacy
Loading file: Friedrich_GerstÀcker_-_Der_Kunstreiter_(1861).spacy
Reading annotated data: 459it [02:53,  2.71it/s]
Reading annotated data: 460it [02:53,  2.96it/s]
Loading file: ETA_Hoffmann_-_Die_Bergwerke_zu_Falun_(1816).spacy
Loading file: Friedrich_de_la_Motte_Fouqué_-_Der_Zauberring_(1813).spacy
Reading annotated data: 461it [02:54,  2.35it/s]
Reading annotated data: 462it [02:54,  2.80it/s]
Loading file: Eugenie_Marlitt_-_Die_zwölf_Apostel_(1865).spacy
Loading file: Wilhelm_Raabe_-_Des_Reiches_Krone_(1870).spacy
Reading annotated data: 463it [02:54,  3.39it/s]
Reading annotated data: 466it [02:54,  5.87it/s]
Loading file: Ludwig_Ganghofer_-_Die_MĂŒhle_am_Fundensee_(1880).spacy
Loading file: Wilhelm_Raabe_-_Ein_Besuch_(1884).spacy
Loading file: Ludwig_Tieck_-_Die_schoene_Magelone_(1812).spacy
Loading file: Theodor_Körner_-_Die_Harfe_(1811).spacy
Loading file: Friedrich_GerstÀcker_-_Die_Wolfsglocke_(1849).spacy
Reading annotated data: 468it [02:54,  6.90it/s]
Loading file: Adalbert_Stifter_-_Der_Condor_(1840).spacy
Loading file: ETA_Hoffmann_-_Die_Elixiere_des_Teufels_(1815).spacy
Reading annotated data: 470it [02:55,  5.02it/s]
Loading file: Hermann_Kurz_-_Gesammelte_kleinere_ErzÀhlungen,_3._Teil_(1873).spacy
Reading annotated data: 471it [02:55,  4.59it/s]
Loading file: Adalbert_Stifter_-_Das_Haidedorf_(1840).spacy
Loading file: Theodor_Storm_-_Waldwinkel_(1874).spacy
Reading annotated data: 473it [02:56,  5.22it/s]
Loading file: ETA_Hoffmann_-_Letzte_StĂŒcke_(1822).spacy
Reading annotated data: 474it [02:57,  2.81it/s]
Loading file: Marie_Nathusius_-_Elisabeth_–_Zweiter_Band_(1858).spacy
Reading annotated data: 475it [02:57,  2.49it/s]
Loading file: Adolf_Streckfuß_-_Der_Herr_PrĂ€sident_(1871).spacy
Reading annotated data: 476it [02:57,  2.64it/s]
Reading annotated data: 478it [02:58,  4.01it/s]
Loading file: Friedrich_Hebbel_-_Barbier_Zitterlein_(1836).spacy
Loading file: Karl_Gutzkow_-_Die_Kurstauben_(1852).spacy
Loading file: Ludwig_Anzengruber_-_DorfgÀnge_(1879).spacy
Reading annotated data: 479it [02:58,  2.84it/s]
Reading annotated data: 480it [02:58,  3.18it/s]
Loading file: Heinrich_Smidt_-_Meeresstille_und_hohe_See_(1861).spacy
Loading file: Friedrich_de_la_Motte_Fouqué_-_Die_wunderbaren_Begebenheiten_des_Grafen_Alethes_von_Lindenstein_(1817).spacy
Reading annotated data: 481it [02:59,  2.96it/s]
Loading file: Heinrich_Heine_-_Reisebilder_(1826).spacy
Reading annotated data: 482it [03:00,  1.75it/s]
Loading file: Johann_Peter_Hebel_-_Reise_nach_Frankfurt_(1832).spacy
Loading file: Heinrich_von_Kleist_-_Michael_Kohlhaas_(1810).spacy
Reading annotated data: 484it [03:00,  2.68it/s]
Loading file: Joseph_Seligmann_Kohn_-_Der_jĂŒdische_Gil_Blas_(1834).spacy
Reading annotated data: 485it [03:01,  2.64it/s]
Loading file: Ludwig_Tieck_-_Weihnacht-Abend_(1835).spacy
Loading file: Peter_Rosegger_-_Jakob_der_Letzte_(1889).spacy
Reading annotated data: 487it [03:01,  2.95it/s]
Reading annotated data: 489it [03:01,  4.07it/s]
Loading file: Heinrich_Laube_-_Johanna_(1837).spacy
Loading file: Gottfried_Keller_-_Die_mißbrauchten_Liebesbriefe_(1860).spacy
Loading file: Karl_von_Perfall_-_Das_Königsliebchen_(1895).spacy
Reading annotated data: 490it [03:02,  3.49it/s]
Loading file: Heinrich_Zschokke_-_Die_Rose_von_Disentis_(1822).spacy
Reading annotated data: 491it [03:02,  2.99it/s]
Loading file: Heinrich_Zschokke_-_Das_Goldmacherdorf_(1817).spacy
Reading annotated data: 492it [03:03,  3.13it/s]
Loading file: Eduard_Mörike_-_Aus_dem_Gebiete_der_Seelenkunde_(1861).spacy
Loading file: Felix_Dahn_-_Walhall_(1883).spacy
Reading annotated data: 494it [03:04,  2.42it/s]
Loading file: Ernst_Wichert_-_FĂŒr_tot_erklĂ€rt_(1867).spacy
Reading annotated data: 495it [03:04,  2.64it/s]
Loading file: Adolf_Schmitthenner_-_Der_Handwerksbursche_(1883).spacy
Loading file: Otto_Ludwig_-_Zwischen_Himmel_und_Erde_(1856).spacy
Reading annotated data: 497it [03:05,  2.98it/s]
Loading file: Willibald_Alexis_-_Der_Werwolf_2_(1848).spacy
Reading annotated data: 498it [03:05,  2.75it/s]
Loading file: Peter_Rosegger_-_Das_Felsenbildnis_(1874).spacy
Loading file: Wilhelm_Raabe_-_Das_Odfeld_(1889).spacy
Reading annotated data: 500it [03:05,  3.30it/s]
Loading file: Ottilie_Wildermuth_-_Cherubino_und_Zephirine_(1862).spacy
Loading file: FW_HacklÀnder_-_Namenlose_Geschichten_-_Zweiter_Band_(1851).spacy
Reading annotated data: 502it [03:06,  3.28it/s]
Reading annotated data: 503it [03:06,  3.55it/s]
Loading file: Paul_Heyse_-_Unheilbar_(1862).spacy
Loading file: Heinrich_Laube_-_Eine_Tyroler_Geschichte_(1837).spacy
Loading file: Fritz_Reuter_-_De_Urgeschicht_von_Meckelnborg_(1874).spacy
Reading annotated data: 505it [03:06,  4.44it/s]
Loading file: Heinrich_Laube_-_Reisenovellen_-_Band_5_(1837).spacy
Reading annotated data: 506it [03:07,  3.42it/s]
Reading annotated data: 507it [03:07,  3.87it/s]
Loading file: Ottilie_Wildermuth_-_Morgen,_Mittag_und_Abend_(1855).spacy
Loading file: Wilhelm_Raabe_-_Wunnigel_(1877).spacy
Reading annotated data: 508it [03:07,  3.74it/s]
Reading annotated data: 510it [03:08,  5.29it/s]
Loading file: Ferdinand_von_Saar_-_Die_Steinklopfer_-_1_(1874).spacy
Loading file: Achim_von_Arnim_-_Owen_Tudor_(1821).spacy
Loading file: Ottilie_Wildermuth_-_Krieg_und_Frieden_(1862).spacy
Loading file: Jean_Paul_-_Der_Maschinenmann_(1825).spacy
Reading annotated data: 513it [03:08,  7.36it/s]
Loading file: Karl_Immermann_-_Der_Karneval_und_die_Somnambule_(1830).spacy
Loading file: Wilhelm_Raabe_-_Der_SchĂŒdderump_(1870).spacy
Reading annotated data: 514it [03:09,  3.98it/s]
Reading annotated data: 515it [03:09,  4.42it/s]
Loading file: Adalbert_Stifter_-_Der_Waldsteig_(1845).spacy
Loading file: Arthur_Schnitzler_-_Der_Witwer_(1894).spacy
Loading file: Hermann_Heiberg_-_TodsĂŒnden_(1891).spacy
Reading annotated data: 517it [03:09,  3.77it/s]
Loading file: Rudolf_Lindau_-_Schweigen_(1895).spacy
Loading file: Karl_May_-_Lopez_Jordan_(1889).spacy
Reading annotated data: 519it [03:10,  2.91it/s]
Loading file: Ludwig_Tieck_-_Das_Fest_zu_Kenelworth_(1828).spacy
Loading file: Carl_Spindler_-_Der_Jude_(1827).spacy
Reading annotated data: 521it [03:12,  2.06it/s]
Loading file: Eduard_von_Keyserling_-_FrÀulein_Rosa_Herz_(1887).spacy
Reading annotated data: 522it [03:13,  1.98it/s]
Loading file: Wilhelm_Jensen_-_Dietwald_Werneken_(1888).spacy
Reading annotated data: 523it [03:13,  2.12it/s]
Loading file: Wilhelm_Busch_-_Kurze_Geschichten_(1864).spacy
Loading file: Jean_Paul_-_Mein_Aufenthalt_in_der_Nepomukskirche_wÀhrend_der_Belagerung_(1810).spacy
Loading file: Gottfried_Keller_-_Kleider_machen_Leute_(1874).spacy
Reading annotated data: 526it [03:13,  3.44it/s]
Loading file: Wilhelm_Hauff_-_Phantasien_und_Skizzen_(1827).spacy
Reading annotated data: 527it [03:13,  3.53it/s]
Loading file: Marie_von_Ebner-Eschenbach_-_Die_schönsten_ErzÀhlungen_(1889).spacy
Reading annotated data: 528it [03:14,  3.16it/s]
Loading file: Karl_May_-_Der_Schatz_der_Inkas_(1890).spacy
Reading annotated data: 529it [03:15,  1.94it/s]
Loading file: Karl_May_-_Der_Weg_zum_GlĂŒck._Zweiter_Band_(1886).spacy
Reading annotated data: 530it [03:16,  1.47it/s]
Reading annotated data: 532it [03:16,  2.38it/s]
Loading file: Ferdinand_KĂŒrnberger_-_Wie_ein_prosaischer_Mann_ein_poetisches_BrĂ€utchen_gewinnt_(1877).spacy
Loading file: Paul_Heyse_-_Anfang_und_Ende_(1857).spacy
Loading file: Julius_Stinde_-_Frau_Buchholz_im_Orient_(1888).spacy
Reading annotated data: 533it [03:17,  2.14it/s]
Loading file: ETA_Hoffmann_-_Das_Sanctus_(1817).spacy
Loading file: FW_HacklĂ€nder_-_Eugen_Stillfried_–_Dritter_Band_(1852).spacy
Reading annotated data: 535it [03:17,  2.70it/s]
Loading file: Heinrich_von_Kleist_-_Der_Zweikampf_(1811).spacy
Loading file: Franz_Pocci_-_Lustiges_KomödienbĂŒchlein_(1861).spacy
Reading annotated data: 537it [03:18,  3.34it/s]
Loading file: Levin_SchĂŒcking_-_Die_Marketenderin_von_Köln_(1861).spacy
Reading annotated data: 538it [03:18,  2.66it/s]
Reading annotated data: 539it [03:19,  3.15it/s]
Loading file: Ottilie_Wildermuth_-_Todte_Treue_(1877).spacy
Loading file: Theodor_Storm_-_Der_Schimmelreiter_(1888).spacy
Reading annotated data: 540it [03:19,  3.39it/s]
Loading file: Gustav_Freytag_-_Soll_und_Haben_(1855).spacy
Reading annotated data: 541it [03:20,  1.51it/s]
Reading annotated data: 543it [03:21,  2.46it/s]
Loading file: Otto_Julius_Bierbaum_-_To-lu-to-lo_oder_Wie_Emil_TĂŒrke_wurde_(1897).spacy
Loading file: Theodor_Storm_-_Beim_Vetter_Christian_(1874).spacy
Loading file: Karl_May_-_Deutsche_Herzen_-_Deutsche_Helden._6._Der_Engel_der_Verbannten-_(1885).spacy
Reading annotated data: 544it [03:22,  1.40it/s]
Loading file: Jeremias_Gotthelf_-_Wie_Uli_der_Knecht_glĂŒcklich_wird_(1841).spacy
Reading annotated data: 545it [03:23,  1.31it/s]
Loading file: Johanna_Spyri_-_Heimatlos_(1878).spacy
Reading annotated data: 546it [03:24,  1.56it/s]
Reading annotated data: 547it [03:24,  2.03it/s]
Loading file: Friedrich_GerstĂ€cker_-_Schwarz_und_Weiß_(1848).spacy
Loading file: Otto_Julius_Bierbaum_-_Letzte_Musterung_(1893).spacy
Loading file: Philipp_Galen_-_Der_Strandvogt_von_Jasmund_-_Dritter_Band_(1859).spacy
Reading annotated data: 549it [03:24,  2.74it/s]
Loading file: Ludwig_Ganghofer_-_Die_Rittersleut_(1880).spacy
Loading file: Jakob_Christoph_Heer_-_An_heiligen_Wassern_(1898).spacy
Reading annotated data: 551it [03:25,  3.00it/s]
Loading file: Peter_Rosegger_-_Die_Wallfahrer_(1874).spacy
Loading file: ETA_Hoffmann_-_Das_steinerne_Herz_(1817).spacy
Loading file: Ludwig_Tieck_-_Eine_Sommerreise_(1834).spacy
Reading annotated data: 554it [03:25,  4.01it/s]
Loading file: Julius_Stinde_-_Die_Seerose_(1895).spacy
Loading file: Rainer_Maria_Rilke_-_ErzĂ€hlungen_aus_dem_Nachlaß_(1826).spacy
Reading annotated data: 556it [03:25,  4.85it/s]
Loading file: Heinrich_Schaumberger_-_Fritz_Reinhardt_(1874).spacy
Reading annotated data: 557it [03:26,  3.04it/s]
Loading file: Johanna_Spyri_-_Rosenresli_(1882).spacy
Loading file: Stanislaw_Przybyszewski_-_Satans_Kinder_(1897).spacy
Reading annotated data: 559it [03:26,  3.64it/s]
Loading file: Ernst_von_Wolzogen_-_Der_Thronfolger_-_Erster_Band_(1892).spacy
Reading annotated data: 560it [03:27,  3.70it/s]
Loading file: August_Becker_-_Die_Nonnensusel_(1886).spacy
Reading annotated data: 561it [03:28,  2.55it/s]
Loading file: Adalbert_Stifter_-_Der_Nachsommer_(1857).spacy
Reading annotated data: 562it [03:29,  1.53it/s]
Reading annotated data: 563it [03:29,  1.87it/s]
Loading file: Wilhelm_Raabe_-_Eulenpfingsten_(1874).spacy
Loading file: Ernst_Willkomm_-_ErzÀhlungen_eines_Wattenschiffers_(1854).spacy
Loading file: Isabella_Braun_-_Gesammelte_ErzÀhlungen_(1886).spacy
Reading annotated data: 565it [03:30,  2.73it/s]
Reading annotated data: 567it [03:30,  3.78it/s]
Loading file: Eduard_Mörike_-_Lucie_Gelmeroth_(1834).spacy
Loading file: H._Clauren_-_Die_Großmutter_(1827).spacy
Loading file: Paul_Heyse_-_Am_Tiberufer_(1855).spacy
Reading annotated data: 568it [03:30,  4.30it/s]
Loading file: Leopold_Kompert_-_Judith_die_Zweite_(1848).spacy
Loading file: Theodor_Fontane_-_Irrungen_Wirrungen_(1888).spacy
Reading annotated data: 570it [03:30,  4.72it/s]
Loading file: Heinrich_Zschokke_-_Die_Branntweinpest_(1837).spacy
Reading annotated data: 571it [03:30,  4.42it/s]
Loading file: Theodor_Storm_-_Am_Kamin_(1861).spacy
Loading file: Peter_Rosegger_-_Als_Großvater_freien_ging_(1874).spacy
Loading file: Ludwig_Bechstein_-_Der_Dunkelgraf_(1854).spacy
Reading annotated data: 574it [03:31,  3.66it/s]
Loading file: Achim_von_Arnim_-_Die_Majoratsherren_(1820).spacy
Reading annotated data: 575it [03:32,  3.77it/s]
Loading file: H._Clauren_-_Die_GrÀfin_Cherubim_(1824).spacy
Reading annotated data: 576it [03:32,  3.58it/s]
Reading annotated data: 577it [03:32,  4.11it/s]
Loading file: ETA_Hoffmann_-_Meister_Martin_der_KĂŒfner_und_seine_Gesellen_(1818).spacy
Loading file: Friedrich_GerstÀcker_-_Jack_und_Bill_(1858).spacy
Loading file: Friedrich_GerstÀcker_-_General_Franco_(1865).spacy
Reading annotated data: 579it [03:33,  3.07it/s]
Loading file: Franz_von_Gaudy_-_Novellen_und_ErzÀhlungen_1_(1840).spacy
Reading annotated data: 580it [03:33,  2.92it/s]
Loading file: Robert_Kraft_-_Die_Vestalinnen_-_Band_5_(1895).spacy
Reading annotated data: 581it [03:35,  1.54it/s]
Reading annotated data: 584it [03:35,  2.90it/s]
Loading file: Michael_Georg_Conrad_-_Anna-Mia_(1895).spacy
Loading file: Heinrich_Zschokke_-_Der_König_von_Akim_(1825).spacy
Loading file: Johann_Gabriel_Seidl_-_Juana_(1842).spacy
Loading file: Ludwig_Tieck_-_Der_Runenberg_(1812).spacy
Loading file: Friedrich_J_Pajeken_-_Bob_der_Fallensteller_(1890).spacy
Reading annotated data: 586it [03:36,  3.17it/s]
Loading file: Friedrich_RĂŒckert_-_Die_Makamen_des_Hariri_(1826).spacy
Reading annotated data: 587it [03:36,  2.90it/s]
Loading file: Ernst_von_Wolzogen_-_Die_Erbschleicherinnen,_Band_1_(1895).spacy
Reading annotated data: 588it [03:37,  2.93it/s]
Reading annotated data: 589it [03:37,  3.50it/s]
Loading file: Marie_von_Ebner-Eschenbach_-_Die_Freiherren_von_Gemperlein_(1889).spacy
Loading file: Jodocus_Donatus_Hubertus_Temme_-_In_einer_Brautnacht_(1873).spacy
Reading annotated data: 590it [03:37,  3.89it/s]
Reading annotated data: 591it [03:37,  4.18it/s]
Loading file: Ludwig_Tieck_-_Der_Alte_vom_Berge_(1828).spacy
Loading file: Wilhelm_von_Polenz_-_Der_Pfarrer_von_Breitendorf_Erster_Band_(1893).spacy
Reading annotated data: 592it [03:37,  3.50it/s]
Loading file: Clemens_Brentano_-_Geschichte_vom_braven_Kasperl_und_dem_schönen_Annerl_(1838).spacy
Loading file: Theodor_Storm_-_Zur_Chronik_von_Grieshuus_(1884).spacy
Reading annotated data: 594it [03:38,  4.66it/s]
Reading annotated data: 595it [03:38,  5.03it/s]
Loading file: Johanna_Spyri_-_Wie_Wiselis_Weg_gefunden_wird_(1878).spacy
Loading file: Ernst_Eckstein_-_Preisgekrönt_(1899).spacy
Reading annotated data: 596it [03:38,  4.98it/s]
Loading file: Ludwig_Ganghofer_-_Schloß_Hubertus_(1895).spacy
Reading annotated data: 597it [03:39,  2.54it/s]
Loading file: Johann_Gabriel_Seidl_-_Das_goldene_Ringlein_(1842).spacy
Loading file: Achim_von_Arnim_-_Der_tolle_Invalide_auf_dem_Fort_Ratonneau_(1818).spacy
Reading annotated data: 599it [03:39,  3.72it/s]
Reading annotated data: 600it [03:39,  4.28it/s]
Loading file: Adalbert_Stifter_-_Nachkommenschaften_(1864).spacy
Loading file: Friedrich_GerstÀcker_-_Die_Vertreibung_der_Mormonen_aus_Missouri_(1845).spacy
Loading file: Heinrich_Seidel_-_Lang,_lang_ist's_her_(1880).spacy
Reading annotated data: 602it [03:39,  6.25it/s]
Loading file: Clemens_Brentano_-_Aus_der_Chronika_eines_fahrenden_SchĂŒlers_(Zweite_Fassung)_(1818).spacy
Loading file: Julius_Stinde_-_Buchholzens_in_Italien_(1883).spacy
Reading annotated data: 604it [03:40,  5.88it/s]
Reading annotated data: 605it [03:40,  5.77it/s]
Loading file: Achim_von_Arnim_-_ErzÀhlungen_(1831).spacy
Loading file: E_Werner_-_GlĂŒck_auf!_(1874).spacy
Reading annotated data: 606it [03:41,  3.33it/s]
Loading file: Richard_Voß_-_Villa_Falconieri_(1896).spacy
Reading annotated data: 607it [03:41,  2.93it/s]
Loading file: Ludwig_Tieck_-_Die_Elfen_(1812).spacy
Loading file: Henriette_Paalzow_-_Thomas_Thyrnau_–_Erster_Theil_(1843).spacy
Reading annotated data: 609it [03:42,  3.07it/s]
Loading file: George_Meredith_-_Richard_Feverel_(1859).spacy
Reading annotated data: 610it [03:43,  1.93it/s]
Loading file: Friedrich_Spielhagen_-_In_Reih'_und_Glied._Zweiter_Theil_(1866).spacy
Reading annotated data: 611it [03:44,  1.46it/s]
Loading file: Maximilian_Schmidt_-_Humor_(erste_Reihe)_(1899).spacy
Reading annotated data: 612it [03:44,  1.65it/s]
Loading file: Willibald_Alexis_-_Der_Roland_von_Berlin_–_Erster_Band_(1840).spacy
Reading annotated data: 613it [03:45,  1.80it/s]
Loading file: Franz_Grillparzer_-_Ein_Erlebnis_(1822).spacy
Loading file: Karl_May_-_Scepter_und_Hammer_(1879).spacy
Reading annotated data: 615it [03:46,  1.70it/s]
Loading file: Gustav_Freytag_-_Die_Ahnen_(1872).spacy
Reading annotated data: 616it [03:50,  1.32s/it]
Reading annotated data: 617it [03:50,  1.02s/it]
Loading file: Wilhelm_Heinrich_Riehl_-_Meister_Martin_Hildebrand_(1847).spacy
Loading file: Leopold_Kompert_-_Die_Jahrzeit_(1865).spacy
Loading file: Johanna_Spyri_-_Artur_und_Squirrel_(1888).spacy
Reading annotated data: 619it [03:50,  1.53it/s]
Loading file: Theodor_Körner_-_Die_Reise_nach_Wörlitz_(1810).spacy
Loading file: Jean_Paul_-_Leben_Fibels_(1812).spacy
Reading annotated data: 621it [03:51,  1.97it/s]
Loading file: Friedrich_GerstĂ€cker_-_Die_Flußpiraten_des_Mississippi_(1848).spacy
Reading annotated data: 622it [03:52,  1.62it/s]
Reading annotated data: 624it [03:52,  2.38it/s]
Loading file: Arthur_Schnitzler_-_Amerika_(1895).spacy
Loading file: Ludwig_Tieck_-_Die_GemÀlde_(1821).spacy
Loading file: Sir_John_Retcliffe_-_Magenta_und_Solferino_-_Band_1_(1864).spacy
Reading annotated data: 625it [03:53,  2.18it/s]
Loading file: Heinrich_Laube_-_Nell_(1837).spacy
Loading file: Friedrich_GerstÀcker_-_Der_Flatbootmann_(1858).spacy
Reading annotated data: 627it [03:53,  2.92it/s]
Reading annotated data: 628it [03:53,  3.21it/s]
Loading file: Ludwig_Tieck_-_Die_Gesellschaft_auf_dem_Lande_(1825).spacy
Loading file: Wilhelm_Raabe_-_Nach_dem_großen_Kriege_(1861).spacy
Reading annotated data: 629it [03:53,  3.12it/s]
Loading file: Balduin_Möllhausen_-_Das_MormonenmÀdchen._Band_I_(1864).spacy
Reading annotated data: 630it [03:54,  3.09it/s]
Reading annotated data: 631it [03:54,  3.56it/s]
Loading file: Ludwig_Tieck_-_Die_Klausenburg_(1837).spacy
Loading file: Leopold_Kompert_-_Gottes_Annehmerin_(1865).spacy
Loading file: Georg_Ebers_-_Serapis_(1885).spacy
Reading annotated data: 633it [03:55,  3.01it/s]
Loading file: Charles_Sealsfield_-_Das_blutige_Blockhaus_(1834).spacy
Reading annotated data: 634it [03:56,  2.22it/s]
Loading file: Johann_Gabriel_Seidl_-_Die_Blaue_(1842).spacy
Loading file: Friedrich_Spielhagen_-_Hammer_und_Amboß_(1869).spacy
Reading annotated data: 636it [03:57,  1.66it/s]
Reading annotated data: 638it [03:57,  2.48it/s]
Loading file: Conrad_Ferdinand_Meyer_-_Plautus_im_Nonnenkloster_(1882).spacy
Loading file: Arthur_Schnitzler_-_GesprÀch_in_der_Kaffeehausecke_(1895).spacy
Loading file: Ferdinand_von_Saar_-_Tambi_(1897).spacy
Loading file: Hugo_von_Hofmannsthal_-_Das_Dorf_im_Gebirge_(1896).spacy
Loading file: Christoph_von_Schmid_-_Rosa_von_Tannenburg_(1823).spacy
Reading annotated data: 641it [03:58,  3.74it/s]
Loading file: Johanna_Spyri_-_Und_wer_nur_Gott_zum_Freunde_hat,_dem_hilft_er_immer_wieder_(1882).spacy
Loading file: Levin_SchĂŒcking_-_Eine_dunkle_Tat_(1846).spacy
Reading annotated data: 643it [03:58,  4.00it/s]
Loading file: Karl_May_-_Die_Juweleninsel_(1880).spacy
Reading annotated data: 644it [03:59,  2.34it/s]
Loading file: Theodor_Fontane_-_Cécile_(1887).spacy
Reading annotated data: 645it [04:00,  2.23it/s]
Reading annotated data: 646it [04:00,  2.68it/s]
Loading file: Hermann_Sudermann_-_Jolanthes_Hochzeit_(1892).spacy
Loading file: Berthold_Auerbach_-_Das_Landhaus_am_Rhein_-_Band_IV_(1869).spacy
Reading annotated data: 647it [04:00,  2.56it/s]
Reading annotated data: 648it [04:01,  3.01it/s]
Loading file: Otto_Roquette_-_Das_Eulenzeichen_(1884).spacy
Loading file: Johann_Peter_Hebel_-_Zwei_Sprichwörter_(1811).spacy
Loading file: Wilhelm_Heinrich_Riehl_-_Der_Stadtpfeifer_(1847).spacy
Loading file: Wilhelm_Heinrich_Riehl_-_Durch_tausend_Jahre_–_Vierter_Band_(1897).spacy
Reading annotated data: 651it [04:01,  3.11it/s]
Reading annotated data: 652it [04:02,  3.44it/s]
Loading file: Jeremias_Gotthelf_-_Die_Wassernot_im_Emmental_(1838).spacy
Loading file: Adalbert_Stifter_-_Feldblumen_(1841).spacy
Reading annotated data: 653it [04:02,  3.60it/s]
Loading file: Christoph_von_Schmid_-_Das_Rotkehlchen_(1854).spacy
Loading file: Friedrich_Spielhagen_-_Susi_(1895).spacy
Reading annotated data: 655it [04:02,  4.15it/s]
Loading file: ETA_Hoffmann_-_Haimatochare_(1819).spacy
Loading file: Eugenie_Marlitt_-_Das_Heideprinzeßchen_(1872).spacy
Reading annotated data: 657it [04:03,  3.16it/s]
Reading annotated data: 659it [04:03,  4.33it/s]
Loading file: Otto_Julius_Bierbaum_-_Die_falsche_Kindbetterin_(1893).spacy
Loading file: Wilhelm_Heinrich_Riehl_-_Die_Werke_der_Barmherzigkeit_(1856).spacy
Loading file: Johannes_Scherr_-_Michel_(1858).spacy
Reading annotated data: 660it [04:04,  2.46it/s]
Loading file: Johanna_Spyri_-_Schloss_Wildenstein_(1892).spacy
Reading annotated data: 661it [04:05,  2.48it/s]
Loading file: Friedrich_Halm_-_Die_Marzipan-Lise_(1871).spacy
Loading file: Charles_Sealsfield_-_Die_ErzÀhlung_des_Obersten_Morse_(1841).spacy
Reading annotated data: 663it [04:05,  3.32it/s]
Loading file: Theodor_Storm_-_Eekenhof_(1879).spacy
Loading file: Friedrich_GerstÀcker_-_Herrn_Mahlhuber's_Reiseabenteuer_(1857).spacy
Reading annotated data: 665it [04:06,  3.64it/s]
Loading file: Theodor_Storm_-_In_St_JĂŒrgen_(1867).spacy
Loading file: Willibald_Alexis_-_Isegrimm_(1854).spacy
Reading annotated data: 667it [04:07,  2.22it/s]
Loading file: Julius_Wolff_-_Das_schwarze_Weib_(1894).spacy
Reading annotated data: 668it [04:08,  2.18it/s]
Loading file: Ottilie_Wildermuth_-_Frau_Luna_(1862).spacy
Loading file: FW_HacklÀnder_-_Feuerwerker_Wortmann_und_andere_Soldatengeschichten_(1877).spacy
Reading annotated data: 670it [04:08,  2.57it/s]
Loading file: Louise_Aston_-_Lydia_(1848).spacy
Reading annotated data: 671it [04:08,  2.67it/s]
Loading file: Levin_SchĂŒcking_-_Der_Kampf_im_Spessart_(1875).spacy
Reading annotated data: 672it [04:09,  2.66it/s]
Loading file: Ludwig_Thoma_-_Kirta!_(1895).spacy
Loading file: Friedrich_Theodor_Vischer_-_Auch_Einer_(1879).spacy
Reading annotated data: 674it [04:10,  2.11it/s]
Reading annotated data: 675it [04:10,  2.43it/s]
Loading file: Jeremias_Gotthelf_-_Hans_Joggeli_der_Erbvetter_(1848).spacy
Loading file: Theodor_MĂŒgge_-_Der_Vogt_von_Sylt_(1851).spacy
Reading annotated data: 676it [04:11,  2.15it/s]
Loading file: Friedrich_GerstÀcker_-_Die_Ahnung_(1850).spacy
Loading file: Helene_Böhlau_-_Der_schöne_Valentin_(1886).spacy
Reading annotated data: 678it [04:11,  3.00it/s]
Reading annotated data: 679it [04:11,  3.38it/s]
Loading file: Julius_Stettenheim_-_Muckenich's_Reden_und_Thaten_(1885).spacy
Loading file: Wilhelm_Jensen_-_Karin_von_Schweden_(1872).spacy
Reading annotated data: 680it [04:12,  3.42it/s]
Loading file: Ludwig_Tieck_-_Der_fĂŒnfzehnte_November_(1827).spacy
Reading annotated data: 681it [04:12,  3.36it/s]
Loading file: Friedrich_GerstĂ€cker_-_In_der_SĂŒdsee_(1860).spacy
Reading annotated data: 682it [04:12,  3.44it/s]
Loading file: Felix_Hollaender_-_Sturmwind_im_Westen_(1896).spacy
Reading annotated data: 683it [04:13,  3.14it/s]
Reading annotated data: 684it [04:13,  3.71it/s]
Loading file: ETA_Hoffmann_-_Das_FrÀulein_von_Scuderi_(1819).spacy
Loading file: Jeremias_Gotthelf_-_Wie_Anne_BÀbi_JowÀger_haushaltet_-_Teil_2_(1843).spacy
Reading annotated data: 685it [04:14,  2.12it/s]
Loading file: Agnes_Franz_-_Seltene_Freundschaft_oder:_Bello_und_Miezchen_(1843).spacy
Loading file: Franz_Dingelstedt_-_Die_neuen_Argonauten_(1839).spacy
Reading annotated data: 687it [04:14,  3.10it/s]
Reading annotated data: 690it [04:14,  5.13it/s]
Loading file: Otto_Julius_Bierbaum_-_Die_Lavendel-Ehe_(1895).spacy
Loading file: Friedrich_GerstÀcker_-_Der_erkaufte_Henker_(1845).spacy
Loading file: Theodor_Storm_-_Carsten_Curator_(1878).spacy
Loading file: Therese_Huber_-_Das_misslungene_Opfer_(1828).spacy
Loading file: Berthold_Auerbach_-_Das_Landhaus_am_Rhein_-_Band_III_(1869).spacy
Reading annotated data: 692it [04:15,  4.66it/s]
Loading file: Achim_von_Arnim_-_Novellen_(1810).spacy
Reading annotated data: 693it [04:15,  3.71it/s]
Loading file: Jeremias_Gotthelf_-_Eine_alte_Geschichte_zu_neuer_Erbauung_(1849).spacy
Loading file: Eugenie_Marlitt_-_Goldelse_(1866).spacy
Reading annotated data: 695it [04:16,  3.17it/s]
Loading file: Ludwig_Tieck_-_Dichterleben_(1825).spacy
Reading annotated data: 696it [04:16,  3.36it/s]
Loading file: Berthold_Auerbach_-_Auf_der_Höhe_Vierter_Band_(1865).spacy
Reading annotated data: 697it [04:17,  3.15it/s]
Loading file: ETA_Hoffmann_-_Das_Majorat_(1817).spacy
Reading annotated data: 698it [04:17,  3.17it/s]
Loading file: Theodor_Fontane_-_Jenseit_des_Tweed_(1860).spacy
Reading annotated data: 699it [04:17,  2.83it/s]
Reading annotated data: 700it [04:18,  3.45it/s]
Loading file: August_Gottlieb_Meißner_-_Die_Seelen-Folter_(1814).spacy
Loading file: Charles_Sealsfield_-_Nathan_der_Squatter_(1835).spacy
Reading annotated data: 701it [04:18,  3.59it/s]
Reading annotated data: 702it [04:18,  4.31it/s]
Loading file: Adolf_Schöll_-_Der_arme_Stephan_(1827).spacy
Loading file: FW_HacklĂ€nder_-_Eugen_Stillfried_–_Zweiter_Band_(1852).spacy
Reading annotated data: 703it [04:18,  3.08it/s]
Loading file: Moritz_Hartmann_-_Das_Schloß_im_Gebirge_(1866).spacy
Loading file: Felix_Dahn_-_Felicitas_(1882).spacy
Reading annotated data: 705it [04:19,  4.16it/s]
Loading file: Wilhelm_Hauff_-_Der_junge_EnglÀnder_(1827).spacy
Loading file: Julius_von_Voß_-_Die_Moden_der_guten_alten_Zeit_(1827).spacy
Reading annotated data: 707it [04:19,  4.70it/s]
Loading file: Karl_Gutzkow_-_Wally,_die_Zweiflerin_(1835).spacy
Reading annotated data: 708it [04:19,  4.67it/s]
Loading file: Abraham_Manuel_Fröhlich_-_Der_Kinderball_(1833).spacy
Loading file: Friedrich_GerstÀcker_-_Alle_jagen_John_Mulligan_(1860).spacy
Reading annotated data: 710it [04:20,  4.62it/s]
Reading annotated data: 711it [04:20,  5.05it/s]
Loading file: Ottilie_Wildermuth_-_Die_Lehrjahre_der_zwei_Schwestern_(1855).spacy
Loading file: Clemens_Brentano_-_Die_Schachtel_mit_der_Friedenspuppe_(1815).spacy
Reading annotated data: 713it [04:20,  6.32it/s]
Loading file: Adelbert_von_Chamisso_-_Peter_Schlemihls_wundersame_Geschichte_(1813).spacy
Loading file: Gottfried_Keller_-_Dietegen_(1874).spacy
Reading annotated data: 714it [04:20,  6.72it/s]
Loading file: Adalbert_Stifter_-_Die_Mappe_meines_Urgroßvaters_(1841).spacy
Reading annotated data: 715it [04:21,  4.28it/s]
Reading annotated data: 716it [04:21,  4.77it/s]
Loading file: Heinrich_Zschokke_-_Jonathan_Frock_(1825).spacy
Loading file: Ludwig_Tieck_-_GlĂŒck_giebt_Verstand_(1826).spacy
Reading annotated data: 717it [04:21,  4.95it/s]
Loading file: Christoph_von_Schmid_-_Wie_Heinrich_von_Eichenfels_zur_Erkenntnis_Gottes_kam_(1817).spacy
Loading file: Johann_Wolfgang_von_Goethe_-_Wilhelm_Meisters_Wanderjahre_(1821).spacy
Reading annotated data: 719it [04:22,  2.93it/s]
Loading file: Eugenie_Marlitt_-_Im_Schillingshof_(1880).spacy
Reading annotated data: 720it [04:23,  2.24it/s]
Reading annotated data: 721it [04:23,  2.76it/s]
Loading file: Jeremias_Gotthelf_-_Die_Frau_Pfarrerin_(1854).spacy
Loading file: Auguste_von_der_Decken_-_Brausejahre_(1885).spacy
Reading annotated data: 722it [04:24,  2.31it/s]
Loading file: Marie_von_Ebner-Eschenbach_-_Er_lasst_die_Hand_kĂŒssen_(1886).spacy
Loading file: Otto_Ruppius_-_Der_Pedlar_(1857).spacy
Reading annotated data: 724it [04:24,  2.87it/s]
Reading annotated data: 724it [04:24,  2.74it/s]

print(f"Loading the data took: {round(took, 4)} seconds")
Loading the data took: 264.5419 seconds

Diese Zelle gibt die ersten 20 Zeilen der Annotation des Textes aus, der zufÀllig der erste im Python-Dictionary ist, das die Annotationen aktuell im Arbeitsspeicher speichert.

print(f"Annotations of first 20 lines of the text: {list(annotated_docs.keys())[0]}:\n")
print("Token\tLemma\tPoS")
for token in annotated_docs[list(annotated_docs.keys())[0]][:20]:
    print(f"{token.text}\t{token.lemma_}\t{token.pos_}")
Annotations of first 20 lines of the text: Gottfried_Keller_-_Die_drei_gerechten_Kammacher_(1856):

Token	Lemma	PoS
Gottfried	Gottfried	PROPN
Keller	Keller	PROPN
Die	der	DET
drei	drei	NUM
gerechten	gerecht	ADJ
Kammacher	Kammacher	NOUN
Die	der	DET
Leute	Leute	NOUN
von	von	ADP
Seldwyla	Seldwyla	PROPN
haben	haben	AUX
bewiesen	beweisen	VERB
,	--	PUNCT
daß	daß	SCONJ
eine	ein	DET
ganze	ganz	ADJ
Stadt	Stadt	NOUN
von	von	ADP
Ungerechten	Ungerechte	NOUN
oder	oder	CCONJ

5.5.5. Einlesen der Metadaten#

Anschließend werden die zugehörigen Metadaten geladen und auf diejenigen Texte beschrĂ€nkt, fĂŒr die Annotationen vorliegen. Die zeitlichen Angaben werden in ein geeignetes Datumsformat ĂŒberfĂŒhrt, um spĂ€tere zeitbasierte Aggregationen und Visualisierungen zu erleichtern.

Zur Erinnerung: Zwei-Stichproben-Ansatz#

FĂŒr die Robustheit der Analyse werden zwei verschiedene Stichproben (siehe Abschnitt „Sampling und Filterung des Korpus“) verwendet:

  • Sample 1: ZufĂ€llige Auswahl von 50 Texten pro Jahrzehnt (random_state=42)

  • Sample 2: Alternative ZufĂ€llige Auswahl von 50 Texten pro Jahrzehnt (random_state=31415)

Dieser Ansatz ermöglicht es, zu ĂŒberprĂŒfen, ob die beobachteten Muster robust gegenĂŒber unterschiedlichen Stichproben sind oder ob sie durch die spezifische Textauswahl beeinflusst werden.

In der folgenden Zelle definieren wir den Pfad zu dem Ordner, in dem die Metadatentabellen abgelegt werden sollen.

# 🚀 Create metadata directory path
metadata_dir = Path("../metadata")
metadata_dir.mkdir(parents=True, exist_ok=True)

In der folgenden Zelle verwenden wir das Programm wget, um die Metadaten-Dateien fĂŒr die beiden Samples aus dem GitHub-Repository der Fallstudie herunterzuladen und sie im dafĂŒr vorgesehenen Ordner abzulegen.

# 🚀 Load the metadata files from GitHub 
! wget https://raw.githubusercontent.com/quadriga-dk/Text-Fallstudie-3/refs/heads/main/metadata/metadata_corpus-german_language_fiction_1810-1900_50-per-decade.csv -P ../metadata
! wget https://raw.githubusercontent.com/quadriga-dk/Text-Fallstudie-3/refs/heads/main/metadata/metadata_corpus-german_language_fiction_1810-1900_50-per-decade_ALT.csv -P ../metadata

In den folgenden Zellen lesen wir die heruntergeladenen Metadaten mit der Python-Bibliothek pandas fĂŒr die tabellarische Verarbeitung ein und zeigen, wie die Tabellen aussehen.

Stichprobe 1:

metadata_df = pd.read_csv(metadata_dir / "metadata_corpus-german_language_fiction_1810-1900_50-per-decade.csv")
# Datentyp der Datumsspalte fĂŒr eine einfachere Weiterverarbeitung Ă€ndern
metadata_df['DC.date'] = pd.to_datetime(metadata_df['DC.date'], format="%Y")
metadata_df = metadata_df[metadata_df['DC.identifier'].isin(annotated_docs.keys())]
show(metadata_df)
Loading ITables v2.6.1 from the internet... (need help?)

Stichprobe 2:

metadata_df_alt = pd.read_csv(metadata_dir / "metadata_corpus-german_language_fiction_1810-1900_50-per-decade_ALT.csv")
# Datentyp der Datumsspalte fĂŒr eine einfachere Weiterverarbeitung Ă€ndern
metadata_df_alt['DC.date'] = pd.to_datetime(metadata_df_alt['DC.date'], format="%Y")
metadata_df_alt = metadata_df_alt[metadata_df_alt['DC.identifier'].isin(annotated_docs.keys())]
show(metadata_df_alt)
Loading ITables v2.6.1 from the internet... (need help?)

5.5.6. Syntaktische N-Gramme extrahieren#

In einem weiteren Schritt können wir die Adjektive extrahieren, die mit dem Nomen Luft in Verbindung stehen (siehe Syntaktische N-Gramme). Wir suchen in den annotierten Texten nach allen FĂ€llen, in denen Luft durch ein Adjektiv nĂ€her bestimmt wird – wie in frische Luft, schlechte Luft oder verdorbene Luft.

Syntactic Bigram

Wir machen dabei Gebrauch von den Dependenzstrukturen, die sich durch das spaCy-eigene Doc einfach navigieren lassen. In den Standard-spaCy-Modellen fĂŒr die deutsche Sprache wird die syntaktische Position eines solchen adjektivischen Modifikators – anders als im Englischen und einigen anderen Sprachen, wo das Label „amod“ verwendet wird – aus historischen GrĂŒnden mit „nk“ (noun kernel element) annotiert.

In unserer Implementierung stĂŒtzen wir uns daher auf die Kombination aus dem Dependency-Label „nk“ und dem POS-Tag „ADJ“, um Adjektive zu identifizieren, die unser Zielsubstantiv nĂ€her bestimmen.

In der folgenden Zelle definieren wir die Funktion, die die eigentliche Extraktion der abhĂ€ngigen Adjektive durchfĂŒhrt. FĂŒr jeden Text im Korpus sammelt sie alle Adjektive, die das Zielsubstantiv ĂŒber die Relation „nk“ nĂ€her bestimmen, und zĂ€hlt deren HĂ€ufigkeit. Das Ergebnis ist eine Tabelle, die fĂŒr jeden Text festhĂ€lt, wie oft jedes beobachtete Adjektiv mit dem Zielsubstantiv auftritt – die Grundlage fĂŒr die spĂ€tere Analyse der HĂ€ufigkeiten im Zeitverlauf.

def extract_dependent_adjective_list(spacy_docs: Dict, metadata_df: pd.DataFrame,
                                     noun_input: Union[str, List[str]], top_n: int = 10) -> Tuple[pd.DataFrame, List[str]]:
    """
    Extract adjective modifiers (nk) for a noun or list of nouns and track their frequency over time.

    Parameters:
    -----------
    spacy_docs : dict
        Dictionary with file_ids as keys and spaCy Doc objects as values
    metadata_df : pd.DataFrame
        DataFrame with columns: 'lastname', 'firstname', 'DC.title', 'year', 'volume', 'ID', 'decade'
    noun_input : str or list of str
        Single noun lemma (e.g., 'liebe') or list of noun lemmata (e.g., ['liebe', 'leidenschaft'])
    top_n : int
        Size of the returned top_adjectives list (default: 10).
        The returned DataFrame always contains ALL observed adjectives — top_n only
        controls the convenience list returned alongside it.

    Returns:
    --------
    tuple : (pd.DataFrame, list)
        - DataFrame with columns: filename, DC.title, year, adjective, count, noun_count
          (one row per (file, observed adjective) for every file in which the target
          noun appears at least once; count may be 0)
        - List of the top N most frequent adjectives across the corpus
    """
    # Convert single noun to list for uniform processing
    if isinstance(noun_input, str):
        noun_list = [noun_input]
    else:
        noun_list = noun_input

    # Convert to lowercase for case-insensitive matching
    noun_list_lower = [noun.lower() for noun in noun_list]

    # Single token-scanning pass: for each metadata-matched doc, compute its
    # per-document adjective counts once and simultaneously accumulate them into
    # the corpus-wide counter. (Previously this token walk was done twice — once
    # globally, once per document — which doubled the expensive spaCy work.)
    # Building the global vocabulary only from metadata-matched docs also avoids
    # phantom always-zero adjective columns from docs that are dropped below.
    all_adjectives = Counter()
    per_doc = []  # (file_id, meta_row, adjective_counts, noun_count)

    for file_id, doc in spacy_docs.items():
        # Get metadata for this file
        meta_row = metadata_df[metadata_df['DC.identifier'] == file_id]

        if meta_row.empty:
            continue

        # Count adjectives modifying the target nouns in this document
        adjective_counts = Counter()
        noun_count = 0

        for token in doc:
            # Check if this token is one of our target nouns
            if token.lemma_.lower() in noun_list_lower and token.pos_ == 'NOUN':
                noun_count += 1
                # Find adjective modifiers (nk dependency)
                for child in token.children:
                    if child.dep_ == 'nk' and child.pos_ == 'ADJ':
                        adjective_counts[child.lemma_.lower()] += 1

        all_adjectives.update(adjective_counts)
        per_doc.append((file_id, meta_row, adjective_counts, noun_count))

    # Full set of adjectives observed in the corpus (no cutoff — used to populate the DataFrame)
    all_observed_adjectives = list(all_adjectives.keys())
    # Top N most frequent — returned as a convenience list for downstream filtering
    top_adjectives = [adj for adj, count in all_adjectives.most_common(top_n)]

    # Densify: emit one row per (document, observed adjective). No spaCy work here —
    # we only read the cached per-document counts computed in the pass above.
    results = []

    for file_id, meta_row, adjective_counts, noun_count in per_doc:
        # Create a row for each observed adjective in the corpus when the noun
        # appears in this document (count may be 0 — needed by downstream
        # time-series averaging, which divides by the number of texts in a year).
        for adjective in all_observed_adjectives:
            count = adjective_counts.get(adjective, 0)
            if noun_count > 0 or count > 0:  # Include if we have nouns or this adjective
                results.append({
                    'filename': file_id,
                    'DC.title': meta_row['DC.title'].values[0],
                    'DC.date': meta_row['DC.date'].dt.year.values[0], #['DC.date'].values[0],
                    'year': meta_row['year'].values[0],
                    'adjective': adjective,
                    'count': count,
                    'noun_count': noun_count
                })

    return pd.DataFrame(results), top_adjectives

Die obige Funktion lĂ€sst sich mit einem einzelnen Substantiv oder einer Liste von Substantiven verwenden. In diesem Beispiel nutzen wir lediglich das einzelne Substantiv „Luft“:

noun = "Luft"

Wenn Sie dieses Notebook jedoch lokal verwenden, können Sie die Variable fĂŒr das Substantiv neu definieren, zum Beispiel so:

noun = "Nebel"

oder so:

noun = ["Luft", "Nebel", "Rauch"]

In der folgenden Zelle fĂŒhren wir die zuvor definierte Funktion extract_dependent_adjective_list aus und extrahieren die vom ausgewĂ€hlten Substantiv abhĂ€ngigen Adjektive (aus dem Korpus „Stichprobe 1“). Wir erhalten eine Liste (einen DataFrame, adj_df), in der fĂŒr jedes Buch die HĂ€ufigkeit derjenigen Adjektive aufgefĂŒhrt ist, die in unserem Korpus gemeinsam mit dem Substantiv ein syntaktisches Bigramm bilden. Zudem erhalten wir eine Gesamtliste (top_adjs) der am hĂ€ufigsten vorkommenden Adjektive dieser Art fĂŒr das gesamte Korpus.

adj_df, top_adjs = extract_dependent_adjective_list(annotated_docs, 
                                                    metadata_df, 
                                                    noun, 
                                                    top_n=10)

Nun fĂŒhren wir denselben Vorgang fĂŒr „Stichprobe 2“ durch.

adj_df_alt, top_adjs_alt = extract_dependent_adjective_list(annotated_docs, 
                                                            metadata_df_alt, 
                                                            noun, 
                                                            top_n=10)

Ergebnisse der Extraktion syntaktischer N-Gramme#

Nun liegen fĂŒr jede Stichprobe zwei Arten von Ergebnissen vor. ZunĂ€chst die Liste der top_n hĂ€ufigsten Adjektive in der jeweiligen Stichprobe:

Sample 1:

# Print the top adjectives 
for adj in top_adjs:
    print('* ', adj)
*  frisch
*  frei
*  rein
*  blau
*  kalt
*  leer
*  klar
*  still
*  warm
*  heiß

Sample 2:

# Print the top adjectives (alternative sample)
for adj in top_adjs_alt:
    print('* ', adj)
*  frisch
*  frei
*  rein
*  blau
*  klar
*  leer
*  kalt
*  warm
*  still
*  heiß

Zwischenergebnis#

Hier lĂ€sst sich bereits erkennen, dass die beiden Stichproben recht Ă€hnliche Ergebnisse liefern. So enthalten beispielsweise die beiden Listen der zehn hĂ€ufigsten Wörter dieselben Begriffe, wobei sich lediglich die Reihenfolge geringfĂŒgig unterscheidet. Wir werden im Weiteren analysieren, wie stark die HĂ€ufigkeiten jener Wörter variieren, die in dieser Rangliste unterschiedliche PlĂ€tze belegen.

Die folgenden Tabellen enthalten die HĂ€ufigkeiten dieser Adjektive (und des/der Zielsubstantiv(e) – siehe Spalte noun_count) in den einzelnen BĂŒchern – jeweils eine pro Stichprobe:

Sample 1:

show(adj_df)
Loading ITables v2.6.1 from the internet... (need help?)

Sample 2:

show(adj_df_alt)
Loading ITables v2.6.1 from the internet... (need help?)

Speichern der Ergebnisse als Dateien#

Die Ergebnisse einer solchen Extraktion stellen bereits ein gewisses Zwischenergebnis der Forschung dar. Speichern wir sie als Dateien:

# Create intermediate directory
interm_data_synt_ngrams_dir = Path("interm_data_synt_ngrams")
interm_data_synt_ngrams_dir.mkdir(parents=True, exist_ok=True)
# Save adj_df to CSV
adj_df.to_csv(interm_data_synt_ngrams_dir / "adj_df_luft.csv", index=False)
print(f"Saved adj_df to interm_data_synt_ngrams/adj_df_luft.csv ({len(adj_df)} rows)")

# Save adj_df_alt to CSV
adj_df_alt.to_csv(interm_data_synt_ngrams_dir / "adj_df_alt_luft.csv", index=False)
print(f"Saved adj_df_alt to interm_data_synt_ngrams/adj_df_alt_luft.csv ({len(adj_df_alt)} rows)")

Laden gespeicherter Ergebnisse (Optional)#

Falls die Ergebnisse bereits extrahiert und als CSV gespeichert wurden, können sie hier geladen werden, anstatt die Extraktion erneut durchzufĂŒhren:

# Optional: Load previously saved results from CSV

# Load adj_df
adj_df = pd.read_csv(interm_data_synt_ngrams_dir / "adj_df_luft.csv")
adj_df['DC.date'] = pd.to_datetime(adj_df['DC.date'], format="%Y")

# Load adj_df_alt
adj_df_alt = pd.read_csv(interm_data_synt_ngrams_dir / "adj_df_alt_luft.csv")
adj_df_alt['DC.date'] = pd.to_datetime(adj_df_alt['DC.date'], format="%Y")

# Recreate top_adjs lists from the dataframes
top_adjs = adj_df.groupby('adjective')['count'].sum().sort_values(ascending=False).head(10).index.tolist()
top_adjs_alt = adj_df_alt.groupby('adjective')['count'].sum().sort_values(ascending=False).head(10).index.tolist()

5.5.7. Analyse und Visualisierung#

Korpusweite HĂ€ufigkeiten adjektivischer Modifikatoren#

ZunĂ€chst betrachten wir die Gesamtverteilung der adjektivischen Modifikatoren. Bevor zeitliche Entwicklungen analysiert werden, ist es sinnvoll, einen Überblick darĂŒber zu gewinnen, welche Adjektive im gesamten Korpus am hĂ€ufigsten als syntaktische Modifikatoren der untersuchten Substantive auftreten. Diese aggregierte Betrachtung erlaubt es, dominante Beschreibungs- und Bewertungsmuster zu identifizieren und dient zugleich als Ausgangspunkt fĂŒr die nachfolgenden diachronen Analysen.

Hide code cell content

def get_top_adjectives_list(adj_df: pd.DataFrame, top_n: int = 10) -> list:
    """
    Get the top N most frequent adjectives from the adjective dataframe.

    Parameters:
    -----------
    adj_df : pd.DataFrame
        DataFrame returned by extract_adjective_modifiers_list()
    top_n : int
        Number of most frequent adjectives to return

    Returns:
    --------
    list
        List of top N adjectives
    """
    total_counts = adj_df.groupby('adjective')['count'].sum().sort_values(ascending=False)
    return total_counts.head(top_n).index.tolist()


def plot_top_adjective_ranking(
    adj_df: pd.DataFrame,
    top_n: int = 20,
    noun_input=None,
    metric: str = "count",   # "count" or "share"
):
    """
    Show a simple ranking of the most frequent adjective modifiers.

    metric:
      - "count": total raw modifier counts across corpus
      - "share": percentage share among all modifier counts (sums to 100)
    """
    totals = (
        adj_df.groupby("adjective")["count"]
              .sum()
              .sort_values(ascending=False)
              .head(top_n)
              .reset_index()
              .rename(columns={"count": "total_count"})
    )
    n_shown = len(totals)

    if metric == "share":
        totals["value"] = (totals["total_count"] / totals["total_count"].sum()) * 100
        xcol = "value"
        xlabel = "Share of all adjective modifiers (%)"
        hover = {"total_count": True, "value": ":.2f"}
    else:
        totals["value"] = totals["total_count"]
        xcol = "value"
        xlabel = "Total count (across corpus)"
        hover = {"total_count": True}

    # Make a readable title noun
    if isinstance(noun_input, str):
        title_noun = f'"{noun_input}"'
    elif isinstance(noun_input, list) and noun_input:
        noun_str = ", ".join(noun_input[:3]) + (f", 
 ({len(noun_input)})" if len(noun_input) > 3 else "")
        title_noun = f"[{noun_str}]"
    else:
        title_noun = ""

    fig = px.bar(
        totals[::-1],               # reverse for top at top in horizontal bar
        x=xcol,
        y="adjective",
        orientation="h",
        title=f"Top {n_shown} adjective modifiers of {title_noun}",
        labels={xcol: xlabel, "adjective": "Adjective"},
        hover_data=hover,
    )

    fig.update_layout(
        height=450 + n_shown * 12,  # scales nicely
        margin=dict(l=120, r=40, t=60, b=40),
        yaxis=dict(categoryorder="total ascending"),
    )

    fig.show()
    return totals


def show_top_adjectives_table(adj_df: pd.DataFrame, top_n: int = 20):
    totals = (
        adj_df.groupby("adjective")["count"]
              .sum()
              .sort_values(ascending=False)
              .head(top_n)
              .reset_index()
              .rename(columns={"count": "total_count"})
    )
    totals["rank"] = range(1, len(totals) + 1)
    totals = totals[["rank", "adjective", "total_count"]]

    fig = go.Figure(data=[go.Table(
        header=dict(values=list(totals.columns)),
        cells=dict(values=[totals[c] for c in totals.columns])
    )])
    fig.update_layout(title=f"Top {len(totals)} adjective modifiers (total counts)", height=400)
    fig.show()
    #return totals


def plot_top_adjectives_by_decade(adj_df: pd.DataFrame, metadata_df: pd.DataFrame, top_n: int = 8):
    # attach decade via filename/ID
    dec = metadata_df[["DC.identifier", "decade"]].rename(columns={"DC.identifier": "filename"})
    df = adj_df.merge(dec, on="filename", how="left").dropna(subset=["decade"]).copy()

    # totals per decade
    g = (df.groupby(["decade", "adjective"])["count"].sum().reset_index())
    # find global top_n adjectives (across all decades)
    top_adjs = (df.groupby("adjective")["count"].sum().sort_values(ascending=False).head(top_n).index.tolist())
    g = g[g["adjective"].isin(top_adjs)]

    fig = px.bar(
        g,
        x="decade",
        y="count",
        color="adjective",
        barmode="group",
        title=f"Top {len(top_adjs)} adjective modifiers by decade (raw counts)",
        labels={"count": "Count", "decade": "Decade", "adjective": "Adjective"},
    )
    fig.update_layout(height=500, hovermode="x unified")
    fig.show()
    #return g

Sample 1:#

totals = plot_top_adjective_ranking(adj_df, top_n=20, noun_input=noun, metric="count")
show_top_adjectives_table(adj_df)

Sample 2:#

totals_alt = plot_top_adjective_ranking(adj_df_alt, top_n=20, noun_input=noun, metric="count")
show_top_adjectives_table(adj_df_alt)

Hier zeigt sich erneut, dass sich die Ergebnisse der HĂ€ufigkeitsverteilung zwischen den beiden Stichproben nicht wesentlich unterscheiden – oder dass zumindest die allgemeine Rangfolge der Adjektive Ă€hnlich ist. „Frisch“ steht eindeutig an der Spitze, und „Frei“ ist in beiden Korpora zweifellos das zweithĂ€ufigste Adjektiv. Die ĂŒbrigen Adjektive weisen deutlich geringere HĂ€ufigkeiten auf, und auch die Unterschiede zwischen ihren HĂ€ufigkeitswerten sind weitaus geringer.

Diachrone Analyse adjektivisch-substantivischer Konstruktionen#

Im nĂ€chsten Schritt wird die Analyse um eine diachrone Perspektive erweitert. Anstatt ausschließlich korpusweite GesamthĂ€ufigkeiten zu betrachten, wird nun untersucht, wie sich die Verwendung der zuvor identifizierten adjektivischen Modifikatoren im Zeitverlauf entwickelt. Die zeitliche Aggregation erlaubt es, Verschiebungen in Beschreibungs- und Bewertungsmustern nachzuzeichnen und diese mit historischen Prozessen in Beziehung zu setzen.

Hide code cell content

def plot_adjective_trends_moving_avg_plotly(
    adj_df: pd.DataFrame,
    top_adjectives: list,
    noun_input,
    window_years: int = 10,
    n_plot: int = 8,
    value_col: str = "rel_freq",
    show_points: bool = True,
):
    """
    Plotly lineplot per year for adjective dependents + centered moving average window.

    Expects adj_df to have at least: year, adjective, count, noun_count
    If value_col (default: rel_freq) is missing, it will be computed as (count / noun_count) * 100.
    """

    df = adj_df.copy()

    # --- Ensure year is integer year (avoid datetime nanoseconds weirdness) ---
    if "year" not in df.columns:
        raise ValueError("adj_df must contain a 'year' column.")

    if pd.api.types.is_datetime64_any_dtype(df["year"]):
        df["year"] = df["year"].dt.year
    else:
        df["year"] = pd.to_numeric(df["year"], errors="coerce")

    df = df.dropna(subset=["year"])
    df["year"] = df["year"].astype(int)

    # --- Compute relative frequency if needed ---
    if value_col not in df.columns:
        if not {"count", "noun_count"}.issubset(df.columns):
            raise ValueError(
                f"adj_df must contain '{value_col}' or both 'count' and 'noun_count'."
            )
        df[value_col] = df.apply(
            lambda row: (row["count"] / row["noun_count"]) * 100 if row["noun_count"] else 0,
            axis=1,
        )

    # --- Filter adjectives ---
    df = df[df["adjective"].isin(top_adjectives)].copy()
    if df.empty:
        raise ValueError("After filtering by top_adjectives, no rows remain.")

    # --- Yearly aggregate (mean across texts) ---
    yearly = (
        df.groupby(["year", "adjective"])[value_col]
          .mean()
          .unstack("adjective")
          .sort_index()
    )

    # --- Moving average on yearly aggregates ---
    moving = yearly.rolling(window=window_years, center=True, min_periods=1).mean()

    # --- Limit to n_plot adjectives (keep original top_adjectives order if possible) ---
    cols_in_data = [a for a in top_adjectives if a in moving.columns]
    cols_to_plot = cols_in_data[:n_plot] if cols_in_data else list(moving.columns)[:n_plot]
    moving_plot = moving[cols_to_plot].copy()

    # --- Build title ---
    if isinstance(noun_input, str):
        title_noun = f'"{noun_input}"'
    else:
        noun_str = ", ".join(noun_input[:3])
        if len(noun_input) > 3:
            noun_str += f", ... ({len(noun_input)} total)"
        title_noun = f"[{noun_str}]"

    # --- Long format for plotly ---
    moving_long = (
        moving_plot.reset_index()
                  .melt(id_vars="year", var_name="adjective", value_name=value_col)
    )

    # --- Plotly line chart ---
    fig = px.line(
        moving_long,
        x="year",
        y=value_col,
        color="adjective",
        markers=show_points,
        title=f"Top {min(n_plot, len(cols_to_plot))} Adjectives – {window_years}-Year Moving Average – {title_noun}",
        labels={
            "year": "Year",
            value_col: f"{value_col} (moving avg, window={window_years}y)",
            "adjective": "Adjective",
        },
    )

    # Make x axis show integer years cleanly (no scientific notation)
    fig.update_xaxes(
        tickmode="linear",
        dtick=10,          # change to 5/1 if you want denser ticks
        tickformat="d",
    )

    fig.update_layout(
        width=1000,
        height=500,
        legend_title_text="",
        hovermode="x unified",
        margin=dict(l=40, r=40, t=70, b=40),
    )

    fig.show()
    return yearly, moving

def plot_adjective_trends_list(adj_df: pd.DataFrame, top_adjectives: list,
                               noun_input: Union[str, List[str]]):
    """
    Create a plot showing adjective modifier trends over time for a noun or noun list.

    Parameters:
    -----------
    adj_df : pd.DataFrame
        DataFrame returned by extract_adjective_modifiers_list()
    top_adjectives : list
        List of adjectives to plot (e.g., from get_top_adjectives_list())
    noun_input : str or list of str
        The noun(s) being analyzed
    show_individual_texts : bool
        If True, show individual text data points with titles; if False, show yearly means only

    Returns:
    --------
    
    .graph_objects.Figure
        The figure object (will display automatically in Jupyter)
    """
    # Filter for only the top adjectives
    filtered_df = adj_df[adj_df['adjective'].isin(top_adjectives)].copy()

    # Calculate relative frequency (per 100 noun occurrences)
    # Handle division by zero
    filtered_df['rel_freq'] = filtered_df.apply(
        lambda row: (row['count'] / row['noun_count']) * 100 if row['noun_count'] > 0 else 0,
        axis=1
    )

    # Create figure
    fig = go.Figure()


    # Show individual texts as scatter points
    for adj in top_adjectives:
        adj_data = filtered_df[filtered_df['adjective'] == adj]

        fig.add_trace(go.Scatter(
            x=adj_data['year'],
            y=adj_data['rel_freq'],
            mode='markers',
            name=adj,
            text=adj_data['DC.title'],
            hovertemplate='<b>%{fullData.name}</b><br>' +
                         '<b>%{text}</b><br>' +
                         'Year: %{x}<br>' +
                         'Frequency: %{y:.2f} per 100 occurrences<br>' +
                         '<extra></extra>',
            marker=dict(size=8, opacity=0.7)
        ))

    # Create title based on input
    if isinstance(noun_input, str):
        title_noun = f'"{noun_input}"'
    else:
        noun_str = ', '.join(noun_input[:3])
        if len(noun_input) > 3:
            noun_str += f', ... ({len(noun_input)} total)'
        title_noun = f'[{noun_str}]'

    # Update layout
    fig.update_layout(
        title=f'Adjective Syntactic Dependents of {title_noun} Over Time',
        xaxis_title='Year',
        yaxis_title=f'Relative Frequency (per 100 noun occurrences)',
        hovermode='closest',
        height=600,
        legend=dict(
            title='Adjectives',
            yanchor="top",
            y=0.99,
            xanchor="right",
            x=0.99
        )
    )

    return fig

Sample 1#

# yearly lineplots + moving average
yearly_1, moving_1 = plot_adjective_trends_moving_avg_plotly(
    adj_df, top_adjs, noun_input=noun, window_years=10, n_plot=8
)

Sample 2:#

# NEW: yearly lineplots + moving average
yearly_2, moving_2 = plot_adjective_trends_moving_avg_plotly(
    adj_df_alt, top_adjs_alt, noun_input=noun, window_years=10, n_plot=8
)

Ausreißertexte und Kontextanalyse#

Welche konkreten Texte sind fĂŒr die AusschlĂ€ge in den Zeitreihen verantwortlich?

Um diese Frage transparent zu beantworten, identifizieren wir sogenannte „Ausreißertexte“ (aber nicht ĂŒber einen komplexen statistischen Test, sondern ĂŒber eine nachvollziehbare ZĂ€hl- und Ranking-Logik). FĂŒr jedes Werk zĂ€hlen wir (1) noun_count, also wie oft das Lemma Luft im Text vorkommt, und (2) count, also wie oft ein bestimmtes Adjektiv (z.B. frisch) in der Dependenzannotation als attributiver Modifikator von Luft erscheint (ADJ → Luft, z.B. frische Luft). Daraus berechnen wir pro Text eine normalisierte Kennzahl rel_freq = (count / noun_count) * 100, also den Anteil der Luft-Vorkommen, die mit diesem Adjektiv modifiziert werden.

Anschließend bestimmen wir fĂŒr jedes Adjektiv zunĂ€chst die Dekaden, in denen der Durchschnitt dieser relativen HĂ€ufigkeit besonders hoch ist (Peak-Dekaden), und listen innerhalb dieser Zeitfenster die Texte mit den höchsten rel_freq-Werten (Top-k) als „Ausreißertexte“ auf. Um instabile Extremwerte zu vermeiden, filtern wir Texte mit sehr wenigen Luft-Belegen (z.B. noun_count < 5) aus. ErgĂ€nzend berechnen wir pro Dekade den Anteil eines einzelnen Textes an allen Adjektiv→Luft-Treffern (share_of_adj_count_in_decade), um sichtbar zu machen, ob ein Ausschlag der Zeitreihe vor allem von wenigen Werken getragen wird. Diese identifizierten Texte werden anschließend mithilfe von KWIC- bzw. Satzkontexten qualitativ ĂŒberprĂŒft, um die semantische Funktion der jeweiligen Konstruktionen genauer einzuordnen.

Hide code cell content

# --- small detokenizer for KWIC left/right contexts ---
_punct_fix = re.compile(r"\s+([.,;:!?])")

def detok(tokens):
    """Join tokens with spaces and fix spacing before punctuation."""
    return _punct_fix.sub(r"\1", " ".join(tokens)).strip()


def enrich_adj_df_with_decade_and_relfreq(adj_df: pd.DataFrame, metadata_df: pd.DataFrame) -> pd.DataFrame:
    """
    Adds:
      - year_int (int)
      - decade (from metadata)
      - rel_freq = (count / noun_count) * 100
    """
    df = adj_df.copy()

    # year → int
    if pd.api.types.is_datetime64_any_dtype(df["year"]):
        df["year_int"] = df["year"].dt.year
    else:
        df["year_int"] = pd.to_numeric(df["year"], errors="coerce").astype("Int64")

        ()
    meta = metadata_df[["DC.identifier", "decade"]].copy()
    df = df.merge(meta, left_on="filename", right_on="DC.identifier", how="left").drop(columns=["DC.identifier"])

    # rel_freq per text
    df["rel_freq"] = df.apply(
        lambda r: (r["count"] / r["noun_count"]) * 100 if r["noun_count"] else 0,
        axis=1,
    )
    return df


def peak_decades_for_adjective(
    df_enriched: pd.DataFrame,
    adjective: str,
    metric: str = "rel_freq",
    top_n: int = 3,
    min_noun_count: int = 5,
) -> pd.DataFrame:
    """
    Returns the decades where an adjective is strongest (by decade mean of metric),
    filtering out texts with very few noun occurrences (min_noun_count).
    """
    sub = df_enriched[(df_enriched["adjective"] == adjective) & (df_enriched["noun_count"] >= min_noun_count)].copy()
    if sub.empty:
        return pd.DataFrame(columns=["decade", "decade_mean", "n_texts"])

    dec = (
        sub.groupby("decade")[metric]
           .agg(decade_mean="mean", n_texts="count")
           .reset_index()
           .sort_values("decade_mean", ascending=False)
           .head(top_n)
    )
    return dec


def top_outlier_texts(
    df_enriched: pd.DataFrame,
    adjective: str,
    decades: list,
    metric: str = "rel_freq",
    k: int = 5,
    min_noun_count: int = 5,
) -> pd.DataFrame:
    """
    For a given adjective and a list of decades:
    returns top-k texts per decade (sorted by metric), plus a few diagnostic columns.
    """
    sub = df_enriched[
        (df_enriched["adjective"] == adjective) &
        (df_enriched["decade"].isin(decades)) &
        (df_enriched["noun_count"] >= min_noun_count)
    ].copy()

    if sub.empty:
        return pd.DataFrame(columns=[
            "decade","year_int","DC.title","filename","count","noun_count","rel_freq",
            "share_of_adj_count_in_decade"
        ])

    # share of raw adjective count within that decade (helps detect "one text drives it")
    sub["share_of_adj_count_in_decade"] = sub["count"] / sub.groupby("decade")["count"].transform("sum").replace(0, np.nan)
    #print(sub.head())
    out = (
        sub.sort_values(["decade", metric], ascending=[True, False])
           .groupby("decade", as_index=False)
           .head(k)
           .sort_values(["decade", metric], ascending=[True, False])
    )
    #print(out.head())
    cols = ["decade", "year_int", "DC.title", "filename", "count", "noun_count", "rel_freq", "share_of_adj_count_in_decade"]
    return out[cols]


def kwic_adj_noun(
    spacy_docs: Dict[str, "spacy.tokens.Doc"],
    metadata_df: pd.DataFrame,
    noun_lemma: str,
    adj_lemma: str,
    dep_label: str = "nk",
    window: int = 7,
    max_examples: int = 30,
    file_ids: list | None = None,
    random_state: int = 0,
) -> pd.DataFrame:
    """
    Extract KWIC lines for cases where adj_lemma is a dependent adjective (dep_label)
    of noun_lemma.

    Returns a dataframe with left / keyword / right + sentence + metadata.
    """
    noun_lemma = noun_lemma.lower()
    adj_lemma = adj_lemma.lower()

    meta = metadata_df.set_index("DC.identifier")[["DC.title", "year", "decade", "lastname", "firstname"]]

    rows = []
    for file_id, doc in spacy_docs.items():
        if file_ids is not None and file_id not in file_ids:
            continue
        if file_id not in meta.index:
            continue

        m = meta.loc[file_id]
        year_int = int(pd.to_datetime(m["year"]).year) if not isinstance(m["year"], (int, np.integer)) else int(m["year"])

        for token in doc:
            if token.pos_ == "NOUN" and token.lemma_.lower() == noun_lemma:
                for child in token.children:
                    if child.pos_ == "ADJ" and child.dep_ == dep_label and child.lemma_.lower() == adj_lemma:
                        i = token.i
                        left = detok([t.text for t in doc[max(0, i - window): i]])
                        right = detok([t.text for t in doc[i + 1: i + 1 + window]])

                        rows.append({
                            "left context": left,
                            "keyword": token.text,
                            "right context": right,
                            "modifier": child.text,
                            "DC.title": m["DC.title"],
                            "author": f'{m["firstname"]} {m["lastname"]}'.strip(),
                            "decade": int(m["decade"]),
                            "year": year_int,
                            "filename": file_id,
                            "sentence": token.sent.text.strip() if token.sent is not None else ""
                        })

    df = pd.DataFrame(rows)
    if df.empty:
        return df

    # sample if too many (keeps notebook readable)
    if len(df) > max_examples:
        df = df.sample(n=max_examples, random_state=random_state)

    return df.sort_values(["decade", "year", "DC.title"]).reset_index(drop=True)

Hide code cell content

# --- SAMPLE 1 ---
adj_df_enriched_1 = enrich_adj_df_with_decade_and_relfreq(adj_df, metadata_df)
# choose which adjectives to inspect (use the ones you plotted)
adjs_to_inspect_1 = top_adjs[:8]  # adjust if you want more/less

all_outliers_1 = []
all_kwic_1 = []

for adj in adjs_to_inspect_1:
    peaks = peak_decades_for_adjective(
        adj_df_enriched_1,
        adjective=adj,
        metric="rel_freq",
        top_n=2,            # take the 2 strongest decades
        min_noun_count=5,   # avoid extreme ratios from very few Luft occurrences
    )

    peak_decades = peaks["decade"].tolist()
    outliers = top_outlier_texts(
        adj_df_enriched_1,
        adjective=adj,
        decades=peak_decades,
        metric="rel_freq",
        k=5,                # top 5 texts per decade
        min_noun_count=5,
    )

    outliers["adjective"] = adj
    all_outliers_1.append(outliers)

    # KWIC only for the outlier filenames (keeps it small and interpretable)
    outlier_files = outliers["filename"].unique().tolist()
    kw = kwic_adj_noun(
        annotated_docs, metadata_df,
        noun_lemma=noun, adj_lemma=adj,
        dep_label="nk",
        window=7,
        max_examples=25,
        file_ids=outlier_files,
        random_state=0
    )
    if not kw.empty:
        kw["adjective"] = adj
        all_kwic_1.append(kw)

outliers_table_1 = pd.concat(all_outliers_1, ignore_index=True) if all_outliers_1 else pd.DataFrame()
kwic_table_1 = pd.concat(all_kwic_1, ignore_index=True) if all_kwic_1 else pd.DataFrame()

outliers_table_1.to_csv(interm_data_synt_ngrams_dir / "outliers_luft_method1.csv", index=False)
kwic_table_1.to_csv(interm_data_synt_ngrams_dir / "kwic_luft_method1.csv", index=False)
metadata_df.columns
Index(['lastname', 'firstname', 'DC.title', 'DC.date', 'year', 'volume',
       'DC.identifier', 'decade'],
      dtype='object')

Hide code cell content

outliers_table_1 = pd.read_csv(interm_data_synt_ngrams_dir / "outliers_luft_method1.csv")
kwic_table_1 = pd.read_csv(interm_data_synt_ngrams_dir / "kwic_luft_method1.csv")

Die folgende Tabelle listet die identifizierten Ausreißertexte fĂŒr die jeweiligen Adjektiv–Nomen-Konstruktionen auf, also jene Werke, die maßgeblich zu den beobachteten AusschlĂ€gen in den Zeitreihen beitragen (in Sample 1).

show(outliers_table_1)
Loading ITables v2.6.1 from the internet... (need help?)

Die KWIC-Ansicht zeigt ausgewĂ€hlte Satzkontexte der Adjektiv–Nomen-Konstruktionen aus diesen Ausreißertexten und ermöglicht eine qualitative Einordnung ihrer semantischen Verwendung.

show(kwic_table_1)
Loading ITables v2.6.1 from the internet... (need help?)

Hide code cell content

# --- SAMPLE 2 ---
adj_df_enriched_2 = enrich_adj_df_with_decade_and_relfreq(adj_df_alt, metadata_df_alt)

adjs_to_inspect_2 = top_adjs_alt[:8]

all_outliers_2 = []
all_kwic_2 = []

for adj in adjs_to_inspect_2:
    peaks = peak_decades_for_adjective(
        adj_df_enriched_2,
        adjective=adj,
        metric="rel_freq",
        top_n=2,
        min_noun_count=5,
    )
    peak_decades = peaks["decade"].tolist()

    outliers = top_outlier_texts(
        adj_df_enriched_2,
        adjective=adj,
        decades=peak_decades,
        metric="rel_freq",
        k=5,
        min_noun_count=5,
    )

    outliers["adjective"] = adj
    all_outliers_2.append(outliers)

    outlier_files = outliers["filename"].unique().tolist()
    kw = kwic_adj_noun(
        annotated_docs, metadata_df_alt,
        noun_lemma=noun, adj_lemma=adj,
        dep_label="nk",
        window=7,
        max_examples=25,
        file_ids=outlier_files,
        random_state=0
    )
    if not kw.empty:
        kw["adjective"] = adj
        all_kwic_2.append(kw)

outliers_table_2 = pd.concat(all_outliers_2, ignore_index=True) if all_outliers_2 else pd.DataFrame()
kwic_table_2 = pd.concat(all_kwic_2, ignore_index=True) if all_kwic_2 else pd.DataFrame()

outliers_table_2.to_csv(interm_data_synt_ngrams_dir / "outliers_luft_method2.csv", index=False)
kwic_table_2.to_csv(interm_data_synt_ngrams_dir / "kwic_luft_method2.csv", index=False)

Hide code cell content

outliers_table_2 = pd.read_csv(interm_data_synt_ngrams_dir / "outliers_luft_method2.csv")
kwic_table_2 = pd.read_csv(interm_data_synt_ngrams_dir / "kwic_luft_method2.csv")

Die folgende Tabelle listet die identifizierten Ausreißertexte fĂŒr die jeweiligen Adjektiv–Nomen-Konstruktionen auf, also jene Werke, die maßgeblich zu den beobachteten AusschlĂ€gen in den Zeitreihen beitragen (in Sample 2).

show(outliers_table_2)
Loading ITables v2.6.1 from the internet... (need help?)

Die KWIC-Ansicht zeigt ausgewĂ€hlte Satzkontexte der Adjektiv–Nomen-Konstruktionen aus diesen Ausreißertexten und ermöglicht eine qualitative Einordnung ihrer semantischen Verwendung.

show(kwic_table_2)
Loading ITables v2.6.1 from the internet... (need help?)

5.5.8. Diskussion der syntaktischen N-Gramm-Analyse#

Die syntaktische N-Gramm-Analyse verschiebt den Blick von der bloßen HĂ€ufigkeit des Begriffs Luft hin zur Frage, wie ĂŒber Luft gesprochen wird – also welche Adjektive als Modifikatoren in Konstruktionen wie frische Luft, reine Luft oder freie Luft auftreten. Über beide Stichproben hinweg zeigt sich, dass einige Modifikatoren sehr stabil und dominant sind – insbesondere frisch (und in Teilen auch frei).

Offensichtlich spiegeln sich in dieser Liste der Adjektive keinerlei Anzeichen fĂŒr schlechte LuftqualitĂ€t wider. Vielmehr deutet die Dominanz positiv konnotierter Adjektive wie frisch, rein und frei darauf hin, dass die Literatur eher in jene Richtung reagiert, die wir in der Operationalisierung als utopischen Gegenentwurf beschrieben haben – mit einer herausgehoben positiven Semantik von „Luft”.