Institut für Computerlinguistik Sprachtechnologie in den Digital Humanities Modul 2: Textsegmentierung: Automatische Wort- und Satzsegmentierung Simon Clematide
Themen Wortsegmentierung Tokenisierung = Erkennung von Wörtern und Interpunktion Satzsegmentierung Erkennung von Satzgrenzen
Segmentierte Schriftsysteme und Zeichenklassen Ü b l i c h e r w e i s e w i r d e i n T e x t b e i d e r T o k e n i s i e r u n g i n s e i n e W ö r t e r z e r l e g t. D i e W h i t e - S p a c e - T o k e n i s i e r u n g i s t d i e e i n f a c h s t e F o r m e i n e r s o l c h e n Z e r l e g u n g. Digitale Texte sind Folgen von Einzelzeichen.
Segmentierte Schriftsysteme und Zeichenklassen Ü b l i c h e r w e i s e w i r d e i n T e x t b e i d e r T o k e n i s i e r u n g i n s e i n e W ö r t e r z e r l e g t. D i e W h i t e - S p a c e - T o k e n i s i e r u n g i s t d i e e i n f a c h s t e F o r m e i n e r s o l c h e n Z e r l e g u n g. Die Leerraumzeichen (Leerzeichen, Zeilenwechsel) begrenzen Wörter.
Segmentierte Schriftsysteme und Zeichenklassen Ü b l i c h e r w e i s e w i r d e i n T e x t b e i d e r T o k e n i s i e r u n g i n s e i n e W ö r t e r z e r l e g t. D i e W h i t e - S p a c e - T o k e n i s i e r u n g i s t d i e e i n f a c h s t e F o r m e i n e r s o l c h e n Z e r l e g u n g. Einige Interpunktionszeichen (Punkt, Ausrufezeichen, Doppelpunkt,... ) können Sätze oder Wörter begrenzen.
Segmentierte Schriftsysteme und Zeichenklassen Ü b l i c h e r w e i s e w i r d e i n T e x t b e i d e r T o k e n i s i e r u n g i n s e i n e W ö r t e r z e r l e g t. D i e W h i t e - S p a c e - T o k e n i s i e r u n g i s t d i e e i n f a c h s t e F o r m e i n e r s o l c h e n Z e r l e g u n g. Einige Interpunktionszeichen (Bindestrich, Apostroph, Punkt,... ) können auch Bestandteile von Wörtern sein.
Segmentierte Schriftsysteme und Zeichenklassen Ü b l i c h e r w e i s e w i r d e i n T e x t b e i d e r T o k e n i s i e r u n g i n s e i n e W ö r t e r z e r l e g t. D i e W h i t e - S p a c e - T o k e n i s i e r u n g i s t d i e e i n f a c h s t e F o r m e i n e r s o l c h e n Z e r l e g u n g. Wörter und Interpunktionssymbole heissen Token im Sprachtechnologie-Jargon. Eine Tokenisierung an Leerraumzeichen ist meist ungenügend!
Warum benötigt man Textsegmentierung? Warum Wortsegmentierung/Tokenisierung? Rohe digitale Texte liegen in Dateien als eine Folge von Einzelzeichen vor. Tokens sind die grundlegenden Analyseeinheiten für nachgeschaltete sprachtechnologische Anwendungen. Wörter werden ausgezählt, in Korpus-Suchmaschinen indexiert, in ihrer Grundform und Wortart bestimmt. Warum Satzsegmentierung? Sätze werden syntaktisch und inhaltlich analysiert, in andere Sprachen übersetzt. Warum ist gute Segmentierung wichtig? Jeder Segmentierungsfehler hat vielfältige Nachfolgefehler in der weiteren Verarbeitung zur Folge.
Beispiele für gute Tokenisierer
Rohtext-Tokenisierer des TreeTaggers (Schmid, 2006) mit vertikalisierter Rohtext-Ausgabe 1. Rohtext in einer Datei $ cat file.txt "Bach sche Musik mag Dr. Fritz. Ja." 2. Benutzererweiterbare Abkürzungsdatei $ cat ger-abbrev Dr. usw. 3. Befehlszeilenaufruf im UNIX-Stil $ separate-punctuation +1 +s +l ger-abbrev file.txt " Bach sche Musik mag Dr. Fritz. Ja
Der LT-TTT2 XML-Tokenizer (Grover, 2008) XML-Input für Tokenisierer <document><text><p> This is an example. There are two sentences. </p></text></document> XML-Output mit Wort- und Satzsegmentierung <document><text><p> <s id="s1"> <w id="w3" c="w" pws="yes">this</w> <w id="w8" c="w" pws="yes">is</w> <w id="w11" c="w" pws="yes">an</w> <w id="w14" c="w" pws="yes">example</w> <w id="w21" pws="no" sb="true" c=".">.</w> </s> <s id="s2"> <w id="w23" c="w" pws="yes">there</w> <w id="w29" c="w" pws="yes">are</w> <w id="w33" c="w" pws="yes">two</w> <w id="w37" c="w" pws="yes">sentences</w> <w id="w46" pws="no" sb="true" c=".">.</w> </s> </p></text></document>
Tokenisierer mit regulären Ausdrücke Tokenisierer in der Programmiersprache Python Jeder Computerlinguistik-Studierende im 2. Semester kann mit regulären Ausdrücken auf wenigen Zeilen einen regelbasierten Tokenisierer schreiben! Einfach anpassbar auf die Textsorte Für überschaubare Textmengen empfohlen! Vorteil: Machen dieselben Fehler konsequent! Gute Abkürzungslisten erlauben 99% korrekte Satzgrenzenerkennung.
Satzsegmentierung mit maschinellen Lernverfahren Für grosse Textmengen empfohlen! Nachteil: Unsystematische Fehler können auftreten! Statistisches System PUNKT (Kiss and Strunk, 2006) benötigt nur grosse Textmengen (mit Grossschreibung am Satzanfang) und keine Abkürzungslisten klassifiziert für Zeitungstexte in 11 verschiedenen Sprachen im Schnitt 99,3% der Satzpunkte und 97,5% der Abkürzungspunkte korrekt. isentenizer (Wong et al., 2014) Ebenfalls multilingual wie PUNKT. Lernt von perfekt segmentierten Trainingsdaten. Bestehende Modelle sind anpassbar auf neue Texte.
Schwierigkeiten der Textsegmentierung
Schwierigkeiten der Wortsegmentierung Schwierige Wörter enthalten Anführungszeichen: «Naturfreunde»-Bergheim Apostrophe: geht s geht + s, l eau l + eau, aujourd hui Bindestriche: semble-t-il semble + -t-il Punkte: S.A.C. Leerraumzeichen: Mehrtokenwörter wie New York Masseinheiten: 30% 30 + %, 28 28 +
Schwierigkeit der Satzsegmentierung: Punktdisambiguierung Funktion von Punkten: Satzendepunkt? Legende: = Nicht-Leerraumzeichen. w e i l D r. H a n s a u f.. w w w. u z h. c h. u n d a m 3 0. i s t. g e r n e. " " B i t t e. E i e r u s w. D a s Abkürzungspunkt! Punkte in URL! Ordinalzahl! Satzendepunkt! Abkürzungs- und Satzendepunkt!
Rückbau von Worttrennung am Zeilenende Abbildung: Silbentrennung am Seitenende einer Buchseite Rückbau von Silbentrennung (en. dehyphenation) Eine wichtige Aufgabe bei in schmalen Spalten gesetzten Texten (Zeitungen). Problem: graphematische Modifikationen in (älteren) Schriftsystemen: Zuk-ker Zucker Automatischer Rückbau von Silbentrennung über Seitengrenzen hinaus erfordert gute Layouterkennung (OLR).
Beispiel: Tokenisiertes Französisch im Text+Berg Korpus <div> <s lang="fr" n="a13-s56"> <w xml:id="a13-s56-w1" >Il</w> <w xml:id="a13-s56-w2" >est</w> <w xml:id="a13-s56-w3" >plus</w> <w xml:id="a13-s56-w4" >simple</w> <w xml:id="a13-s56-w5" >semble</w> <w xml:id="a13-s56-w6" >-t-il</w> <w xml:id="a13-s56-w7" >de</w> <w xml:id="a13-s56-w8" >surveiller</w> <w xml:id="a13-s56-w9" >l </w> <w xml:id="a13-s56-w10" >enneigement</w> <w xml:id="a13-s56-w11" >des</w> <w xml:id="a13-s56-w12" >Alpes</w>... <w xml:id="a13-s56-w29" >.</w> </s> </div>
Zusammenfassung
Zusammenfassung Textsegmentierung ist je nach Schriftsystem und Sprache unterschiedlich schwierig zu lösen. Sie lässt sich für Texte mit normierter Orthographie im Allgemeinen sehr gut lösen mit bestehenden oder selbst erstellten Programmen. Aber es gibt immer Restfehler, welche in der nachgeschalteten Verarbeitung Nachfolgefehler erzeugen. Regelbasierte oder statistische Lösungen erreichen bis 99% Genauigkeit bei der Satzsegmentierung. Abkürzungslexika, welche auf die Textsorte zugeschnitten sind, stellen ein wertvolles Hilfsmittel dar. Statistische Ansätze können bei genügend grossen Korpora ohne Abkürzungslisten vergleichbare Leistung erbringen. Die Tokenisierung muss oft auf die nachgeschalteten sprachtechnologischen Werkzeuge abgestimmt werden.
Vielen Dank! Dr. Simon Clematide Institut für Computerlinguistik Universität Zürich
Literaturangaben I Grover, C. (2008). Lt-ttt2 example pipelines documentation. Available from: http://www.ltg.ed.ac.uk/software/lt-ttt2. Kiss, T. and Strunk, J. (2006). Unsupervised multilingual sentence boundary detection. Computational Linguistics, 32(4):485 525. Available from: http://dx.doi.org/10.1162/coli.2006.32.4.485. Schmid, H. (2006). Treetagger. Available from: http://www.ims. uni-stuttgart.de/projekte/corplex/treetagger/decisiontreetagger.html. Wong, D. F., Chao, L. S., and Zeng, X. (2014). isentenizer-: Multilingual sentence boundary detection model. The Scientific World Journal, 2014:10. Available from: http://dx.doi.org/10.1155/2014/196574%]196574.