<style>
/* reduce from default 48px: */
.reveal {
font-size: 24px;
text-align: left;
}
.reveal .slides {
text-align: left;
}
/* change from default gray-on-black: */
.hljs {
color: #005;
background: #fff;
}
/* prevent invisible fragments from occupying space: */
.fragment.visible:not(.current-fragment) {
display: none;
height:0px;
line-height: 0px;
font-size: 0px;
}
/* increase font size in diagrams: */
.label {
font-size: 24px;
font-weight: bold;
}
/* increase maximum width of code blocks: */
.reveal pre code {
max-width: 1000px;
max-height: 1000px;
}
/* remove black border from images: */
.reveal section img {
border: 0;
}
.reveal pre.mermaid {
width: 100% !important;
}
.reveal svg {
max-height: 600px;
}
.reveal .scaled-flowchart-td pre.mermaid {
width: 100% !important;
/* why? float: left; */
}
.reveal .scaled-flowchart-td svg {
max-width: 100% !important;
}
.reveal .scaled-flowchart-td svg g.node,
.reveal .scaled-flowchart-td svg g.label,
.reveal .scaled-flowchart-td svg foreignObject {
width: 100% !important;
}
.reveal .scaled-flowchart-td p {
clear:both;
}
.reveal .centered {
text-align: center
}
.reveal .width75 {
max-width: 75%;
}
</style>
# Layout-Analyse für Tabellen-Dokumente <!-- .element: class="centered width75" -->
Robert Sachunsky, Dr. Andreas Niekler <!-- .element: class="centered width75" -->
---
## Übersicht
- [Persönliches](#/2)
- [Arbeitsplanung](#/3)
- [Einordnung (Texterkennung / Textmining)](#/4)
- [Problemstellung (Heizkostenabrechnung)](#/5)
- [Lösungsansatz 1: partielle Layoutanalyse / monolithisch](#/6)
- [Lösungsansatz 2: komplette Layoutanalyse / modular](#/7)
- [Daten-Bedarf](#/8)
---
## Persönliches
### Prof. Dr. Gerhard Heyer
- Vita:
- Dr.phil. Mathematische Logik und Linguistik
- Uni Cambridge (UK), Uni Bochum, Uni Michigan (USA)
- Triumph-Adler AG
- Uni Leipzig (Professur seit 1994)
- Forschungsschwerpunkte:
- automatische Sprachverarbeitung, semantische Analyse und Repräsentation von Text
- Wissensverarbeitung, KI-Anwendungen
----
## Persönliches
### Dr. Andreas Niekler
- Ausbildung:
- Dr.-Ing. Informatik
- Dipl. Ing. Medientechnik
- HTWK Leipzig, University of West Scotland, Uni Leipzig
- Projekte:
- Data Mining und Wertschöpfung
- ATMT Workbench
- Corpus Miner, DEVal
----
## Persönliches
### Robert Sachunsky
- Ausbildung:
- Dipl.-Ing. Informationssystemtechnik (Sprachverarbeitung/Computerlinguistik)
- TU Dresden, King's College London
- Projekte:
- Eurofon (spontansprachl. semant. Übersetzer)
- Uni Leipzig: OCR-D
---
## Arbeitsplanung
### Arbeitspakete
- AP 4: Forschung und Entwicklung
- Softwaremodule für die Texterkennung, Layoutanalyse, Tabellenextraktion und Informationsextraktion der relevanten Informationen aus der HKA.
Die Module werden als Open-Source-Komponenten zur Verfügung gestellt.
- AP 1: Projektmanagement
- PostDoc Anteile, Koordination, Publikation
----
## Arbeitsplanung
### Meilensteine
- M2, M3, M10, M13
- M2 Open-Source-Software ist weitestgehend fertig
- M3 erfolgt derzeit; es müssen wesentlich mehr Daten her
- M10 eher Alpha als Beta
- M13 Beta
----
## Arbeitsplanung
### Ziele
- Fortschritt und Expertise bei der Layouterkennung in Tabellen
- Fortschritt in der Dateninterpretation von Tabellen
- Open-Source-Software-Komponenten für die Nachnutzung und den Transfer
- Kompetenzaufbau Dokumentverarbeitung technischer Dokumentation
---
## Einordnung (Texterkennung / Textmining)
- künstliche Intelligenz
- regelbasiert
- Algorithmen, parametrische Modelle
- wissensbasiert
- Logik, Wissensrepräsentation
- maschinelles Lernen
- Deep-Learning
----
## Einordnung (Texterkennung / Textmining)
### Texterkennung
0. <!-- .element: style="color:gray" -->
Import/Aufbereitung von Bilddaten
- Formatkonversion, Farb-Normalisierung
- Trennung von Doppelseiten
- Metadaten
1. <!-- .element: style="color:gray" --> Bildvorverarbeitung
- Beschneidung und Skalierung
- Deskewing und Dewarping
- Binarisierung
2. Layout-Analyse (OLR)
- Segmentierung in Regionen und Klassifizierung
- Reihenfolge-Detektion
- Segmentierung in Textzeilen
- <!-- .element: style="color:gray" --> Schrift-/Sprachklassifizierung
3. <!-- .element: style="color:gray" --> Zeilen-Erkennung (OCR)
- CNN+LSTM+CTC
4. <!-- .element: style="color:gray" --> Nachkorrektur
5. Dokument-Analyse
----
## Einordnung (Texterkennung / Textmining)
### Texterkennung
#### Layout-Analyse: Mask-RCNN
- Multitask-Learning für Objekterkennung von Regionen:
- Klassifikation
- Bounding-Box-Regression
- Pixelmaske innerhalb der BBox
![](https://i.imgur.com/9S04bJf.png =600x)
----
## Einordnung (Texterkennung / Textmining)
### Texterkennung
#### Layout-Analyse: Mask-RCNN
|![](https://files.gitter.im/ocrd-segment/community/dKdZ/raw_varnhagen_rahel03_1834_OCR-D-IMG-CROP_0019.pred.png =300x)|![](https://files.gitter.im/ocrd-segment/community/PYdG/raw_siemens_abhandlungen_1881_OCR-D-IMG-CROP_0013.pred.png =300x)|![](https://files.gitter.im/ocrd-segment/community/zXkn/raw_siebold_suesswasserfische_1863_OCR-D-IMG-CROP_0011.pred.png =300x)|
----
## Einordnung (Texterkennung / Textmining)
### Textmining
> Bündel von Algorithmus-basierten Analyseverfahren zur Entdeckung von Bedeutungsstrukturen aus un- oder schwachstrukturierten Textdaten. [Wikipedia]
0. Daten: Textfragmente der Seite
1. Verfahren: maschinelles Lernen
- CNN, Graph Embeddings, geometrische Relationen
- Kontextinformationen
- Physikalische Einheiten, Wortbedeutungen
3. Externe Daten:
- Wissensgraphen
**Klassifikationsidee**: Text Block in its Context...
----
### [KIM CNN 2014](https://www.aclweb.org/anthology/D14-1181/)
![](https://i.imgur.com/Dsu7Q61.png)
----
### Word Embeddings [Explained](http://jalammar.github.io/illustrated-bert/)
![](http://jalammar.github.io/images/BERT-language-modeling-masked-lm.png)
----
### Graph Embeddings [Explained](https://towardsdatascience.com/graph-embeddings-the-summary-cc6075aba007)
![](https://miro.medium.com/max/1000/1*dIHSCxk8ZAR7vI7Fm3iw9A.png)
---
## Problemstellung (Heizkostenabrechnung)
- Abrechnugsstart
- Abrechnungsende
- Postleitzahl
- Gebäudefläche
- Wohnungsfläche
- Energieträger
- Verbrauch Energieträger (Anzahl)
- Verbrauch Energieträger (Einheit)
- Verbrauch Energieträger (Kosten)
- Verbrauchseinheiten des Gebäudes
- Verbrauchseinheiten der Wohnung
- Verbrauchseinheiten (Einheit)
- Verbrauch Warmwasser (m³ oder kWh oder mWh)
- Kosten des Kaltwassers für Warmwassererzeugung
- Heizkosten des Gebäudes für Raumwärme
- Heizkosten des Gebäudes für Warmwasser
- Anteil Grundkosten für Raumwärme
- Anteil Grundkosten für Warmwasser
<!-- .element: class="fragment" data-fragment-index="1" -->
Eigentlich: mehrere Fallunterscheidungen → Entscheidungsbaum
<!-- .element: class="fragment" data-fragment-index="2" -->
- Ein-, Zwei-, Mehrfamilienhaus
- Haus-, Wohnungseigentümer, Mieter, Verwalter
- Zentralheizung, Etagenheizung, Nachtspeicher
- Keller, Warmwasserbereitung ...
<!-- .element: class="fragment" data-fragment-index="2" -->
----
## Problemstellung (Heizkostenabrechnung)
Wie geht der Mensch vor?
<!-- .element: class="fragment" data-fragment-index="0" -->
<table><tr><td>Wohnfläche:</td><td><img src="https://i.imgur.com/Q8V7ps3.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="1" -->
<table><tr><td>Anteil Grundkosten Heizung:</td><td><img src="https://i.imgur.com/76LzLdR.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="2" -->
<table><tr><td>Verbrauchseinheiten (Gebäude):</td><td><img src="https://i.imgur.com/chN9Goq.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="3" -->
<table><tr><td>Verbrauchseinheiten (Wohnung):</td><td><img src="https://i.imgur.com/T3JCXuF.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="4" -->
<table><tr><td>Heizkosten Gebäude (Raumwärme):</td><td><img src="https://i.imgur.com/L16Zk5k.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="5" -->
<table><tr><td>Verbrauch Energieträger (Anzahl):</td><td><img src="https://i.imgur.com/Frffi3O.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="6" -->
<table><tr><td>Verbrauch Energieträger (Einheit):</td><td><img src="https://i.imgur.com/vVefq5f.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="7" -->
<table><tr><td>Verbrauch Energieträger (Kosten):</td><td><img src="https://i.imgur.com/4wCtfz3.jpg" width="500"/></td></tr></table>
<!-- .element: class="fragment" data-fragment-index="8" -->
----
## Problemstellung (Heizkostenabrechnung)
### Herausforderungen
- Verschränkung von visueller und textueller Information
- sehr komplexe Layouts
- hohe sprachliche Varianz
- redundante Einträge, aber auch mehrseitige Layouts
- Semantik (Addition, Subtraktion, Multiplikation, Division)
---
## Lösungsansatz 1: partielle Layoutanalyse / monolithisch
- Grundidee: partielle Layoutanalyse einfacher, relevant nur ~13 Zahlenwerte
- implizite Modellierung logischer Tabellenstruktur:
- Freifeld-Zeilensegmentierung und OCR
- vektorielle Textrepräsentation mit klassen-spezifischen Modellen
- visuelles Segmentierungs- und Klassifizierungsmodell (z.B. [Mask-RCNN](https://arxiv.org/abs/1703.06870) oder [DecompNet](https://arxiv.org/abs/1511.06449)):
- direkt (1 Maske/Klasse pro Kennwert)
- Überlagerung von Bild-Rohdaten mit Textvektoren
- OCR und Extraktion
---
## Lösungsansatz 2: komplette Layoutanalyse / modular
- Grundidee: trennbare Teilprobleme (leichter erlernbar, verschiedene Datenquellen)
- explizite Modellierung logischer Tabellenstruktur:
- visuelles Segmentierungs- und Klassifizierungsmodell (Mask-RCNN):
- für Regionen (1 Maske pro Region, Klassen: Bild/Text/Tabelle/...)
- visuelles Segmentierungs- und Klassifizierungsmodell (Mask-RCNN):
- für Tabellen-Zellen (1 Maske pro Zelle, 1 Klasse)
- Zeilensegmentierung in Regionen/Zellen und OCR
- evtl.: Textklassifikation und visuelles Subklassifizierungsmodell:
- Textregionen: Fließtext, Überschrift, Seitenzahl, Adresse...
- Adresse: Anschrift, Absender, Kontakt...
- Tabelle: Kopf vs Zelle (links-rechts, oben-unten)
- Bild, Graphik, Logo, Handschrift, Stempel...
- Erkennung der Baum/Graph-Struktur der Tabellen-/Textregionen
- regelbasierte Extraktion
---
## Daten-Bedarf
### Groundtruth für Ansatz 1
- Bilder mit Einfärbungen für jede Klasse (Multi-layer TIFF):
- Kontext <!-- .element: style="background-color:magenta" -->
- Kennwert <!-- .element: style="background-color:cyan" -->
- textuelle Varianten (Formulierungen) für Kontexte (Plaintext)
----
## Daten-Bedarf
### Groundtruth für Ansatz 2
- vollständige Annotation von Layout und Struktur (PAGE-XML):
- Regionen/Zellen (Polygon-Koordinaten und Klasse/Unterklasse)
- Zeilen (Polygon-Koordinaten)
- Textinhalt
→ aufwendig (v.a. wenn vollständig manuell erstellt)
----
## Daten-Bedarf
### Groundtruth für Ansatz 2
- externe Trainingsdaten für Layoutanalyse sind rar
- semi-automatische GT-Erzeugung
![](https://i.imgur.com/6PnVMrC.jpg =500x) <!-- .element: class="fragment" data-fragment-index="1" -->
![](https://i.imgur.com/jkxvYmH.gif =600x) <!-- .element: class="fragment" data-fragment-index="2" -->
- Modell-Transfer von Standardproblemen <!-- .element: class="fragment" data-fragment-index="3" -->
![](https://i.imgur.com/4DoBAaP.png)
{"metaMigratedAt":"2023-06-15T03:48:52.698Z","metaMigratedFrom":"YAML","title":"Layout-Analyse für Tabellen","breaks":"false","description":"Übersichtsfolien Auftakt-Treffen Smart-HEC","slideOptions":"{\"theme\":\"white\",\"slideNumber\":true}","contributors":"[{\"id\":\"c62f1b15-791a-47e1-8e4c-ab2ed00c04bc\",\"add\":16677,\"del\":6742},{\"id\":\"4e562848-776c-4b21-b326-1200b2e44f63\",\"add\":2920,\"del\":924}]"}