116개 분절 규칙
116개 분절 규칙이 만드는 한국어 형태론
한국어는 어절 하나 안에서 단어가 끊임없이 모양을 바꿉니다.
용언이 활용하고, 음절이 축약되고, 모음이 탈락하고, 글자가 생략됩니다.
바른의 분절(Segmenter) 단계는 이런 변형을 풀어 원래 형태소를 복원하는데,
그 바탕에는 116개의 분절 레이블(규칙) 체계가 있습니다.
그리고 이 116개 가운데 14개는 오류 탐지(맞춤법 검사)용 레이블로, 분절 단계에서
형태적 오류를 잡아내 맞춤법 검사기로 이어주는 다리 역할을 합니다.
116개 레이블 전체가 궁금하다면
이 글은 분절 규칙의 원리를 설명합니다. 116개 레이블의 번호·이름·분류·예시 전체 목록은 116개 분절 레이블 전체 목록에서 한 표로 확인할 수 있습니다.
규칙은 모델 가중치에 학습되어 있다
여기서 한 가지를 분명히 해둡니다. 이 116개 규칙은 별도의 규칙 텍스트 파일로 존재하지 않습니다.
학습된 분절 모델(seg-model.onnx)의 가중치 안에 인코딩되어 있습니다.
즉, 사람이 규칙을 하나하나 코딩해 넣은 것이 아니라, 정제된 말뭉치로 모델을 학습시키는 과정에서
모델이 이 규칙들을 스스로 익혔습니다.
‘규칙’이라는 이름의 의미
"116개"는 분절 모델이 구분하는 분절 레이블의 가짓수입니다. 이 가운데 상당수는 한국어
활용·축약·탈락·생략을 다루는 형태론 규칙이지만, 공백 처리(SP) 나 단순 변환처럼 비교적
단순한 레이블도 함께 들어 있습니다. 그래서 "규칙"이라는 말은 엄밀한 정의라기보다, 분절 단계가
구분하는 레이블 체계를 사람이 이해하기 쉽게 부르는 이름에 가깝습니다.
SP도 하나의 공백 문자를 다루는 엄연한 분절 규칙이므로 이 116개에 포함하여 셉니다.
바른은 이 체계를 학습 데이터의 분절 지침으로 삼았고, 모델이 그 패턴을 가중치로 흡수했습니다.
전체 116개 레이블 가운데 14개는 오류 탐지용 레이블입니다. 나머지 형태론 규칙이 표면형을 원래 형태소로 복원하는 일을 맡는다면, 이 14개는 분절 단계에서 형태적 오류 (불규칙 활용 오류, 축약·모음 순행동화 오류 등)를 식별합니다. 즉 분절 모델이 형태소를 복원하는 동시에 "이 어절은 형태가 틀렸다"는 신호를 함께 내주는 것이며, 이 신호가 맞춤법 검사기로 이어지는 다리가 됩니다.
레이블의 8가지 분류
116개 분절 레이블은 다루는 형태론 현상에 따라 다음 8가지로 분류됩니다.
| 분류 | 다루는 현상 |
|---|---|
| 기본 | 변형 없이 형태소 경계만 나누는 기본 분절 |
| 불규칙활용 | ㅂ·ㅅ·ㄹ·러·르 불규칙 등 어간·어미가 바뀌는 활용 |
| 탈락 | 어간·어미의 일부 음운이 사라짐(ㅡ 탈락 등) |
| 축약 | 두 음절·음운이 한 음절로 합쳐짐 |
| 생략 | 조사·어미가 표면에서 빠짐 |
| 활용-지정사 | 지정사 이(VCP)가 얽힌 활용·복원 |
| 기타 | 위 갈래에 속하지 않는 보조적 변환 |
| 예외 | 일반 규칙으로 다루기 어려운 개별 예외 |
대표적인 예로 104번째 규칙 생략_모음체언_이_ㄴㄹㅂ_1이 있습니다.
이름만 봐도 "모음으로 끝나는 체언 뒤에서 조사 이가 생략되고 뒤따르는 자음(ㄴ/ㄹ/ㅂ)과
얽히는 경우"를 다루는 규칙임을 짐작할 수 있습니다.
"킵"의 네 가지 분절 — 문맥으로 가르는 동음이의
표면형이 같아도 문맥에 따라 분절이 달라집니다. 킵은 무려 네 가지로 갈라질 수 있는데,
분절 모델은 문맥을 보고 그중 하나를 고릅니다.
개인 킵니다. → 개인(개인/NNG) + 킵니다.(키/NNG + 이/VCP + ㅂ니다/EF + ./SF)
고리킵니까? → 고리킵니까?(고리키/NNP + 이/VCP + ㅂ니까/EF + ?/SF)
두 예 모두 모음으로 끝나는 체언 뒤에서 지정사 이가 생략되고 뒤따르는 자음과 얽히는
105번째 규칙 생략_모음체언_이_ㄴㄹㅂ_0이 작동한 결과입니다. 같은 킵이라도 앞말이 무엇인지에 따라
체언+지정사 구성이 달라지므로, 사전 매칭만으로는 풀기 어렵고 문맥을 보는 분절 모델이
필요합니다.
점진적으로 늘어난 레이블 체계
분절 레이블 체계는 한 번에 완성된 것이 아니라, 새로운 변형을 만날 때마다 레이블을 더하며
점진적으로 발전해 왔습니다. 예를 들어 73번째 레이블 축약_방언_었 은 선어말어미
시가 축약되거나 방언형으로 나타나는 경우(돌아가싯다 = 돌아가 + 시 + ㅅ + 다,
사삣다 = 사 + 어 + 삐 + ㅅ + 다)를 잡기 위해 더한 레이블입니다. 구어·방언 데이터를
학습에 반영하면서 이런 레이블이 차례로 더해졌고, 지금의 116개 체계(오류 탐지 14개 포함)에
이르렀습니다.
분절 규칙이 다루는 한국어 변형 카탈로그
분절 규칙은 크게 네 가지 한국어 형태론 현상을 다룹니다.
| 분류 | 현상 | 예시 |
|---|---|---|
| 활용(活用) | 용언 어간에 어미가 붙으며 형태가 바뀜 | 갔다 → 가/VV + 았/EP + 다/EF |
| 축약(縮約) | 두 음절이 한 음절로 합쳐짐 | 봤어 → 보/VV + 았/EP + 어/EF |
| 탈락(脫落) | 어간이나 어미의 일부가 사라짐 | 써서 → 쓰/VV + 어서/EC |
| 생략(省略) | 조사·어미가 표면에서 빠짐 | 학교 간다 의 주격조사 생략 |
graph LR
EOJ[어절] --> SEG[분절 모델];
SEG --> A[활용 복원];
SEG --> B[축약 복원];
SEG --> C[탈락 복원];
SEG --> D[생략 복원];
A --> M[원형 형태소];
B --> M;
C --> M;
D --> M;
복원의 결과 — 표면형에서 원형으로
분절 규칙의 목적은 표면에 보이는 형태를 사전에 있는 원래 형태로 되돌리는 것입니다.
이렇게 복원된 형태소들은 원문의 어느 음절에서 왔는지 위치 정보를 그대로 유지합니다. 복원으로 글자 수가 달라지더라도 각 형태소가 원문의 정확한 시작 위치를 가리키도록 후처리 단계에서 오프셋을 다시 계산합니다.
왜 규칙을 학습으로 풀까
규칙을 코드로 일일이 박아두면 새로운 변형이나 예외를 만날 때마다 사람이 손을 대야 합니다. 바른은 규칙 체계를 학습 데이터의 지침으로 삼아 모델에 흡수시켰기 때문에, 학습되지 않은 변형도 문맥으로 추론할 수 있습니다.
자주 묻는 질문
Q. 116개 분절 규칙 목록을 파일로 볼 수 있나요?
아니요. 규칙은 별도의 텍스트 파일이 아니라 학습된 분절 모델(seg-model.onnx)의
가중치 안에 인코딩되어 있습니다. 사람이 규칙을 코딩해 넣은 방식이 아닙니다.
Q. 116개 분절 레이블 중 14개가 오류 탐지용이라는 건 무슨 뜻인가요?
116개 가운데 14개는 표면형을 복원하는 형태론 규칙이 아니라, 분절 단계에서 형태적 오류 (불규칙 활용 오류, 축약·모음 순행동화 오류 등)를 식별하는 레이블입니다. 이 오류 신호가 맞춤법 검사기로 이어져, 분절 모델이 형태소 복원과 오류 탐지를 동시에 수행합니다.
Q. 분절 규칙은 어떤 한국어 현상을 다루나요?
용언의 활용, 음절 축약, 음운 탈락, 조사·어미 생략 같은 한국어 형태론 변형을 다룹니다. 레이블은 기본·불규칙활용·탈락·축약·생략·활용-지정사·기타·예외의 8가지로 분류되며, 표면형을 사전의 원래 형태로 복원하는 것이 목적입니다.
Q. 생략_모음체언_이_ㄴㄹㅂ_1은 무슨 규칙인가요?
104번째 분절 규칙으로, 모음으로 끝나는 체언 뒤에서 조사가 생략되고
뒤따르는 자음과 얽히는 경우를 복원하는 규칙입니다. 같은 계열의 105번째 규칙 생략_모음체언_이_ㄴㄹㅂ_0은
개인 킵니다(키/NNG + 이/VCP + ㅂ니다/EF)나 고리킵니까(고리키/NNP + 이/VCP + ㅂ니까/EF)처럼
킵을 문맥에 따라 갈라내는 데 쓰입니다.
도움이 되었나요?