Das Text+Berg-Korpus

Release_147_v03, 26. August 2013

Übersicht

Im Text+Berg-Projekt digitalisieren und erschliessen wir alpine Texte. Aktuell arbeiten wir an den Jahrbüchern des Schweizer Alpenclub (SAC) inclusive des Echo des Alpes (EdA).

Dieses Release enthält die SAC-Bände der Jahre 1864 bis 2011, sowie die EdA-Bände 1872 bis 1924. Es handelt sich um

Wörter (Tokens)

unterschiedliche Wörter (Types)

Buchseiten

SAC Jahrbücher, Die Alpen 37,11 Millionen 909'000 87'000
Echo des Alpes 7,45 Millionen 176'000 22'500

Textquellen

Die Bände von 1864 bis 2000 wurden gescannt und mit Hilfe von OCR-Software (Optical Character Recognition) in Text umgewandelt. Die folgenden SAC-Bände wurden nach der Umwandlung manuell kontrolliert und OCR-Fehler (grösstenteils) korrigiert:

Alle anderen Bände wurden nach dem OCR automatisch korrigiert. Dabei wurden zunächst die Ausgaben von zwei unterschiedlichen OCR-Systemen verglichen und automatisch die "beste" Lösung gewählt. Ausserdem wurden "typische" OCR-Fehler wie 'ii' --> 'ü' korrigiert. Andere OCR-Fehler sind weiterhin enthalten.

Bei den Bänden von 2001 bis 2009 haben wir den Text aus PDF-Dateien des SAC extrahiert. Bei den Bänden 2010 und 2011 hat der SAC uns ein XML-Format geliefert, das wir in unser eigenes Text+Berg-XML-Format umgewandelt haben.

Format

Wir verteilen das Korpus in einem XML-Format mit Artikelstruktur (Titel, Autor), mit Tokenisierung und Satzendeerkennung, Sprachidentifikation pro Satz, Fussnoten und Bildunterschriften, Part-of-Speech Tags und Lemmas (nach Massgabe des PoS-Taggers).

Hinweise zur Tokenisierung

