AI 기초

텍스트 분류는 어떻게 작동하나요?

mm
Unite.AI를 Google의 선호 소스에 추가

텍스트 분류는 문서, 메시지 또는 텍스트 구간에 하나 이상의 레이블을 부여합니다. 예시로는 스팸 탐지, 의도 라우팅, 감성 분석, 주제 태깅, 모더레이션 및 지원 티켓 우선순위 지정이 있습니다.

프로덕션 분류기는 단순한 모델을 넘어섭니다. 정확한 레이블 분류 체계, 대표적인 주석, 누수 방지 데이터 분할, 보정된 의사결정 규칙 및 변화하는 언어와 클래스 비율을 모니터링하는 것이 필요합니다.

핵심 요점

  • 아키텍처를 선택하기 전에 레이블과 모호한 경우를 정의합니다.
  • 단순 bag-of-words 기준선은 여전히 유용하며, 사전 학습된 인코더는 컨텍스트와 전이 학습을 추가합니다.
  • 정확도만으로는 소수 클래스 성능이 낮은 경우를 감추기 때문에, 클래스 인식 메트릭과 오류 분석을 사용합니다.
  • 확률 보정, 보류와 인간 검토를 통해 점수를 보다 안전한 결정으로 전환합니다.
How Does Text Classification Work? diagram showing raw text, tokenize, represent, classify, calibrate, evaluate
임계값은 점수를 행동으로 변환합니다; 보류와 검토는 불확실성을 처리합니다.

분류 체계 및 주석 정책 정의

단일 레이블 작업은 서로 배타적인 하나의 클래스를 선택합니다. 다중 레이블 작업은 여러 독립적인 태그를 부여할 수 있습니다. 계층형 분류 체계는 상위와 하위 레이블을 포함합니다. 이러한 작업은 서로 다른 학습 문제이며, 서로 다른 출력 및 메트릭을 필요로 합니다.

주석자는 정의, 긍정 및 부정 예시, 누락된 컨텍스트에 대한 규칙 및 에스컬레이션 경로가 필요합니다. 합의 통계는 불명확한 작업을 드러낼 수 있지만, 의견 차이는 시스템이 보존해야 할 실제 모호성을 나타낼 수도 있습니다.

텍스트 표현

전통적인 파이프라인은 토큰 카운트, n-gram 및 TF-IDF를 선형 분류기나 지원 벡터 머신과 함께 사용합니다. 이들은 빠르게 학습하고 영향력 있는 용어를 드러내며 강력한 기준선을 제공합니다.

신경망 시스템은 토큰을 임베딩으로 매핑합니다. 사전 학습된 트랜스포머 인코더는 어텐션을 사용해 컨텍스트 표현을 생성하며 레이블이 있는 예시로 미세 조정될 수 있습니다. 프롬프트 기반 또는 제로샷 분류기는 초기 라벨링을 줄일 수 있지만, 레이블 문구, 모델 버전 및 보정은 실제 도메인에서 평가되어야 합니다.

누수 없는 학습

데이터셋은 학습, 검증 및 최종 테스트 데이터로 분리됩니다. 거의 중복되는 문서, 동일 대화에서 온 메시지 또는 동일 출처의 템플릿은 하나의 분할에 유지되어야 합니다. 시간에 의존하는 경우, 연대순 분할이 배포를 더 잘 나타냅니다.

클래스 불균형은 가중치 부여, 재샘플링, 임계값 선택 또는 추가 데이터를 통해 해결할 수 있습니다. 합성 예시는 실제 소수 클래스 실패에 대한 검토를 대체해서는 안 되며, 모델이 쉽게 학습하는 인공물을 도입할 위험이 있습니다.

메트릭 및 보정된 결정

혼동 행렬은 어떤 레이블이 혼동되는지를 보여줍니다. 정밀도는 예측된 양성 중 얼마나 정확한지를 측정하고, 재현율은 실제 양성을 얼마나 찾아냈는지를 측정합니다. 매크로 평균은 클래스마다 동일하게 가중하고, 마이크로 평균은 개별 예시마다 가중합니다.

원시 소프트맥스 점수가 자동으로 신뢰할 수 있는 확률은 아닙니다. 보정은 신뢰도와 실제 정확성을 비교합니다. 팀은 클래스별 임계값을 설정하고, 신뢰도가 낮을 때 보류(abstain)하며, 민감한 경우를 검토자에게 전달할 수 있습니다.

