콘텐츠로 이동

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 폴백이 돌려준 NONSTANDARDSTANDARD로, TYPOTYPO로, SPACINGSPACING으로 매핑됩니다. 덕분에 사용자는 교정이 어떤 경로로 이뤄졌는지와 무관하게 일관된 분류를 보게 됩니다.

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. 교정 근거는 어떻게 확인하나요?

Revisionhelp_idReviseHelp를 가리키며, 거기에 교정 이유(comment), 예시(examples), 규정 출처(rule_article)가 담겨 있습니다.

Q. 바른은 오류를 원인별로 어떻게 나눠 대응하나요?

문법적 오류는 GRAMMER, 비표준어 오류는 STANDARD, 외래어 표기는 FOREIGN_WORD, 발음이 비슷한 혼동 단어는 CONFUSABLE_WORDS로 대응합니다. 발음 관련 오류는 표기 양상에 따라 GRAMMERSTANDARD 등으로 분류됩니다.

Q. 문장 전체 단위의 오류 교정도 있나요?

의미 중첩, 중의성, 지나친 생략, 피동·사동 남용, 주술 호응, 외래어 남용, 구두점 같은 문장 레벨 오류 교정은 LLM을 활용해 구현할 예정이며, 그 결과는 SENTENCE 카테고리로 분류됩니다.

도움이 되었나요?