; -*- Mode: TDL; Coding: utf-8 -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; LETTER SET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; These aim to introduce the so-called letter-set into proecssing Korean Morphological Analysis. ;; For more information, see the LKB book by Ann Copestake (2002). ;; page 128-129 of "Implementing Type Feature Structure Grammars" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-10 / SSH) ;; Dan Flickinger recommended this method in order to decrease the unnecesary generation (March, 2009). ;; Were it not for this file, extremely unrpoductive forms or even illegal forms can be analyzed or generated. ;; e.g. 오습니다 (X) 오ㅂ니다 (O) ;; 먹았다 (X) 먹었다 (O) ;; In fact, Prof. Yang took a dim view of this method from the viewpoint that it might not be suitable for Korean. ;; I definitely agree that this would not be the best, but, ;; At this moment, there has not yet been any other methods to ensure generating. ;; Without this file, even a really really simple sentenence (e.g. 철수가 오다) cannot be generated, because of memory overflow. ;; For this tentative reason, this file will be used for Korean morphological rules, for the time being. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ************************************************************ ;; 음절은 초성(Onset)-중성(Nucleus)-종성(Coda) 으로 구성 ;; 모음에는 양성 모음(강모음;strong) 과 음성 모음(약모음;weak)이 있다. ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-10 / SSH) ;; coda가 있는 경우와 그렇지 않는 경우를 구분하기 위해 도입한다. ;; e.g. 먹을지 / 오ㄹ지, 소희가, 유빈이 ;; 일본어는 coda가 사실상 없고, 인구어는 알파벳 문자이기 때문에 이러한 과정이 매우 단순하지만 ;; 한국어는 이 과정이 지나치게 방대해지는 측면이 있다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;%(letter-set (!c 먹짖싶같빵굴생텔섭길빈은걸)) ;%(letter-set (!n 오가주리수개새과이리녀나내희교쁘예미)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-08 / SSH) ;; 는 은 잠시 빼둔다. ;; 이것은 letter-set은 아닐 듯 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; %(letter-set (!c 각간갈갉감갑값갓강갖갗같갚갛객갠갭갯갱걀걱건걷걸검겁것겄겅겉겊겋겐겔겝겟겠겡격겪견겯결겸겹경곁곡곤곧골곪곬곯곰곱곳공곶곽관괄괌괏광굄굉굘국군굳굴굵굶굻굽굿궁궂권궐귄균귤극근글긁금급긋긍긱긴긷길김깁깃깅깆깊깍깎깐깔깜깝깟깡깥깩깽꺅꺽꺾껀껄껌껍껏껑껜껨껫껭껸꼍꼭꼰꼴꼼꼽꼿꽁꽂꽃꽉꽐꽝꽥꽹꾄꾐꾹꾼꿀꿇꿈꿉꿋꿍꿎꿩뀁끅끈끊끌끓끔끗끙끝끽낀낄낌낏낑낙낚난날낡남납낫낭낮낯낱낳낵낸낼냄냅냇냉냑냠냥넉넋넌널넓넘넛넣넥넨넬넴넵넷넸넹녁년녈념녑녕녘녹논놀놈놉놋농높놓뇜뇰뇽눅눈눋눌눔눕눗눙뉼늄늉늑늘늙늠능늦늪닉닌닐님닛닝닢닥닦단닫달닭닮닯닳담답닷당닻닿댁댄댐댑댓댕덕던덜덟덤덥덧덩덫덮덱덴델뎀뎁뎃뎅뎐독돈돋돌돐돔돕돗동돛됨둑둔둘둠둡둣둥뒷듄듈듐득든듣들듬듭듯등딕딘딛딜딤딥딧딩딪딱딴딸땀땁땅땋땜땡떡떤떨떫떰떱떵떻떽뗄뗑똑똔똘똥뚝뚤뚫뚱뜀뜁뜩뜬뜯뜰뜸뜻띔띤띨띰띵락란랄람랍랏랑랖랗랙랜램랩랫랭략량럭런럴럼럽럿렁렇렉렌렐렘렙렛렝력련렬렴렵렷령롄록론롤롬롭롯롱뢴룡룩룬룰룸룹룻룽뤽륙륜률륨륫륭륵른를름릅릇릉릍릎릭린릴림립릿링막만많맏말맑맘맙맛망맞맡맣맥맨맴맵맷맹맺먹먼멀멈멋멍멎멓멕멘멜멧멨멱면멸몃명몇목몫몬몰몸못몽묵묶문묻물묽뭄뭇뭉뭍뭔뭣뮌뮨뮴믄믐믹민믿밀밈밉밋밌밍및밑박밖밗반받발밝밟밤밥밧방밭백밴밸뱀뱃뱅뱉벅번벋벌범법벗벙벚벡벤벨벰벱벳벴벵벽변별볍볏병볕볜복볶본볼봄봅봇봉뵀뵌뵐뵘뵙북분붇불붉붐붓붕붙뷴븍븐블븟빅빈빌빔빗빙빚빛빡빤빨빰빵빻빽뺌뺏뺑뺨뻑뻔뻗뻘뻥뼉뼘뼛뼜뽄뽈뽐뽑뽕뿅뿍뿐뿔뿜뿡쁨삑삔삡삣삥삭삯산살삵삶삼삽삿상샅색샌샘샙샛생샨샬샴샵샷샹섄석섞선설섧섬섭섯성섶섹센셀셈셉셋셍셕션셜셤셧셩셴셸솅속솎손솔솜솝솟송솥쇳숀숄숍숏숑숙순술숨숩숫숭숯숱숲쉑쉔쉘쉭쉰쉴쉼쉽쉿슁슉슐슘슛슝슥슨슬슭슴습슷승식신싣실싫심십싯싱싶싹싼쌀쌈쌍쌓쌕쌩썅썩썬썰썸썹썽쎌쏙쏟쏠쏭쏵쑥쑹쓱쓸씀씩씬씰씸씹씻씽악안앉않알앍앎앓암압앗았앙앝앞액앤앨앰앱앳앵약얀얄얇얌얏양얕얗억언얹얻얼얽엄업없엇었엉엌엎엑엔엘엠엣엥역엮연열엷염엽엾엿영옅옆옇옌옘옛옥온올옭옮옳옴옷옹옻왁완왈왑왓왕왝왠왱왼욕욘욜욤욥욧용욱운울욺움웁웃웅웍원월웜웡웩웬웰웹웽윅윈윌윔윗윙육윤율윰융윷윽은을읊음읍읏응읕읗익인일읽잃임입잇있잉잊잎작잔잖잘잠잡잣장잦잭잰잼잽쟁쟝적전절젊점접젓정젖젝젠젤젬젯젱젼졀족존졸좀좁좃종좆좇좋좍좔죤죽준줄줌줍줏중쥔쥰쥴즉즌즐즘즙증직진짇질짊짐집짓징짖짙짚짝짠짢짤짧짬짭짱짹쨈쨋쨍쨩쩍쩐쩔쩜쩝쩡쪽쫄쫌쫏쫑쫓쫙쭉쭐쭘쭙쭝쯤쯧쯩찍찐찔찜찝찡찢찧착찬찮찰참찹찻창찾책챌챔챙챤척천철첨첩첫청첸첼쳇촉촌촐촘촙총촨춈축춘출춤춥충췽츈츌측츰츳층칙친칠칡침칩칫칭칵칸칼캄캅캇캉캑캔캠캡캣캤캥컥컨컫컬컴컵컷컹켁켄켈켐켓켕켠콕콘콜콤콥콧콩콱콴콸쾅쿡쿤쿨쿰쿵퀄퀑퀵퀸퀼큔큘큭큰클큼킁킥킨킬킴킵킷킹탁탄탈탉탐탑탓탕택탠탤탬탭탱턱턴털텀텁텅텍텐텔템텝텟텡텬톈톡톤톨톰톱톳통툭툰툴툼퉁튠튬특튼튿틀틈틱틴틸팀팁팃팅팍팎판팔팜팝팟팡팥팩팬팸팻팽퍅퍽펀펄펌펍펑펙펜펠펫펭편펼폄평폭폰폴폼폽폿퐁푄푹푼풀품풋풍픈플픔픽핀필핌핍핏핑학한할핥함합핫항핵핸핼햄햇행향헉헌헐험헙헛헝헥헨헬헴헹혁현혈혐협형혹혼홀홈홉홍홑확환활홧황홱획횡훅훈훌훑훔훗훙훤훨훵훽휑휙휠휨휭휼흄흉흑흔흖흘흙흠흡흥흩힉힌힐힘힛힝)) %(letter-set (!n 가개갸걔거게겨계고과괘괴교구궈궤귀규그긔기까깨꺼께껴꼐꼬꽈꽤꾀꾜꾸꿰뀌뀨끄끼나내냐너네녀녜노뇌뇨누뉘뉴느늬니다대더데뎌도돼되두둬뒈뒤듀드듸디따때떠떼뗘또뙈뚜뛰뜨띄띠라래랴러레려례로뢰료루뤄뤠뤼류르리마매머메며몌모뫄뫼묘무뭐뮈뮤므미바배버베벼볘보봐봬뵈뵤부뷔뷰브비빠빼뻐뻬뼈뽀뿌쀼쁘삐사새샤서세셔셰소솨쇄쇠쇼수쉐쉬슈스시싸쌔써쎄쏘쏴쐬쑤쒸쓰씌씨아애야얘어에여예오와왜외요우워웨위유으의이자재쟈쟤저제져졔조좌좨죄죠주줴쥐쥬즈지짜째쩌쩨쪼쫘쬐쭈쮸쯔찌차채챠처체쳐초최쵸추춰췌취츄츠치카캐커케켜켸코쾌쿄쿠퀴큐크키타태터테텨톄토퇴투퉤튀튜트틔티파패퍄퍼페펴폐포표푸퓨프피하해햐허헤혀혜호화홰회효후훠훼휘휴흐희히)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-10 / SSH) ;; 모음 조화 vowel harmony ;; e.g. 잡았다 / 먹었다 ;; 모음 조화는 한국어에서 거의 사라지고 있다는 것이 역사언어학 측면의 입장이지만, ;; e.g. 막어 / 막아 ;; "먹았다" 와 같이 지극히 비생산적인 형태의 생성을 막기 위해 도입한다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;%(letter-set (!s 오가같)) ;%(letter-set (!w 주리짖먹싶섭길쁘)) %(letter-set (!s 가각간갈갉감갑값갓강갖갗같갚갛갸걀고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괌괏광교굘까깍깎깐깔깜깝깟깡깥꺅꼬꼭꼰꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽝꾜나낙낚난날낡남납낫낭낮낯낱낳냐냑냠냥노녹논놀놈놉놋농높놓뇨뇰뇽다닥닦단닫달닭닮닯닳담답닷당닻닿도독돈돋돌돐돔돕돗동돛따딱딴딸땀땁땅땋또똑똔똘똥라락란랄람랍랏랑랖랗랴략량로록론롤롬롭롯롱료룡마막만많맏말맑맘맙맛망맞맡맣모목몫몬몰몸못몽뫄묘바박밖밗반받발밝밟밤밥밧방밭보복볶본볼봄봅봇봉봐뵤빠빡빤빨빰빵빻뺨뽀뽄뽈뽐뽑뽕뿅쁘사삭삯산살삵삶삼삽삿상샅샤샨샬샴샵샷샹소속솎손솔솜솝솟송솥솨쇼숀숄숍숏숑싸싹싼쌀쌈쌍쌓썅쏘쏙쏟쏠쏭쏴쏵아악안앉않알앍앎앓암압앗앙앝앞야약얀얄얇얌얏양얕얗오옥온올옭옮옳옴옷옹옻와왁완왈왑왓왕요욕욘욜욤욥욧용자작잔잖잘잠잡잣장잦쟈쟝조족존졸좀좁좃종좆좇좋좌좍좔죠죤짜짝짠짢짤짧짬짭짱쨩쪼쪽쫄쫌쫏쫑쫓쫘쫙차착찬찮찰참찹찻창찾챠챤초촉촌촐촘촙총촨쵸춈카칵칸칼캄캅캇캉코콕콘콜콤콥콧콩콱콴콸쾅쿄타탁탄탈탉탐탑탓탕토톡톤톨톰톱톳통파팍팎판팔팜팝팟팡팥퍄퍅포폭폰폴폼폽폿퐁표프하학한할핥함합핫항햐향호혹혼홀홈홉홍홑화확환활홧황효)) %(letter-set (!w 개객갠갭갯갱걔거걱건걷걸검겁것겄겅겉겊겋게겐겔겝겟겠겡겨격겪견겯결겸겹경곁계괘괴굄굉구국군굳굴굵굶굻굽굿궁궂궈권궐궤귀귄규균귤그극근글긁금급긋긍긔기긱긴긷길김깁깃깅깆깊깨깩깽꺼꺽꺾껀껄껌껍껏껑께껜껨껫껭껴껸꼍꼐꽤꽥꽹꾀꾄꾐꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿩꿰뀁뀌뀨끄끅끈끊끌끓끔끗끙끝끼끽낀낄낌낏낑내낵낸낼냄냅냇냉너넉넋넌널넓넘넛넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녕녘녜뇌뇜누눅눈눋눌눔눕눗눙뉘뉴뉼늄늉느늑는늘늙늠능늦늪늬니닉닌닐님닛닝닢대댁댄댐댑댓댕더덕던덜덟덤덥덧덩덫덮데덱덴델뎀뎁뎃뎅뎌뎐돼되됨두둑둔둘둠둡둣둥둬뒈뒤뒷듀듄듈듐드득든듣들듬듭듯등듸디딕딘딛딜딤딥딧딩딪때땜땡떠떡떤떨떫떰떱떵떻떼떽뗄뗑뗘뙈뚜뚝뚤뚫뚱뛰뜀뜁뜨뜩뜬뜯뜰뜸뜻띄띔띠띤띨띰띵래랙랜램랩랫랭러럭런럴럼럽럿렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷령례롄뢰뢴루룩룬룰룸룹르룻룽뤄뤠뤼뤽류륙륜률륨륫륭륵른를름릅릇릉릍릎리릭린릴림립릿링매맥맨맴맵맷맹맺머먹먼멀멈멋멍멎멓메멕멘멜멧멨며멱면멸몃명몇몌뫼무묵묶문묻물묽뭄뭇뭉뭍뭐뭔뭣뮈뮌뮤뮨뮴므믄믐미믹민믿밀밈밉밋밌밍및밑배백밴밸뱀뱃뱅뱉버벅번벋벌범법벗벙벚베벡벤벨벰벱벳벴벵벼벽변별볍볏병볕볘볜봬뵀뵈뵌뵐뵘뵙부북분붇불붉붐붓붕붙뷔뷰뷴브븍븐블븟비빅빈빌빔빗빙빚빛빼빽뺌뺏뺑뻐뻑뻔뻗뻘뻥뻬뼈뼉뼘뼛뼜뿌뿍뿐뿔뿜뿡쀼쁘쁨삐삑삔삡삣삥새색샌샘샙샛생섄서석섞선설섧섬섭섯성섶세섹센셀셈셉셋셍셔셕션셜셤셧셩셰셴셸솅쇄쇠쇳수숙순술숨숩숫숭숯숱숲쉐쉑쉔쉘쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶쌔쌕쌩써썩썬썰썸썹썽쎄쎌쐬쑤쑥쑹쒸쓰쓱쓸씀씌씨씩씬씰씸씹씻씽애액앤앨앰앱앳앵얘어억언얹얻얼얽엄업없엇었엉엌엎에엑엔엘엠엣엥여역엮연열엷염엽엾엿영옅옆옇예옌옘옛왜왝왠왱외왼우욱운울욺움웁웃웅워웍원월웜웡웨웩웬웰웹웽위윅윈윌윔윗윙유육윤율윰융윷으윽은을읊음읍읏응읕읗의이익인일읽잃임입잇있잉잊잎재잭잰잼잽쟁쟤저적전절젊점접젓정젖제젝젠젤젬젯젱져젼졀졔좨죄주죽준줄줌줍줏중줴쥐쥔쥬쥰쥴즈즉즌즐즘즙증지직진짇질짊짐집짓징짖짙짚째짹쨈쨋쨍쩌쩍쩐쩔쩜쩝쩡쩨쬐쭈쭉쭐쭘쭙쭝쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧채책챌챔챙처척천철첨첩첫청체첸첼쳇쳐최추축춘출춤춥충춰췌취췽츄츈츌츠측츰츳층치칙친칠칡침칩칫칭캐캑캔캠캡캣캤캥커컥컨컫컬컴컵컷컹케켁켄켈켐켓켕켜켠켸쾌쿠쿡쿤쿨쿰쿵퀄퀑퀴퀵퀸퀼큐큔큘크큭큰클큼킁키킥킨킬킴킵킷킹태택탠탤탬탭탱터턱턴털텀텁텅테텍텐텔템텝텟텡텨텬톄톈퇴투툭툰툴툼퉁퉤튀튜튠튬트특튼튿틀틈틔티틱틴틸팀팁팃팅패팩팬팸팻팽퍼퍽펀펄펌펍펑페펙펜펠펫펭펴편펼폄평폐푄푸푹푼풀품풋풍퓨픈플픔피픽핀필핌핍핏핑해핵핸핼햄햇행허헉헌헐험헙헛헝헤헥헨헬헴헹혀혁현혈혐협형혜홰홱회획횡후훅훈훌훑훔훗훙훠훤훨훵훼훽휑휘휙휠휨휭휴휼흄흉흐흑흔흖흘흙흠흡흥흩희히힉힌힐힘힛힝)) ;;좋은가, 먹는가 ;;fricative 로 임시 명명 ;; 이후에 이 부분은 수정을 가해야 함 %(letter-set (!f 같찮넓많싶않잖옳잦적좁좋)) ;; ************************************************************ ;; nominal inflections ;; n-lxm -> n-p-lex -> n-del-lex ;; ************************************************************ ;; ************************************************************ ;; n-del ;; 후치사 다음에 붙는 것을 모두 한정사로 가정한다. ;; 접속 조사도 우선 이 범주에 포함??? ;; matrix coordination??? ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-21 / SSH) ;; 격조사가 생략된 형태로 사용되는 것은 ;; formal이라고 보기 어려움. ;; 따라서, lex-unproductive 추가 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-13 / SSH) ;; 조사가 전혀 없는 경우와 그렇지 않는 경우 구분 ;; 일본 / 일본에 가다 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; n-bare_irule := n-bare. n-bare-bn_irule := n-bare-bn. ; n-non-del1_irule := ; n-non-del & [ STYLE robust, ; ARGS < [ SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase ] > ]. ; n-non-del2_irule := ; n-non-del & [ STYLE strict, ; ARGS < [ SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE ye_scase ] > ]. ; ************************************************************ ;; nouns with case markers ;; e.g. 남자들아 방장님들아 n-voc_irule := %suffix (!c !c아) (!n !n야) n-voc. n-nom_irule := %suffix (!c !c이) (!n !n가) n-nom. n-acc_irule := %suffix (!c !c을) (!n !n를) n-acc. ;; genitive marker (의) n-gen_irule := %suffix (* 의) n-gen. ; ************************************************************ ;; xdel ; n-xdel-only1_irule := ; %suffix (* 밖에) (* 만) ; n-xdel-only & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-xdel-only2_irule := ; %suffix (* 밖에) (* 만) ; n-xdel-only & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-xdel-only-nom_irule := ; %suffix (* 만이) ; n-xdel-only-nom. ; n-xdel-only-acc_irule := ; %suffix (* 만을) ; n-xdel-only-acc. ; n-xdel-only-gen_irule := ; %suffix (* 만의) ; n-xdel-only-gen. ; n-xdel-even1_irule := ; %suffix (* 조차) (* 까지) (* 마저) ; n-xdel-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-xdel-even2_irule := ; %suffix (* 에게까지) (* 에게까지만) (* 에게까지조차) ; n-xdel-even & [ STYLE unproductive, ; SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE dat ] ]. ; n-xdel-even-nom_irule := ; %suffix (* 까지가) ; n-xdel-even-nom & [ SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase ]. ; n-xdel-even-acc_irule := ; %suffix (* 까지를) ; n-xdel-even-acc & [ SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase ]. ; n-xdel-even3_irule := ; %suffix (* 조차) (* 까지) (* 마저) ; n-xdel-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ;; ************************************************************ ;; nouns with discourse-markers ;; ;; note) 존에게는 : [GCASE no_gcase, SCASE dat] (rule2s) ;; 존은 : [GCASE gcase, SCASE no_scase] (rule1s) ;; 규칙이 두개씩이지만 scase 여부에 따라 결과는 하나씩만 생성됨 n-top1_irule := %suffix (!c !c은) (!n !n는) n-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. n-top2_irule := %suffix (!c !c은) (!n !n는) n-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-only-top1_irule := ; %suffix (* 밖에는) (* 만은) ; n-only-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-only-top2_irule := ; %suffix (* 밖에는) (* 만은) ; n-only-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-even-top1_irule := ; %suffix (* 까지는) ; n-even-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-even-top2_irule := ; %suffix (* 까지는) ; n-even-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-foc-even1_irule := ; %suffix (!c !c이라도) (!n !n라도) ; n-foc-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-only-foc-even1_irule := ; %suffix (* 만이라도) ; n-only-foc-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-only-foc-even2_irule := ; %suffix (* 만이라도) ; n-only-foc-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-even-foc-even1_irule := ; %suffix (* 까지라도) ; n-even-foc-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-even-foc-even2_irule := ; %suffix (* 까지라도) ; n-even-foc-even & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-foc-also1_irule := ; %suffix (* 도) ; n-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-foc-also2_irule := ; %suffix (* 도) ; n-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-only-foc-also1_irule := ; %suffix (* 밖에도) (* 만도) ; n-only-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-only-foc-also2_irule := ; %suffix (* 밖에도) (* 만도) ; n-only-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-even-foc-also1_irule := ; %suffix (* 조차도) (* 까지도) (* 마저도) ; n-even-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-even-foc-also2_irule := ; %suffix (* 조차도) (* 까지도) (* 마저도) ; n-even-foc-also & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. n-foc-contra1_irule := %suffix (!c !c은) (!n !n는) n-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. n-foc-contra2_irule := %suffix (!c !c은) (!n !n는) n-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-only-contra1_irule := ; %suffix (* 밖에는) (* 만은) ; n-only-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; n-only-contra2_irule := ; %suffix (* 밖에는) (* 만은) ; n-only-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-even-contra1_irule := ; %suffix (* 까지는) ; n-even-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE no_gcase, SCASE ye_scase ] ]. ; n-even-contra2_irule := ; %suffix (* 까지는) ; n-even-foc-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. n-dist-each_irule := %suffix (* 씩) n-dist-each. n-dist-per_irule := %suffix (* 마다) (* 당) n-dist-per. n-dir_irule := %suffix (* 행) n-dir. n-src_irule := %suffix (* 발) n-src. n-inter_irule := %suffix (* 간) n-inter. ;; ************************************************************ ;; n-conjp: conjunctive postpositions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-21 / SSH) ;; coornination 구현이 끝날 때까지 주석 처리 ;; 생성에 부담을 준다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; n-and_irule := ; %suffix (!c !c과) (!n !n와) ; n-and. ; n-ilang-hako_irule := ; %suffix (!c !c이랑) (!n !n랑) (* 하고) ; n-ilang-hako. ; n-or_irule := ; %suffix (!c !c이나) (!n !n나) ; n-or. n-from_irule := %suffix (* 부터) n-from & [ STYLE #style, DTR.STYLE #style ]. ; n-from-2_irule := ; %suffix (* 부터만) (* 부터는) (* 부터라도) (* 부터도) ; n-from & [ STYLE unproductive ]. ; n-from-nom_irule := ; %suffix (* 부터가) ; n-from-nom & [ STYLE #style, ; DTR.STYLE #style ]. ; n-from-acc_irule := ; %suffix (* 부터가) ; n-from-acc & [ STYLE #style, ; DTR.STYLE #style ]. ; n-from-gen_irule := ; %suffix (* 부터의) ; n-from-gen & [ STYLE #style, ; DTR.STYLE #style ]. ; n-like_irule := ; %suffix (* 처럼) ; n-like & [ STYLE #style, ; DTR.STYLE #style ]. ; n-like-2_irule := ; %suffix (* 처럼도) ; n-like & [ STYLE unproductive ]. ;; ************************************************************ ;; n-p ;; 신부 + [ 님 + 들 + 로 ] => 신부 + [ 님들로 ] ;; ************************************************************ n-non-p_irule := n-non-p & [ STYLE strict ]. n-hon_irule := %suffix (* 님) n-p-hon & [ STYLE strict, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-12 / SSH) ;; 바닥님... 강아지님... ;; 이런 표현은 상대를 놀리거나 농담조에서나 가능하다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; n-hon-robust_irule := %suffix (* 님) n-p-hon & [ STYLE robust, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ;;유빈이, 상헌이 n-person_irule := %suffix (!c !c이) n-p-person & [ STYLE strict ]. n-pl_irule := %suffix (* 들) n-p-pl & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ;; n-pl-robust_irule := %suffix (* 들) n-p-pl & [ STYLE unproductive, SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ; n-hon-pl_irule := ; %suffix (* 님들) ; n-p-hon-pl & [ STYLE strict, ; SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ; n-hon-pl-robust_irule := ; %suffix (* 님들) ; n-p-hon-pl & [ STYLE unproductive, ; SYNSEM.LOCAL.CAT.HEAD.CASE.SCASE no_scase, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ;;dative (* 에) (* 에게) (* 한테) n-pdat1_irule := %suffix (* 한테) n-p-dat & [ STYLE strict & [ WRITTEN - ] ]. n-pdat2_irule := %suffix (* 에게) n-p-dat & [ STYLE strict, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. n-pdat3_irule := %suffix (* 에) n-p-dat & [ STYLE strict, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ;;??철수가 경찰서에게 갔다 n-pdat4_irule := %suffix (* 에게) n-p-dat & [ STYLE unproductive, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ;;??철수가 경찰관에 갔다 n-pdat5_irule := %suffix (* 에) n-p-dat & [ STYLE unproductive, SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ; n-pl-dat1_irule := ; %suffix (* 들한테) ; n-p-pl-dat & [ STYLE strict & [ WRITTEN - ], ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ; n-pl-dat2_irule := ; %suffix (* 들한테) ; n-p-pl-dat & [ STYLE unproductive & [ WRITTEN - ], ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ; n-pl-dat3_irule := ; %suffix (* 들에게) ; n-p-pl-dat & [ STYLE strict, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ; n-pl-dat4_irule := ; %suffix (* 들에게) ; n-p-pl-dat & [ STYLE unproductive, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. n-phondat_irule := %suffix (* 께) (* 님께) n-p-hondat & [ STYLE strict ]. ; n-pl-phondat1_irule := ; %suffix (* 들께) (* 님들께) ; n-p-pl-hondat & [ STYLE strict ]. ; ;;사장님들에게 드립니다. (사장님들께가 정확함) ; n-pl-phondat2_irule := ; %suffix (* 님들에게) ; n-p-pl-hondat & [ STYLE robust ]. ; n-hon-pdat1_irule := ; %suffix (* 님에게) ; n-p-hon-dat & [ STYLE robust ]. ; n-hon-pdat2_irule := ; %suffix (* 님한테) ; n-p-hon-dat & [ STYLE robust ]. ; n-hon-pl-dat_irule := ; %suffix (* 님들한테) ; n-p-hon-pl-dat & [ STYLE robust & [ WRITTEN - ] ]. ; n-loc_irule := ; %suffix (* 에서) (데 데서) ; n-p-loc & [ STYLE strict ]. ; ;;(* 에) ; n-goal_irule := ; %suffix (!c !c으로) (!n !n로) (일 일로) (텔 텔로) (달 달로) ; n-p-goal & [ STYLE strict ]. ; ;;status (* 로) (!c !c으로) (* 처럼) ; n-psts1_irule := ; %suffix (* 처럼) ; n-p-sts & [ STYLE strict ]. ; n-psts2_irule := ; %suffix (!c !c이처럼) ; n-p-sts & [ SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER human ]. ; n-pl-psts_irule := ; %suffix (* 들처럼) (* 들로) ; n-p-pl-sts & [ STYLE strict ]. ; ;;status (* 로) (!c !c으로) (* 처럼) ; n-hon-psts_irule := ; %suffix (* 님처럼) ; n-p-hon-sts & [ STYLE strict ]. ; ;;학부모님들처럼 ; n-hon-pl-psts_irule := ; %suffix (* 님들처럼) (* 님들로) ; n-p-hon-pl-sts & [ STYLE strict ]. ; ;;commitative ; n-pcom1_irule := ; %suffix (!c !c이랑) (!n !n랑) (* 하고) ; n-p-com & [ STYLE strict & [ WRITTEN - ] ]. ; n-pcom2_irule := ; %suffix (!c !c과) (!n !n와) ; n-p-com & [ STYLE strict ]. ; n-pl-pcom1_irule := ; %suffix (* 들이랑) (* 들하고) ; n-p-pl-com & [ STYLE strict & [ WRITTEN - ] ]. ; n-pl-pcom2_irule := ; %suffix (* 들과) ; n-p-pl-com & [ STYLE strict ]. ; n-hon-pcom1_irule := ; %suffix (* 님이랑) (* 님하고) ; n-p-hon-com & [ STYLE strict & [ WRITTEN - ] ]. ; n-hon-pcom2_irule := ; %suffix (* 님과) ; n-p-hon-com & [ STYLE strict ]. ; n-hon-pl-pcom1_irule := ; %suffix (* 님들이랑) (* 님들하고) ; n-p-hon-pl-com & [ STYLE.WRITTEN - ]. ; n-hon-pl-pcom2_irule := ; %suffix (* 님들과) ; n-p-hon-pl-com & [ STYLE strict ]. n-phonsub_irule := %suffix (* 께서) (* 님께서) n-p-honsub & [ STYLE strict ]. ; n-pl-phonsub_irule := ; %suffix (* 들께서) (* 님들께서) ; n-p-pl-honsub & [ STYLE strict ]. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-24 / SSH) ;; 철수가 자동차를 일본(에/으로) 수출 ;; 이 때 (-에),(-으로) 가 의미격이 무엇인가는 불분명함 ;; 따라서 이 경우이는 dat_goal_loc 세 가지 가운데 ;; 어떤 것이든 될 수 있는 것으로 한다. ;; 이때 '일본'이 '수출'의 논항인가 아닌가? ;; 남승호(200?) 에서 사용된 판별법 적용하면 ;; A : 철수가 자동차를 수출했다네... ;; B : 어느 나라에?? ;; 와 같이 좀 분명치 않은 것 같다. ;; 표준국어대사전에서는 논항으로 보고 있다. ;; [동사]『…에』『…으로』⇒수출. ;; (e.g.) 우리 기술로 만들어진 자동차가 외국에 수출된다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 또한 이 격은 앞애 나오는 것에 유정성이 있는지 없는지 ;; 그 부분이 있다. ;; (1) 철수가 경찰관에게(?에/로) 잡혀갔다. ;; (2) 철수가 경찰서(에/로) 잡혀갔다. ;; (3) 철수가 경찰에(*로) 잡혀갔다. ;; 에 : non-animacy ;; 에게 : animacy ;; (으)로 : person (망치로, 부산으로, 패배자로) ;; 에서 : non-animacy (부산에서, 포르투칼어에서) ;; 철수는 부산에서 왔다. : src ;; 빵이라는 단어는 포르투칼어에서 온 것이다. : src ;; 악녀는 W호텔[LOCATION,부가어]에서 결혼하고 아이파크[LOCATION,논항]에서 살아야 한다고 했다. : loc ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 생성을 고려하면 각각을 세분화 해야 할 것 갇다. ;; (1) 철수가 망치[OBJECT]로 영희를 때렸다 : inst ;; (2) 철수가 부산[LOCATION]으로 갔다. : goal ;; (3) 악녀는 나를 패배자[HUMAN]로 여겼다. : sts ;; p-dual 은 연산량을 대폭 증가시키는 원인이 되므로 ;; 부가어적 성향이 명확한 것과 그렇지 않은 것을 구분하여 나누어야 함 ;; 악녀는 W호텔[LOCATION,부가어]에서 결혼하고 ;; 아이파크[LOCATION,논항]에서 살아야 한다고 했다. ;; 즉, p-dual은 부가어에 붙여지는 논항이 되며 ;; 기존의 각 타입 개개는 수정하여 논항에 붙여지는 것이 된다. ;; 결과적으로 위 예문에서 ;; '결혼'은 COMPS를 가지지 않으므로 'W호텔'은 부가어로서 p-dual 이 되고 ;; '살다'는 loc을 논항으로 가지므로 '아이파크'는 논항으로서 일반적인 p-loc이 된다. ;; 다시 말하면, 같은 '-에서'라 하더라도 논항에 붙는 '-에서'와 ;; 부가어에 붙는 '-에서'가 타입이 다르다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 위에서 본 철수가 경찰에 잡혀갔다.' 류의 예문도 마찬가지이다. ;; 철수가 경찰서(에/로) 경찰관에게 잡혀갔다 ;; 위 문장이 가능하므로 이때 경찰서는 goal 또는 loc 격을 가진 부가어이고 ;; '경찰관'은 dat로 논항이다. (기저문장 : 경찰관이 철수를 잡아갔다.) ;; A : 철수가 잡혀갔데. ;; B : 누구한테?? (좀 어색함) ;; B : 어디로?? (상대적으로 괜찮음) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; n-pdat_goal_loc_irule := ; %suffix (* 에) ; n-p-dat_goal_loc. ; ;;%suffix (* 에) (* 에게) ; n-pdat_goal_loc_2_irule := ; %suffix (* 에를) ; n-p-dat_goal_loc & [ STYLE unproductive ]. ; n-pdir_goal_sts_inst_irule := ; %suffix (!c !c으로) (!n !n로) (일 일로) (텔 텔로) (달 달로) ; n-p-dir_goal_sts_inst. ; n-ploc_src1_irule := ; %suffix (* 에서) (데 데서) ; n-p-loc_src & [ STYLE strict, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER non-animacy ]. ; n-ploc_src2_irule := ; %suffix (* 에게서) ; n-p-loc_src & [ STYLE strict, ; SYNSEM.LOCAL.CONT.HOOK.INDEX.PNG.PER animacy ]. ; ;;goal (* 에) (* 로) (!c !c으로) (* 까지) ; n-pgoal-ajt_irule := ; %suffix (* 까지) ; n-p-goal-ajt. ; n-punk_irule := ; %suffix (* 에의해) ; n-p-unk. ;n-loc-suffix := ;%suffix (* 에서) ;n-p-loc. ;;locative (* 에) (* 에서) (* 에게) ;n-ploc_irule := ;%suffix ;n-p-loc. ;;direction (* 로) (!c !c으로) ;n-pdir_irule := ;%suffix ;n-p-dir. ;;instrumental (* 로) (!c !c으로) ;n-pinst_irule := ;%suffix ;n-p-inst. ;; ************************************************************ ;; verbal inflections ;; ************************************************************ ;; ************************************************************ ;; short form negation (안먹다, 못먹다) ;short-form-neg_irule := ;%prefix (* 안) (* 못) ;neg-main-v. ;; ************************************************************ ;; vn-lignt verbs ;; e.g. 공부하다, 자습시키다, 존경받다, 연구되다 ;; ************************************************************ vn-light-v_irule := %suffix (* 하) vn-light-v. vn-causlight-v_irule := %suffix (* 시키) vn-causlight-v. vn-passlight-toy_irule := %suffix (* 되) vn-passlignt-v-1. ;;의미 제약 명시 ;; 존경받다/*존경당하다 ;; *체포받다/체포당하다 ;; 탄압받다/탄압당하다 vn-passlight-pat_irule := %suffix (* 받) vn-passlignt-v-2 & [ ARGS < [ SYNSEM.LKEYS.KEYREL.ARG1.SENSE.ADVERSITY - ] > ]. vn-passlight-tangha_irule := %suffix (* 당하) vn-passlignt-v-2 & [ ARGS < [ SYNSEM.LKEYS.KEYREL.ARG1.SENSE.ADVERSITY + ] > ]. ;; ************************************************************ ;; v-final ;; ************************************************************ ;; ************************************************************ ;; v-ind ;; -다, -어라, -자, -니 ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-21 / SSH) ;; fm / infm / non-formal로 구분 ;; V+ㅂ니다 => fm (먹습니다) ;; V+다 => infm (먹다) ;; V+소 => non-formal (먹소) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-decl-fm_irule := %suffix (!c !c습니다) (!n !nㅂ니다) (알 알ㅂ니다) v-decl-fm. v-decl-infm1_irule := %suffix (* 다) v-decl-infm. ; v-decl-infm2_irule := ; %suffix (* 네요) (* 네) ; v-decl-infm-ney. ; v-decl-nun_irule := ; %suffix (* ㄴ데요) ; v-decl-infm-nun. ; v-decl-nunteyyo_irule := ; %suffix (!n !n는데요) (!c !c는데요) (!f !f은데요) ; v-decl-infm-nunteyyo. ; v-decl-infm4_irule := ; %suffix (!s !s아요) (!w !w어요) (았 았어요) (이 이요) ; v-decl-infm-yo. ; v-decl-key_irule := ; %suffix (!n !nㄹ게요) (!c !c을게요) (살 살ㄹ게요) ; v-decl-infm-key. ; v-decl-leykoyo_irule := ; %suffix (!c !c으려고요) (!n !n려고요) ; v-decl-infm-leykoyo. ; ;;먹었죠 ; v-decl-infm-cyo1_irule := ; %suffix (* 죠) ; v-decl-infm-cyo1. ; ;;먹겠죠 ; v-decl-infm-cyo2_irule := ; %suffix (* 죠) ; v-decl-infm-cyo2. ; ;;가시었죠 ; v-decl-infm-cyo3_irule := ; %suffix (* 죠) ; v-decl-infm-cyo1. ; ;;가시겠죠 ; v-decl-infm-cyo4_irule := ; %suffix (* 죠) ; v-decl-infm-cyo4. ; ;;떨어지었거든요 ; v-decl-infm-ketunyo_irule := ; %suffix (* 거든요) ; v-decl-infm-ketunyo. ; v-decl-infm-leyo_irule := ; %suffix (!n !n러요) (!c !c으러요) ; v-decl-infm-leyo. ; v-decl-infm-cop-yo_irule := ; %suffix (* 요) ; v-delc-infm-cop-yo. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-21 / SSH) ;; 나중에 이 문법을 온라인 대화형 시스템으로까지 ;; 확대하기 위한 테스트 irule ;; online 체로 입력을 받아 분석 및 생성 가능해야 함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; v-decl-online_irule := ; %suffix (* 당) ; v-decl-online. ; v-decl-unp_irule := ; %suffix (!c !c소) (!n !n오) (ㄴ ㄴ군) (ㄴ ㄴ군요) (는 는군) (는 는군요) (았 았군) (았 았군요) (었 었군) (었 었군요) (겠 겠군) (겠 겠군요) (* 서요) ; v-decl-unp. ; v-decl-retro_irule := ; %suffix (더 더라) ; v-decl-retro & [ STYLE.WRITTEN - ]. ; v-decl-retro-hon_irule := ; %suffix (더 더군요) ; v-decl-retro & [ STYLE.WRITTEN - ]. ; v-decl-kwunyo_irule := ; %suffix (* 군요) ; v-decl-infm-kwunyo. v-inter-fm_irule := %suffix (!c !c습니까) (!n !nㅂ니까) (열 열ㅂ니까) (알 알ㅂ니까) (살 살ㅂ니까) (팔 팔ㅂ니까) v-inter-fm. v-inter-infm1_irule := %suffix (* 니) (* 나) (* 냐) (!c !c을까) (!n !nㄹ까) v-inter-infm. ; v-inter-infm2_irule := ; %suffix (* 나요) (* 죠) (* 지요) (* 는가요) (되 되요) ; v-inter-infm-yo1. ; v-inter-infm3_irule := ; %suffix (* ㄴ가요) ; v-inter-infm-yo2 & [ STYLE.WRITTEN - ]. ; v-inter-infm4_irule := ; %suffix (!n !nㄹ까요) (!c !c을까요) (들 들ㄹ까요) ; v-inter-infm-kka & [ STYLE.WRITTEN - ]. ; v-inter-layyo_irule := ; %suffix (* ㄹ래요) ; v-inter-infm-layyo & [ STYLE.WRITTEN - ]. ; v-inter-unp_irule := ; %suffix (!f !f은가) (* 는가) (!f !f은지) (* 는지) (* 느냐) (!c !c으랴) (!n !n랴) (!c !c을지) (!n !nㄹ지) ; v-inter-unp. v-sug-fm_irule := %suffix (!c !c읍시다) (!n !nㅂ시다) v-sug-fm. v-sug-infm_irule := %suffix (* 자) v-sug-infm. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-21 / SSH) ;; 합쇼체 등을 따로 구분할 필요가 있음 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; v-hapsyo_irule := ; %suffix (!c !c으십시오) (!n !n십시오) (시 시ㅂ시오) ; v-hapsyo. ; v-hao_irule := ; %suffix (!c !c으시오) (!n !n시오) ; v-hao. ; v-hakey-fm_irule := ; %suffix (!c !c으시게) (!n !n시게) ; v-hakey-fm. ; v-hakey-infm_irule := ; %suffix (* 게) ; v-hakey-infm. ; v-hayra_irule := ; %suffix (!s !s아라) (!w !w어라) ; v-hakey. ; v-hayyo-fm_irule := ; %suffix (!c !c으세요) (!n !n세요) ; v-hayyo-fm. ; v-hayyo-infm_irule := ; %suffix (!s !s아요) (!w !w어요) ; v-hayyo-infm. ; v-hay_irule := ; %suffix (!s !s아) (!w !w어) (으 으아) (르 르어) ; v-hay. ; v-imp-unp_irule := ; %suffix (* 소) (* 슈) ; v-imp-unp. ; v-exclam-infm_irule := ; %suffix (* 노라) ; v-exclam-infm. ;; ************************************************************ ;;v-sub ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-22 / SSH) ;; 세종 형태 분석 말뭉치에서 빈도를 확인하여 ;; 30회 미만으로 출현하는 것은 unproductive로 빼버리자 ;; 30회가 과도한 감은 있으나 현재로서는 생성의 부담을 줄여야 함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; v-sub-udef_irule := ; %suffix (* 자) (!w !w어) (!s !s아) (!f !f은데) (* 는데) (* 는지라) (!w !w어다) (!s !s아다) (* 다가) (!w !w어다가) (!s !s아다가) (* 더니) (* 든) (* 든지) (!c !c으려다) (!n !n려다) (!c !c으려다가) (!n !n려다가) (!c !c을수록) (!n !nㄹ수록) ; v-sub-udef. ; v-sub-udef-2_irule := ; %suffix (!c !c은즉) (!n !n는즉) ; v-sub-udef & [ STYLE unproductive ]. ; ;;(* 다) ; ;;'-다'가 중의성을 너무 빈번히 생산하여 일단 빼둔다. ; v-sub-time_irule := ; %suffix (* 고서) (!c !c으면서) (!n !n면서) (!c !c은지) (!n !nㄴ지) (!c !c으며) (!n !n며) ; v-sub-time. ; v-sub-reason_irule := ; %suffix (!c !c으니) (!n !n니) (!c !c으니까) (* 니까) (* 서) (!w !w어서) (!s !s아서) (!c !c으므로) (!n !n므로) ; v-sub-reason. ; v-sub-cond_irule := ; %suffix (!c !c으면) (!n !n면) (* 거든) (!c !c으려면) (!n !n려면) ; v-sub-cond. ; v-sub-conces_irule := ; %suffix (* 지만) (* 더라도) (!c !c으나) (!n !n나) ; v-sub-conces. ;;note: -게 same as comp ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-19 / SSH) ;; resultative는 별도의 논항구조로 가는 것이 바람직하다 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; v-sub-result_irule := ; %suffix (* 도록) (* 게) ; v-sub-result. ; v-sub-pur_irule := ; %suffix (!c !c으려) (!n !n려) (!c !c으려고) (!n !n려고) (!c !c으러) (!n !n러) (* 도록) ; v-sub-pur. ; v-sub-andthen_irule := ; %suffix (* 고) ; v-sub-andthen. ; v-sub-or_irule := ; %suffix (* 거나) ; v-sub-or. ;; ************************************************************ ;; v-xdel & v-zdel ;; -먹고만 있다 ;; ************************************************************ ; v-xdel-decl-only_irule := ; %suffix (* 다만) (!c !c습니다만) (!n !nㅂ니다만) ; v-xdel-decl-only. ; v-xdel-decl-only-2_irule := ; %suffix (* 네만) ; v-xdel-decl-only & [ STYLE unproductive ]. ; v-xdel-sub-udef-only_irule := ; %suffix (* 더니만) ; v-xdel-sub-udef-only. ; v-xdel-sub-reason-only_irule := ; %suffix (!w !w어서만) (!s !s아서만) ; v-xdel-sub-reason-only. ; v-xdel-sub-pur-only_irule := ; %suffix (!c !c으려고만) (!n !n려고만) ; v-xdel-sub-pur-only. ; v-xdel-comp1-only_irule := ; %suffix (!s !s아만) (!w !w어만) ; v-xdel-comp1-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ; v-xdel-comp2-only-key_irule := ; %suffix (* 게만) ; v-xdel-comp2-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM key ]. ; v-xdel-comp2-only-ko2_irule := ; %suffix (* 고만) ; v-xdel-comp2-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ; v-xdel-comp2-only-ci_irule := ; %suffix (* 지만) ; v-xdel-comp2-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ; v-xdel-comp3-only_irule := ; %suffix (!s !s아야만) (!w !w어야만) ; v-xdel-comp3-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM eya ]. ; v-xdel-comp4-only_irule := ; %suffix (* 다고만) (!c !c으라고만) (!n !n라고만) ; v-xdel-comp4-only & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. ; v-zdel-inter-also_irule := ; %suffix (!n !nㄹ까도) (!c !c을까도) (* 지도) (!c !c을지도) (!n !nㄹ지도) (!c !c을는지도) (!n !nㄹ는지도) ; v-zdel-inter-also. ; ;;(* 가도) ; v-zdel-sub-udef-also_irule := ; %suffix (!n !nㄴ데도) (!f !f은데도) (!c !c는데도) (* 다가도) ; v-zdel-sub-udef-also. ; v-zdel-sub-time-also_irule := ; %suffix (* 고서도) (!n !n면서도) (!c !c으면서도) ; v-zdel-sub-time-also. ; v-zdel-sub-reason-also_irule := ; %suffix (!s !s아서도) (!w !w어서도) ; v-zdel-sub-reason-also. ; v-zdel-sub-pur-also_irule := ; %suffix (!n !n려고도) (!c !c으려고도) ; v-zdel-sub-pur-also. ; v-zdel-comp1-also_irule := ; %suffix (!s !s아도) (!w !w어도) ; v-zdel-comp1-also & [ SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ; v-zdel-comp2-also-key_irule := ; %suffix (* 게도) ; v-zdel-comp2-also & [ SYNSEM.LOCAL.CAT.HEAD.FORM key ]. ; v-zdel-comp2-also-ko2_irule := ; %suffix (* 고도) ; v-zdel-comp2-also & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ; v-zdel-comp2-also-ci_irule := ; %suffix (* 지도) ; v-zdel-comp2-also & [ SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ; v-zdel-comp4-also_irule := ; %suffix (* 다고도) (* 라고도) ; v-zdel-comp4-also & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. ; v-zdel-inter-but_irule := ; %suffix (!n !nㄹ까는) (!c !c을까는) (* 지는) (!c !c을지는) (!n !nㄹ지는) (* 느냐는) ; v-zdel-inter-but. ; ;;(* 가는) ; v-zdel-sub-udef-but_irule := ; %suffix (!n !nㄴ데도) (!c !c는데도) (* 다가는) ; v-zdel-sub-udef-but. ; v-zdel-sub-time-but_irule := ; %suffix (* 고서는) (!c !c는데는) (!n !nㄴ데는) (* 면서는) ; v-zdel-sub-time-but. ; v-zdel-sub-reason-but_irule := ; %suffix (!s !s아서는) (!w !w어서는) ; v-zdel-sub-reason-but. ; v-zdel-sub-pur-but_irule := ; %suffix (!n !n려고는) (!c !c으려고는) ; v-zdel-sub-pur-but. ; v-zdel-sub-conces-but_irule := ; %suffix (* 지만은) ; v-zdel-sub-conces-but. ; v-zdel-comp1-but_irule := ; %suffix (!s !s아는) (!w !w어는) ; v-zdel-comp1-but & [ SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ; v-zdel-comp2-but-key_irule := ; %suffix (* 게는) ; v-zdel-comp2-but & [ SYNSEM.LOCAL.CAT.HEAD.FORM key ]. ; v-zdel-comp2-but-ko2_irule := ; %suffix (* 고는) ; v-zdel-comp2-but & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ; v-zdel-comp2-but-ci_irule := ; %suffix (* 지는) ; v-zdel-comp2-but & [ SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ; v-zdel-comp4-but_irule := ; %suffix (* 다고는) (!n !n리라고는) (!c !c으리라고는) ; v-zdel-comp4-but & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. ; v-nom-comp1_irule := ; %suffix (!s !s아가) (!w !w어가) ; v-nom-comp1 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ; v-nom-comp2-ci_irule := ; %suffix (* 지가) ; v-nom-comp2 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ; v-nom-comp2-ko2_irule := ; %suffix (* 고가) ; v-nom-comp2 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ; v-acc-comp1_irule := ; %suffix (!s !s아를) (!w !w어를) ; v-acc-comp1 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ; v-acc-comp2-ci_irule := ; %suffix (* 지를) ; v-acc-comp2 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ; v-acc-comp2-ko2_irule := ; %suffix (* 고를) ; v-acc-comp2 & [ STYLE robust, SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ;; ************************************************************ ;;gerundive ;; -음, -기 ;; ************************************************************ v-ger-um_irule := %suffix (!c !c음) (!n !nㅁ) v-ger-um. v-ger-ki_irule := %suffix (* 기) v-ger-ki. v-ger-um-nom_irule := %suffix (!c !c음이) (!n !nㅁ이) v-ger-um-nom. v-ger-um-acc_irule := %suffix (!c !c음을) (!n !nㅁ을) v-ger-um-acc. v-ger-um-gen_irule := %suffix (!c !c음의) (!n !nㅁ의) v-ger-um-gen. v-ger-ki-nom_irule := %suffix (* 기가) v-ger-ki-nom. v-ger-ki-acc_irule := %suffix (* 기를) v-ger-ki-acc. v-ger-ki-acc2_irule := %suffix (* 기ㄹ) v-ger-ki-acc & [ STYLE.WRITTEN - ]. ;; e.g. 꺾기의 정석 v-ger-ki-gen_irule := %suffix (* 기의) v-ger-ki-gen. ; v-ger-only1_irule := ; %suffix (* 기밖에) (* 기만) ; v-ger-only & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-only2_irule := ; %suffix (* 기만을) ; v-ger-only & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE acc, SCASE no_scase ] ]. ; v-ger-um-foc1_irule := ; %suffix (!c !c음도) (!n !nㅁ도) ; v-ger-um-foc & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-ki-foc1_irule := ; %suffix (* 기도) ; v-ger-ki-foc & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-um-top1_irule := ; %suffix (!c !c음은) (!n !nㅁ은) ; v-ger-um-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-ki-top1_irule := ; %suffix (* 기는) ; v-ger-ki-top & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-um-contra1_irule := ; %suffix (!c !c음은) (!n !nㅁ은) ; v-ger-um-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ; v-ger-ki-contra1_irule := ; %suffix (* 기는) ; v-ger-ki-contra & [ SYNSEM.LOCAL.CAT.HEAD.CASE [ GCASE gcase, SCASE no_scase ] ]. ;; ************************************************************ ;; v-coord ;; -고, -거나 ;; ************************************************************ v-and-coord_irule := %suffix (* 고) v-and-coord & [ STYLE strict ]. v-or-coord_irule := %suffix (* 거나) v-or-coord & [ STYLE strict ]. ;; ************************************************************ ;; v-mod ;; -은/는, -던, -을 ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-22 / SSH) ;; 관계절을 다룰 때 이 부분을 세밀하게 나누어 제약을 ;; 주어야 한다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-mod-pst_irule := %suffix (* 던) (!w !w었던) (!s !s았던) (!w !w었을) (!s !s았을) (!c !c은) (!n !nㄴ) (들 들ㄴ) (갛 갛ㄴ) (랗 랗ㄴ) (떻 떻ㄴ) (* 도) v-mod-pst & [ STYLE strict ]. v-mod-fut_irule := %suffix (!c !c을) (!n !nㄹ) (물 물ㄹ) v-mod-fut & [ STYLE strict ]. v-mod-pres_irule := %suffix (* 는) v-mod-pres & [ STYLE strict ]. v-mod-prog_irule := %suffix (!c !c는) (!n !nㄴ) (렵 렵ㄴ) v-mod-prog & [ STYLE strict ]. v-app-mod_irule := %suffix (* *다는) (!n !n리라는) (!c !c으리라는) v-app-mod & [ STYLE strict ]. ;; ************************************************************ ;; complementizers to make v-comp ;; -아/어 ;; ************************************************************ v-comp-ae_irule := %suffix (!s !s아) (!w !w어) (으 으아) (르 르어) v-comp1 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM ae ]. ;; -지 v-comp-ci_irule := %suffix (* 지) v-comp2 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM ci ]. ;; -게 v-comp-key_irule := %suffix (* 게) (* 도록) v-comp2 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM key ]. ;; -고 (comp2) v-comp-ko2_irule := %suffix (* 고) v-comp2 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM ko2 ]. ;; -곤 (kon) v-comp-kon_irule := %suffix (* 고ㄴ) v-comp2 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM kon ]. ;;어야 v-comp-eya_irule := %suffix (!s !s야) (!w !w어야) (!s !s아야) v-comp3 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM eya ]. ;;나, 는가 v-comp-na_irule := %suffix (* 나) (* 는가) v-comp3 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM na2 ]. ;; -고 (comp4) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-22 / SSH) ;; 보문절을 살피면서 이 부분을 세밀하게 나누어야 함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-comp-ko4_irule := %suffix (* 다고) (* 자고) (!c !c으라고) (!n !n라고) (달 달라고) (* 느냐고) (!c !c으리라고) (!n !n리라고) (* 냐고) (* 더라고) (!c !c으랴고) (!n !n랴고) (!c !c을란다고) (!n !nㄹ란다고) (* 다더라고) (!c !c으려느냐고) (!n !n려느냐고) (!c !c으란다고) (!n !n란다고) v-comp4 & [ STYLE strict, SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. v-comp-ko4-2_irule := %suffix (* ㄴ다고) (!c !c으냐고) (!c !c으니라고) v-comp4 & [ STYLE unproductive, SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. ;;v-comp-ko4_irule := ;;%suffix (* 고) ;;v-comp4 & [ SYNSEM.LOCAL.CAT.HEAD.FORM ko4 ]. ;; ************************************************************ ;; prefinal ;; ************************************************************ ;;no inflection as present ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-06 / SSH) ;; const-ltol-rule / infl-ltol-rule을 이용하여 바꾸었음 ;; 이제 잘 작동함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-st-pres_irule := v-st-pres. ;;-ㄴ/는- ;; 싹이 나는군요 v-nonst-pres_irule := %suffix (!c !c는) (!n !nㄴ) (들 들ㄴ) (갛 갛ㄴ) (랗 랗ㄴ) (떻 떻ㄴ) (나 나는) v-nonst-pres. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-06 / SSH) ;; 세종 코퍼스에서 찾아본 결과 3회 이상의 빈도를 보이는 선어말 어미의 연쇄는 ;; 25개 밖에 없었으며, 그 가운데 현대한국어 및 표준어형이라고 판단되는 것만을 ;; 다시 추린 결과 15개 뿐이었음 ;; 아래가 그 전체임 ;; 실제로 선어말 어미 연쇄의 분포는 매우 고정적인 것 같음 ;; 위와 함께 총 18개의 선어말어미를 상정해 두고, 이를 모두 단층구조로 사용함 ;; 이 구조도 느릴 경우에는, ;; (1) letter-set 을 사용하여야 함. ;; (2) 각 node의 suffix를 하나씩만 두도록 함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-10 / SSH) ;; 위 (1)을 실행하였음 ;; 현재 간단한 자동문은 생성 가능함 ;; MRS를 정교화 한 이후에도 문제가 지속되면 (2)로 간다. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-hon-pres_irule := %suffix (!n !n시) (!c !c으시) (눕 눕시) (알 알시) (살 살시) (팔 팔시) (들 들시) (열 열시) v-hon-pres. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-05-15 / SSH) ;; 과거와 이중과거를 구분할 필요가 있음 ;; 예컨대, 스포츠 중계에서 ;; '박지성이 공을 찾었습니다' ;; 와 같이 하면 매우 이상하게 들린다. ;; 았었/었었 은 지금은 그렇지 않다는 의미로 영어의 대과거와 유사하다 ;; (장석진 1995)에서는 다르다고 본다. ;; 제가 젊었을 때는 좀 놀았었습니다. (지금은 그렇지 않다는 의미) ;; 일단은 unproductive로 설정 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-06-04 / SSH) ;;머무르었으면 : 이 형태를 처리하지 못하는 문제가 있다. ;;모르다가 머무르다보다 빈도가 크기 때문에 일단 넘어간다 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v-pst_irule := %suffix (!w !w었) (!s !s았) (르 르았) (으 으았) v-pst. v-pst2_irule := %suffix (!w !w었었) (!s !s았었) v-pst & [ STYLE unproductive ]. v-hon-pst_irule := %suffix (!n !n시었) (!c !c으시었) (눕 눕시었) (알 알시었) (살 살시었) (팔 팔시었) (들 들시었) (열 열시었) v-hon-pst. v-hon-pst2_irule := %suffix (!n !n시었었) v-hon-pst & [ STYLE unproductive ]. ; v-retro_irule := ; %suffix (* 더) ; v-retro. v-fut_irule := %suffix (* 겠) v-fut. v-fut-intend_irule := %suffix (!w !w어야겠) (!s !s아야겠) v-fut-intend. v-hon-fut_irule := %suffix (!n !n시겠) (!c !c으시겠) (알 알시겠) v-hon-fut. ; v-nontense_irule := ; %suffix (!s !s았겠) (!w !w었겠) ; v-nontense. ; v-hon-nontense_irule := ; %suffix (!n !n시었겠) (!c !c으시었겠) ; v-hon-nontense. ; v-cop-variant_irule := ; %suffix (이 이에) (이 이라고) ; v-cop-variant. ;; ************************************************************ ;; adverbial inflections ;; 열심히(만) 해라 ;; 빨리(는) 읽었지만 ;; 천천히(도) 온다 ;; 신중히만은 하고 싶다 ;; ************************************************************ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (2009-04-16 / SSH) ;; 부사 + 만은 => 이 형태는 세종 코퍼스에서 단 1회 출현함 ;; 부사 + 만도 => 나타나지 않음 ;; 따라서 부사의 굴절은 우선 단층이라고 가정함 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ************************************************************ ;; adv-xdel & advv-zdel ; adv-non-del_irule := ; adv-non-del. adv-xdel-only_irule := %suffix (* 만) adv-xdel-only. adv-zdel-but_irule := %suffix (!c !c은) (!n !n는) (!c !c이야) (!n !n야) adv-zdel-but. adv-zdel-also_irule := %suffix (* 도) adv-zdel-also. adv-zdel-or_irule := %suffix (!c !c이나) (!n !n나) adv-zdel-or. ;adv-non-del_irule := ;adv-non-del. ;; ************************************************************ ; neg-infl-lr := ; neg-infl-lex-rule. n2-bottom-w := %suffix (!c !c과) (!n !n와) (* ,) n2-bottom-coord-rule & [ STYLE strict ]. n2-bottom-s := %suffix (!c !c이랑) (!n !n랑) (* 하고) n2-bottom-coord-rule & [ STYLE strict & [ WRITTEN - ] ]. ; n-than_irule := ; %suffix (* 보다) (* 보다는) (* 보다도) ; n-than. ; ;; 철수하고 소희가 갔다 ; n3-bottom := ; %suffix (!c !c이랑) (!n !n랑) (* 하고) ; n3-bottom-coord-rule & [ STYLE strict & [ WRITTEN - ] ]. ;; 철수가고 소희하고 갔다 ; n4-bottom := ; %suffix (!c !c이랑) (!n !n랑) (* 하고) ; n4-bottom-coord-rule & [ STYLE robust & [ WRITTEN - ] ]. ; n4-left := ; %suffix (!c !c이랑) (!n !n랑) (* 하고) ; n4-left-coord-rule & [ STYLE robust & [ WRITTEN - ] ]. ;ques-infl-lr := ;%suffix (* 습니까) ;ques-infl-lex-rule.