FST 기반 분류기 구조 및 코드 리팩토링 (Day 435)

Source

  • Field Notes/ReturnZero/Daily Notes/Day 435. 2022-09-08.md

Summary

이 노트는 FST(Finite State Transducer)를 활용한 텍스트 분류 시스템의 설계 논의와 코드베이스 리팩토링 진행 상황을 기록한 일기 형식의 메모입니다. 핵심은 FST 인스턴스를 클래스 이름 접미사로 결합하여 최종 accept 시 클래스 정보를 파싱하는 방식, 그리고 SpeechActClassifierHighlighter로 명명 변경하고 인터페이스를 단일 문장/레코드 처리로 정의하는 것입니다. 또한 데이터 폴더 구조(patters, dictionaries 등)를 클래스 이름과 일치하도록 정리했습니다.

Key Points

  • FST 구조: 각 FST에 클래스 이름 접미사(_{class})를 삽입하고, 모든 FST를 compose하여 하나로 통합. Accept 시 붙은 클래스 문자열을 파싱하여 결과 도출.
  • 코드 리팩토링: SpeechActClassifier 추상 클래스를 Highlighter로 이름 변경. 네이밍 규칙(방법론 표기)에 대한 고민 포함.
  • 인터페이스 정의: 단일 문장 입력 메소드와 레코드 입력 메소드를 제공하는 구조로 설계.
  • 데이터 구조 정리: data 디렉토리 하위에 patterns, dictionaries, blacklists 구성. 파일명(확장자 제외)을 클래스 이름과 일치시킴.
  • 검증: 기존 패턴을 사용하여 atomic class 검증 진행.