배포, 다국어 사용 및 드리프트

텍스트는 제품, 이벤트, 속어 및 적대적 행동에 따라 변합니다. 모니터링은 입력 언어, 길이, 어휘 외 패턴, 클래스 비율, 신뢰도 및 지연된 결과를 추적해야 합니다. 재학습은 버전 관리된 데이터와 중요한 예시들의 회귀 테스트 스위트를 필요로 합니다.

다국어 성능은 언어와 방언별로 테스트해야 합니다. 모든 것을 하나의 언어로 번역하면 감정이나 엔터티가 변할 수 있습니다; 다국어 인코더는 사전 학습 및 레이블이 고르게 대표되지 않아 여전히 고르지 않은 성능을 보일 수 있습니다.

표현 및 분류기 계열

텍스트 분류는 문서, 문장 또는 토큰 시퀀스를 하나 이상의 레이블에 매핑합니다. 레이블이 상호 배타적인지, 다중 레이블인지, 계층형인지, 순서가 있는지, 혹은 오픈 세트인지 정의합니다. 전통적인 파이프라인은 텍스트를 토큰화하고 bag-of-words 또는 TF–IDF 특징을 구축한 뒤 로지스틱 회귀, 나이브 베이즈 또는 선형 SVM을 학습합니다. 신경망 시스템은 컨볼루션, 순환 또는 트랜스포머를 사용해 임베딩을 학습합니다. 프롬프트 기반 언어 모델은 작업 특화 학습 없이도 분류할 수 있지만, 출력 제약, 비용, 드리프트 및 증거는 여전히 단순 기준선과 비교 평가가 필요합니다.

전처리는 표현 방식에 따라 달라집니다. 소문자 변환이나 구두점 제거는 이름, 감정, 코드 또는 언어에 대한 신호를 파괴할 수 있으며, 어간 추출은 서로 다른 의미를 합칠 수 있습니다. 트랜스포머 토크나이저는 서브워드 단위로 동작하고 길이 제한이 있으므로 잘라내기 전략이 중요합니다. 긴 문서는 청크화와 집계가 필요할 수 있습니다. 원시 텍스트와 변환 버전을 보존하고, 저자, 대화, 출처 또는 시간별로 분할하여 거의 중복되는 문서와 반복 템플릿이 학습과 테스트를 교차하지 않도록 합니다.

레이블, 메트릭 및 오류 분석

주석 가이드는 범위, 예시, 모호한 경우 및 알 수 없거나 보류 옵션을 정의해야 합니다. 합의를 측정하고 의견 차이를 다수결로 숨기기보다 조정해야 합니다. 불균형 클래스의 경우 정확도만으로는 부족하며, 정밀도, 재현율, F1, 혼동 행렬, 보정 및 클래스별 임계값 기반 작업량을 보고해야 합니다. 다중 레이블 작업은 마이크로, 매크로 및 레이블 수준 메트릭이 필요합니다. 언어, 방언, 도메인, 메시지 길이 및 시간을 평가합니다. 어휘나 템플릿 드리프트가 있을 때 무작위 분할은 품질을 과대평가할 수 있습니다.

오류 분석은 표현 실패, 부족한 컨텍스트, 레이블 모호성, 희귀 어휘, 부정, 풍자 및 허위 단서를 구분해야 합니다. 의미를 유지하면서 이름, 방언 표시 또는 관련 없는 메타데이터를 변경하는 반사실 테스트를 사용합니다. 높은 신뢰도의 오류와 거부된 사례를 검토합니다. 모델이 고객 채널이나 서명이 레이블을 예측한다는 것을 학습할 수 있으므로, 단순히 모델 용량을 늘리기 전에 누수를 제거하고 데이터를 수정해야 합니다.

프로덕션 설계

고정된 토크나이저와 모델을 스키마 검증, 길이 제한, 배치 처리와 지원되지 않는 언어 또는 낮은 신뢰도에 대한 대체 옵션과 함께 제공하십시오. 입력 분포, 레이블 비율, 보정, 지연 시간 및 검토된 결과를 모니터링합니다. 텍스트에는 개인, 기밀 또는 적대적인 지시가 포함될 수 있으므로 보호해야 합니다. 자동 모더레이션, 적격성 판단 또는 라우팅의 경우, 이의 제기를 제공하고 불균형 오류를 측정합니다. 비즈니스 정책에 따라 레이블과 임계값을 버전 관리합니다. 텍스트 분류는 정의된 레이블 시스템과 데이터 분포 내에서만 신뢰할 수 있으며, 유창한 모델 설명이 분류가 올바르다는 것을 증명하지는 않습니다.

