Skip to content

Commit

Permalink
Merge pull request #49 from wrznr/issue_0043
Browse files Browse the repository at this point in the history
Include texts from all struct types
  • Loading branch information
wrznr authored Jul 2, 2020
2 parents 21e8bd0 + d6a97a8 commit 81878de
Show file tree
Hide file tree
Showing 13 changed files with 26,787 additions and 29 deletions.
9 changes: 9 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Changed
- Added tests for TEI API
- Evaluate texts from all struct types but `binding` and `colour_checker`
- Add `front`, `body` and `back` per default

### Fixed
- https://github.com/slub/mets-mods2tei/issues/43

## [0.1.1] - 2020-05-11
### Added
- Treat nested AMD-type (non-logical) divs in logical struct map (i.e.
Expand Down
13 changes: 13 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>mets-mods2tei</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>mets-mods2tei</h1>
<ul>
<li><a href="presentations/index.html">Presentations</a></li>
</ul>
</body>
</html>
13 changes: 13 additions & 0 deletions docs/presentations/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<head>
<title>mets-mods2tei — Presentations</title>
<meta charset="utf-8"/>
</head>
<body>
<h1>mets-mods2tei — Presentations</h1>
<ul>
<li><a href="slub_april_2020/slub_april_2020.html">Part of the XML/TEI introduction given in April 2020 by Juan Garcés at SLUB Dresden</a></li>
</ul>
</body>
</html>
268 changes: 268 additions & 0 deletions docs/presentations/slub_april_2020/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,268 @@
layout: true

<div class="my-header"></div>

<div class="my-footer">
<table>
<tr>
<td style="text-align:right">Sächsische Landesbibliothek – Staats- und Universitätsbibliothek</td>
<td>29. April 2019</td>
<td style="text-align:right"><a href="https://www.slub-dresden.de/">www.slub-dresden.de</a></td>
</tr>
<tr>
<td style="text-align:right">Referat 2.5</td>
<td />
</tr>
</table>
</div>

<div class="my-title-footer">
<table>
<tr>
<td style="text-align:left"><b>Kay-Michael Würzner</b></td>
</tr>
<tr>
<td style="text-align:left">Referat 2.5</td>
</tr>
<tr>
<td style="font-size:8pt"><b>29. April 2019</b></td>
</tr>
<tr>
<td style="font-size:8pt">XML/TEI-Fortbildung</td>
</tr>
</table>
</div>

---

class: title-slide
count: false

# Automatische Erzeugung von TEI-XML
## aus SLUB-Bestandsdaten

---

# Überblick

- Motivation
- Datengrundlage
- Methode
- Anwendungsperspektive

---

class: part-slide
count: false

# Motivation

---

# Motivation

- **TEI**: weitverbreiteter Standard in den Text ver- und bearbeitenden Wissenschaften
+ Anschluss an bestehende Forschungsinfrastrukturen
+ DFG: *Best Practice* für Editionsprojekte
- Standardformate in Bibliotheken:
+ MODS: bibliothekarische Metadaten
+ METS: Strukturdaten
+ ALTO: Volltexte
- Transformationsszenario zur Erhöhung der **Reichweite**
- **Herausforderung**: nicht-triviale Abbildung zwischen **Stand-Off-** (METS/ALTO) und **Inline-**Kodierung (TEI) struktureller Information

---

class: part-slide
count: false

# Datengrundlage

---

# Datengrundlage: MODS

- MODS: *Metadata Object Description Schema*
+ XML-Format zur Kodierung bibliographischer Metadaten
+ hoher Freiheitsgrad
+ ausspezifiziert im [MODS-Anwendungsprofil](https://dfg-viewer.de/fileabmin/groups/dfgviewer/MODS-Anwendungsprofil_2.3.1.pdf)
- Beispiel:
```xml
<mods>
<titleInfo>
<title>Dresden und die Sächsische Schweiz</title>
</titleInfo>
<name type="personal">
<role>
<roleTerm type="text">creator</roleTerm>
</role>
<namePart>Gottschalck, Friedrich</namePart>
</name>
</mods>
```

---

# Datengrundlage: METS

- METS: *Metadata Encoding & Transmission Standard*
+ XML-Format zur Repräsentation digitaler Objekte
+ hoher Freiheitsgrad
+ ausspezifiziert im [METS-Anwendungsprofil](https://dfg-viewer.de/fileabmin/groups/dfgviewer/METS-Anwendungsprofil_2.3.1.pdf)
+ **Kontainerformat**: enthält bspw. MODS
- Grundstruktur:
```xml
<mets>
<metsHdr/>
<dmdSec/>
<amdSec/>
<fileSec/>
<structMap/>
<structLink/>
</mets>
```
---

# Datengrundlage: ALTO

- ALTO: *Analyzed Layout and Text Object*
+ XML-Format zur Repräsentation digitaler Volltexte
+ Text- und Strukturinformation auf **Seitenebene**
+ Rückbindung ans Digitalisat über **Koordinaten**
+ von praktisch allen OCR-Programmen unterstützt
- Beispiel

---

# Datengrundlage: Gegenüberstellung zu TEI

- **bibliographische Metadaten**
+ *MMA*: separat realisiert im MODS-Teil
+ *TEI*: quasi separat realisiert im `teiHeader`
- **Struktur**
+ *MMA*: Sequenz von `div`-Elementen, getrennt vom Text (Standoff, verknüpft auf Seitenebene)
+ *TEI*: im Textteil als integrierte Sequenz von verschachtelten `div`-Elementen
- **Text**
+ *MMA*: pro Seite separiert auf Seitenebene als Sequenz von Absätzen und Zeilen
+ *TEI*: in die Dokumentstruktur integriert als Sequenz von Absätzen und Zeilen

---

class: part-slide
count: false

# Methode

---

# Methode

- **Ziel**: automatische Transformation von *MMA* nach *TEI*
- trivial auf der Ebene der bibliographischen Metadaten
- nicht-trivial auf der Text-Struktur-Ebene
- **Idee**
+ verschachtelte `div`-Ebene als Basis der TEI-Datei
+ Einfügen des Textes auf Absatzebene
```xml
<mets:structMap TYPE="LOGICAL">
<mets:div ADMID="AMD" ...>
<mets:div LABEL="Vorbericht" TYPE="chapter" />
<mets:div LABEL="Kapitel 1" TYPE="chapter">
<mets:div LABEL="Abschnitt 1.1" TYPE="chapter" />
</mets:div>
<mets:div LABEL="Kapitel 2" TYPE="chapter" />
</mets:div>
</mets:structMap>
```

---

# Methode

- **Problem**
+ Stuktur und Text in den SLUB-Daten nur auf Seitenebene
+ i.e. keine Information, **wo** sich die Überschrift auf der Seite befindet
```xml
<mets:structLink>
<mets:smLink xlink:to="PHYS_0001" xlink:from="LOG_0000" />
</mets:structLink>
```
- **„Lösung“**
+ *Lokalisierung* des Strukturelements via `LABEL` auf der Seite
+ Vergleich des zu lokalisierenden Textes `\(t\)` mit allen Positionen `\(i\)` in der OCR `\(O=o_1\ldots o_n\)`
+ minimaler Editierabstand zwischen `\(t\)` und `\(o_i\ldots o_{i+|t|}\)` als Platzierungskriterium
+ Inklusion aller Zeilen, die Teile der optimalen OCR-Sequenz enthalten

---

# Methode

<img src="img/heading_ex.jpg" width="250px" />

```xml
<div TYPE="section"
LABEL="3. Der Vulkan Niragongo in Nordwest-Ruanda" />
```
```xml
<TextBlock>
<TextLine>
<String CONTENT="2" />
</TextLine>
<TextLine>
<String CONTENT="Dcr" />
<SP />
<String CONTENT="Vulkan" />
...
```

---

# Methode

- **Fallstricke**
1. Textvergleich
+ stillschweigende Normalisierung (ſ → s, th → t etc.)
+ Übernahme des Inhaltsverzeichnisses (zusätzliche Nummerierung, Groß-/Kleinschreibung)
+ OCR-Fehler (gehäuft in Überschriften)
+ kurze Überschriften (z.B. Zahlen)
2. fehlende Label
+ Verwendung von Platzhaltern wie *Text* oder *Überschrift*
3. unvollständige Strukturierung
+ aus Kostengründen häufig nur oberste Ebene strukturiert
+ „triviales“ TEI im Ergebnis
- **Test**
+ *Börsenblatt für den Deutschen Buchhandel*
* 27 258 Vorgänge
* ca. 10 h Rechendauer
* 692 389 240 Tokens (laufende „Wörter“)
* 56 192 893 Types (verschiedene „Wörter“)

---

class: part-slide
count: false

# Anwendungsperspektive

---

# Anwendungsperspektive

- veröffentlicht als [`mets-mods2tei` auf GitHub](https://github.com/slub/mets-mods2tei)
- Anwendung auf digitale Sammlungen für Q2/2020 geplant
+ TEI-XMl als zusätzliches Downloadformat auf Dokumentebene
+ Teil des Imports in **Kitodo.Presentation**
- Basis für tiefere Erschließung
+ für OCR für Handschriften in Vorbereitung!
- Anschluss an DH-Forschungswerkzeuge wie z.B. [Voyant Tools](https://voyant-tools.org)
- Sneak Preview: [kaskade.dwds.de/dstar/boersenblatt](http://kaskade.dwds.de/dstar/boersenblatt)

---

class: part-slide

# Vielen Dank für Ihre Aufmerksamkeit!

<center>
<a href="https://wrznr.github.io/mets-mods2tei/presentations/slub_april_2020/slub_aplril_2020.html">wrznr.github.io/mets-mods2tei</a>
</center>
Binary file added docs/presentations/slub_april_2020/img/bg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 81878de

Please sign in to comment.