urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:	edition	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1	body	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.1	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.1.1	p	Linguistische Analysen historischer Texte stellen Forscher oftmals vor große Herausforderungen. Im Gegensatz zur Digitalisierung moderner Dokumente kann es bei jahrhundertealten Texten zu Schwierigkeiten kommen. Diese weisen oftmals eine geringere Qualität auf, sodass es beim Einlesen zu Fehlern kommt. Solche können schwerwiegende Störfaktoren für weitere Analysen sein. In diesem Beitrag beschreiben wir den <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Noisy Channel </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Spell Checker</hi>, ein Verfahren zur automatisierten Korrektur von Optical Character Recognition (OCR) induzierten Rechtschreibfehlern in historischen Texten, genauer dem <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Royal Society Corpus</hi>.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.1.2	p	Beim Royal Society Corpus (RSC) handelt es sich um eine Sammlung wissenschaftlicher Texte von 1665 bis 1869, veröffentlicht im Journal <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Philosophical Transactions of the Royal Society of London. </hi>Das Korpus umfasst ungefähr 10.000 Dokumente mit insgesamt 35.000.000 Tokens. Die Texte wurden mithilfe von Optical Character Recognition digitalisiert, bedingt durch das alte Material der Dokumente wurden jedoch Worte falsch erkannt und somit Rechtschreibfehler eingestreut. Diese sollen in einer Nachkorrektur berichtigt werden. (UdS Fedora Commons o.J.)
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.2	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.2.1	p	Das Korpus wird einer strikten Versionskontrolle unterzogen. Fortschritte bzgl. Formatierung oder Fehlerkorrektur werden in aufsteigenden <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">corpusBuild</hi> Versionen festgehalten. Derzeit wird das Royal Society Corpus durch einen <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Pattern</hi>-basierten Ansatz bereinigt (Knappen, 2017). Hierbei werden Ersetzungsregeln auf die Texte angewendet um Fehler mit ihrer richtigen Form auszutauschen, wie beispielsweise <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">tbe</hi> → <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">the</hi>. Der große Nachteil dieses Verfahrens ist jedoch, dass nur ein Bruchteil der induzierten OCR Fehler abgedeckt wird, was in einer geringen Fehlererkennung resultiert. Im Folgenden erläutern wir unseren Ansatz, welcher mit einem statistischen Lernverfahren deutlich bessere Ergebnisse erzielt.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.3	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.3.1	p	Der <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Noisy Channel Spell Checker</hi> basiert auf dem <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Noisy Channel Model </hi>(Shannon, 1948). Ein potentiell fehlerhaftes Wort <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">w</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic"> </hi>wird wie folgt korrigiert: Aus einer Vorauswahl an geeigneten Kandidaten <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">c</hi> aus <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">C</hi> wird abgeschätzt welcher am ehesten als Korrektur <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">ŵ</hi> in Frage kommt.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.3.2	p	<figure xmlns="http://www.tei-c.org/ns/1.0"> <graphic url="147_final-35d7dd4107cdde71e841941e11703323.png" /> </figure>
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.3.3	p	Das Noisy Channel Model besteht zum einen aus dem <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Sprachmodell </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">P(c)</hi> und zum anderen dem <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Fehlermodell</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">P(w|c)</hi>. Es werden hierbei zwei intuitive Gedanken kombiniert: Das Sprachmodell schätzt die Wahrscheinlichkeit des Kandidaten in seinem Wortkontext ab. Hochfrequentierte Worte sind demnach sehr wahrscheinlich. Das Gegengewicht hierzu bildet das Fehlermodell. Diese Verteilung gibt an wie sicher <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">w</hi> eine fehlerhafte Variante von <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">c</hi> ist, schätzt also ab, wie wahrscheinlich einzelne Korrekturschritte von <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">w</hi> nach <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold italic">c</hi> sind. <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)bold">λ</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">ist ein frei wählbarer Parameter, mithilfe dessen man das Sprachmodell gewichten kann. </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">(Jurafsky 2016: </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">61-73</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">)</hi>
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.4	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.4.1	p	Die Besonderheit unseres Ansatzes besteht darin, dass Sprach-, sowie Fehlermodell <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">korpusspezifisch</hi> trainiert werden. Es sind keine aufwändigen Trainingsdatenannotationen notwendig, denn es werden lediglich die Korpusdateien verwendet.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.5	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.5.1	p	Als Testmenge haben wir 26 Dokumente aus dem Korpus extrahiert. Diese wurden eigens korrigiert um einen Gold Standard zu erhalten. Als Evaluationsmetriken wählten wir <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Precision </hi>(Anteil der validen Korrekturen), <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Recall </hi>(Abdeckung der einzelnen Fehler) und daraus den <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">F1-Score </hi>(harmonisches Mittel aus Pre. und Rec.). Um die Ergebnisse unserer Arbeit zu vergleichen, haben wir zwei weitere Methoden auf die Testdaten angewendet. Dies waren zum einen die <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Pattern</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">s</hi> und zum anderen nutzten wir als Referenzkorrektur für das Noisy Channel Model eine Implementierung von <hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Peter Norvig</hi> (Norvig, 2009). Die Ergebnisse sind in Abbildung 1 aufgetragen.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.5.2	p	<figure xmlns="http://www.tei-c.org/ns/1.0"> <graphic url="147_final-28a241507022c765c8b8182f40f73f0c.png" /> <head>Abbildung 1: Resultate einzelner Korrekturmethoden angewendet auf den Testdatensatz</head> </figure>
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.5.3	p	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Man kann erkennen, dass </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">die Pattern</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">korrektur </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">(gelb)</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> die beste Precision </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">erziel</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">t</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">.</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> Dies ist ein typisches Verhalten regelbasierte</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">r</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> Systeme. Im Gegensatz dazu decken die beiden </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">anderen Verfahren</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> eine größere Menge an Fehlern ab, dies wird am höheren Recall deutlich. </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Besonders Norvigs Variante </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">(blau)</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> ist hier führend, jedoch tendiert diese auch zur Überkorrektur von richtig erfassten Wörtern. Wir waren bestrebt, dass unser </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Spell Checker</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">(rot)</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> dies </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">weitestgehend </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">vermeidet, </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">indem es</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Precision und Recall möglichst balanciert. Es werden also viele OCR Rechtschreibfehler korrigiert und gleichzeitig </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">wird </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">die Rate an Falsch Positiven </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">gering gehalten</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">. </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Hierbei w</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">ar </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">das Optimieren der Gewicht</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">u</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">ng </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">λ </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">des Language Models</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)"> </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">ein essentieller Bestandteil der Arbeit, </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">sodass unser Modell </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">schlussendlich </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">einen F-Score von </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)bold">0.61</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)bold">2 </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">erzielte. </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">Bei der Überlegung unseren Ansatz auf andere historische, unaufbereitete Texte anzuwenden </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">empfiehlt es sich das Fehlerverhalten in diesen Texten bestmöglich zu generalisieren</hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">. Deshalb sollte bereits eine Wissensbasis in Form von Ersetzungspatterns vorliegen um das Error Model korpusspezifisch zu trainieren, </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="color(#000000)">das heißt genauso wie in diesem Beitrag beschrieben.</hi>
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.6	div1	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:1.6.1	p	Im Vergleich zur derzeitigen pattern-basierten Methode verbesserte der <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Noisy Channel </hi> <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">Spell Checker</hi> die Korrekturqualität um mehr als das Doppelte. Es werden nun Fehler berichtigt, die die Patterns nicht einmal als solche erkennen. Die Hauptmotivation zum Aufbau des Royal Society Corpus sind Untersuchungen der diachronischen Entwicklung von wissenschaftlichem Englisch (UdS Fedora Commons o.J.). Die Bereinigung der Texte macht es möglich, dass diese Analysen in Zukunft weitaus genauer und verlässlicher werden.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2	back	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1	bibliogr	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1	listBibl	
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.1	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Jurafsky Daniel / Martin James H. (2016)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"Spelling Correction and the Noisy Channel"</hi> In: Speech and Language Processing, 3. Edition, S. 61-73.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.2	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Kermes, Hannah / Degaetano-Ortlieb, Stefania / Khamis, Ashraf / Knappen, Jörg / Teich, Elke (2016)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"The Royal Society Corpus: From Uncharted Data to Corpus"</hi>, in: Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC 2016). European Language Resources Association (ELRA).
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.3	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Knappen, Jörg / Fischer, Stefan / Kermes, Hannah / Teich, Elke / Fankhauser, Peter (2017)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"The Making of the Royal Society Corpus"</hi>, in ListLang@NoDaLiDa.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.4	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Norvig, Peter (2008)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"Natural Language Corpus Data: Beautiful Data"</hi>. [online] <ptr xmlns="http://www.tei-c.org/ns/1.0" target="http://norvig.com/ngrams/" /> [letzter Zugriff 08. November 2017].
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.5	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">Shannon, Claude E. (1948)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"A Mathematical Theory of Communication"</hi>, in Bell System Technical Journal.
urn:cts:dhd:2019.klaus_carsten_ocr_nachkorrektur_des_royal_society_corpus:2.1.1.6	bibl	<hi xmlns="http://www.tei-c.org/ns/1.0" rend="bold">UdS Fedora Commons Repository (o.J.)</hi>: <hi xmlns="http://www.tei-c.org/ns/1.0" rend="italic">"The Royal Society Corpus (RSC)"</hi>, <ptr xmlns="http://www.tei-c.org/ns/1.0" target="https://fedora.clarin-d.uni-saarland.de/rsc/" />. [letzter Zugriff 29. März 2018].