;; preprocessor rules: temporary version ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; tokenization pattern: after normalization, the string will be broken up at ;;; each occurrence of this pattern; the pattern match itself is deleted. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; :[ \t]+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; from here on, token-specific rules, i.e. the pattern has to match the full ;;; string of the token (implicit `^' and `$' anchoring). three types of rules ;;; for now: (i) substitution (`-'), replacing the token with the right-hand ;;; side match, (ii) augmentation (`+'), adding an alternative spelling for the ;;; token, and ersatzing (`^'), effectively a substitution but recording what ;;; the original string was for later retrieval (to be implementend :-). ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; for the time being, let's use only these: ;;; '-' for replacement ;;; '+' for augmentation ;;; ;;; '^' ersatzing - substitution but recording the pattern ;;; ;;; parenthesized parts are groups ;;; they are reproduced in RHS by \1, \2 etc. ;;;note: preprocessor error for some strings ;;;light-v variants ;;;note the order: 하였 precedes 였다 for copula splitting -([^.]+)했([^.]+) \1하었\2 -([^.]+)됐([^.]+) \1되었\2 -([^.]+)시켰([^.]+) \1시키었\2 -([^.]+)하였([^.]+) \1하었\2 -([^.]+)하였었([^.]+) \1하었었\2 +([^.]+)해([^.]+) \1하아\2 -([^.]+)할 \1하ㄹ -([^.]+)한 \1하ㄴ -([^.]+)한다 \1하ㄴ다 -([^.]+)함 \1하ㅁ -([^.]+)될 \1되ㄹ -([^.]+)된 \1되ㄴ -([^.]+)됨 \1되ㅁ -([^.]+)시킬 \1시키ㄹ -([^.]+)시킨 \1시키ㄴ -([^.]+)시킴 \1시키ㅁ -([^.]+)됩니다 \1되ㅂ니다 ;;; separate noun+copula ;;; (explicit '-i') +([^.]+)이거나 \1 이거나 +([^.]+)이거니 \1 이거니 +([^.]+)이거니와 \1 이거니와 +([^.]+)이거든 \1 이거든 +([^.]+)이건 \1 이건 +([^.]+)이건간에 \1 이건간에 +([^.]+)이건만 \1 이건만 +([^.]+)이게 \1 이게 +([^.]+)이게도 \1 이게도 +([^.]+)이겠구나 \1 이겠구나 +([^.]+)이겠나 \1 이겠나 +([^.]+)이겠는가 \1 이겠는가 +([^.]+)이겠다 \1 이겠다 +([^.]+)이겠습니까 \1 이겠습니까 +([^.]+)이겠으나 \1 이겠으나 +([^.]+)이겠읍니까 \1 이겠ㅂ니까 +([^.]+)이겠지 \1 이겠지 +([^.]+)이겠지만 \1 이겠지만 +([^.]+)이겠지요 \1 이겠지요 +([^.]+)이고 \1 이고 +([^.]+)이고도 \1 이고도 +([^.]+)이고요 \1 이고요 +([^.]+)이고자 \1 이고자 +([^.]+)이구나 \1 이구나 +([^.]+)이군 \1 이군 +([^.]+)이군요 \1 이군요 +([^.]+)이기 \1 이기 +([^.]+)이기가 \1 이기가 +([^.]+)이기까지 \1 이기까지 +([^.]+)이기까지도 \1 이기까지도 +([^.]+)이기는 \1 이기는 +([^.]+)이기는커녕 \1 이기는커녕 +([^.]+)이기도 \1 이기도 +([^.]+)이기도하다 \1 이기도 하다 +([^.]+)이기라도 \1 이기라도 +([^.]+)이기로 \1 이기로 +([^.]+)이기로는 \1 이기로는 +([^.]+)이기를 \1 이기를 +([^.]+)이기만 \1 이기만 +([^.]+)이기보다 \1 이기보다 +([^.]+)이기보다는 \1 이기보다는 +([^.]+)이기에 \1 이기에 +([^.]+)이기에만 \1 이기에만 +([^.]+)이기조차 \1 이기조차 +([^.]+)이긴 \1 이기는 +([^.]+)이나 \1 이나 +([^.]+)이나마 \1 이나마 +([^.]+)이냐 \1 이냐 +([^.]+)이냐가 \1 이냐가 +([^.]+)이냐고 \1 이냐고 +([^.]+)이냐고만 \1 이냐고만 +([^.]+)이냐는 \1 이냐는 +([^.]+)이냐라는 \1 이냐라는 +([^.]+)이냐를 \1 이냐를 +([^.]+)이냐에 \1 이냐에 +([^.]+)이네 \1 이네 +([^.]+)이노라 \1 이노라 +([^.]+)이는 \1 이는 +([^.]+)이는가 \1 이는가 +([^.]+)이는데 \1 이는데 +([^.]+)이니 \1 이니 +([^.]+)이니까 \1 이니까 +([^.]+)이니까요 \1 이니까요 +([^.]+)이니깐 \1 이니깐 +([^.]+)이니라 \1 이니라 +([^.]+)이니이까 \1 이니이까 +([^.]+)이다 \1 이다 +([^.]+)이다고 \1 이다고 +([^.]+)이다라고 \1 이다라고 +([^.]+)이다라는 \1 이다라고 +([^.]+)이다라는 \1 이다라는 +([^.]+)이더냐 \1 이더냐 +([^.]+)이더라는 \1 이더라는 +([^.]+)이더라도 \1 이더라 +([^.]+)이더라도 \1 이더라도 +([^.]+)이던 \1 이던 +([^.]+)이던 \1 이었던 +([^.]+)이던가 \1 이던가 +([^.]+)이도록 \1 이도록 +([^.]+)이되 \1 이되 +([^.]+)이된다 \1 이되ㄴ다 +([^.]+)이된다고 \1 이되ㄴ다고 +([^.]+)이든 \1 이든 +([^.]+)이든가 \1 이든가 +([^.]+)이든간에 \1 이든간에 +([^.]+)이든지 \1 이든지 +([^.]+)이듯 \1 이듯 +([^.]+)이듯이 \1 이듯이 +([^.]+)이라 \1 이라 +([^.]+)이라고 \1 이라고 +([^.]+)이라고까지 \1 이라고까지 +([^.]+)이라고까지는 \1 이라고까지는 +([^.]+)이라고나 \1 이라고나 +([^.]+)이라고는 \1 이라고는 +([^.]+)이라고도 \1 이라고도 +([^.]+)이라고들 \1 이라고들 +([^.]+)이라고만 \1 이라고만 +([^.]+)이라고만은 \1 이라고만은 +([^.]+)이라곤 \1 이라고는 +([^.]+)이라구 \1 이라구 +([^.]+)이라기 \1 이라기 +([^.]+)이라기보다 \1 이라기보다 +([^.]+)이라기보다는 \1 이라기보다는 +([^.]+)이라나 \1 이라나 +([^.]+)이라네 \1 이라네 +([^.]+)이라는 \1 이라는 +([^.]+)이라는게 \1 이라는게 +([^.]+)이라는데 \1 이라는데 +([^.]+)이라니 \1 이라니 +([^.]+)이라도 \1 이라도 +([^.]+)이라든가 \1 이라든가 +([^.]+)이라든지 \1 이라든지 +([^.]+)이라며 \1 이라며 +([^.]+)이라면 \1 이라면 +([^.]+)이라면서 \1 이라면서 +([^.]+)이라서 \1 이라서 +([^.]+)이라야 \1 이라야 +([^.]+)이라야만 \1 이라야만 +([^.]+)이라지만 \1 이라지만 +([^.]+)이라하여 \1 이라하어 +([^.]+)이란 \1 이라는 +([^.]+)이란 \1 이란 +([^.]+)이랄 \1 이랄 +([^.]+)이랄까 \1 이랄까 +([^.]+)이랍니다 \1 이랍니다 +([^.]+)이랴 \1 이랴 +([^.]+)이려 \1 이려 +([^.]+)이려고 \1 이려고 +([^.]+)이려니 \1 이려니 +([^.]+)이려니와 \1 이려니와 +([^.]+)이로고 \1 이로고 +([^.]+)이로구나 \1 이로구나 +([^.]+)이로다 \1 이로다 +([^.]+)이로되 \1 이로되 +([^.]+)이로소이다 \1 이로소이다 +([^.]+)이로써 \1 이로써 +([^.]+)이리라 \1 이리라 +([^.]+)이리라고는 \1 이리라고는 +([^.]+)이매 \1 이매 +([^.]+)이며 \1 이며 +([^.]+)이면 \1 이면 +([^.]+)이면서 \1 이면서 +([^.]+)이면서도 \1 이면서도 +([^.]+)이므로 \1 이므로 +([^.]+)이세요 \1 이시어요 +([^.]+)이셨던 \1 이시었던 +([^.]+)이시기 \1 이시기 +([^.]+)이시기도 \1 이시기도 +([^.]+)이시나 \1 이시나 +([^.]+)이시다 \1 이시다 +([^.]+)이시며 \1 이시며 +([^.]+)이시므로 \1 이시므로 +([^.]+)이시여 \1 이시어 +([^.]+)이시오 \1 이시오 +([^.]+)이신 \1 이시ㄴ +([^.]+)이신가 \1 이시ㄴ가 +([^.]+)이신지 \1 이시ㄴ지 +([^.]+)이심 \1 이시ㅁ +([^.]+)이심과 \1 이시ㅁ과 +([^.]+)이심을 \1 이시ㅁ을 +([^.]+)이십니까 \1 이시ㅂ니까 +([^.]+)이십니다 \1 이시ㅂ니다 -([^.]+)이야 \1 이야 -([^.]+)이야말로 \1 이야말로 -([^.]+)이어 \1 이어 -([^.]+)이어도 \1 이어도 -([^.]+)이어서 \1 이어서 -([^.]+)이어서는 \1 이어서는 -([^.]+)이어야 \1 이어야 -([^.]+)이어야만 \1 이어야만 -([^.]+)이어요 \1 이어요 -([^.]+)이었거나 \1 이었거나 -([^.]+)이었건만 \1 이었건만 -([^.]+)이었겠지만 \1 이었겠지만 -([^.]+)이었고 \1 이었고 -([^.]+)이었구나 \1 이었구나 -([^.]+)이었기 \1 이었기 -([^.]+)이었기는 \1 이었기는 -([^.]+)이었기에 \1 이었기에 -([^.]+)이었나 \1 이었나 -([^.]+)이었나를 \1 이었나를 -([^.]+)이었노라 \1 이었노라 -([^.]+)이었는가 \1 이었는가 -([^.]+)이었는가는 \1 이었는가는 -([^.]+)이었는가를 \1 이었는가를 -([^.]+)이었는가에 \1 이었는가에 -([^.]+)이었는데 \1 이었는데 -([^.]+)이었는데도 \1 이었는데도 -([^.]+)이었는데요 \1 이었는데요 -([^.]+)이었는지 \1 이었는지 -([^.]+)이었는지는 \1 이었는지는 -([^.]+)이었는지도 \1 이었는지도 -([^.]+)이었는지를 \1 이었는지를 -([^.]+)이었다 \1 이었다 -([^.]+)이었다 \1 이었다 -([^.]+)이었다가 \1 이었다가 -([^.]+)이었다고 \1 이었다고 -([^.]+)이었다고도 \1 이었다고도 -([^.]+)이었다고요 \1 이었다고요 -([^.]+)이었다네 \1 이었다네 -([^.]+)이었다는 \1 이었다는 -([^.]+)이었다는데 \1 이었다는데 -([^.]+)이었다던가 \1 이었다던가 -([^.]+)이었다며 \1 이었다며 -([^.]+)이었다면 \1 이었다면 -([^.]+)이었더라 \1 이었더라 -([^.]+)이었던 \1 이었던 -([^.]+)이었던가 \1 이었더ㄴ가 -([^.]+)이었던가를 \1 이었더ㄴ가를 -([^.]+)이었던가에 \1 이었더ㄴ가에 -([^.]+)이었던지 \1 이었더ㄴ지 -([^.]+)이었든지 \1 이었든지 -([^.]+)이었듯이 \1 이었듯이 -([^.]+)이었소 \1 이었소 -([^.]+)이었습니다 \1 이었습니다 -([^.]+)이었어 \1 이었어 -([^.]+)이었어요 \1 이었어요 -([^.]+)이었엇지만 \1 이었지만 -([^.]+)이었었는데 \1 이었었는데 -([^.]+)이었으나 \1 이었으나 -([^.]+)이었으니까 \1 이었으니까 -([^.]+)이었으리라 \1 이었으리라 -([^.]+)이었으리라고 \1 이었으리라고 -([^.]+)이었으리라는 \1 이었으리라는 -([^.]+)이었으며 \1 이었으며 -([^.]+)이었으면서 \1 이었으면서 -([^.]+)이었으므로 \1 이었으므로 -([^.]+)이었을 \1 이었을 -([^.]+)이었을 \1 이었을 -([^.]+)이었을까 \1 이었을까 -([^.]+)이었을지도 \1 이었ㄹ지도 -([^.]+)이었음 \1 이었음 -([^.]+)이었음에 \1 이었음에 -([^.]+)이었음에도 \1 이었음에도 -([^.]+)이었음은 \1 이었음은 -([^.]+)이었음을 \1 이었음을 -([^.]+)이었음이 \1 이었음이 -([^.]+)이었음이라 \1 이었음이라 -([^.]+)이었읍니까 \1 이었읍니까 -([^.]+)이었읍니다 \1 이었읍니다 -([^.]+)이었죠 \1 이었지요 -([^.]+)이었지 \1 이었지 -([^.]+)이었지만 \1 이었지만 -([^.]+)이었지요 \1 이었지요 -([^.]+)이에요 \1 이에요 -([^.]+)이여서 \1 이어서 -([^.]+)이였고 \1 이었고 -([^.]+)이였다 \1 이었다 -([^.]+)이였던 \1 이었던 -([^.]+)이였을 \1 이었을 -([^.]+)이예요 \1 이어요 +([^.]+)이오 \1 이오 +([^.]+)이오나 \1 이오나 +([^.]+)이오리까마는 \1 이오리까마는 +([^.]+)이올시다 \1 이올시다 +([^.]+)이옵니다 \1 이옵니다 +([^.]+)이요 \1 이요 +([^.]+)이자 \1 이자 +([^.]+)이죠 \1 이지요 +([^.]+)이지 \1 이지 +([^.]+)이지는 \1 이지는 +([^.]+)이지도 \1 이지도 +([^.]+)이지를 \1 이지를 +([^.]+)이지마는 \1 이지마는 +([^.]+)이지만 \1 이지만 +([^.]+)이지만은 \1 이지만은 +([^.]+)이지요 \1 이지요 +([^.]+)인 \1 이ㄴ -([^.]+)인가 \1 이ㄴ가 -([^.]+)인가가 \1 이ㄴ가가 -([^.]+)인가는 \1 이ㄴ가는 -([^.]+)인가라고 \1 이ㄴ가라고 -([^.]+)인가라는 \1 이ㄴ가라는 -([^.]+)인가라며 \1 이ㄴ가라며 -([^.]+)인가로 \1 이ㄴ가로 -([^.]+)인가를 \1 이ㄴ가를 -([^.]+)인가부터 \1 이ㄴ가부터 -([^.]+)인가에 \1 이ㄴ가에 -([^.]+)인가였다 \1 이ㄴ가이었다 -([^.]+)인가였으나 \1 이ㄴ가이었으나 -([^.]+)인가와 \1 이ㄴ가와 -([^.]+)인가요 \1 이ㄴ가요 -([^.]+)인가의 \1 이ㄴ가의 -([^.]+)인가이다 \1 이ㄴ가이다 +([^.]+)인걸요 \1 이ㄴ걸요 +([^.]+)인고 \1 이ㄴ고 +([^.]+)인다 \1 이ㄴ다 +([^.]+)인다는 \1 이ㄴ다는 +([^.]+)인데 \1 이ㄴ데 +([^.]+)인데다 \1 이ㄴ데다 +([^.]+)인데도 \1 이ㄴ데도 +([^.]+)인데에 \1 이ㄴ데에 +([^.]+)인데요 \1 이ㄴ데요 +([^.]+)인들 \1 이ㄴ들 +([^.]+)인만큼 \1 이ㄴ만큼 +([^.]+)인양 \1 이ㄴ양 +([^.]+)인즉 \1 이ㄴ즉 +([^.]+)인지 \1 이ㄴ지 +([^.]+)인지가 \1 이ㄴ지가 +([^.]+)인지나 \1 이ㄴ지나 +([^.]+)인지는 \1 이ㄴ지는 +([^.]+)인지도 \1 이ㄴ지도 +([^.]+)인지라 \1 이ㄴ지라 +([^.]+)인지를 \1 이ㄴ지를 +([^.]+)인지에 \1 이ㄴ지에 +([^.]+)인지요 \1 이ㄴ지요 +([^.]+)인지의 \1 이ㄴ지의 +([^.]+)일 \1 이ㄹ +([^.]+)일가 \1 이ㄹ까 +([^.]+)일것이다 \1 이ㄹ것이다 +([^.]+)일까 \1 이ㄹ까 +([^.]+)일까에 \1 이ㄹ까에 +([^.]+)일까요 \1 이ㄹ까요 +([^.]+)일랑 \1 이ㄹ랑 +([^.]+)일런지 \1 이ㄹ런지 +([^.]+)일런지요 \1 이ㄹ런지요 +([^.]+)일세 \1 이ㄹ세 +([^.]+)일수 \1 이 ㄹ수 +([^.]+)일수록 \1 이ㄹ수록 +([^.]+)일지 \1 이ㄹ지 +([^.]+)일지도 \1 이ㄹ지도 +([^.]+)일지라도 \1 이ㄹ지라도 +([^.]+)일지언정 \1 이ㄹ지언정 +([^.]+)일진대 \1 이ㄹ진대 +([^.]+)일테고 \1 이ㄹ테고 +([^.]+)임 \1 이ㅁ +([^.]+)임과 \1 이ㅁ과 +([^.]+)임도 \1 이ㅁ도 +([^.]+)임마다 \1 이ㅁ마다 +([^.]+)임에 \1 이ㅁ에 +([^.]+)임에는 \1 이ㅁ에는 +([^.]+)임에도 \1 이ㅁ에도 +([^.]+)임에랴 \1 이ㅁ에랴 +([^.]+)임에서 \1 이ㅁ에서 +([^.]+)임엔 \1 이ㅁ에는 +([^.]+)임으로 \1 이ㅁ으로 +([^.]+)임으로써 \1 이ㅁ으로써 +([^.]+)임은 \1 이ㅁ은 +([^.]+)임을 \1 이ㅁ을 +([^.]+)임의 \1 이ㅁ의 +([^.]+)임이 \1 이ㅁ이 +([^.]+)임이니라 \1 이ㅁ이니라 +([^.]+)임이란 \1 이ㅁ이란 +([^.]+)임인 \1 이ㅁ이ㄴ +([^.]+)임인가 \1 이ㅁ이ㄴ가 +([^.]+)임처럼 \1 이ㅁ처럼 +([^.]+)입니까 \1 이ㅂ니까 +([^.]+)입니다 \1 이ㅂ니다 +([^.]+)입니다만 \1 이ㅂ니다만 ;;; separate noun+copula ;;; contracted '-i' ;; These patterns are too powerful. ;; Should be restricted by POS ;; eg) (NOUN)+다 -> \1 이다 ;-([^.]+[^이였었겠])냐 \1 이냐 ;this is too powerful but still needed ;note: 앞에 받침있는 글자는 "-이다"가 되야 하므로, ; 이를 배제하도록 제약해야 함. 현재는 표현불가. ; '친', '낸' 등은 ad hoc patch. +([^.]+[^이였었겠졌셨니친낸는])다 \1 이다 -([^.]+[^이])라는 \1 이라는 -([^.]+[^이])라니 \1 이라니 -([^.]+[^이])라면 \1 이라면 -([^.]+[^이])면 \1 이면 -([^.]+[^이])여도 \1 이어도 -([^.]+[^이])여라 \1 이어라 -([^.]+[^이])여서 \1 이어서 -([^.]+[^이])여야 \1 이어야 -([^.]+[^이])여야한다 \1 이어야하ㄴ다 -([^.]+[^이])여요 \1 이어요 -([^.]+[^이])였건만 \1 이었건만 -([^.]+[^이])였겠는가 \1 이었겠는가 -([^.]+[^이])였겠는가는 \1 이었겠는가는 -([^.]+[^이])였고 \1 이었고 -([^.]+[^이])였구나 \1 이었구나 -([^.]+[^이])였기 \1 이었기 -([^.]+[^이])였기에 \1 이었기에 -([^.]+[^이])였나 \1 이었나 -([^.]+[^이])였느니라 \1 이었느니라 -([^.]+[^이])였는가 \1 이었는가 -([^.]+[^이])였는가를 \1 이었는가 -([^.]+[^이])였는데 \1 이었는데 -([^.]+[^이])였는데요 \1 이었는데요 -([^.]+[^이])였는지 \1 이었는지 -([^.]+[^이])였는지도 \1 이었는지도 -([^.]+[^이])였는지를 \1 이었는지를 -([^.]+[^이])였다 \1 이었다 -([^.]+[^이])였다가 \1 이었다가 -([^.]+[^이])였다고 \1 이었다고 -([^.]+[^이])였다기보다는 \1 이었다기보다 -([^.]+[^이])였다는 \1 이었다는 -([^.]+[^이])였다는데 \1 이었다는데 -([^.]+[^이])였다니 \1 이었다니 -([^.]+[^이])였다라는 \1 이었다라는 -([^.]+[^이])였다면 \1 이었다면 -([^.]+[^이])였답니다 \1 이었답니다 -([^.]+[^이])였더라 \1 이었더라 -([^.]+[^이])였더라면 \1 이었더라면 -([^.]+[^이])였던 \1 이었던 -([^.]+[^이])였던가 \1 이었더ㄴ가 -([^.]+[^이])였소 \1 이었소 -([^.]+[^이])였습니다 \1 이었습니다 -([^.]+[^이])였어 \1 이었어 -([^.]+[^이])였어요 \1 이었어요 -([^.]+[^이])였었고 \1 이었었고 -([^.]+[^이])였었다 \1 이었었다 -([^.]+[^이])였었던 \1 이었었던 -([^.]+[^이])였으나 \1 이었으나 -([^.]+[^이])였으니 \1 이었으니 -([^.]+[^이])였으니까 \1 이었으니까 -([^.]+[^이])였으며 \1 이었으며 -([^.]+[^이])였으면 \1 이었으면 -([^.]+[^이])였으면서도 \1 이었으면서도 -([^.]+[^이])였으므로 \1 이었으므로 -([^.]+[^이])였을 \1 이었ㄹ -([^.]+[^이])였을까 \1 이었ㄹ까 -([^.]+[^이])였을지 \1 이었ㄹ지 -([^.]+[^이])였음 \1 이었음 -([^.]+[^이])였음에 \1 이었음에 -([^.]+[^이])였음은 \1 이었음은 -([^.]+[^이])였음을 \1 이었음을 -([^.]+[^이])였음이 \1 이었음이 -([^.]+[^이])였읍니다 \1 이었읍니다 -([^.]+[^이])였읍니다만 \1 이었읍니다만 -([^.]+[^이])였죠 \1 이었죠 -([^.]+[^이])였지 \1 이었지 -([^.]+[^이])였지만 \1 이었지만 -([^.]+[^이])였지요 \1 이었지요 -([^.]+[^이])예요 \1 이어요 -([^.]+[^이])외다 \1 이외다 ;;auxiliary verb phrase ;;listing up is only a temporary solution ;; - preprocessor should be able to access POS and other info ;-([^.][^가]+)졌([^.]+) \1 졌\2 -비싸졌([^.]+) 비싸 졌\1 -비싸지([^.]+) 비싸 지\1 -비싸진([^.]+) 비싸 진\1 -비싸질([^.]+) 비싸 질\1 -어두워졌([^.]+) 어두워 졌\1 -어두워지([^.]+) 어두워 지\1 -어두워진([^.]+) 어두워 진\1 -어두워질([^.]+) 어두워 질\1