1. 토큰화(Tokenization)
토큰화는 텍스트를 토큰으로 분리하는 과정. 가장 흔한 형태의 토큰화는 단어 토큰화(word tokenization)와 문장 토큰화(sentence tokenization).
- 단어 토큰화 : 텍스트를 개별 단어로 분리. 예를 들어, "OpenAI는 인공지능 연구소입니다."라는 문장을 ["OpenAI는", "인공지능", "연구소입니다."]와 같이 분리할 수 있음
- 문장 토큰화 : 텍스트를 개별 문장으로 분리. 이는 문단이나 긴 텍스트에서 각 문장을 별도로 다루기 위해서 사용됨
2. 정제(Cleaning) 및 정규화(Normalization)
토큰화 과정 이후, 텍스트 데이터에서 불필요하거나 중복되는 정보를 제거하는 작업을 수행
- 소문자 변환 : 모든 문자를 소문자로 변환하여 대/소문자에 따른 변이를 줄임
- 불용어 제거 : "the", "is", "in"과 같이 의미 분석에 큰 도움이 되지 않는 단어를 제거
- 특수 문자 제거 : 문장 부호나 불필요한 특수 문자를 제거
- 어간 추출(Stemming)과 표제어 추출(Lemmatization) : 단어를 그 기본 형태로 변환하여 동일한 의미를 가진 다양한 형태의 단어를 동일하게 처리. 어간 추출은 단어에서 접미사를 제거하는 반면, 표제어 추출은 단어를 사전적 뿌리 형태로 변환함
3. 품사 태깅(Part-of-Speech Tagging)
각 토큰에 품사(명사, 동사, 형용사 등)를 태깅하는 과정. 문장 내에서 단어의 역할과 문맥적 의미를 이해하는데 도움이 됨
4. 구문 분석(Parsing)
텍스트의 구조적인 의미를 분석하기 위해 토큰 간의 관계를 파악하는 과정. 구문 분석을 통해 문장의 구조(예: 주어, 동사, 목적어)를 이해하고, 텍스트 내에서의 구성 요소 간의 관계를 파악할 수 있음
5. 개체명 인식(Named Entity Recognition, NER)
텍스트에서 인명, 지명, 기관명 등과 같은 특정 정보를 식별하고 분류하는 과정. 정보 추출, 요약, 질문 응답 시스템 등에서 중요한 역할을 함
자연어 데이터의 토큰화


Character
- A -> 1, B -> 2, ... : 문장의 시계열 길이가 너무 늘어남
- 각각의 문자는 의미를 가지고 있지 않음. 따라서, 단어로 표현을 해야함
Word
- 경우의 수가 너무 많음
- 특히, 사전에 없는 단어가 생길 위험이 존재
Hugging face와 같은 대중적인 공유 라이브러리가 존재하기 전까지 연구자들이 각각 토큰화를 임의로 진행하였음
- 이에 따라, 모델을 다운받아 실행시킬 경우, 전혀 다른 결과가 나타남. 즉, 자연어에서의 토큰처리 과정에 대해 아는 것은 매우 중요함