Ebenso ließen sich bei Mobilcomputern der nächsten Generation (Palm-Tops, PDAs und



Ähnliche Dokumente
Eigene Farbskala erstellen

Physik für Bauingenieure

Beispiel für die Berechnung des Wärmedurchgangskoeffizienten eines zusammengesetzten Bauteiles nach DIN EN ISO 6946

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Dokumentation. estat Version 2.0

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Lehrbrief 1 Technik Seite 1 von 7

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Optische Abbildung mit Einzel- und Tandemobjektiven

1 topologisches Sortieren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Informationsblatt Induktionsbeweis

Konzepte der Informatik

MS Michelson-Interferometer

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Datenbanken Kapitel 2

Zeichen bei Zahlen entschlüsseln

A1.7: Entropie natürlicher Texte

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Zahlen auf einen Blick

Hinweise zum Übungsblatt Formatierung von Text:

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

Mandant in den einzelnen Anwendungen löschen

Primzahlen und RSA-Verschlüsselung

Anwendertreffen 20./21. Juni

Zwischenablage (Bilder, Texte,...)

2. ZELLINHALTE UND FORMELN

Die reellen Lösungen der kubischen Gleichung

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Grundlagen der Theoretischen Informatik, SoSe 2008

Universität Bonn, Institut für Angewandte Mathematik. WS 2012/2013 Prüfung Angewandte Mathematik und Statistik - Agrarwiss. /ELW

1 Mathematische Grundlagen

Erstellen von x-y-diagrammen in OpenOffice.calc

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Erweitertes Kalkulationsfenster

Die besten Excel-Tastenkombinationen im Überblick

Stammdatenanlage über den Einrichtungsassistenten

Microsoft Access 2010 Navigationsformular (Musterlösung)

Berechnungen in Access Teil I

Lineare Gleichungssysteme

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

Programme im Griff Was bringt Ihnen dieses Kapitel?

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Insiderwissen Hintergrund


6.2 Scan-Konvertierung (Scan Conversion)

Mediator 9 - Lernprogramm

Auftragsbearbeitung 3.1

4 Aufzählungen und Listen erstellen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Vektoren mit GeoGebra

Mathematischer Vorbereitungskurs für Ökonomen

Enigmail Konfiguration

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Aufgaben Leiten Sie die Formeln (9) und (10) her! Vorbetrachtungen. Der High-Fall

Wir arbeiten mit Zufallszahlen

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Anwendungshinweise zur Anwendung der Soziometrie

MS Access 2010 Kompakt

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

5. Übung: PHP-Grundlagen

Anzeige von eingescannten Rechnungen

Dokumentation IBIS Monitor

Fallbeispiel: Eintragen einer Behandlung

AutoTexte und AutoKorrektur unter Outlook verwenden

10 Erweiterung und Portierung

Professionelle Seminare im Bereich MS-Office

Das DAAD-PORTAL. Prozess der Antragstellung in dem SAPbasierten Bewerbungsportal des DAAD.

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

MS Excel 2010 Kompakt

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Leistungskurs Mathematik

104 WebUntis -Dokumentation

Einführung in die Chaostheorie

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Einführung in. Logische Schaltungen

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Anleitung zur Verwendung der VVW-Word-Vorlagen

Protect 7 Anti-Malware Service. Dokumentation

8. Berechnung der kalkulatorischen Zinsen

Konfiguration der Messkanäle. Konfiguration der Zeitachse. Abb. 3: Konfigurationsmenü des Sensoreingangs A. Abb. 4: Messparameter Konfigurationsmenü

PowerPoint: Text. Text

Excel Pivot-Tabellen 2010 effektiv

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Pfötchenhoffung e.v. Tier Manager

Plotten von Linien ( nach Jack Bresenham, 1962 )

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Microsoft Excel 2010 Mehrfachoperation

Leseprobe. Wilhelm Kleppmann. Versuchsplanung. Produkte und Prozesse optimieren ISBN: Weitere Informationen oder Bestellungen unter

Erster Schritt: Antrag um Passwort (s. Rubrik -> techn. Richtlinien/Antrag für Zugangsberechtigung)

DSO. Abtastrate und Speichertiefe

Anleitung über den Umgang mit Schildern

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

Kennen, können, beherrschen lernen was gebraucht wird

Transkript:

Kapitel 7 Formelerkennung Neben er reinen Texterkennung eröffnet ie Erkennung hangeschriebener Formeln eine Reihe weiterer interessanter Anwenungen un Fragestellungen. Führt man sich vor Augen, wie unzureichen bis heute ie Eingabemöglichkeiten an einem Computer für mathematische Formeln realisiert sin, wir er Bearf nach ieser Form von Mensch-Maschine- Schnittstellen schnell eutlich. Für einen hanschriftlichen Formeleitor sin im Desktop-Bereich Textverarbeitungssysteme as wichtigste Anwenungsszenario. Hier sin erzeit im wesentlichen zwei konkurrierene Ansätze gebräuchlich. Der erste ist ie klassische Menü-gesteuerte Variante, wie sie bei WYSIWYG- (What You See Is What You Get) Textverarbeitungssystemen eingesetzt wir. Hierbei muß er Benutzer ie einzelnen Symbole mittels Tastatur eingeben oer (z.b. bei Sonerzeichen oer Operatoren) über Auswahlmenüs selektieren. Der zweite Ansatz geht über ie Verwenung von Satzsystemen wie z. B. L A TEX, bei em ie verschieenen Symbole urch Befehle in einer Quelltextatei gesetzt weren. L A TEX bietet somit ie Möglichkeit auch ausgefallene Ausrücke arzustellen, erinnert afür aber stark an eine höhere Programmiersprache un zwingt en Benutzer sich eine Vielzahl verschieener Befehle zu merken. Ein weiteres Anwenungsszenario ergibt sich im Desktop-Bereich bei Mathematik-Tools un Gleichungslösern. Die Problematik er Mensch-Maschine-Schnittstelle ist hier ähnlich. In beien Fällen ließe sich eine eutliche Verbesserung es Beienkomforts urch eine hanschriftliche Formeleingabe erzielen. Ebenso ließen sich bei Mobilcomputern er nächsten Generation (Palm-Tops, PDAs un PIMs) in eleganter Weise über ie HSE-Schnittstelle komplexe wissenschaftliche Taschenrechnerfunktionen steuern. Der zu berechnene Ausruck könnte so irekt auf as Display geschrieben weren. Nach er Erkennung er hanschriftlichen Eingabe un er Ergebnisberechnung kann as Ergebnis ann in gewohnter Form ausgegeben weren. Um ie spezielle Darstellung mathematischer Ausrücke un ie zweiimensionale Anornung zu erkennen un zu interpretieren, wir as Gesamtproblem in zwei Teilprobleme zer- 98

7.1. GRUNDLEGENDE FUNKTIONSWEISE 99 legt. Diese Teilprobleme lassen sich wieerum in insgesamt sechs Prozesse aufteilen, ie in ieser oer ähnlicher Form in en meisten Ansätzen wieergefunen weren [Blo97, Blo95]: 1. Erkennung einzelner Symbole (a) Vorverarbeitung, Rauschfilter, Skew-Reuktion (b) Segmentierung (c) Symbolerkennung 2. Analyse un Interpretation er Symbolanornung (a) Ientifikation räumlicher Symbolbeziehungen (b) Ientifikation logischer Symbolbeziehungen (c) Konstruktion er Beeutung (z. B. in Syntaxform oer Baumstruktur) Ein wesentliches Problem ist hier ie Aufteilung er Segmentierung un er Symbolerkennung in zwei getrennte Prozesse. Speziell für ie Hanschrifterkennung gilt, ass eine korrekte Segmentierung häufig nur mit Kenntnis er Klassenzugehörigkeit möglich ist. Ebenso wie eine unvollstänige oer falsche Segmentierung zwangsläufig zu einer falschen Symbolerkennung führt. Dieses Henne-Ei-Problem läßt sich effizient urch ie Verwenung von HMMs umgehen, a mit er Viterbi-Dekoierung neben em eigentlichen Erkennungsergebnis auch immer ie Segmentierung bekannt ist. Die folgenen Abschnitte stellen einen Ansatz ar, mit em ie Erkennung hanschriftlicher Formeln realisiert weren kann. Nach einer generellen Übersicht im folgenen Abschnitt, weren in en weiteren Abschnitten ie einzelnen Verarbeitungsschritte, insbesonere ie Strukturanalyse un as Parsing beschrieben. Im Abschnitt 7.6 weren über ie eigentliche Erkennung hinaus einige integrierte hanschriftliche Korrekturfunktionen beschrieben, bevor in en letzten beien Abschnitten ie Ergebnisse argestellt weren un ie Zusammenfassung ieses Kapitel abschließt. 7.1 Grunlegene Funktionsweise Das hier beschriebene System ist in einem schreiberabhängigen Mous in er Lage, zusammenhängene mathematische Ausrücke bestehen aus einem Zeichenvorrat von ca. 100 verschieenen Zeichen zu erkennen. Neben Ziffern, Klein- un Großbuchstaben können ie wichtigsten mathematischen Symbole un Operatoren erkannt weren ( "!$# '&()*$+,'-.'/021 23465278$9 Buchstaben (% ), wie auch eine Reihe weiterer griechischer ). Zur Moellierung er Symbol-Zwischenräume

100 KAPITEL 7. FORMELERKENNUNG wir - ähnlich wie bei einer Satzerkennung - ein Space-Moell eingesetzt. Auch bei er Formelerkennung finet ie Initialisierung anhan von vorsegmentierten Trainingsbeispielen statt, wie sie beispielhaft in Abb. B.1 argestellt sin. Das anschließene Training er Moelle, sowie ie Evaluierung wir ann anhan ganzer zusammenhängener Ausrücke, wie sie in Abschnitt B.3 beispielhaft argestellt sin, urchgeführt. Um zum einen eine möglichst konsistente Parameterschätzung es Space-Moells zu erzielen, zum aneren aber auch um en Aufwan für as zweiimensionale Parsing es Erkennungsergebnisses zu begrenzen, weren insgesamt vier Benutzungsregeln efiniert, ie bei er hanschriftlichen Eingabe er Formeln beachtet weren sollen. Diese Benutzungsregeln - argestellt in einer graphischen Übersicht in Abb. 7.1 - sin jeoch so formuliert, ass sie einer möglichst natürlichen Schreibweise entgegenkommen [Bec97, Kos98b] un ie Benutzbarkeit es Systems amit nicht nennenswert einschränken: 1. left-right, top-own Ganz allgemein formuliert müssen ie hanschriftlichen Eingaben von links nach rechts un von oben nach unten erfolgen. Am Beispiel eines Bruchs beeutet iese Regel, ass zunächst er Zähler zu schreiben ist, anschließen er Bruchstrich gezogen weren muß, bevor schließlich er Nenner geschrieben weren kann. Klammerausrücke sin entsprechen ieser Regel in folgener Form einzugeben: linke Klammer, Ausruck, rechte Klammer. 2. Integrale, Summen, Proukte Aus Beobachtungen ergab sich, ass es in einigen Fällen günstig ist, eine Ausnahme von Regel 1 zu erlauben. Dies ist beispielsweise er Fall bei Integralen, Summen oer Proukten. Tritt im Zusammenhang mit iesen Symbolen eine Untergrenze un/oer Obergrenze auf, so neigt er Benutzer azu, nach em Schreiben es Hauptsymbols zuerst ie Untergrenze un erst ann ie Obergrenze zu schreiben. Ganz ähnlich verhält es sich bei tiefgestellten Zeichen (Subskripte) in Kombination mit hochgestellten Zeichen (Superskripte), einfachen Anführungsstrichen oer Vektor- bzw. Matrixpfeilen. Auch hier wir es scheinbar als effizienter empfunen nach er Eingabe Brüche: Zähler Bruchstrich Nenner Klammerausrücke: Klammer li. Integrale, Summen, Proukte: Sub-, Superskript, Zusatzzeichen: >@A@A Ausruck In Line -Symbol [ Subskript ] Klammer re. [ Untergrenze [ Obergrenze ] ] [ Superskript :<;=>=?=2= ] t Abbilung 7.1: Benutzungsregeln zur zeitlichen Abfolge hanschriftlicher Eingaben

7.2. VORVERARBEITUNG, MERKMALSEXTRAKTION UND DEKODIERUNG 101 es in-line -Symbols as Subskript vor em Superskript zu schreiben. Konkret beeutet iese Ausnahmeregelung, ass z. B. ein Integral mit entsprechenen Grenzen in er Reihenfolge "BDCFE?GHJILKDMN.OPCFE?GQIRGTSUILGQC>VWGW XZY[GQIRG\S]IRGQC^VLG_ zu schreiben ist. 3. Verlängerung von Brüchen un Wurzelzeichen In einigen Fällen kann es sinnvoll sein, Zeichen wie Bruchstriche oer Wurzelzeichen zu verlängern, nachem er Nenner bzw. er Raikan geschrieben wure un ieser länger ausgefallen ist als ursprünglich vermutet. Aufgrun er Verarbeitung ynamischer Eingangsaten ist eine Moifikation in er Form nicht möglich, a auf en unteren Systemebenen,. h. währen er Symbolerkennung, ie räumlichen Beziehungen noch nicht berücksichtigt weren. Zeitliche Beziehungen sin jeoch bei ieser Form von Korrekturen im Allgemeinen nicht gegeben, soass Symbol un Moifikation unter Umstänen mit großem zeitlichen Abstan auftreten. 4. Subskript, Superskript Die Erkennung von geschachtelten Subskripten oer Exponenten wie z. B. `ba2c sin in iesem System erzeit nicht berücksichtigt. Unter Beachtung ieser vier Benutzungsregeln ist es nun möglich, en zu erkennenen Ausruck in kontinuierlicher Form einzugeben. Kontinuierlich beeutet in iesem Zusammenhang, ass ie einzelnen Symbole weer spatial noch temporal separiert geschrieben weren müssen. Vielmehr läßt sich er hier verfolgte Ansatz wie eine Satzerkennung ohne vorhergehene Wortsegmentierung betrachten, wobei ie Ientifikation von Wort- bzw. Symbolgrenzen einen integralen Bestanteil es HMM-Ansatzes unter Verwenung es space - Moells arstellt. Ein weiterer Vorteil er Verwenung von HMMs ist ie Möglichkeit, bei Bearf gewisse syntaktische Ranbeingungen in en Dekoierprozeß irekt zu integrieren. Abb. 7.2 gibt eine Übersicht über as grunlegene System zur Formelerkennung, wie es in [Kos98c, Kos99b] vorgestellt wure. Die Funktionsweise er einzelnen Verarbeitungsstufen ist in en nachfolgenen Abschnitten argestellt. 7.2 Vorverarbeitung, Merkmalsextraktion un Dekoierung Wie bereits in Abschnitt 2.1 beschrieben wure, erfolgt auch für ie Formelerkennung eine räumliche Neuabtastung er Stifttrajektorie. Auch hier gilt es urch ie räumlich äquiistante Abtastung ie Geschwinigkeitsinformation zu eliminieren un ie virtuellen Sequenzen zwischen en Strokes linear zu interpolieren. Dabei wir ie Sequenz er zeitlich äquiistant 'f8g C abgetasteten Kartesischen Koorinaten e` /ihjg in ie räumlich äquiistante Abtast-

a ~ } 102 KAPITEL 7. FORMELERKENNUNG x y f8g C k` /ihjg /ihlnmo LpLqWqsr Neu- abtastung k` 'f g t g Merkmalsextr. t g 2D-Parser geom. Merkmale Dekoierung a^2+b^2 (TEX-syntax) Transkript, temp. & spat. Alignment t t TfLu[PfRvs a: 47, 68, 584,615,274,308,291,600 2: 83, 98, 549,580,325,348,336,564 +:106,126, 589,618,373,402,388,603 b:142,173, 567,622,420,457,439,595 2:188,202, 553,572,459,489,474,563 `Pw `bx Ly{zW2y Transkript + temp. Alignment a: k = 47... 68 2: k = 83... 98 +: k =106...126 b: k =142...173 2: k =188...202 Abbilung 7.2: Systemübersicht es Formeleitors squenz e` 'f8g t g überführt. Wie auch bei em Stanarsystem zur Wort- bzw. Satzerkennung, weren bei er Formelerkennung Trajektorien- un Bitmap-Merkmale verarbeitet (vergl. Abschnitte 3.1.1 un 3.2.1), sowie zusätzlich ie Information über en binären Stiftruck. Nach einer Vektorquantisierung, ie i.. R. mittels eines MMI-Netzes - ausgeführt in Multi- Coebuch-Technik - realisiert wir, weren ie iskreten, multiplen Merkmalsströme mit Hien Markov Moellen moelliert bzw. zu Erkennungszwecken ekoiert. Da ie Länge er Beobachtungssequenz aufgrun er verschieen großen Symbole bei er Formelerkennung sehr stark schwankt, weren HMMs mit variierener Zustansanzahl eingesetzt. Zur Moellierung von Großbuchstaben un größeren mathematischen Operatoren un Symbolen (Summe, Integral, Proukt) wuren HMMs mit 12 Zustänen eingesetzt. Kleinbuchstaben un Symbole mittlerer Größe (z. B. _g$ ) wuren mit HMMs bestehen aus acht Zustänen moelliert. Sehr kleine Symbole hingegen, weren schließlich urch HMMs mit rei Zustänen repräsentiert. Für alle genannten Gruppen wure eine lineare HMM-Topologie verwenet,. h. es existieren von jeem Zustan nur Selbsttransitionen un Übergänge zum Nachfolgezustan. Die initialisierten un anschließen trainierten Moelle + weren schließlich bei er Erkennung verwenet, um eine Viterbi-Approximation in Kombination mit einer Strahlsuche, auf eine unbekannte Beobachtungssequenz anzuwenen. Diese Viterbi-Dekoierung liefert nun - im Sinne er Viterbi-Approximation - ie wahrscheinlichste Zustanssequenz ( einer

7.3. STRUKTURANALYSE 103 Menge von HMMs. ƒ + g(l ˆ Z Z Š +Fg (7.1) Die Aussage über ie wahrscheinlichste Zustanssequenz (, welche ie Dekoierung liefert, ist von entscheiener Beeutung für ie Realisierung es Gesamtansatzes. Zum einen ist urch iese Zustanssequenz festzulegen, um welche Symbole un eren Reihenfolge es sich im einzelnen bei er Beobachtungssequenz hanelt. Zum aneren erfolgt für ie Berechnung er Wahrscheinlichkeiten auch eine Zuornung er einzelnen Frames zu en jeweiligen Zustänen. Mit aneren Worten heißt as, ass zu jeem Frame er Beobachtungssequenz bekannt ist, zu welchem Abschnitt ieser Frame er Symbolfolge zuzuornen ist. Im Rückschluß läßt sich somit ie Folge er erkannten Symbole angeben mit jeweils einer exakten Inizierung t von Start- un Enframe. 7.3 Strukturanalyse Wie bereits angemerkt wure, liefert ie Viterbi-Dekoierung neben em eigentlichen Erkennungsergebnis auch ie Information zu en einzelnen Segmentgrenzen innerhalb er Gesamtsequenz. Die Information zu en Segmentgrenzen (gegeben in zeitiskreten Abtastschritten t ) läßt sich zusammen mit en neuabgetasteten Vektoraten auswerten, um ie räumliche Position er einzelnen Segmente zu bestimmen. Die Kenntnis über as aktuelle Symbol, sowie essen räumliche Zuornung wir anschließen benötigt um ie erkannte Symbolsequenz zu parsen. Anhan es Beispiels in Abb. 7.3 soll as Vorgehen zur Bestimmung er geometrischen Merkmale,. h., er räumlichen Position erklärt weren. Dazu wir für as erkannte Symbol a aus er gesamten Sequenz neuabgetasteter Vektoren zunächst er Bereich betrachtet, er ausgehen von en Segmentgrenzen as entsprechene Symbol enthält. In em Beispiel lieferte ie Viterbi-Dekoierung ie Segmentgrenzen t ( ŒsŽ un t ( ŽL. Beginnen bei t ŒsŽ, wir as Segment für jeen iskreten Zeitschritt t auf Minima un Maxima in x- un y- Richtung geprüft. Inem iese Extremwerte für jees Segment gespeichert weren, erhält man am Segmentene eine exakte Information über as umschreibene Rechteck zu em betrachteten Segment. Die Koorinaten un Abmessungen ieses umschreibenen Rechtecks weren für as anschließene Parsing als geometrische Merkmale weiterverarbeitet. Zuzüglich zu en Kartesischen Koorinaten er Kanten es umschreibenen Rechtecks wir er Mittelpunkt es Segments bestimmt, y{z er als geometrischer Mittelpunkt es umschreibenen Rechtecks approximiert wir g2 Wp ( un y a frv flu'g Wp ). Mit ieser räumlichen Zuornung er zeitiskreten Abtastfolge sin nun Aussagen über Position un Größe er erkannten Symbole verfügbar, ie währen es Parsings ausgewertet weren. Die Sequenz er erkannten Zeichen wir zusammen mit en einzelnen zeitlichen Segment- k`pw `bx

@ 104 KAPITEL 7. FORMELERKENNUNG @ƒ Z e@ƒ R @ š @ œ temp. Alignment spat. Alignment a: k = 35... 59 [ a:900,954,082,142,112,927 (x,y)(k=35) mx up my lo (x,y)(k=59) le ri Abbilung 7.3: Bestimmung er räumlichen Segmentierung aus zeitlicher Segmentierung grenzen un en nun vorhanenen geometrischen Merkmalen zur weiteren Verarbeitung in Form einer oppelt verketteten Liste zusammengefasst. In em Beispiel in Abb. 7.2 entspricht ein Listenelement emnach einer Zeile er Ausgabe er geometrischen Merkmalsextraktion. Die verkettete Listenstruktur bietet sich eshalb an, a währen es nachfolgenen Parsings oer auch um manuelle Korrekturbefehle umzusetzen Elemente an entsprechener Stelle aus er Liste entfernt bzw. hinzugefügt weren müssen. Des weiteren ist so ein einfacher Zugriff auf Vorgänger- oer Nachfolgezeichen möglich. 7.4 Parsing LRTD-Ansatz Basieren auf einer erkannten Symbolsequenz un eren geometrischen Merkmalen erfolgt ie schrittweise Umsetzung es Erkennungsergebnisses in eine syntaxbeschreibene Form. Der in iesem Abschnitt beschriebene LRTD- (Left-Right-Top-Down-) Ansatz basiert auf en im Abschnitt 7.1 beschriebenen grunlegenen Benutzungsregeln. Als Ausgabeformat wure hierbei L A TEXgewählt, a as L A TEX-Format zum einen äußerst vielfältige Möglichkeiten er Syntaxbeschreibung bietet un zum aneren ie Ergebnisvisualisierung mittels DVIoer Postscript-Konvertierung in einfacher un übersichtlicher Form ermöglicht. Darüber hinaus ließen sich ie Erkennungsergebnisse in ieser Form leicht als Dokumentbausteine im Hinblick auf ein zu realisierenes Gesamtsystem weiterverwenen. Im wesentlichen setzt sich er LRTD-Parser aus en folgenen sequentiell abzuarbeitenen Moulen zusammen: Fehlerkorrektur, Parsing spezieller mathematischer Operatoren un Detektion un Umsetzung von Sub- un Superskript. Die Funktionsweise ieser Moule wir in en jeweils folgenen Abschnitten beschrieben.

@ @ ` 7.4. PARSING LRTD-ANSATZ 105 7.4.1 Fehlerkorrektur Bei komplexen Mustererkennungsaufgaben, wie er Hanschrifterkennung, ist eine perfekte,. h. stets fehlerfreie Erkennung mit heutigen bekannten Ansätzen nicht realisierbar. Dies gilt insbesonere für solche Fälle, bei enen Ambiguitäten auf en unteren Systemebenen nicht aufgelöst weren können. Typisch für iese Fälle ist as in Abb. 7.4 gezeigte Beispiel. Die einzelnen Symbole aus em oberen un unteren Beispiel ähneln sich abei sehr stark. Zuem ist ie Reihenfolge, in er ie jeweilige hanschriftliche Eingabe erfolgte, ientisch. Dennoch tragen ie gezeigten Ausrücke eine völlig unterschieliche Beeutung. Vereutlicht man sich an ieser Stelle einmal en Ablauf er gesamten Erkennung, wie er in Abb. 7.2 argestellt ist, wir klar, ass ie Dekoierung aufgrun fehlener Möglichkeiten zur Auswertung von Kontextinformation solche Grenzbereiche nicht unterscheien kann. Mit Kontextinformation sin an ieser Stelle ie geometrischen Merkmale er einzelnen Symbole gemeint, ie erst nach er Dekoierung bestimmt weren. Die Fehlerkorrektur es Parsers bezieht sich somit auch nur auf offensichtliche Fehler es Dekoers, wie z. B. ie gezeigte Vertauschung eines kurzen Bruchstrichs mit einem Minuszeichen im unteren Beispiel von Abb. 7.4. Eine weitere korrigierbare Fehlerklasse ist ie Vertauschung von einfachen Anführungszeichen bei gestrichenen Variablen mit Kommata (` ) oer auch ie fälschliche Einfügung eines Punktes nach en Worten r žƒc oer Mkžƒy. Diese können urch sog. elaye strokes entstehen, inem zunächst ie Buchstabenfolge in verbunener Form geschrieben wir, un anschließen er i-punkt über en Wortkörper gesetzt wir. Die Korrektur falsch eingefügter i-punkte läßt sich einfach realisieren, inem im Erkennungsergebnis auftretene Punkte nach bestimmten Schlüsselwörtern, wie en Worten Ÿ2 oer pauschal gelöscht weren. Die Löschung kann vorgenommen weren, a eine solche Zeichenfolge keinen regulären Ausruck formen kann. Um ie Vertauschung von Minuszeichen un kurzem Bruchstrich zu korrigieren (Bsp. in Abb. 7.4), wir jee Transkribierung zunächst auf vorhanene Brüche oer Subtraktionen überprüft. Tritt ein solches kritisches Zeichen auf, so weren ie geometrischen Merkmale temp. Alignment a : k = 23... 47 min: k = 65... 74 b : k = 82...116 temp. Alignment a : k = 24... 49 min: k = 59... 69 b : k = 88...116 spat. Alignment a :075,104,630,668,649,089 min:088,094,701,721,711,091 b :057,113,749,787,768,085 spat. Alignment @ @ @ š @ƒ œ @ƒ @ƒ @ š @ œ a :025,060,867,901,884,042 min:075,077,868,890,879,076 b :108,151,863,891,877,129 a - b a \over b Abbilung 7.4: Beispiel zur Fehlerkorrektur

y y a a a a 106 KAPITEL 7. FORMELERKENNUNG es Bruchstrichs bzw. es Minuszeichens mit en geometrischen Merkmalen es (zeitlichen) Vorgängersymbols un es (zeitlichen) Nachfolgesymbols verglichen. Der Vergleich bezieht sich abei auf ie in Abb. 7.4 markierten geometrischen Merkmale. Ein Minuszeichen liegt genau ann vor, wenn as Merkmal `bx es Vorgängersymbols (im Bsp. er Buchstabe a ) kleiner ist als as Merkmal `Pw es als min erkannten Symbols. Zusätzlich muß überprüft weren, ob as Merkmal `bx es min -Symbols kleiner als as Merkmal `Pw es zeitlichen Nachfolgers ist. Da im oberen Beispiel beie Beingungen erfüllt sin KW g W W ª (`bxz «yªž<c gt Lq m `Pw< yªžƒcf gtn Wp m un `bxz ±Y'±gT Z²s `Pwƒ ), wir ie Erkennung bestätigt. Es muß sich folglich um ein Minuszeichen haneln. Im zweiten Beispiel in Abb. 7.4 zeigt ieser Vergleich, ass ie Beingungen für ein Minuszeichen nicht erfüllt sin. Vielmehr wir urch en Vergleich er geometrischen Merkmale von (zeitlichem) Vorgänger un Nachfolger mit en geometrischen Merkmalen es min -Symbols klar, ass es sich um einen Bruchstrich haneln muß. Speziell sin bei f KW±g iesem Vergleich ie Merkmale wƒ yªž<c g f Y g un w frv K g{ y y relevant. Ein Bruchstrich liegt ann vor, wenn yªž<c g4³flu Y g un a, er Mittelpunkt in y-richtung es min -Symbols yªžƒc,g. Die markierten geometrischen Merkmale es unteren Beispiels in Abb. 7.4 bestätigen also, ass es sich um einen Bruchstrich haneln muß, was eine anschließene automatische Korrektur zur Folge hat. Ein ganz ähnliches Prüfverfahren wir urchgeführt, wenn entweer Kommata oer Hochkommata in er Erkennung auftreten, um Vertauschungen eben ieser Symbole zu korrigieren. Auch hier sin beie Symbole ohne Kontextinformation kaum zu unterscheien. Der Vergleich bezieht sich in iesem Fall jeweils auf ie Merkmale y a y bzw. Hochkomma un em Merkmal ±gµy XZIoH, KWCFH GQIWg a < umgekehrt. von Komma es Vorgängersymbols. Bei einem Komma muß gelten, bei einem Hochkomma wären ie Relationen genau 7.4.2 Spezielle mathematische Operatoren In einem weiteren Parsingschritt wir nach einigen speziellen Symbolen gesucht, eren zeitlicher Kontext eine besonere Beeutung haben könnte. Dies sin insbesonere ie Symbole,, un. Wir in er Transkribierung ein Summen-, Integral- oer Prouktsymbol gefunen, so muß as Ergebnis auf mögliche Unter- oer Obergrenzen hin untersucht weren. Dabei können nun wieer ie in Abschnitt 7.1 efinierten Benutzungsregeln zur Hilfe genommen weren. Dort wure mit Beingung (2) festgelegt, ass eine Untergrenze - beispielsweise eines Integrals - zeitlich irekt nach em Integral selbst geschrieben wir. Eine mögliche Obergrenze wir zeitlich nach er Untergrenze geschrieben. Anhan es Beispiels in Abb. 7.5 läßt sich nun as Parsing ieser speziellen Operatoren erklären. Wie auch bei er oben beschriebenen Unterscheiung zwischen kurzen Brüchen

` @ ` 7.4. PARSING LRTD-ANSATZ 107 temp. Alignment int : k = 21... 56 x : k = 108... 132 = : k = 144... 264 0 : k = 172... 189 1 : k = 241... 260 x : k = 330... 356 : k = 373... 409 x : k = 417... 444 spat. Alignment [ @ƒ Z k@ƒ R [@ šo@ œ int :455,559,080,131,105,507 x :583,618,041,068,054,600 = :591,613,084,109,096,602 0 :587,609,121,142,131,598 1 :395,435,101,136,118,415 x :498,532,178,209,193,515 :475,532,249,280,264,503 x :495,534,295,334,315,514 Abbilung 7.5: Detektion von Unter- un Obergrenze am Beispiel eines Integrals un Minuszeichen wir zunächst jeer Ausruck auf as Vorhanensein ieser speziellen Operatoren (Integral, Summe etc.) hin untersucht. Tritt - wie im Beispiel gezeigt - ein solcher Operator auf, so wir zunächst ie Position er Unterkante es umschreibenen Recht- frv žƒcfen g ecks mit em geometrischen Merkmal fru es Nachfolgers verglichen (hier: flu Aus em spatialen Alignment wir sofort ersichtlich, ass sich as Nachfolgesymbol x fzv ž<cfe g¹ºžwžr»flu unterhalb es Integrals befinet ( g¼ºžl WŒ g ). ). Da eine Untergrenze nicht zwangsläufig aus einem einzigen Symbol bestehen muß, sin zusätzlich noch ie weiteren Nachfolgezeichen zu untersuchen. Diese Nachfolgezeichen weren nacheinaner solange zu einer Untergrenze zusammengefasst, wie eren Oberkante es umschreibenen Rechtecks unterhalb es Integrals liegt. In em gezeigten Beispiel sin ies neben em Zei- fzv žƒcfe g½ ŽWŽL fru chen x frv noch as Gleichheitszeichen un ie Null ( žƒcfen g¾ ŽWŽL fru qr±gà ŽL s sowie g ŽL m ). Bei em fünften Zeichen er Transkribierung (hier: ie 1 ) ist iese Beingung jeoch nicht mehr erfüllt, soass ie Gruppierung zur Untergrenze abgebrochen weren muß. Ungeklärt ist an ieser Stelle allerings noch, ob für as Integral eine Obergrenze angegeben wure. Dazu muß zunächst für as nächste Symbol nach er Untergrenze ie relative Position zum Integral betrachtet weren. Insbe- fru ž<c E g sonere weren azu ie Merkmale frv m±gªµ²sœsžáâfru «ž<c EN gª ²DŽWŽ frv m g un verglichen, wobei sich zeigt, ass un amit eine Obergrenze vorliegt. Bei einem positiven Test für eine Obergrenze wir zwecks Gruppierung nachfolgener Symbole in analoger Weise zur Gruppierung er Untergrenze verfahren. Nach Abbruch er Gruppierung zur Obergrenze weren ie nachfolgenen Symbole zum Integranen zusammengefasst. Wir as Wort lim erkannt, so ist zu erwarten, ass nachfolgen ie Variable genannt wir, auf ie sich ie Grenzwertbilung bezieht, gefolgt von einem Pfeil un em Grenzwert selbst. Die Gruppierung erfolgt auch hier urch Vergleich er Unterkante es Wortes lim mit en Oberkanten er Nachfolgesymbole. Nach iesem Prinzip erfolgt auch ie Gruppierung zu Teilausrücken bei auftretenen Wurzeln oer Brüchen (Abb. 7.6). Bei iesen Strukturen ist es allerings urchaus wahrscheinlich, ass ein Teilausruck,. h. er Raikan, er Zähler oer er Nenner eines Bruches über as Wurzelzeichen bzw. en Bruchstrich hinausragt. Dies kann insbesonere ann be-

@ @ 108 KAPITEL 7. FORMELERKENNUNG temp. Alignment sqrt: k = 10... 89 a : k =136...160 + : k =168...185 b : k =194...224 + : k =302...324 c : k =337...367 temp. Alignment a : k = 28... 56 frac: k = 87...117 b : k =164...193 + : k =202...222 c : k =237...256 spat. Alignment [ sqrt:037,128,217,455,336,083 a :078,107,278,315,297,093 + :082,106,335,359,347,094 b :072,121,382,411,396,097 + :074,104,491,522,506,089 c :076,120,539,627,583,098 spat. Alignment @ R k@ L $@ šo@ƒ jœ @ @ @ƒ š @ œ a :249,287,757,799,778,268 frac:303,310,694,820,757,307 b :329,380,699,728,713,355 + :339,367,739,770,754,353 c :336,370,791,833,812,353 Abbilung 7.6: Gruppierung von Teilausrücken obachtet weren, wenn as letzte Zeichen eines Teilausruckes noch mit Zusatzzeichen oer Inizes versehen wir. Zur Gruppierung von Zeichen zu Teilasurücken wir aher nicht as umschreibene Rechteck als Entscheiungskriterium herangezogen, sonern er geometrische Mittelpunkt er Zeichen. Wie in Abb. 7.6 am Beispiel einer Wurzel gezeigt wir, weren ie nachfolgenen Symbole zu einem Raikanen zusammengefasst, eren Mittelpunkt y{z unterhalb es Wurzelzeichens liegt ( y{z à KDÄÅ ~ XZḾ H GQIWg rqærioe g `bxo ). Im oberen Beispiel in Abb. 7.6 sin ies ie Zeichen a, + un b. Die Suchrichtung für en Raikanen ist hier wieerum aus er Beingung (1) in Abschnitt 7.1 bekannt. Das zweite Beispiel in Abb. 7.6 zeigt eine Situation, in er ie Gruppierung, basieren auf en Merkmalen es umschreibenen Rechtecks, fehlschlagen würe, a as c im Nenner Ä6 g etwas über en Bruchstrich hinausragt (`bxo `bxz g. Da jeoch auch bei er Gruppierung von Brüchen von en Mittelpunkten er Zeichen ausgegangen wir, kann er Nenner y{z Ä gç korrekt zusammengefasst weren ( `bxz g ). Die Suchrichtungen für Zähler un Nenner sin ebenfalls aus Beingung (1) in Abschnitt 7.1 bekannt: einem Bruchstrich muß er Zähler vorausgehen un er Nenner folgen. 7.4.3 Sub- un Superskript Die zuvor beschriebenen Methoen zur Strukturierung es Erkennungsergebnisses basierten stets auf er Existenz gewisser Schlüsselwörter, wie z. B. int bei Integralen oer sqrt bei Wurzeln. Auf solche Hinweise kann bei er Suche nach Sub- oer Superskripten nicht zurückgegriffen weren. Die Situation stellt sich hier vielmehr so ar, ass bis auf Ausnahmen jees erkannte Zeichen zu einem Inex oer Exponenten zählen könnte. Als ein wesentlicher Anhaltspunkt kann hier leiglich ie in Abschnitt 7.1 efinierte Beingung (1) verwenet weren, wonach ein Inex oer Exponent in zeitlicher Reihenfolge unmittelbar nach em in-line Zeichen einzugeben ist.

7.4. PARSING LRTD-ANSATZ 109 Um en Suchaufwan nach Inizes oer Exponenten einzuschränken un auch as Potential für mögliche Fehlinterpretationen zu reuzieren, ist es zunächst sinnvoll, mögliche Zeichentypen für Inizes un Exponenten zu spezifizieren. Für Inizes lassen sich ie gültigen Ausrücke so z. B. auf Zahlen, Buchstaben un eren Kombination beschränken. Für as Parsing kann weiterhin ausgenutzt weren, ass ie Basis zu einem Exponenten oer as in-line Zeichen eines Inex - bis auf Ausnahmen - ebenfalls Variablen oer Zahlenwerte sin. Als Ausnahmen sin hierbei noch ie Symbole g[éè<jêd4 ªj! \# zu berücksichtigen, welche arüber hinaus als in-line Symbol auftreten können. Für en Exponenten gelten prinzipiell jeoch keine Restriktionen, soass auch komplexe Strukturen, wie z. B. Brüche als Exponenten möglich sin. Die einzige Einschränkung hier ist, ass keine Exponenten höherer Ornung (. h. Exponent vom Exponent) zugelassen sin. Diese Einschränkung ist notwenig, a ie verschieenen Ebenen bei hanschriftlicher Eingabe kaum mehr zu unterscheien sin. Ein urchschnittlicher Exponent ist zuem nur zwei bis rei Millimeter groß. Bei einer Auflösung von 300 pi beeutet as schließlich, ass solche kleinen Zeichen nach er Neuabtastung leiglich urch 10-20 Abtastpunkte repräsentiert weren. Dies erschwert nicht nur ie eigentliche Erkennung er Zeichen un ie Unterscheiung zwischen Großun Kleinschreibung bei Buchstaben, sonern auch ie zuverlässige relative Positionsbestimmung er einzelnen Zeichen un amit ie eineutige Zuornung zu en verschieenen Ebenen es Exponenten. Aufgrun er großen Anzahl potentieller Kaniaten für Inizes oer Exponenten muß ie Suche nach Sub- bzw. Superskript emnach für eine relativ große Symbolmenge urchgeführt weren. Die Strukturierung stützt sich abei leiglich auf ie relativen Positionen er einzelnen Symbole. Zu iesem Zweck wir jees Zeichen, beginnen mit em ersten Zeichen in er Liste erkannter Symbole, untersucht. Erfüllt ein erkanntes Zeichen in er Liste as logische Kriterium,. h. es ist vom zulässigen Typ, so weren urch Positionsvergleiche von Symbolmittelpunkt un umschreibenem Rechteck zwischen em aktuell untersuchten Zeichen un eren Nachfolger entsprechene Gruppierungen zu Inizes oer Exponenten vorgenommen, wenn zuem ie geometrischen Kriterien erfüllt weren. Für Ini- y KJrQžNrog\lfRu KDÄÅ ~ XZḾ H GQIWg zes (Exponenten) gelten a ƒë à y KJrQžNrog4³fRv KDÄ Å ~ XRḾ H GQIWg ( a Ë Ã y{z KJrQžNrog Zuem muß er Nachfolger in beien Fällen rechts von er Basis liegen ( ƒë KDÄÅ ~ XZḾ H GQIWg2g `PwA Ã. Da er geometrische Mittelpunkt eines Zeichens mit em Mittelpunkt es umschreibenen Rechtecks approximiert wir, liegen ie Mittelpunkte von Buchstaben mit Unterlängen (f, g, j, p, q, y) tenenziell etwas tiefer als ie übrigen Buchstaben oer Zahlen. Um zu vermeien, ass nun nachfolgene in-line Zeichen fälschlicherweise als Exponent erkannt weren, wir zu Beginn es Parsings ie Position y a gewissen Bias in f -Richtung nach oben korrigiert. eines jeen Zeichens mit Unterlänge um einen Matrix- bzw. Vektorpfeile weren von em Parser als eine spezielle Art von Exponenten ).

110 KAPITEL 7. FORMELERKENNUNG behanelt. Die Strukturierung es Erkennungsergebnisses kann bei ieser Form von Symbolen unter Berücksichtigung geometrischer Merkmale allerings wieer auf ie Existenz von Schlüsselworten zurückgreifen. Nachem schließlich alle Teilausrücke gruppiert wuren, erfolgt ie abschließene Umsetzung in as L A TEXFormat [Kop94]. Dazu ist es leiglich notwenig ie gefunenen Teilausrücke jeweils mit logischen Klammern zu versehen un iese zusammen mit en übrigen erkannten Zeichen un Operatoren entsprechen er L A TEX-Syntax in eine Ausgabeatei zu schreiben. Funktionen weren im Gegensatz zu Variablen mit einem Ì gekennzeichnet. Die in Abb. 7.6 gezeigten Beispiele resultieren somit nach abgeschlossener Erkennung in zwei reinen (ACSII-) Textateien mit einer sehr kompakten Beschreibung er Syntax: Ì sqrtí a+b Ê +c bzw. a Ì overí b+c Ê. 7.5 2D-Parsing mit kontextuellen Graph-Grammatiken Neben em in en vorangegangenen Abschnitten beschriebenen LRTD-Ansatz, wure in Zusammenarbeit mit em Insitut National e Recherche en Informatique et en Automatique (INRIA) ein weiterer Ansatz realisiert [Kos99a], er auf Benutzungsregeln, wie sie zunächst für en LRTD-Ansatz formuliert wuren weitgehen verzichtet. Dieser Ansatz basiert im wesentlichen auf er Kombination zweier existierener Systeme für ie Formelerkennung, bei eren unabhängiger Entwicklung jeoch zunächst unterschieliche Ziele verfolgt wuren. Bei em einen System hanelt es sich um en bereits beschriebenen hanschriftlichen Formeleitor. Das zweite System ist as am INRIA entwickelte OFR (Optical Formula Recognition), welches für ie Offline-Erkennung von Formeln in geruckten Dokumenten entwickelt wure. Dieses System besteht aus en rei weitgehen unabhängigen Hauptkomponenten OCR, Graph-Builer un Graph-Parser [Lav97, Lav98]. Das OCR-Moul liefert abei ie Eingabe für en Graph-Builer in Form von erkannten Einzelzeichen, un eren Position un Größe. Da es sich um eine Offline-Erkennung hanelt, existiert eine zeitliche Zeichenfolge im Sinne er erfolgten Zeicheneingabe nicht. Der auf er OCR-Ausgabe aufsetzene Graph-Builer un er nachfolgene Graph-Parser werten leiglich Position un Größe er erkannten Zeichen für ie Strukturierung aus. An ieser Stelle wir bereits klar, ass sich ie Vorteile beier Systeme elegant miteinaner verknüpfen lassen, wourch sich eine hanschriftliche Formelerkennung ohne vorgegebene Schreibrichtung realisieren läßt. Als Schnittstelle zwischen beien Systemen ient hier leiglich ie Transkribierung er hanschriftlichen Eingabe un eren geometrische Merkmale. Aus er Transkribierung wir zunächst zusammen mit en geometrischen Merkmalen

7.6. MANUELLE KORREKTURFUNKTIONEN 111 ein Graph konstruiert, er ie geometrischen Zusammenhänge zwischen en einzelnen initialen lexikalischen Einheiten repräsentiert. Die gerichteten Kanten, welche ie Knoten miteinaner verbinen, tragen somit ie Information über ie relativen Positionen er Knoten. Der Graph wir in er Form konstruiert, ass zunächst versucht wir, jees Symbol er Formel in acht Richtungen (rechts, links, oben, unten, oben rechts, oben links, unten links, unten rechts) mit seinen nächsten Nachbarn zu verbinen, wobei - in Abhängigkeit es untersuchten Zeichens - bestimmte Gültigkeitstests bezüglich er Richtung potentieller ein- un ausgehener Kanten urchgeführt weren. Darüber hinaus wir bei iesem Test ein elliptisches Potenzialmoell verwenet, welches er bevorzugten Schreibrichtung (von links nach rechts) entspricht. Damit läßt sich moellieren, ass in horizontaler Richtung ein rechts liegenes Zeichen beispielsweise über weitere Abstäne mit einer ausgehenen Kante verbunen weren kann, als ein links liegenes Zeichen (vergl. [Lav98]). Nachem auf iese Weise ein initialer Graph er Formel konstruiert wure, kann amit begonnen weren iese zweiimensionale Beschreibung er Formel zu parsen. Dabei wir eine kontextabhängige Graph-Grammatik [Pfa69] verwenet, ie bestimmte Syntaxregeln in Abhängigkeit er verweneten Symbole auswertet. In iterativer Weise weren aus em eingangs generierten Graphen Teilgraphen zu einem Knoten zusammengefasst. Der resultierene Knoten enthält eine abstrahierte Prefix-Syntaxbeschreibung es Teilausrucks. Die geometrischen Merkmale ieses Knotens weren nach er Zusammenfassung auf ie Parameter es umschreibenen Rechtecks es gesamten Teilausrucks gesetzt. Bei iesem Ansatz, er in er Literatur auch als Graph-rewriting [Blo96] bekannt ist, wir iese Zusammenfassung von Teilausrücken iterativ wieerholt, bis schließlich ein verbleibener Knoten ie Syntaxbeschreibung er gesamten Formel enthält. 7.6 Manuelle Korrekturfunktionen Die bisher vorgestellten Ansätze zur Realisierung eines hanschriftlichen Formeleitors basierten stets auf em Prinzip eine ganze Formel vollstänig einzugeben un anschließen ie Erkennung zu starten. Nachträgliche Moifikationen oer auch partielle Korrekturen von möglichen Erkennungsfehlern waren abei ausgeschlossen. Das beeutet, ass ein Benutzer ohne ie Unterstützung manueller Korrekturfunktionen gezwungen ist, selbst bei kleinsten Erkennungsfehlern eine u. U. sehr komplexe Formel komplett neu einzugeben. Der erhöhte Gebrauchswert bei Einführung manueller Korrekturfunktionen zeigt sich jeoch nicht nur bei auftretenen Erkennungsfehlern. Gerae bei einem hanschriftlichen Formeleitor kann es zuem ausgesprochen nützlich sein, nach er Erkennung er Eingabe noch Erweiterungen oer Veränerungen vorzunehmen, um ie gewünschte Formel auf em elektronischen Pa-

112 KAPITEL 7. FORMELERKENNUNG pier schrittweise zu entwickeln. Zu iesem Zweck wuren ie Eitierfunktionen Löschen, Ersetzen, Einfügen, Rückgängig un Wieerholen un Neuzeichnen in en Demonstrator integriert. Im Prinzip ist ie Umsetzung von Eitierfunktionen bei einem hanschriftlichen Formeleitor auf zwei Arten enkbar: Zum einen könnten Moifikationen auf em Erkennungsergebnis selbst erfolgen. Bei er hier gewählten Ausgabeform wäre as sehr leicht umzusetzen, a es sich bei er Ausgabe um reine Textateien hanelt. Zum aneren ist es aber auch enkbar ie Änerungen auf em temporär gespeicherten Schriftbil vorzunehmen, anschließen ie hanschriftlichen Eitierbefehle un Korrekturzeichen erkennen zu lassen, ie Befehle auszuführen un ie Änerungen ann schließlich mit er zuvor erzeugten Ausgabe zusammenzuführen. Währen erste Arbeiten zur Integration von Erkennung un automatischer Ausführung hanschriftlicher Korrekturen in OCR-Systemen bekannt sin [Mor97] blieb er zweite o. g. Ansatz bis auf ie an er Gerhar-Mercator-Universität - Duisburg urchgeführten Untersuchungen [Kos00, Mes99] völlig unberücksichtigt. Doch gerae ieser Ansatz bietet eine Reihe von interessanten Fragestellungen un Vorteilen bezüglich er Benutzbarkeit. Änerungen bzw. Korrekturen können so vom Benutzer urchgeführt weren ohne einen lästigen Wechsel er Eingabemoalitäten vorzunehmen (vom Stift zur Tastatur oer Maus). Bei Engeräten, ie konsequent auf ie Stifteingabe setzen, ließen sich mit einem solchen Verfahren in konsistenter Form z. B. Taschenrechnerfunktionen integrieren. 7.6.1 Funktionsweise manueller Korrekturfunktionen Für ie Erkennung un Ausführung manueller Korrekturfunktionen ist es zunächst notwenig Steuersymbole zu efinieren. Diese Symbole weren wie ie übrigen Zeichen, Buchstaben un Ziffern anhan von Trainingsbeispielen gelernt un urch ein oer mehrere HMMs repräsentiert. Wir anschließen ein solches Steuersymbol erkannt, können araufhin entsprechene Eitieroperationen auf em Original vorgenommen weren. Ein solches Steuersymbol sollte aher gewisse Eigenschaften aufweisen. Zunächst ist es wichtig, mit einem Steuersymbol ie relevanten Bereiche, auf ie sich ie Änerungen beziehen, exakt markieren zu können. Eine weitere wichtige Eigenschaft es Steuersymbols sollte ie gute Unterscheibarkeit zu sämtlichen übrigen Zeichen sein, a Vertauschungen zwischen regulären Zeichen un Steuersymbolen zwangsweise einen starken unerwünschten Einfluß auf as Gesamtergebnis zur Folge haben. Erste Tests mit unterschielichen Eitiersymbolen [Kos00] zeigten, ass ie in Abb. 7.7 argestellten Zeichen ie erforerlichen

7.6. MANUELLE KORREKTURFUNKTIONEN 113 Eigenschaften aufweisen. Da bei er Online-Hanschrifterkennung auch ie zeitliche Abfolge er Strokes relevant ist, kann ies als zusätzliches Unterscheiungsmerkmal einbezogen weren, inem ie in Abb. 7.7 mit en Pfeilen angeeutete Schreibrichtung eingehalten wir. Mit entsprechenen Variationen ieser Symbole hinsichtlich Ausehnung un Kantenverhältnis in er Trainingsatenbasis sin natürlich auch verschieene Realisierungsformen bezüglich er Form un Größe in er Erkennungsphase möglich. Wenngleich beie Varianten in Abb. 7.7 von em Demonstrator unterstützt weren, ist en- (1) (2) Abbilung 7.7: Implementierte Eitierbefehle noch Variante (2) zu bevorzugen, a ieses Symbol sehr sicher erkannt wir. Wie in en nachfolgenen Abschnitten noch im Detail gezeigt wir, können iese Eitiersymbole universell für ie Funktionen Löschen, Ersetzen un Einfügen verwenet weren. Für ie Funktion Löschen sowie für ie übrigen Eitierfunktionen gilt, ass iese sich ohne Änerungen an er gewählten Gesamtarchitektur es Demonstrators integrieren lassen. Die Änerungen beschränken sich leiglich auf ie Einführung neuer Moelle für ie Steuersymbole in en Dekoer un einen erweiterten Parser, er bei erkannten Steuersymbolen entsprechene Änerungen auf vorherigen Versionen es Dokumentes vornimmt. Dazu ist es natürlich erforerlich, ass er Parser über eine entsprechene Verwaltung er Historie verfügt, sowie über eine Synchronisation er verschieenen Versionen von hanschriftlichen Eingabeokumenten, Transkribierungen mit geometrischen Merkmalen un Ausgabeokumenten. Die Historie ist als Stapel mit vorzugebener Maximalgröße ausgeführt. Ein Stapelelement wieerum entspricht jeweils einer Eingabe mit Erkennungsergebnis un enthält emnach einen Verweis auf ie hanschriftlichen Eingabeaten, sowie ie verkettete Liste mit en Transkribierungen, Segmentgrenzen un geometrischen Merkmalen. Der Vorteil er Listenstruktur kommt auch bei er Ausführung manueller Korrekturbefehle zum tragen, a hier teilweise ganze Zeichensequenzen zu entfernen oer urch neue Sequenzen zu ersetzen sin. 7.6.2 Löschen Um bestimmte Teile einer Formel zu löschen, ist er betreffene Bereich mit em Steuersymbol zu markieren. Nach erneuter Erkennung wir er entsprechene Bereich aus em Ausgabeokument entfernt. Abb. 7.8 vereutlicht ies an einem Beispiel. Der erste Schritt

114 KAPITEL 7. FORMELERKENNUNG zeigt as Original er Eingabe, wie es auf em Canvas es Systems (s. auch Abb. 8.1) angezeigt wir. Eine erstmalige Erkennung generiert ein entsprechenes Ausgabeokument (mx+b=y). Im zweiten Schritt wir ann er zu löschene Bereich markiert un ie Erkennung erneut gestartet. Das Ergebnis ist eine Ausgabeatei mit em Inhalt mx=y. Währen im Canvas sämtliche Stiftaktionen visualisiert weren, schickt ie Benutzerober- 1. Schritt: Canvas: Erkennung Dokument: mx + b = y 2. Schritt: Erkennung mx = y Abbilung 7.8: Löschen von Teilausrücken fläche immer nur ie Daten in en Erkennungsprozeß, ie seit em letzten Erkenneraufruf hinzugekommen sin. In em gezeigten Beispiel beeutet ies also, ass er Dekoer leiglich as (hinzugefügte) Steuersymbol zu sehen bekommt. Die einzige Ausgabe es Dekoers ist somit ie Transkribierung es Steuersymbols ctrl un as temporale Alignment er Abtastvektoren. Daraufhin weren wieerum geometrische Merkmale (umschreibenes Rechteck un Mittelpunkt) es Steuersymbols bestimmt un ies zusammen mit er Transkribierung ctrl an en Parser weitergeleitet. Bei em nun aufgetretenen Steuerbefehl wir von em Parser zunächst as letzte,. h. oberste Stapelelement (Verweis auf hanschriftliche Eingabe un verkettete Liste) vom Stapel geholt, auf welches ie Operation anzuwenen ist. Zusammen mit en Parametern es umschreibenen Rechtecks es Steuersymbols können ie zu löschenen Symbole nun bestimmt weren, inem ie Liste erkannter Zeichen nach solchen Einträgen urchsucht wir, eren Mittelpunkt ( y{zd'y a ) innerhalb es umschreibenen Rechtecks es Steuersymbols liegt. Die auf iese Weise bestimmten Zeichen weren anschließen aus er Liste gelöscht. Um größere Lücken zwischen en Formelelementen zu vermeien, weren ie geometrischen Merkmale er nachfolgenen verbleibenen Zeichen um einen gewissen Offset verschoben. Dieser Offset wir bestimmt, inem ein umschreibenes Rechteck für ie gesamte Sequenz zu löschener Zeichen berechnet wir. Das umschreibene Rechteck muß abei jeoch nicht mehr aus en Vektoraten ermittelt weren, sonern kann urch Maximumbzw. Minimumbilung über alle enthaltenen umschreibenen Rechtecke bestimmt weren. Die Verschiebung er Zeichen betrifft an ieser Stelle zunächst ie Korrektur er geometrischen Merkmale um en ermittelten Offset. Für eine spätere Angleichung es Schriftbiles (Funktion Neuzeichnen ) wir er Offset für as jeweilige verschobene Zeichen in einer zusätzlichen Variablen innerhalb es Listenelementes gespeichert. Abschließen erfolgt ie Ausgabe es aktualisierten Dokumentes un ie Ablage er aktua-

7.6. MANUELLE KORREKTURFUNKTIONEN 115 lisierten Liste als neues Stapelelement. Auf iese Weise ist es natürlich auch möglich mehrere Korrekturzeichen in einem Arbeitsschritt zu verarbeiten (Abb. 7.9), inem ie Suche nach von Steuersymbolen übereckten Zeichen für jees auftretene Steuersymbol urchgeführt wir. 1. Schritt: Canvas: Erkennung Dokument: mx + b = y 2. Schritt: Erkennung x = y Abbilung 7.9: Löschen mehrerer Teilausrücke 7.6.3 Ersetzen Die Funktion Ersetzen basiert wie ie Funktion Löschen ebenfalls auf em Prinzip, ie von er Moifikation betroffenen Zeichen mittels eines hangezeichneten Steuersymbols zu selektieren (Abb. 7.10). Beachtlich ist, ass trotz er eutlich unterschielichen Größen er in Abb. 7.10 un Abb. 7.8 gezeigten Steuersymbole, beie Realisierungen urch nur ein einziges HMM repräsentiert weren. Die Hanhabung er Funktion Ersetzen soll an em in Abb. 7.10 gezeigten Beispiel vereutlicht weren. Der erste Schritt zeigt as eingegebene Original (Canvas) mit er entsprechenen Ausgabe nach erfolgter Erkennung (Dokument). Im zweiten Schritt wure ann er zu ersetzene Bereich mittels es Steuersymbols selektiert. Schritt rei zeigt, wie nach em Einfügen es Steuersymbols hanschriftlich er ersetzene Ausruck hinzugefügt wure. Canvas: Dokument: 1. Schritt: Erkennung \sqrt{x^2+2x+1}=x+1 2. Schritt: 3. Schritt: Erkennung \sqrt{(x+1)^2}=x+1 Abbilung 7.10: Ersetzen von Teilausrücken

116 KAPITEL 7. FORMELERKENNUNG Nach einer abschließenen Erkennung in Schritt rei weren ie Änerungen in as Ausgabeokument übertragen. Die im Beispiel gezeigte Reihenfolge er Eingabe von 1. Steuersymbol un 2. ersetzenem Ausruck bestehen aus Nicht-Steuersymbolen ist ein wesentliches Merkmal für ie Umsetzung er Funktion Ersetzen. Wie bereits erwähnt, weren im zweiten Erkenneraufruf leiglich ie hinzugekommenen Daten von er Oberfläche an en Erkenner übergeben. In em gezeigten Beispiel heißt ies, ass er Parser nach er Ermittlung er geometrischen Merkmale ie folgene Zeichensequenz mit entsprechenen geometrischen Merkmalen empfängt: ctrl ( x + 1 ) 2. Tritt - wie in em vorliegenen Fall - ein Steuersymbol auf, ist ies grunsätzlich ein Signal für en Parser Änerungen an einem vorherigen Dokument vorzunehmen. Im Unterschie zu em Beispiel in Abb. 7.8, wo auf ein Steuersymbol kein Nicht-Steuersymbol folgte, erkennt er Parser im Beispiel in Abb. 7.10, ass eine Substitution vorzunehmen ist aran, ass em Steuersymbol eine Zeichenkette aus Nicht-Steuerzeichen folgt. Die Bestimmung er zu ersetzenen Zeichen verläuft zunächst analog zu er Vorgehensweise bei er Funktion Löschen. Im einem weiteren Schritt wir ann as Erkennungsergebnis strukturiert, welches em Steuersymbol folgt. Dies erfolgt in er beschriebenen Weise, wie bei einer Erkennung ohne manuelle Korrekturen. Um mehrere Substitutionen in einem Arbeitsschritt vornehmen zu können, ist es auch hier möglich wieerholt ie Folge Steuersymbol, ersetzener Ausruck einzugeben. Die eigentliche Ersetzung kann nun erfolgen, inem er urch as führene Steuerzeichen selektierte zu ersetzene Ausruck aus er verketteten Liste entfernt wir un an ieser Stelle er ersetzene Ausruck eingefügt wir. Für multiple Substitutionen wir ieser Vorgang analog für jees auftretene Steuersymbol wieerholt. Um auch hier Überlappungen oer Lücken zu vermeien, weren ie nachfolgenen verbleibenen Zeichen um einen Offset verschoben. Dieser Offset wir aus en Differenzen er umschreibenen Rechtecke von ersetzenem un zu ersetzenem Ausruck ermittelt. Das Ergebnis wir wieer ausgegeben un aktualisiert auf em Stapel abgelegt. 7.6.4 Einfügen Bei er Funktion Einfügen hanelt es sich im Grune im eine spezielle Variante einer Substitution. Wie as Beispiel in Abb. 7.11 zeigt, wir mittels eines sehr schmalen Steuersymbols ie Stelle markiert, an ie er ersetzene Ausruck eingefügt weren soll. Der Parser erkennt en Korrekturbefehl Einfügen aran, ass wie bei einer Substitution ein Steuersymbol von Nicht-Steuersymbolen gefolgt wir, wobei as Steuersybmol keinen Mit-

7.6. MANUELLE KORREKTURFUNKTIONEN 117 telpunkt irgen eines aneren Zeichens es vorausgegangenen Erkennungsergebnisses überecken arf. Nach erfolgter Strukturierung er nachfolgenen Nicht-Steuerbefehle weren iese wieerum an entsprechener Stelle in ie Liste eingefügt. Die ursprünglich vorhanenen Zeichen weren wieerum um einen Offset verschoben, um Überlappungen zu vermeien. Auch hier gilt, ass mehrere Korrekturanweisungen in einem Erkenneraufruf abgearbeitet weren können. Canvas: Dokument: 1. Schritt: Erkennung A = r^2 2. Schritt: 3. Schritt: Erkennung A = \pi r^2 Abbilung 7.11: Einfügen von Teilausrücken 7.6.5 Rückgängig un Wieerholen Um währen er Entwicklung einer Formel en Zugriff auf verschieene Versionen zu ermöglichen, wuren ie Funktionen Rückgängig un Wieerholen realisiert. Mit Hilfe ieser Funktionen können vom Benutzer eingeführte Änerungen zurückgenommen bzw. wieer hinzugefügt weren. Die Umsetzung ieser Funktionen ist aufgrun er gewählten Struktur für ie Historie relativ effizient umzusetzen. Ausgehen von er aktuellen Version eines Dokumentes entspricht er Aufruf von Rückgängig ( Wieerholen ) em absteigen (aufsteigen) innerhalb es Stapels. Bei wieerholtem Aufruf er Funktion Rückgängig liegt as aktuelle Stapelelement natürlich unterhalb es obersten Stapeleintrags. Moifikationen er jetzt aktuellen Version lassen alle späteren Einträge auf em Stapel ungültig weren. Diese Einträge weren somit aus em Stapel gelöscht. 7.6.6 Neuzeichnen Wie ie vorangegangenen Beispiele zeigen, kann bereits nach einer Korrekturmaßnahme ie hanschriftliche Eingabe recht unleserlich weren. Ein weiterer Effekt urchgeführter Moifikationen ist, ass ie Divergenz zwischen Eingabe- un Ausgabeokument mit jeer weiteren Änerung zunimmt. Sollen nun zusätzliche Änerungen auf einem bereits moifizierten Dokument vorgenommen weren, könnte iese Divergenz zu Problemen führen, a

118 KAPITEL 7. FORMELERKENNUNG vom Benutzer gesetzte Steuersymbole - beingt urch Verschiebungen aus früheren Ersetzungen oer Einfügungen - nicht mehr exakt ie nun zu ersetzenen Zeichen treffen. Die visuelle Rückkopplung zur Stiftführung an en Benutzer ist nicht mehr gegeben. Zu iesem Zweck wure ie Funktion Neuzeichnen eingeführt, welche ie Hanschrifteingabe an as Ausgabeokument anpasst un automatisch nach jeer manuellen Korrektur ausgeführt wir. Optional kann anschließen as automatisch angeglichene hanschriftliche Eingabeokument gelaen un im Canvas visualisiert weren. Die Funktion Neuzeichnen erzeugt aus en aktuellen Änerungen un em vorangegangenen Erkennungsergebnis mit entsprechener Segmentierungsinformation un geometrischen Merkmalen er hanschriftlichen Eingaben eine aktualisierte Synthese er hangeschriebenen Formel. Die einzelnen Segmente einer Formel weren azu zunächst anhan er zeitlichen Segmentgrenzen aus em Eingabeatenstrom ausgeschnitten. Wenn nun Verschiebungen aufgrun von Löschungen oer Einfügungen vorgenommen wuren, existiert für as betroffene Listenelement ein von Null verschieener Offset, er aus jeer Verschiebung ggf. iniviuell mitgeführt wure. Dieser Offset kann nun auf ie Kartesischen Koorinaten er Abtastvektoren eines jeen Segmentes aufaiert weren. Diese Vorgehensweise soll anhan es Beispiels in Abb. 7.12 vereutlicht weren. Schritt eins zeigt bereits ie im Ausgabeokument urchgeführte Änerung 1 un ie hanschriftliche Eingabe mit hinzugefügtem Steuersymbol un einzufügenem. In em gezeigten Beispiel ist as r sowie ie hochgestellte 2 von er Verschiebung betroffen, a iese sich rechts neben em Steuersymbol befinen (vergl. LRTD-Beingungen). Die as r un ie 2 betreffenen Listenelemente enthalten also einen von Null verschieenen Offset, er anzeigt um wieviel un in welche Richtung ie geoemtrischen Merkmale korrigiert wuren. Um Canvas: Dokument: 1. Schritt: Erkennung A = \pi r^2 Aktualisierung 2. Schritt: Abbilung 7.12: Aktualisierung es Schriftbiles as an as Ausgabeokument angeglichene Schriftbil zu generieren, weren anhan er zeitlichen Segmentierung ie einzelnen Symbole aus er Abtastsequenz ausgeschnitten. Die Kartesischen Koorinaten ieser Abtastvektoren enthalten zunächst noch ie ursprünglichen