LLM & RAG 용어정리 (텍스트 처리 기법과 임베딩)

2024. 11. 12. 20:59·용어정리/LLM & RAG

텍스트 처리의 핵심 기법들과 임베딩 활용에 대해서 알아보자


 

텍스트 처리

LLM을 효율적으로 사용하려면 텍스트 처리가 기본적으로 되어 있어야 한다.

모델이 자연어를 이해하고 분석 하기 쉽게 돕는 첫 단계이다.

 

 


토큰화

Tokenization 이라고 한다.

텍스트를 단어 및 서브워드 단위로 분리를 하는 작업을 뜻한다.

텍스트를 숫자로 변환을 하기전에 실행을 하는 단계이다.

 

  • 단어 단위 토큰화
    • 나는 오늘 운동을 했다.
    • >> [나는, 오늘, 운동을, 했다]
  • 서브워드 토큰화
    • 운동을
    • >> [운동, 을]

 


정규화

Normalization 이라고 한다.

텍스트를 표준화된 형식으로 변환하는 작업을 뜻한다.

텍스트의 대소문자 또는 특수문자등을 일관되게 변환시킨다.

 

  • 소문자 변환
    • OpenAI
    • >> openai
  • 불필요한 기호 제거
    • 안녕하세요!
    • >> 안녕하세요

불용어 제거

Stopword Removal 이라고 한다.

자주 등장하는 단어이지만 정보가 없는 단어들을 의미한다.

'그리고', '이', '는' 과 같은 단어들을 뜻한다.

 

이를 통해서 중요한 단어에만 집중을 할 수 있도록 돕는다.

 

  • 나는 운동을 했다
  • >> [운동, 했다]

 


형태소 분석

Morphological Analysis 라고 한다.

각각의 단어를 문법적으로 분리를 하는 작업을 뜻한다.

조사나 어미와 같은 부분을 정확하게 분리를 하는것이 유용하다.

 

  • 운동을 했다
  • [운동(Noun), 을(Postposition), 했다(Verb)]

 


어간 추출과 표제어 추출

Stemming and Lemmatization 이라고 한다.

텍스트에서 동사나 형용사의 변형을 기본적인 형태로 되돌리는 작업을 뜻한다.

단어를 일관되게 처리를 할 수 있게 도와준다.

 

표제어 추출에서 변경된 단어는 불용어 제거를 통해 제거된다.

 

  • 어간 추출
    • Working, Worked
    • >> Work
  • 표제어 추출
    • am, is, are
    • >> be

 


문장 분리 및 길이 조정

텍스트를 처리할때 데이터의 길이가 길거나 복잡할경우, 이를 적절하게 나누는 것을 의미한다.

 

긴 문장을 처리할때 생기는 메모리의 제한이나 성능 저하를 방지하기 위함이다.

 

 


임베딩

임베딩은 텍스트 데이터를 벡터로 변환하는 과정을 뜻한다.

어떠한 모델이던지 학습하는 데이터의 값은 숫자값일수 밖에 없다.

 

이에 임베딩은, 데이터를 일반적인 숫자로 변경하는것 이상으로 의미와 유사성을 포함시키면서

변환을 가하여, 추후 검색에서 유사성의 비교로 효율적으로 검색이 가능하게 한다.

 

 


Bag of Words

단어의 빈도를 파악하여 그에 따른 벡터화를 하는 가장 단순한 방법이다.

순서와 맥락은 고려대상이 아니라 한계가 분명하지만, 간단한 문서분류 또는 텍스트의 분석에는

유용하게 사용된다.

 

 

  1. "나는 고양이를 좋아해요"
  2. "고양이는 귀여워요"
  3. "나는 강아지를 좋아해요"

3개의 단어를 통하여 예시를 들어보면,

 

 

문장 나는 고양이를 좋아해요 고양이는 귀여워요 강아지를
문장 1 1 1 1 0 0 0
문장 2 0 0 0 1 1 0
문장 3 1 0 1 0 0 1

 

이런 식으로 나타낼 수 있다.

 


TF-IDF

TF는 단어의 빈도를 나타내고, IDF는 전체 문서의 단어 빈도 반비례값을 뜻한다.

즉 특정 단어가 문서내에서 반복을 한다면 중요한 단어로 인식을 하여 중요도를 높인다는 의미다.

 

이렇게 문서내 중요한 단어를 의미있게 강조 할 수 있다.

 

 


Word2Vec, GloVe

단어 간의 의미적 유사성을 반영하는 임베딩의 기법이다.

Word2Vec은 주위 단어를 기반으로 단어의 의미를 학습한다.

GloVe은 전체 문맥을 기반으로 단어간의 공통된 패턴 을 학습한다.

 

 

https://mark-theater.tistory.com/126

 

Deep-Learning 용어정리 (NLP)

자연어 처리NLP 모델에 대해서 알아보자NLPNLP모델 은 컴퓨터가 인간의 언어를 이해하고 처리 할 수 있도록 하는것이다.즉 언어의 이해, 해석 및 생성등을 포함하는 기술을 포함한다.  워드 임베

mark-theater.tistory.com

 

이전의 정리한 글을 보면 좀더 쉽게 이해가 간다.

 


Transformer 기반

BERT는 양방향으로 학습을 시켜 앞부분의 소외를 최적화 하여 임베딩을 생성한다.

GPT는 자동 완성 및 생성에 강점을 둔 임베딩을 생성한다.

 

https://mark-theater.tistory.com/126#BERT-1

 

Deep-Learning 용어정리 (NLP)

자연어 처리NLP 모델에 대해서 알아보자NLPNLP모델 은 컴퓨터가 인간의 언어를 이해하고 처리 할 수 있도록 하는것이다.즉 언어의 이해, 해석 및 생성등을 포함하는 기술을 포함한다.  워드 임베

mark-theater.tistory.com

 

이의 추가적인 내용도 포함이 되어 있다.

 

 

끝

저작자표시 비영리 변경금지

'용어정리 > LLM & RAG' 카테고리의 다른 글

LLM & RAG 용어정리 (LangChain과 FAISS 실습)  (3) 2024.11.13
LLM & RAG 용어정리 (LangChain 개념과 활용)  (0) 2024.11.13
LLM & RAG 용어정리 (Vector DB 와 RAG의 개념)  (0) 2024.11.12
LLM & RAG 용어정리 (LLM 사용 전 중요한 개념)  (1) 2024.11.12
LLM & RAG 용어정리 (논리적 추론 강화)  (0) 2024.11.11
'용어정리/LLM & RAG' 카테고리의 다른 글
  • LLM & RAG 용어정리 (LangChain과 FAISS 실습)
  • LLM & RAG 용어정리 (LangChain 개념과 활용)
  • LLM & RAG 용어정리 (Vector DB 와 RAG의 개념)
  • LLM & RAG 용어정리 (LLM 사용 전 중요한 개념)
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리
      • 코딩테스트
        • BaekJoon
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    RAG
    티스토리챌린지
    llm
    vector db
    django
    View
    오블완
    template
    word2vec
    langchain
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
LLM & RAG 용어정리 (텍스트 처리 기법과 임베딩)
상단으로

티스토리툴바