tiktoken
tiktoken은
OpenAI가 만든 빠른 BPE 토크나이저입니다.tiktoken을 사용하여 사용된 토큰을 추정할 수 있습니다. OpenAI 모델에는 더 정확할 것입니다.
- 텍스트 분할 방식: 전달된 문자 기준.
- 청크 크기 측정 방식:
tiktoken토크나이저 기준.
tiktoken과 직접 함께 사용할 수 있습니다.
tiktoken으로 청크를 병합하려면 .from_tiktoken_encoder() 메서드를 사용하세요. 이 메서드로 분할한 결과는 tiktoken 토크나이저로 측정한 청크 크기보다 클 수 있습니다.
.from_tiktoken_encoder() 메서드는 encoding_name을 인수로 받거나(예: cl100k_base), model_name을 인수로 받습니다(예: gpt-4). chunk_size, chunk_overlap, separators 같은 모든 추가 인수는 CharacterTextSplitter를 인스턴스화하는 데 사용됩니다:
RecursiveCharacterTextSplitter.from_tiktoken_encoder를 사용할 수 있습니다. 이 경우 각 분할이 더 큰 크기를 가지면 재귀적으로 분할됩니다:
tiktoken과 직접 작동하는 TokenTextSplitter 분할기를 로드할 수도 있으며, 이는 각 분할이 청크 크기보다 작도록 보장합니다.
TokenTextSplitter를 직접 사용하면 문자에 대한 토큰이 두 청크 사이에 분할되어 잘못된 유니코드 문자가 생성될 수 있습니다. 유효한 유니코드 문자열을 포함하는 청크를 보장하려면 RecursiveCharacterTextSplitter.from_tiktoken_encoder 또는 CharacterTextSplitter.from_tiktoken_encoder를 사용하세요.
spaCy
spaCy는 Python과 Cython 프로그래밍 언어로 작성된 고급 자연어 처리를 위한 오픈 소스 소프트웨어 라이브러리입니다.
- 텍스트 분할 방식:
spaCy토크나이저 기준. - 청크 크기 측정 방식: 문자 수 기준.
SentenceTransformers
SentenceTransformersTokenTextSplitter는 sentence-transformer 모델과 함께 사용하기 위한 특수 텍스트 분할기입니다. 기본 동작은 사용하려는 sentence-transformer 모델의 토큰 윈도우에 맞도록 텍스트를 청크로 분할하는 것입니다. sentence-transformers 토크나이저에 따라 텍스트를 분할하고 토큰 수를 제한하려면SentenceTransformersTokenTextSplitter를 인스턴스화하세요. 선택적으로 다음을 지정할 수 있습니다:
chunk_overlap: 토큰 중복의 정수 개수;model_name: sentence-transformer 모델 이름, 기본값은"sentence-transformers/all-mpnet-base-v2";tokens_per_chunk: 청크당 원하는 토큰 수.
NLTK
Natural Language Toolkit, 또는 더 일반적으로 NLTK라고 하는 것은 Python 프로그래밍 언어로 작성된 영어의 기호적 및 통계적 자연어 처리(NLP)를 위한 라이브러리 및 프로그램 모음입니다.
NLTK를 사용하여 NLTK 토크나이저 기반으로 분할할 수 있습니다.
- 텍스트 분할 방식:
NLTK토크나이저 기준. - 청크 크기 측정 방식: 문자 수 기준.
KoNLPY
KoNLPy: Korean NLP in Python은 한국어의 자연어 처리(NLP)를 위한 Python 패키지입니다.
KoNLPY의 Kkma 분석기를 사용한 한국어 토큰 분할
한국어 텍스트의 경우 KoNLPY에는Kkma(한국어 지식 형태소 분석기)라는 형태소 분석기가 포함되어 있습니다. Kkma는 한국어 텍스트의 상세한 형태소 분석을 제공합니다. 문장을 단어로 나누고 단어를 각각의 형태소로 나누어 각 토큰의 품사를 식별합니다. 텍스트 블록을 개별 문장으로 분할할 수 있으며, 이는 긴 텍스트를 처리하는 데 특히 유용합니다.
사용 고려사항
Kkma는 상세한 분석으로 유명하지만 이러한 정밀도가 처리 속도에 영향을 미칠 수 있다는 점에 유의해야 합니다. 따라서 Kkma는 빠른 텍스트 처리보다 분석 깊이가 우선시되는 애플리케이션에 가장 적합합니다.
Hugging Face tokenizer
Hugging Face에는 많은 토크나이저가 있습니다. Hugging Face 토크나이저인 GPT2TokenizerFast를 사용하여 토큰 단위로 텍스트 길이를 셉니다.- 텍스트 분할 방식: 전달된 문자 기준.
- 청크 크기 측정 방식:
Hugging Face토크나이저로 계산한 토큰 수 기준.
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.