RevisionCategory 한눈에
RevisionCategory 카테고리 한눈에
바른은 맞춤법 교정을 하면서 각 교정이 어떤 종류인지를 RevisionCategory로 분류해 함께 돌려줍니다.
이 카테고리를 보면 "왜, 어떤 어법 관점에서 고쳤는지"를 알 수 있어, 사용자에게 교정 근거를 보여줄 때 핵심이 됩니다.
이 글은 RevisionCategory의 모든 값을 한 표로 정리합니다.
카테고리 전체 목록
교정 결과의 각 Revision에는 category 필드가 붙습니다. 값은 다음 중 하나입니다.
| 카테고리 | 의미 | 예시 |
|---|---|---|
UNKNOWN |
분류되지 않음 | — |
GRAMMER |
맞춤법·어법(활용·조사 결합·구두점) | 벼르고 벼러 → 벼르고 별러 |
WORD |
단어 규칙(사이시옷·두음법칙·한자 결합) | 로인 → 노인 |
SPACING |
띄어쓰기·붙여쓰기 | 아름다운강산 → 아름다운 강산 |
STANDARD |
표준어(비표준어 → 표준어) | 글장이 → 글쟁이, 알타리무 → 총각무 |
TYPO |
오탈자 | 스빈다 → 습니다 |
FOREIGN_WORD |
외래어 표기법 | 쵸콜릿 → 초콜릿 |
CONFUSABLE_WORDS |
혼동어 | 발음·표기가 비슷해 헷갈리는 단어쌍 |
SENTENCE |
문장 단위 점검 | 문장 전체 관점의 교정 |
CONFIRM |
확인 필요 | 자동 확정이 어려워 사용자 확인 권장 |
THINKING |
후처리 진행 중 | 스트리밍 중간 상태 표시 |
GRAMMER와 WORD는 무엇이 다른가요?
GRAMMER(맞춤법 어법)는 활용·조사 결합·구두점처럼 단어가 문장 안에서 변형되거나 결합하는 규칙을 다룹니다
(예: 르 불규칙 활용 벼러 → 별러). WORD(단어 규칙)는 사이시옷·두음법칙·한자 결합처럼
단어 자체의 표기 규칙을 다룹니다(예: 두음법칙 로인 → 노인). 둘 다 한글맞춤법에 근거하지만 적용 층위가 다릅니다.
카테고리는 어디에 실리나
교정 결과의 계층 구조에서 카테고리는 Revision 단위에 붙고, 그 근거는 ReviseHelp로 연결됩니다.
classDiagram
CorrectErrorResponse *-- RevisedBlock
RevisedBlock *-- Revision
Revision --> ReviseHelp : help_id
class RevisedBlock {
TextSpan origin
String revised
list~Revision~ revisions
}
class Revision {
String revised
float score
RevisionCategory category
String help_id
}
class ReviseHelp {
String id
RevisionCategory category
String comment
list~String~ examples
String rule_article
}
Revision.category— 이 교정이 어떤 종류인지(RevisionCategory).Revision.help_id— 근거 설명(ReviseHelp)을 가리키는 키.ReviseHelp.comment/examples/rule_article— 교정 이유·예시·규정 출처.
규칙 교정과 LLM 교정의 카테고리가 일치한다
같은 종류의 오류는 규칙으로 고치든 LLM으로 고치든 같은 카테고리로 통일됩니다.
예를 들어 LLM 폴백이 돌려준 NONSTANDARD는 STANDARD로, TYPO는 TYPO로, SPACING은 SPACING으로 매핑됩니다.
덕분에 사용자는 교정이 어떤 경로로 이뤄졌는지와 무관하게 일관된 분류를 보게 됩니다.
CONFIRM·THINKING은 상태 성격의 카테고리
CONFIRM은 자동 확정이 어려워 사용자 확인을 권하는 교정에, THINKING은 스트리밍(StreamCorrectError) 중
아직 후처리가 진행 중임을 알리는 데 쓰입니다. 일반 어법 카테고리와 성격이 조금 다릅니다.
오류 원인별로 본 대응
위 RevisionCategory는 결과에 실리는 코드상의 분류값입니다. 한편 바른 교정기를 설계할 때는 오류를
원인별로 나눠 대응 방법을 갖췄는데, 그 관점은 다음과 같이 카테고리와 이어집니다.
| 오류 원인 | 대표 대응 | 관련 카테고리 |
|---|---|---|
| 문법적 오류 | 활용·조사 결합·구두점 규칙 교정 | GRAMMER |
| 비표준어 오류 | 표준국어대사전 규칙 체계 기반 비표준어 사전 | STANDARD |
| 외래어 표기 | 외래어 표기법 적용 | FOREIGN_WORD |
| 혼동 단어 | 발음이 비슷한 단어를 맥락으로 LLM이 선택 | CONFUSABLE_WORDS |
| 발음 관련 오류 | 소리 나는 대로 잘못 적은 표기 교정 | GRAMMER / STANDARD 등 |
〈구현 예정〉 문장 레벨 오류 교정
위 원인별 대응이 어절·단어 단위라면, 문장 전체를 보는 문장 레벨 오류 교정은 LLM을 활용해 구현할 예정입니다.
의미 중첩, 중의성, 지나친 생략, 피동 남용, 사동 남용, 주술(주어·서술어) 호응 문제, 외래어 남용, 주어·목적어 호응,
적절하지 않은 어휘, 구두점 등이 검토되고 있으며, 이 결과는 SENTENCE 카테고리로 분류됩니다.
자주 묻는 질문
Q. RevisionCategory에는 어떤 값들이 있나요?
UNKNOWN, GRAMMER, WORD, SPACING, STANDARD, TYPO, FOREIGN_WORD, CONFUSABLE_WORDS,
SENTENCE, CONFIRM, THINKING 입니다. 각각 맞춤법·단어 규칙·띄어쓰기·표준어·오탈자·외래어·혼동어 등을 나타냅니다.
Q. GRAMMER와 WORD의 차이는 무엇인가요?
GRAMMER는 활용·조사 결합·구두점 같은 어법 규칙을, WORD는 사이시옷·두음법칙·한자 결합 같은
단어 자체의 표기 규칙을 다룹니다.
Q. 교정 근거는 어떻게 확인하나요?
각 Revision의 help_id가 ReviseHelp를 가리키며, 거기에 교정 이유(comment), 예시(examples),
규정 출처(rule_article)가 담겨 있습니다.
Q. 바른은 오류를 원인별로 어떻게 나눠 대응하나요?
문법적 오류는 GRAMMER, 비표준어 오류는 STANDARD, 외래어 표기는 FOREIGN_WORD, 발음이 비슷한
혼동 단어는 CONFUSABLE_WORDS로 대응합니다. 발음 관련 오류는 표기 양상에 따라 GRAMMER나 STANDARD 등으로 분류됩니다.
Q. 문장 전체 단위의 오류 교정도 있나요?
의미 중첩, 중의성, 지나친 생략, 피동·사동 남용, 주술 호응, 외래어 남용, 구두점 같은 문장 레벨 오류 교정은
LLM을 활용해 구현할 예정이며, 그 결과는 SENTENCE 카테고리로 분류됩니다.
도움이 되었나요?