Bei der Tokenisierung haben wir die folgenden Entscheidungen getroffen.

  1. Bei Zusammenschreibungen mit Apostroph wird aufgetrennt. Im Deutschen wird vor dem Apostroph aufgetrennt (z.B. geht's --> geht + 's), im Französischen und Italienischen wird hinter dem Apostroph aufgetrennt (z.B. l'eau --> l' + eau; jusqu'au --> jusqu' + au). Im Französischen gibt es eine Ausnahmeliste mit wenigen Wörtern, die nicht aufgetrennt werden (z.B. aujourd'hui).
  2. Trennstriche am Zeilenende werden vom OCR-Programm durch einen weichen Trennstrich repräsentiert, wenn das Wort im Lexikon des OCR-Systems enthalten ist. Sonst verbleibt der Trennstrich im Wort. Wir entfernen solche Trennstriche, wenn das Wort ohne Trennstrich häufiger im Korpus enthalten ist als mit einem Trennstrich.
  3. Französische Verb-Pronomen-Konstruktionen mit Bindestrichen trennen wir in zwei Token auf (z.B. prend-elle --> prend -elle; ajoute-t-il --> ajoute -t-il).
  4. Akronyme, deren Buchstaben mit Punkt getrennt sind (z.B. S.A.C. oder A.A.C.Z.) werden als ein Token betrachtet. Dies ist für die häufigsten Akronyme implementiert.
  5. Punkt, Fragezeichen und Ausrufezeichen markieren ein Satzende. Davon ausgenommen sind Punkte, die eine Abkürzung (z.B. Dr. etc. St. Eberh.) oder eine Ordinalzahl (z.B. 21. XXV.) markieren.
  6. Doppelpunkt und Semikolon markieren nur dann ein Satzende, wenn danach ein Satz kommt, der mindestens 10 Wörter und darunter mindestens ein Verb enthält.
  7. Masseinheiten, Prozentzeichen, Gradsymbole und dergleichen werden als separate Token interpretiert (z.B. 3251m --> 3251 m; 30% --> 30 %; 28° --> 28 °)
  8. Ebenfalls wird ein neuer Satz begonnen, wenn ein Funktionswort (z.B. ein Artikel) gross geschrieben wird und nach einer Abkürzung oder einem Satz ohne Endpunkt (z.B. Titel) steht.

Hinweise zur Sprachidentifikation

  1. Die Sprachidentifikation erfolgt automatisch mit dem Programm Lingua-Ident von Michael Piotrowski. Wir ermitteln damit automatisch die Sprache für jeden Satz, der länger ist als 40 Zeichen. Bei kürzeren Sätzen ist das Programm nicht zuverlässig, und es wird deshalb die Sprache des Artikels eingesetzt. Zur Zeit erkennt das Programm Sätze in Deutsch, Französisch, Italienisch, Rätoromanisch und Englisch. Da die Unterscheidung von Rätoromanisch und Italienisch schwierig und nicht zuverlässig ist, werden ab 1996 keine rätoromanischen Sätze erkannt.
  2. Nach der Erkennung eines Satzes als Deutsch wird geprüft, ob es sich möglicherweise um Schweizer Mundart handelt. Diese Prüfung basiert auf einer Liste von häufig-gebrauchten Mundart-Wörtern. Wenn ein Satz mehr als 10% Mundart-Wörter enthält, wird er als CH-DE markiert.

Hinweise zum Part-of-Speech Tagging

  1. Das PoS-Tagging erfolgt mit dem TreeTagger und den standardmässig verfügbaren Parameter-Dateien für das Deutsche, Italienische und Englische. Informationen über die verwendeten Tagsets finden sich hier.
  2. Für das Französische haben wir eine Parameter-Datei für den TreeTagger auf der Basis der Le Monde-Treebank erstellt. Das Tagset findet sich hier.
  3. Der Tagger wurde nicht eigens für die Berg-Dokumente trainiert, und es sind deshalb fehlerhafte Annotationen besonders bei den älteren Texten zu erwarten.
  4. Sätze in Schweizer Mundart (CH-DE) erhalten PoS-Tags des Deutschen.
  5. Sätze in Rätoromanisch erhalten keine PoS-Tags, da wir für diese Sprache keinen PoS-Tagger haben.

Hinweise zur Lemmatisierung

Die Lemmas (Grundformen) der Wörter werden auf vielfältige Weise ermittelt.

  1. Im Rahmen der Erkennung von Personennamen und geographischen Namen (Toponymen) werden die Wortformen als Lemma gesetzt. Bei Genitivformen (z.B. Matterhorns) wird die Grundform ohne die Genitiv-Endung (Matterhorn) gesetzt.
  2. Bei Kardinal-Zahlen, die als Ziffernfolge auftreten (z.B. 40, 1963), wie auch bei Bruchzahlen (z.B. ½, 1¼) und römischen Zahlen (z.B. XV, XIX) wird als Lemma "@card@" eingesetzt. Bei Zahlen, die als Wort ausgeschrieben sind (z.B. vierzig, fünf, Drei, trois), wird die Grundform des Wortes als Lemma eingesetzt. Analog wird bei Ordinal-Zahlen, die als Ziffernfolge auftreten (z.B. 40., XV.) als Lemma "@ord@" eingesetzt. Bei ausgeschriebenen Ordinal-Zahlen wird die Grundform des Wortes als Lemma eingesetzt (z.B. drittes --> dritt, siebzehnten --> siebzehnt, Troisième --> troisième).
  3. Der PoS-Tagger weist im Rahmen seiner Möglichkeiten (d.h. für die ihm bekannten Wörter) ein Lemma zu, das zur gewählten Wortart passt. Bei mehrdeutigen Wortformen weist der PoS-Tagger alle möglichen Lemmas zu (z.B. Wortform = gefallen --> lemma="fallen|gefallen").
  4. Für deutsche und französische Wortformen, die dem PoS-Tagger unbekannt sind, haben wir mit Hilfe von verschiedenen Analyse-Systemen Lemmas ermittelt. Es bleibt jedoch weiterhin eine substantielle Anzahl von Wortformen (Namen, alte Schreibungen, Schweizer Schreibungen, Lehnwörter, OCR-Fehler, ...), für die wir kein Lemma ermitteln konnten (z.B. Karawankentunnel, innert, gemeiniglicher, Trekking-Permit) und die deshalb das Ersatzwort 'unk' (unknown) anstelle eines Lemmas erhalten.
  5. Bei deutschen Wörtern in alter Schreibung wird das Lemma in neuer Schreibung gesetzt (Mittheilungen --> Mitteilung, passirte --> passieren, accentuirten --> akzentuiert).
  6. Bei deutschen Verben mit abgetrenntem Präfix (z.B. fingen ... an, sah ... ein) wird das Lemma gebildet, indem das Präfix vor die Grundform des Kernverbs gesetzt wird (z.B. an+fangen, ein+sehen). Das Plus-Symbol deutet an, dass das Präfix separat auftritt.
  7. Als Lemma für Satzzeichen wird das Satzzeichen selbst gesetzt. Ausnahme ist das Lemma für Anführungszeichen, das aus technischen Gründen durch das Entitäten-Symbol (") ersetzt wird.
  8. Die Lemmas für Abkürzungen (Dr., Ing., St., etc., usw.) werden von den PoS-Taggern gesetzt. Dabei ist das Lemma entweder die Abkürzung selbst (phot. --> phot., Aufl. --> Aufl.), oder das entsprechende Wort (Fr. --> Franken, inkl. --> inklusive) oder unbekannt (Jahrg., Tel., vol., C.A.F.).
  9. Lemmas für elliptische Komposita Bei elliptischen deutschen Komposita (z.B. Eis- und Felskletterei) wird automatisch der fehlende Teil des Lemmas ergänzt. Z.B. werden für die Wortformen im Beispiel die Lemmas Eis+kletterei und Fels#kletterei eingesetzt.

Hinweise zum XML-Format:

XML-Marke Bedeutung Attribute
book Buch id (identifier)
article Artikel n (number), month (month number), duplicate-of, translation-of, orig-lang (original language)
div Absatz -
caption Bildlegende -
footnote Fussnote -
graphic Abbildung url
pb Seitenumbruch facs (facsimile), n (number)
s Satz n (number), lang (language)
tocEntry Eintrag aus dem Inhaltsverzeichnis title, author, authorCity, authorDescription, authorID, lang (language), category
w Wort pos (Part-of-Speech), lemma, n (number)

Markierung der Namen von Bergen, Gletschern, Hütten, Seen und Tälern

  1. Zur automatischen Erkennung von Bergnamen verwenden wir die Namen aus der SwissTopo-Liste "SwissNames25". Für das aktuelle Release haben wir aus dieser Liste die Namen der Kategorien "Massiv, HGipfel, KGipfel, GGipfel, Grat" extrahiert und mit genauer Übereinstimmung und mit Genitiv-Endung -s im Korpus gesucht. Es werden auch Schreibvarianten mit Bindestrich (z.B. Monte-Rosa), Grossschreibung (z.B. MONTE ROSA) und Zusammenschreibungen (z.B. Monterosa) gefunden. Um falsche Treffer zu vermeiden, wurden die auffälligsten Homographen entfernt. Siehe unten.

    Die Swisstopo-Liste wurde neu mit Wortformen ergänzt, die im Korpus vorkommen und die die für Bergnamen typische Suffixe -horn (mit den Pluralformen -hörner, -hörnern), -stock und -grat  enthalten. Um die Präzision hoch zu halten wurde aus canoo.net eine Liste von Gattungsnamen extrahiert, die auf  -horn, -stock, -grat enden. Diese Wortformen wurden aus dem erweiterten Gazetteer entfernt. Beide Listen wurden zusätzlich manuell bereinigt, insbesondere wurden alle Formen des Typs 'Himmelsrichtung + grat', also z.B. Nordgrat, Südsüdostgrat aber auch SEgrat etc. entfernt.

    Weiter haben wir zweiteilige Namen hinzugefügt, die mit den folgenden Wortformen beginnen und im Korpus belegt sind: Aiguille, Aiguilles, Cime, Cima, Dent, Dents, Mont, Monte, Piz, Pizzo, Vanil.

    Des weiteren haben wir von geonames.org eine grosse Liste mit internationalen Bergnamen integriert.

    Der Bergnamensliste haben wir zudem die wichtigsten Exonyme hinzugefügt. Diese sind: Cervin frz. zu Matterhorn, Pilate frz. zu Pilatus, Clarides frz. zu Clariden, Sentis und Saentis frz. zu Säntis.

  2. Zur automatischen Erkennung von Gletschernamen verwenden wir die Namen aus der SwissTopo-Liste "SwissNames25". Weitere Gletschernamen haben wir manuell hinzugefügt.
  3. Zur automatischen Erkennung von Hüttennamen verwenden wir die Namen aus der SwissTopo-Liste "SwissNames25". Weiter haben wir Namen und Schreibvarianten hinzugefügt, die auf -hütte enden oder mit Schlüsselwörtern wie Bivouac, Cabane, Capanna, Chamanna, Refuge, Rifugio etc. beginnen. Auch bei den Hüttennamen gibt es (wenige) Mehrdeutigkeiten. Zum Beispiel enthält die SwissTopo-Liste zwei Hütten namens Hörnlihütte.
  4. Zur automatischen Erkennung von Seenamen verwenden wir die Namen aus der SwissTopo-Liste "SwissNames25". Generische Einträge ("See", "Waldsee", "Gletschersee") haben wir entfernt. Weitere Seenamen haben wir manuell hinzugefügt.
  5. Zur automatischen Erkennung von Tälernamen verwenden wir die Namen aus der SwissTopo-Liste "SwissNames25". Generische Einträge ("Tal", "Hochtal", "Val") haben wir entfernt. Weitere Tälernamen haben wir manuell hinzugefügt.

Umfang der Namenslisten (Gazetteers)

  Berge Gletscher Hütten Seen Täler
mit eindeutiger ID
737'434
1341
1814
1160
2554
mit ambiger ID ("23")
67'599
90
2
37
180
ohne ID
7869
3215
2871
1577
4770
Summe
812'902
4646
4687
2774
7504

 

Die erkannten Toponyme pro Band sind je in einer separaten Datei aufgelistet und verweisen auf die Tokenbezeichner im Korpustext.

Beispiel: Zur Jahrbuch-Datei 1890 SAC-Jahrbuch_1890_mul.xml gibt es die Namen-Datei SAC-Jahrbuch_1890_mul-ner.xml Dort finden sich Einträge wie:

<g type="mountain" stid="7307916"  span="2-168-14"           id="g_33"  level="geo"/>
<g type="mountain" stid="23"       span="2-258-9"            id="g_41"  level="geo"/>
<g type="mountain" stid="0"        span="13-365-9"           id="g_56"  level="geo"/>
<g type="mountain" stid="18300407" span="8-455-20, 8-455-21" id="g_249" level="geo"/>

Die Attribute bezeichnen die Art des geographischen Namens (type), die SwissTopo-Id (stid), die Tokenfolgen (span), die interne Id pro Jahrbuch (id) und den Namenstyp (geo).

  1. Der erste Eintrag verweist auf das Token 2-168-14, d.h. Artikel 2, Satz 168, Token 14. In der Jahrbuch-Datei von 1890 finden wir dort das "Finsteraarhorn". Dieses hat die SwissTopo-Id "7307916". Unter dieser Identifikationsnummer bietet SwissTopo Zusatzinformationen: Höhe des Berges (4273 m), Gemeinde (Fieschertal), Kanton (Wallis).
  2. Der zweite Eintrag verweist auf das Token 2-258-9 "Schafberg". Dieser Eintrag erthält z.Zt. die Id "23", da dieser Bergname mehrfach in der SwissTopo-Liste auftritt und wir gegenwärtig kein Disambiguierungsmodul haben, das zuverlässig entscheiden kann, welcher Berg gemeint ist.
  3. Der dritte Eintrag verweist auf das Token 13-365-9 "Gredetschhorn". Dieser Eintrag ist nicht in der SwissTopo-Liste und erhält deshalb die Id "0".
  4. Der vierte Eintrag verweist auf die Tokenfolge 8-455-20 und 8-455-21 "Punta Nera" mit der SwissTopo-Id "18300407". Auf diese Weise beschreiben wir mehrgliedrige Bergnamen.

Die folgenden Homographen wurden manuell aus der Bergnamenliste entfernt.

Achs, Aff, Atlas,
Bire, Blueme, Burg,
Chamm, Chanzel, Chilchli, Chirchli, Chopf, Chrüz, Chulm, Cima,
Egg, Esel,
Fil, First, Freiheit,
Gibel, Grat, Grätli, Gwächte, Gwächten,
Hahnen, Hane, Hanen, Haupt, Heustock, Heustöckli, Hora, Horen, Horn, Horst, Hubel, Huet, Höch,
Kamel, Kamm, Krone,
Leist, Luser, Läden, Lückli,
Mittelgrat, Moor, Mörder,
Nase, Nasen, Nüssen,
Ochs, Ochse, Ofen, Ostgrat,
Pfaff, Pfaffe, Pfaffen,
Rad,
Sattel, Schopf, Spital, Spitz, Spitzli, Stand, Stein, Stock, Stollen, Stoss, Stube, Stöckli, Sunnig, Sätteli,
Tschudi, Tuba, Tube, Turm, Turner,
Wart, Wasserscheide
Ziger

Markierung der Personnamen

Attribute für die Erkennung

Die automatische Erkennung von Personennamen basiert auf der Auffindung von Nachnamen. Nachnamen-Kandidaten sind Strings, die mit einem Großbuchstaben beginnen und mindestens drei Zeichen lang sind. Direkt vor einem Nachnamen kann optional eines der folgenden Adelsprädikate stehen: van, de, di, du, von, v., della, da, des, la, d', dell'. Um als Nachname erkannt zu werden, muss ein Kandidat zusätzlich mindestens eine der folgenden Bedingungen erfüllen: Die Listen der Berufsbezeichnungen und akademischen Titel sowie der Adelsprädikate und Anreden wurden mit Blick auf die Personennamenerkennung für Deutsch, Französisch und Italienisch zusammengestellt.

Ausgabe

Die Ausgabe der Personennamenerkennung wird mit jener der Bergnamenerkennung in einer separaten XML-Datei zusammengeführt. Erfasst sind für die Personennamenerkennung folgende Attribute: address (Anrede), titles (akademische Titel), firstname, lastname, gender, profession (wobei hier keine restringierten Berufsbezeichnungen berücksichtigt werden) sowie die zugehörigen Indexpositionen.
Die Unterscheidung verschiedener Entitäten innerhalb eines Nachnamens (Koreferenz-Erkennung) geschieht auf Jahrbuch-Ebene mithilfe von Vornamen (falls vorhanden). Dazu werden folgende Schritte geprüft:

Beispiel-Ausgabe:
<person id="90">
	<address>Herr</address>
	<titles></titles>
	<firstname>Ignaz</firstname>
	<lastname>Rieder</lastname>
	<gender>M</gender>
	<profession>Pfarrer</profession>
	<references>
		<reference>
			<positions>
				<position>15-23-4</position>
				<position>15-23-5</position>
				<position>15-23-6</position>
			</positions>
			<positions>
				<position>35-473-16</position>
				<position>35-473-17</position>
			</positions>
		</reference>
	</references>
</person>

<person id="137">
	<address>Herr</address>
	<titles></titles>
	<firstname>P., Peter</firstname>
	<lastname>Merian</lastname>
	<gender>M</gender>
	<profession>Rathsherr</profession>
	<references>
		<reference>
			<positions>
				<position>18-454-5</position>
				<position>18-454-6</position>
			</positions>
			<positions>
				<position>18-30-37</position>
				<position>18-30-38</position>
				<position>18-30-39</position>
				<position>18-30-40</position>
			</positions>
			<positions>
				<position>18-45-37</position>
				<position>18-45-38</position>
			</positions>
		</reference>
	</references>
</person>

Verwendung und Zitierung

Das Korpus darf nur für wissenschaftliche Zwecke und nicht kommerziell verwendet werden. Die Herkunft der Daten (www.textberg.ch) muss immer angegeben werden. Für das Zitieren des Korpus schlagen wir vor:

@MISC{TextBerg_Release_147_v03_2013,
  editor = {Noah Bubenhofer and Martin Volk and David Klaper and Manuela Weibel and Daniel Wüest},
  year = 2013,
  title = {{Text+Berg}-Korpus (Release 147_v03)},
  note = {Digitale Edition des Jahrbuch des SAC 1864-1923, Echo des Alpes 1872-1924 und Die Alpen 1925-2011},
  howpublished = {XML-Format},
  school = {Institut für Computerlinguistik, Universität Zürich}
}

Danksagungen

Wir danken Hanno Biber und dem Team des Austrian Academy Corpus (AAC) in Wien für das Scannen der ältesten SAC-Bände (1864 - 1874).

Wir danken Bruno Eugster und der Firma DTI in Wil für Unterstützung beim Scannen der Bände 1996 bis 2000.

Wir danken Curdin Derungs vom Geographischen Institut der Universität Zürich für die Aufbereitung und Bereitstellung der internationalen Bergnamen-Liste aus Geonames.

Wir danken den Studierenden und Mitarbeitern, die beim Scannen, bei der Korrektur und der Verarbeitung der Jahrbücher mitgewirkt bzw. diese massgeblich durchgeführt haben:

Wir danken dem Schweizerischen Nationalfond für finanzielle Unterstützung im Rahmen des Projekts "Domain-specific Statistical Machine Translation" (2010-2012).

Wir danken dem Schweizer Alpenclub (insbesondere Alexandra Rozkosny) für vielfältige Unterstützung.

Noah Bubenhofer, Martin Volk