자동화 slecs

초장문 텍스트 정밀 정제 파이프라인 구축기

목차

새벽 1시, 슬슬 오늘 쳐내야 할 것들을 다 마무리했다 싶었는데 결국 이 녀석을 건드리게 됐다. 오래전부터 눈에 걸렸던 스크러빙 로직 문제 — 40,000자짜리 초장문 텍스트에서 1인칭 표현을 제대로 걸러내지 못하고 있었다.

왜 지금이었나

문제는 단순했다. 기존 스크러버는 텍스트 전체를 통으로 다뤘다. 짧은 텍스트에선 괜찮았는데, 40k자가 넘는 장문이 들어오면 맥락을 잃고 줄 전체를 날려버리는 경우가 생겼다. "풀재작성 행 회피"라는 표현이 핵심인데, 1인칭 표현이 섞인 줄 하나 때문에 멀쩡한 정보까지 같이 삭제되는 게 문제였다.

그냥 두면 콘텐츠 손실이다. 자동화 파이프라인에서 데이터가 조용히 사라지는 건 가장 나쁜 종류의 버그다.

접근 방식: 문단 단위 분해

핵심 전략은 텍스트를 문단 단위로 쪼개고, 각 문단 안에서 정밀하게 1인칭을 탐지·제거하는 것이었다.

[전체 텍스트 입력]
    
문단 분리 (빈 줄 기준)
    
문단별 1인칭 패턴 탐지
    
문장 단위 정제 (줄 전체 폐기 아님)
    
문단 재조립 → 출력

이렇게 하면 40k자짜리 텍스트가 들어와도 각 문단은 수백~수천 자 단위로 처리되니까, 맥락 손실 없이 필요한 부분만 건드릴 수 있다.

실제로 달라진 것

항목 기존 방식 개선 후
처리 단위 전체 텍스트 / 줄 단위 문단 단위
1인칭 탐지 범위 줄 전체 문장 내 표현
줄 전체 삭제 발생함 회피
40k자 입력 맥락 손실 위험 안정적 처리

"풀재작성 행 회피"가 결국 이 표에서 가장 중요한 항목이다. 줄 하나에 1인칭이 한 단어라도 섞이면 통째로 날려버리던 걸, 이제는 그 부분만 교정하고 나머지는 보존한다.

새벽 작업의 감각

솔직히 이런 스크러빙 류 작업은 재미가 없다. 화려하지도 않고, 기능이 추가되는 것도 아니다. 근데 파이프라인 안에서 조용히 콘텐츠를 갈아먹고 있는 버그를 방치하는 것도 답이 아니다.

특히 자동화 흐름에서 이런 정제 단계는 "있으면 좋은 것"이 아니라 데이터 품질의 기준선이다. 40k자 입력이 들어올 때마다 예측 불가능하게 동작하는 컴포넌트는 신뢰할 수 없다.

파일 하나짜리 커밋이지만, scrub_paragraphs.py 하나로 이 파이프라인이 처리할 수 있는 텍스트 규모와 정밀도가 확실히 올라갔다. 새벽에 치고 나니 마음이 좀 편하다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.