GDSC Sookmyung 활동/10 min Seminar

자연어 : 전처리부터 임베딩까지

z.zzz 2022. 3. 14. 21:01

1. 자연어 처리란?

자연어 : 사람들이 일상적으로 쓰는 언어를 인공적으로 만들어진 언어인 인공어와 구분하여 부르는 개념

자연어 처리 : 일상생활에서 사용하는 언어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 과정

자연어 처리 특징

  • 딥러닝에 대한 이해 + 인간 언어에 대한 이해 필요
  • 자연어 처리를 위해 사용되는 용어가 익숙하지 않음
  • 언어 종류가 다르고 그 형태가 다양함
    • 예) 영어 : 띄어쓰기 有, 중국어 : 띄어쓰기 無 → 단어 단위의 임베딩이 어려움

 

1.1 자연어 전처리 관련 용어

① 말뭉치 (corpus)

   자연어 처리에서 모델을 학습시키기 위한 데이터

② 토큰 (token)

   자연어 처리시 텍스트는 작은 단위로 나누어야하는데 이때 텍스트를 나누는 단위를 의미

③ 토큰화 (tokenization)

   텍스트를 문장이나 단어로 분리하는 것

   토큰화 단계를 마치면  텍스트 ➡ 단어 단위로 분리됨

문장 토큰화

④ 불용어 (stop words)

   문장 내에서 많이 등장하는 단어

   자주 등장해서 의미가 없는 단어는 자연어 처리의 효율성 감소, 처리 시간을 길어지게 함

   ➡ 사전에 제거 必

   불용어 예) a, the, she, he

⑤ 어간 추출 (stemming)

   단어를 기본 형태로 만드는 작업   

   예) consign, consigned, consigning, consignment consign

⑥ 품사 태깅 (part-of-speech tagging)

   주어진 문장에서 품사를 식별하기 위해 붙여 주는 태그

   예) A ➡ Det, cat ➡ Noun, is ➡ Verb

⑦ 정규화 (normalization)

   표현 방법이 다른 단어들을 통합시켜 같은 단어로 만들어줌

   ) USAUS ➡ 같은 의미로 해석되도록 만들어줌

 

1.2 자연어 처리 과정

① 입력 텍스트로 자연어가 들어옴

  • 언어에 따른 처리 방식이 조금씩 다름
  • 현재는 영어에 대한 처리 방법들이 잘 알려져 있음

② 입력된 텍스트에 대한 전처리

③ 전처리가 끝난 단어들을 숫자 형태인 벡터로 변환하는 임베딩

모델/모형(결정 트리, svm 등)을 이용하여 데이터에 대한 분류 및 예측을 수행


2. 임베딩이란?

사람이 사용하는 언어(자연어)를 컴퓨터가 이해할 수 있는 언어인 숫자 형태(벡터)로 변환한 결과 또는 과정

) banking = [ 0.286, 0.792, -0.177, 0.109, -0.541, 0.349, 0.271 ]

임베딩 역할

  •  단어 및 문장 간 관련성 계산

     벡터 간의 코사인 유사도를 구해 자연어 간의 관련성 계산 가능

  • 의미적 혹은 문법적 정보의 함축

     단어를 벡터로 만들고 나면, 더하기나 빼기 등의 사칙 연산이 가능

     의미적/문법적 차이를 계산할 수 있음

      ) 아들 - = 소년 소녀 : 두 단어간 의미 차이를 함축하고 있으므로 성공적인 임베딩 !

 

2.1 임베딩 기법

① 희소 표현 기반 임베딩

   대표 기법 : -핫 인코딩

    · 단어 N를 각각 N차원의 벡터로 표현하는 방식

    · ) 딕셔너리에 [calm, fast, cat] ➡ fast를 표현하는 벡터는 [0, 1, 0]

횟수 기반 임베딩

   단어가 출현한 빈도를 고려하여 임베딩하는 방법

   대표 기법 : 카운터 벡터, TF-IDF(Term Frequency-Inverse Document Frequency)

예측 기반 임베딩

   신경망 구조/모델을 이용, 특정 문맥에서 어떤 단어가 나올지를 예측하면서 단어를 벡터로 만듦

   대표 기법 : 워드투벡터

횟수/예측 기반 임베딩

   횟수 기반과 예측 기반의 단점을 보완하기 위한 임베딩 기법

   대표 기법 : 글로브

 

2.2 임베딩 결과 이용

 단어 및 문장 간 관련성 계산

 - peterwendy, peterhook유사성 확인

 - cherry와 유사한 단어의 리스트를 반환

- woman, king과 유사성이 높으면서 man과 관련성이 없는 단어를 반환

 

주어진 단어 뒤에 등장할 단어 예측

- 과일 뒤에 등장할 단어 2개 예측


3. 자연어 처리 이용 분야

텍스트 자동 완성, 언어 번역, 디지털 전화 통화, 정서 분석, 텍스트 분류, 음성 인식 · · ·

  • 완성도 높은 자연어 처리 분야 : 스팸 처리, 맞춤법 검사, 단어 검색, 객체 인식
  • 완성도가 낮아 더 발전이 필요한 자연어 처리 분야 : 질의응답, 요약, 유사 단어 바꾸어 쓰기, 대화

 

한국어 임베딩(이기창 지음)딥러닝 텐서플로 교과서(서지영)를 기반으로 작성한 글입니다.

'GDSC Sookmyung 활동 > 10 min Seminar' 카테고리의 다른 글

쿠키 vs 세션 vs 토큰  (0) 2022.05.02
Web 3.0이란?  (0) 2022.04.04
Shader란?  (0) 2022.03.07
Promise와 async/await  (0) 2022.02.28
#야나도#쿠버네티스#들어봤어  (0) 2022.02.28