작업 예시: 들어오는 지원 요청 분류

지원 팀은 상호 배타적인 라우팅 레이블과 긴급, 다국어, 알 수 없음 플래그를 정의합니다. 주석자는 혼합 이슈에 대한 지침을 제공하고 익명화된 메시지에 레이블을 붙이며 합의를 측정합니다. TF–IDF 로지스틱 기준선, 미세 조정된 인코더, 프롬프트 모델이 동일한 시간 기반 테스트 세트를 사용합니다. 평가 보고서는 클래스 정밀도와 재현율, 긴급 오류(거짓 음성), 보정, 스키마 유효성, 지연 시간 및 비용을 제공하며, 누수를 방지하기 위해 거의 중복되는 템플릿을 그룹화합니다.

배포된 분류기는 언어와 길이를 검증하고, 근거가 약할 경우 보류(abstain)하며, 에이전트가 라우팅을 수정하도록 허용합니다. 프롬프트와 메시지는 신뢰할 수 없는 것으로 간주되며, 도구 접근은 제공되지 않습니다. 모니터링은 레이블 보급률, 신뢰도, 수정, 응답 시간 및 새로운 주제를 추적합니다. 정책 또는 제품 변경은 검토를 통해 분류 체계와 재학습 데이터를 업데이트합니다. 시스템은 대기열 배치를 개선하지만, 검증된 레이블을 넘어 고객 감정이나 권리를 추론하지는 않습니다.

구현 증거 및 운영 준비성

프로덕션 결정은 성공적인 시연만으로는 충분하지 않습니다. 의도된 사용자, 운영 환경, 입력, 출력, 의존성, 소유자 및 각 중요한 실패의 결과를 정의합니다. 튜닝 전에 재현 가능한 기준선과 버전 관리된 평가 세트를 구축합니다. 일반적인 경우, 경계 조건, 잘못된 또는 누락된 입력, 분포 변동, 의존성 중단, 오용 및 소외될 가능성이 높은 그룹이나 환경을 테스트합니다. 작업 품질을 보정 또는 불확실성, 지연 시간, 처리량, 자원 비용, 접근성, 프라이버시 및 보안과 함께 측정합니다. 모든 변환 및 임계값을 기록하여 독립적인 검토자가 결과를 재현하고 매력적인 프로토타입과 증거를 구분할 수 있게 합니다.

출시 전에는 릴리스, 예외, 변경, 롤백 및 폐기에 대한 권한을 지정합니다. 단계적 롤아웃을 사용하고 안전한 대체 옵션을 유지하며, 의도적으로 삽입된 실패를 통해 모니터링을 검증합니다. 운영 텔레메트리는 불필요한 민감 데이터를 수집하지 않으면서 입력 품질, 출력 동작, 모델 또는 규칙 버전, 의존성 상태, 인간 오버라이드 및 확인된 결과를 밝혀야 합니다. 알림 임계값과 대응 담당자를 정의하고, 오프라인 성능이 지속될 것이라고 가정하지 말고 배포 후 실제 증거를 검토합니다. 데이터 소스, 사용자, 모델, 공급업체, 정책, 하드웨어 또는 목표가 변경될 때마다 재평가합니다. 유지되는 시스템은 문서화된 복구, 사고 학습, 삭제 및 보존 절차와 함께 언제 비활성화하거나 교체해야 하는 명확한 시점을 필요로 합니다.

자주 묻는 질문

감성 분석은 텍스트 분류 작업인가요?

보통은 그렇지만, 감성은 단일 긍정/중립/부정 레이블 대신 다중 레이블, 측면 기반 또는 연속형일 수 있습니다.

텍스트 분류기가 언제 보류(abstain)해야 하나요?

신뢰도가 낮거나 텍스트가 범위 밖에 있거나 필요한 컨텍스트가 누락되었거나, 잘못된 자동 행동의 비용이 검토 비용을 초과할 때입니다.

주요 참고문헌

블로거이자 프로그래머로 Machine Learning과 Deep Learning 주제에 전문가입니다. 다니엘은 다른 사람들이 AI의 힘을 사회적善으로 사용하는 것을 돕기를 희망합니다.