!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! !
! R O U Z E T A 한국어 형태소 분석기 !
! !
! !
! 이 상호 !
! !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!
! Read Korean Lexicon !
!!!!!!!!!!!!!!!!!!!!!!!
read lexc korean.lexc
define Lexicon ;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Split Hangul to Onset/Peak/Coda !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
source splithangul.foma
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Define Alternation Rules !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
source morphrules.foma
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Define a Single Word Phrase !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
define SingleWordPhrase Lexicon .o. SplitHangul .o. ! 사전으로부터 자소 분리
AlternationRules .o. ! 변환규칙 적용
RemoveTags .o. ! 품사/불규칙 태그 삭제
SplitHangul.i .o. ! 자소를 한글로 바꿈
~$[Syllable] .o. ~$[KorChar] .o. ~$[CodaOnly] ; ! 자소열, 자모만, 종성 글자 제거
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Recognize a Sentence !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
define Delim " " ;
!define NormalizeDelim " " @<- [" "|" "]+ ; ! 탭 키도 지우기 위해서는 이것을 사용
define NormalizeDelim " " @<- " "+ ;
define WPWithMark %[%[ SingleWordPhrase %]%] ;
define SentenceWithMark WPWithMark [ Delim WPWithMark ]* ;
define DeleteMarkUp [ 0 <- %[%[ ] .o. [ 0 <- %]%] ] ;
define DeleteMarkDown [ %[%[ -> 0 ] .o. [ %]%] -> 0 ] ;
define Sentence DeleteMarkUp .o. SentenceWithMark .o. DeleteMarkDown .o. NormalizeDelim ;
regex Sentence ;
!save stack kor.stack ! 만들어진 FST를 binary로 저장하는 방법
!write att > "kor.fomaatt" ! att 형식으로 파일을 저장하는 방법
!invert net ! 표층형 -> 어휘형으로 바뀌기 위한 방법
!write att > "korinvert.fomaatt" ! 바뀌어진 FST를 att형식으로 저장하는 방법