;;; -*- Coding: utf-8 -*- ; Substitution for umlauts !ä ä !ö ö !ü ü !ß ß !Ä Ä !Ö Ö !Ü Ü !à à !\\\"a ä !\\\"o ö !\\\"u ü !\\\"s ß !\\3 ß !\\\"A Ä !\\\"O Ö !\\\"U Ü !\\\`a à ;!’ œôòù ;!' œôòù !([|]) . ; Folgende Zeilen tokenisieren Zeichensetzung weg. ;!([,;?!.()]|``|'') ; Remove initial marker of ungrammaticality !^[\*] ; Remove quotation marks !([``|''|"]) !([']['])([,.;:]) \2 !(["])([,.;:]) \2 ! ([`])([`]) ! (['])([']) ! (["]) !(["]) ; Group big cardinal numbers together !([1-9]) ([000]{3}) \1\2 !([1-9][0-9]) ([000]{3}) \1\2 !([1-9][0-9][0-9]) ([000]{3}) \1\2 ; Remove whitespace before punctuation marks (, . ! ?) !([a-zA-Z0-9ßäöüÄÖÜ\-.),;:!?]+) ([.),;:!?]) \1\2 !([a-zA-Z0-9ßäöüÄÖÜ\-.),;:!?]+) ([.),;:!?]) \1\2 !([(]) ([a-zA-Z0-9ßäöüÄÖÜ]+) \1\2 !([\*]) ;!([']) _apos_ ;;; ;;; Replace three or more dots with token 'threedots ' ;;; ;!([.])([.])([.])+ threedots !(\")([a-zA-ZäÄüÜöÖ0-9]+) \1 \2 !([a-zA-ZäÄüÜöÖß.,?!\(\)]+)(")([.,?!\)]*) \1 \2\3 ;“ ; Delete utterance-final trailing slash (TiGer corpus) !(.+) /$ \1 ; Pad medial slash with whitespace !([a-zA-ZäöüÄÖÜ]+)/([a-zA-ZäöüÄÖÜ]+[.!?:,);]*) \1 / \2 ; Split hyphenated compounds !([a-zA-ZäöüÄÖÜ]+)-([a-zA-ZäöüÄÖÜ]+[.!?:,);]*) \1- \2 ; Replace final colon/semicolon with . !(.*)[;:]$ \1. ; Split off colon from first word (for interviews) !^([a-zA-ZäÄüÜöÖß]+)([:]) \1 _colon_, ; Replace other colons/semicolons with comma !(.*[a-zA-ZäÄüÜöÖß])[;:] \1, ^([-][-]*) _DASH_ ; Commented out for the moment ... ;^([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß.),;:!?]+) \1\2 \3\4 \5\6 \7 ;^([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß.),;:!?]+) \1\2 \3\4 \5 ;^([a-zA-ZäÄüÜöÖß]+)(-)([a-zA-ZäÄüÜöÖß.),;:!?]+) \1\2 \3 ;^([a-zA-Z]+)(-) \1 __RHYPHEN__ ;^(-)([a-zA-Z]+) __LHYPHEN__ \2 ^([\[]*)'[0-9][0-9]([.?!,;|:\]]*) \1YearErsatz\2 ^([\[]*)([10]?[0-9]|2[0-3]):[0-5][0-9]([.?!,;|:\]]*) \1ClocktimeErsatz\3 ^([\[]*)1[0-9][0-9][0-9]er(n?[.?!,;|:\]]*) \1DecadeErsatz\2 ^([\[]*)[1-9][0-9]er(n?[.?!,;|:\]]*) \1DecadeErsatz\2 ; Über-Hack ^Ü(.*) ü\1 ^Ä(.*) ä\1 ^Ö(.*) ö\1 ; euer-Hack ^(t?)eure([smnr])?$ \1euere\2 ; Orthographie-Hacks ^(Rußland) Russland ;Gegliederte große numerische Kardinalzahlen wie 1.000, 102.562.234 usw. ^~?([\[]*)[0-9][.][0-9]{3}([.?!,;|:\]]*) \1FourDigitErsatz\2 ^~?([\[]*)[0-9]{2}[.][0-9]{3}([.?!,;|:\]]*) \1FiveDigitErsatz\2 ^~?([\[]*)[0-9]{3}[.][0-9]{3}([.?!,;|:\]]*) \1SixDigitErsatz\2 ^~?([\[]*)[0-9]([.][0-9]{3}){2}([.?!,;|:\]]*) \1SevenDigitErsatz\3 ^~?([\[]*)[0-9]{2}([.][0-9]{3}){2}([.?!,;|:\]]*) \1EightDigitErsatz\3 ^~?([\[]*)[0-9]{3}([.][0-9]{3}){2}([.?!,;|:\]]*) \1NineDigitErsatz\3 ^~?([\[]*)[0-9]([.][0-9]{3}){3}([.?!,;|:\]]*) \1TenDigitErsatz\3 ^~?([\[]*)[0-9]{2}([.][0-9]{3}){3}([.?!,;|:\]]*) \1ElevenDigitErsatz\3 ^~?([\[]*)[0-9]{3}([.][0-9]{3}){3}([.?!,;|:\]]*) \1TwelveDigitErsatz\3 ^~?([\[]*)[0-9]{1,3}([.][0-9]{3}){4,}([.?!,;|:\]]*) \1ThirteenPlusDigitErsatz\3 ;Numerische Dezimalzahlen ^([\(]*)[0-9]+\,[0-9]+([.?!,;":\)]*) \1DecimalErsatz\2 ;Numerische Kardinalzahlen wie 2, 1356, 15435347953 usw. ^~?([\[]*)[2-9]{1}([.?!,;|:\]]*) \1OneDigitErsatz\2 ^~?([\[]*)[2-9]{1}(\,[0-9]+)([.?!,;|:\]]*) \1OneDigitErsatz\3 ^~?([\[]*)[0-9]{2}([.?!,;|:\]]*) \1TwoDigitErsatz\2 ^~?([\[]*)[0-9]{2}(\,[0-9]+)([.?!,;|:\]]*) \1TwoDigitErsatz\3 ^~?([\[]*)[0-9]{3}([.?!,;|:\]]*) \1ThreeDigitErsatz\2 ^~?([\[]*)[0-9]{3}(\,[0-9]+)([.?!,;|:\]]*) \1ThreeDigitErsatz\3 ^~?([\[]*)[0-9]{4}([.?!,;|:\]]*) \1FourDigitErsatz\2 ^~?([\[]*)[0-9]{4}(\,[0-9]+)([.?!,;|:\]]*) \1FourDigitErsatz\3 ^~?([\[]*)[0-9]{5}([.?!,;|:\]]*) \1FiveDigitErsatz\2 ^~?([\[]*)[0-9]{5}(\,[0-9]+)([.?!,;|:\]]*) \1FiveDigitErsatz\3 ^~?([\[]*)[0-9]{6}([.?!,;|:\]]*) \1SixDigitErsatz\2 ^~?([\[]*)[0-9]{6}(\,[0-9]+)([.?!,;|:\]]*) \1SixDigitErsatz\3 ^~?([\[]*)[0-9]{7}([.?!,;|:\]]*) \1SevenDigitErsatz\2 ^~?([\[]*)[0-9]{7}(\,[0-9]+)([.?!,;|:\]]*) \1SevenDigitErsatz\3 ^~?([\[]*)[0-9]{8}([.?!,;|:\]]*) \1EightDigitErsatz\2 ^~?([\[]*)[0-9]{8}(\,[0-9]+)([.?!,;|:\]]*) \1EightDigitErsatz\3 ^~?([\[]*)[0-9]{9}([.?!,;|:\]]*) \1NineDigitErsatz\2 ^~?([\[]*)[0-9]{9}(\,[0-9]+)([.?!,;|:\]]*) \1NineDigitErsatz\3 ^~?([\[]*)[0-9]{10}([.?!,;|:\]]*) \1TenDigitErsatz\2 ^~?([\[]*)[0-9]{10}(\,[0-9]+)([.?!,;|:\]]*) \1TenDigitErsatz\3 ^~?([\[]*)[0-9]{11}([.?!,;|:\]]*) \1ElevenDigitErsatz\2 ^~?([\[]*)[0-9]{11}(\,[0-9]+)([.?!,;|:\]]*) \1ElevenDigitErsatz\3 ^~?([\[]*)[0-9]{12}([.?!,;|:\]]*) \1TwelveDigitErsatz\2 ^~?([\[]*)[0-9]{12}(\,[0-9]+)([.?!,;|:\]]*) \1TwelveDigitErsatz\3 ^~?([\[]*)[0-9]{13,}([.?!,;|:\]]*) \1ThirteenPlusDigitErsatz\2 ^~?([\[]*)[0-9]{13}(\,[0-9]+)([.?!,;|:\]]*) \1ThirteenPlusDigitErsatz\3 ^~?([\[]*)[1]([.][.?!,;|:\]]*) \1OneDigitErsatz\2 >~?([\[]*)[A-ZÄÖÜ]+([.?!,;|:\]-]*) \1AbbreviationErsatz\2 ;Numerische Uhrzeitangaben wie 10.30 Uhr, 9.15 Uhr usw. ^([\(]*)([0-1]?[0-9]|2[0-3])[.:]([0-5][0-9]) Uhr([.?!,;":\)]*) \1ClocktimeHourMinuteErsatz\4 ;Numerische Uhrzeitangaben wie 10.30, 9.15 usw. ^([\(]*)([0-1]?[0-9]|2[0-3])[.:]([0-5][0-9])([.?!,;":\)]*) \1ClocktimeHourMinuteErsatz\4