ML_DL/MUJAKJUNG (무작정 시리즈)

텍스트 분할 (Text Spliter)

swwho 2025. 5. 8. 00:11
728x90
반응형

한문장 정리

텍스트 데이터를 어떻게 분할해야 활용에 용이한지 확인한다. 

라이브러리 설치

  • LangChain의 text_spliter 활용
  • pdf 파일은 PyMuPDF 활용
  • spacy에서는 'ko_core_news_sm' 모델 활용
pip install pymupdf langchain langchain_community spacy
spacy download ko_core_news_sm

문장 분할

from langchain.document_loaders import PyMuPDFLoader
from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter, SpacyTextSplitter

# PDF 텍스트 추출
loader = PyMuPDFLoader("./경복궁.pdf")
document = loader.load()

# Spliter 정의
character_text_spliter = CharacterTextSplitter(chunk_size=200, separator=" ", chunk_overlap=50)
spacy_text_splitter = SpacyTextSplitter(chunk_size=200, pipeline="ko_core_news_sm", chunk_overlap=50)
recursive_text_spliter = RecursiveCharacterTextSplitter(chunk_size=200, chunk_overlap=50)

# 텍스트 분할
character_splitted_document = character_text_spliter.split_documents(document)
spacy_splitted_document = spacy_text_splitter.split_documents(document)
recursive_splitted_document = recursive_text_spliter.split_documents(document)

분할 결과 확인

Spliter 종류 결과
CharacterTextSplitter 경복궁은 조선 왕조 제일의 법궁이다. 북으로 북악산을 기대어 자리 잡았고 정문인 광화
문 앞으로는 넓은 육조거리(지금의 세종로)가 펼쳐져, 왕도인 한양(서울) 도시 계획의 중
심이기도 하다. 1395년 태조 이성계가 창건하였고, 1592년 임진 왜란으로 불타 없어졌다
가, 고종 때인 1867년 중건 되었다. 흥선대원군이 주도한 중건 경복궁은 500여 동의
==========================================
고종 때인 1867년 중건 되었다. 흥선대원군이 주도한 중건 경복궁은 500여 동의 건
물들이 미로같이 빼곡히 들어선 웅장한 모습 이었다. 
궁궐 안에는 왕과 관리들의 정무 시설, 왕족들의 생활 공간, 휴식을 위한 후원 공간이 조
성되었다. 또한 왕비의 중궁, 세자의 동궁, 고종이 만든 건청궁 등 궁궐안에 다시 여러 
작은 궁들이 복잡하게 모인 곳이기도
RecursiveCharacterTextSplitter 경복궁은 조선 왕조 제일의 법궁이다. 북으로 북악산을 기대어 자리 잡았고 정문인 광화
문 앞으로는 넓은 육조거리(지금의 세종로)가 펼쳐져, 왕도인 한양(서울) 도시 계획의 중
심이기도 하다. 1395년 태조 이성계가 창건하였고, 1592년 임진 왜란으로 불타 없어졌다
==========================================
가, 고종 때인 1867년 중건 되었다. 흥선대원군이 주도한 중건 경복궁은 500여 동의 건
물들이 미로같이 빼곡히 들어선 웅장한 모습 이었다. 
궁궐 안에는 왕과 관리들의 정무 시설, 왕족들의 생활 공간, 휴식을 위한 후원 공간이 조
성되었다. 또한 왕비의 중궁, 세자의 동궁, 고종이 만든 건청궁 등 궁궐안에 다시 여러
SpacyTextSplitter 경복궁은 조선 왕조 제일의 법궁이다.

북으로 북악산을 기대어 자리 잡았고 정문인 광화
문 앞으로는 넓은 육조거리(지금의 세종로)가 펼쳐져, 왕도인 한양(서울) 도시 계획의 중
심이기도 하다.

1395년 태조 이성계가 창건하였고, 1592년 임진 왜란으로 불타 없어졌다
가, 고종 때인 1867년 중건 되었다.
===========================================
흥선대원군이 주도한 중건 경복궁은 500여 동의 건
물들이 미로같이 빼곡히 들어선 웅장한 모습 이었다. 


궁궐 안에는 왕과 관리들의 정무 시설, 왕족들의 생활 공간, 휴식을 위한 후원 공간이 조
성되었다.

또한 왕비의 중궁, 세자의 동궁, 고종이 만든 건청궁 등 궁궐안에 다시 여러 
작은 궁들이 복잡하게 모인 곳이기도 하다.

결과

  • 위 실험 결과, SpacyTextSplitter를 사용한 문장 분할이 가장 정확한 모습을 보인다.
  • PDF에 포함된 텍스트를 확인하고, 해당 내용의 언어를 기반으로 문장을 분할하여 활용한다.
  • chunk_size와 chunk_overlap은 embedding이나 LLM에 따라 달리 설정하여 활용한다.