헬창 개발자

LangChain 문서 분할 종류 본문

공부방

LangChain 문서 분할 종류

찬배 2024. 7. 29. 12:02

 

Langchain의 여러가지 기능 중에 하나로 다양한 문서 분할 옵션을 제공합니다. 

이를 통해 사용자는 대용량 문서를 더 작고 관리 가능한 덩어리로 나눌 수 있습니다. 

다음은 LangChain의 문서 분할의 주요 기능과 예시입니다.

 

LangChain의 문서 분할 주요 기능

 

CharacterTextSplitter

기능: 기본적인 문자 기반 텍스트 분할기.

설명: 주어진 텍스트를 문자 수를 기준으로 분할합니다.

from langchain.text_splitter import CharacterTextSplitter

splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=20)
chunks = splitter.split_text(text)
for chunk in chunks:
    print(chunk)​

 

 

 

RecursiveCharacterTextSplitter

기능: 문자 기반의 재귀적 텍스트 분할기.

설명: 텍스트를 일련의 규칙(주로 구두점)을 기반으로 더 큰 조각에서 더 작은 조각으로 재귀적으로 분할합니다. 이는 자연스러운 단락이나 문장 구분이 있는 문서에 특히 유용합니다. 일반적으로 가장 많이 사용합니다.

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
                    chunk_size=1000, chunk_overlap=20,
                    separators=["\n\n", "\n", " ", ""])
chunks = splitter.split_text(text)
print(chunks[0])​

 

 

 

NltkSentenceTextSplitter

기능: NLTK를 이용한 문장 기반 텍스트 분할기.

설명: NLTK의 문장 토크나이저를 사용하여 문장 단위로 텍스트를 분할합니다. NLTK 라이브러리가 필요합니다.

from langchain_text_splitters import NLTKTextSplitter

splitter = NLTKTextSplitter(chunk_size=1000, chunk_overlap=20)
chunks = splitter.split_text(text)
print(chunks[0])​
Comments