상세 컨텐츠

본문 제목

디지털 인문학 공부 : 근대 한국어 토크나이저 적용 및 전처리 학습 기록 (26.01-02 기록)

디지털 역사학

by 디지털 역사학 2026. 6. 24. 14:32

본문

블로그의 토크나이저 포스팅(2026년 1~2월)을 보고서 형식으로 다듬어 정리했습니다.

 

관련 원본 링크는 하단에 제시했으며,

이 포스팅의 내용과 6월의 토크나이저 활용 연구 내용이 '검증 기록'으로 재구성되었습니다.


 

근대 한국어 토크나이저 적용 및 전처리 학습 기록 (26.01-02 기록)


1. 연구 배경

일제강점기 신문 자료를 보고자, 현대 한국어 형태소 분석기를 그대로 적용하여 LDA 토픽 모델링을 수행했다. 그러나 결과는 예상과 달랐다. 한자 혼용 표현과 근대 한국어 문체는 제대로 처리되지 않았고, 분석 결과도 불안정했다. 이 과정에서 김병준(2024)이 공개한 ModernKoreanSubword 토크나이저를 접하게 되었다. 대한제국–일제강점기 텍스트를 대상으로 학습된 모델이라는 설명을 보고, 본격적인 비교 실험을 시작하게 되었다.


2. 분석 환경

  • Python / VS Code
  • ModernKoreanSubword Tokenizer (Kiwi 기반 SwTokenizer)
  • CountVectorizer + Latent Dirichlet Allocation (scikit-learn)
  • 데이터: 조선일보 샘플 기사 약 1,000건


3. 1차 실험 결과

토크나이저는 정상적으로 작동하였다.

한자 단어 역시 문제 없이 인식되었으며 다음과 같은 핵심어가 추출되었다.

裁判 / 檢事 / 事件 / 犯罪 / 學校 / 學生 / 敎育 / 政府 / 國際

LDA 분석 결과는 다음과 같이 3개의 토픽으로 구분되었다.

Topic 1 — 사법·경찰·재판

裁判 / 檢事 / 事件 / 犯罪 / 警察 / 被告

Topic 2 — 학교·교육

學校 / 學生 / 敎育 / 卒業 / 兒童 / 學友

Topic 3 — 국제정세

政府 / 國際 / 英國 / 交涉 / 條約 / 委員

표면적으로는 매우 자연스러운 결과였다.

특히 한자 기반 텍스트가 구조적으로 분리된다는 점은 인상적이었다.


4. 초기 문제의식의 발생

그러나 결과를 검토하는 과정에서 하나의 이상 현상이 발견되었다.

분석 대상 핵심어로 설정했던 세 단어는 다음과 같다:

  • 범죄
  • 테러
  • 교육

이 중 ‘교육’과 ‘범죄’는 토픽 내에서 명확히 등장했지만,

‘테러’는 거의 관측되지 않았다.

처음에는 토크나이저 문제로 생각했다.

하지만 실제 원문을 확인하면서 상황은 달라졌다.

일제강점기 신문에서는테러라는 표현 대신 다음과 같은 용어가 사용되고 있었다.

  • 폭도
  • 불령선인
  • 사상범
  • 폭탄 사건

즉 문제는 모델이 아니라 데이터였다.

더 정확히 말하면 역사적 개념어 자체가 시대에 따라 다르게 구성된다는 점이었다.


5. 전처리 과정에서 확인된 한계

실험을 반복하면서 분석 결과는 모델보다 전처리 방식에 크게 의존한다는 점이 드러났다.

(1) 사용자 사전 문제

같은 개념도 표현 방식이 달랐다.

  • 교육敎育
  • 독립獨立
  • 경찰警察

어떤 형태를 사전에 포함하느냐에 따라 결과가 달라졌기에 키워드 사전 구축이 어려웠다.

 

(2) 불용어 처리 문제

불용어 제거는 토픽 품질을 개선했지만,

동시에 역사적 의미를 제거할 위험도 있었다.

예를 들어사람’, ‘일반과 같은 단어는

일반 NLP에서는 불용어이지만 역사 자료에서는 특정 담론 구조를 구성할 수도 있었다.

(3) 토크나이저의 의미 변화

처음에는 토크나이저를 단순한 분절 도구로 이해했다.

그러나 실험을 반복하면서 인식이 바뀌었다.

토크나이저는 단어를 나누는 도구가 아니라

역사적 개념어를 어떤 단위로 인식할 것인가를 결정하는 구조적 장치였다.

6. 연구 관점의 변화

처음에는 모델 성능을 높이는 것이 목표였다.

그러나 실험이 진행될수록 관심은 점차 전처리로 이동했다.

결국 핵심 문제는 모델이 아니라 데이터 구성 방식이었다.

이 과정에서 다음과 같은 질문이 등장했다:

  • 근대 한국어는 현대 한국어와 얼마나 다른가
  • 동일 개념은 시대별로 어떻게 다른 표현을 갖는가
  • 불용어 기준은 누구에 의해 결정되는가
  • 사용자 사전은 어떻게 구성되어야 하는가

코드는 정상적으로 작동했지만,

분석 과정에서는 계속해서이 단어는 왜 이렇게 잘렸는가라는 질문이 남았다.


7. 방법론적 의미

이 실험은 LDA 모델 자체를 검증하기 위한 작업이 아니라

텍스트 분석 이전 단계에서 전처리가 갖는 중요성을 확인하는 과정이었다.

핵심은 정확도가 아니라 전처리의 역사성이었다.

근대 한국어 자료를 분석하기 위해서는

현대 한국어 기반 NLP만으로는 한계가 있으며,

도메인 특화 토크나이저, 사용자 사전, 불용어 기준, 개념어 변화까지 함께 고려해야 한다는 점을 확인했다.


8. 후속 연구로의 연결

이 실험을 통해 가장 크게 변화한 것은 연구 관점이다.

관심은모델이 무엇을 예측하는가에서

데이터가 어떻게 구성되어 있는가로 이동했다.

동일한 사건이라도 시대와 기록 체계에 따라 전혀 다른 언어로 표현된다는 사실은

이후 연구에서 기록 체계 간 분류 구조와 개념어 변화를 분석하는 문제의식으로 확장되었다.

예전에는코드가 돌아가면 끝이라고 생각했다.

지금은 코드가 돌아간 이후에야 비로소 질문이 시작된다는 것을 이해하게 되었다.

 

 

추신. 원본 링크

https://uourstar.tistory.com/28

 

디지털 역사학 : 김병준 교수님 오픈소스 tokenizer로 분석하는 일제강점기 조선일보 텍스트

작년부터 프로그래밍 학원 다니고 있긴 한데,그냥 컴퓨터 사양만 괜찮으면 그것도 감사하단 마음으로 주로 혼자 공부하고 있다. 특히 램이 16기가라서 감사하고(내 노트북은 몇 기가.....?ㅎ)그동

uourstar.tistory.com

 

 

https://uourstar.tistory.com/29

 

디지털 역사학 : tokenizer를 잘 쓰려면 뭘 더 공부해야 할까

"공유 및 검토 목적이 달성된 듯하여, 자세한 내용은 비공개 전환했습니다.현재 관련 내용은 연구계획서와 Git 저장소에서 별도 관리하고 있으며공개 글에서는 문제의식 중심으로만 소개하게 되

uourstar.tistory.com

 

 

 

관련글 더보기