자연어 처리 개요

InSung-Na·2023년 5월 5일
0
post-thumbnail

해당 글은 제로베이스데이터스쿨 학습자료를 참고하여 작성되었습니다

Natural Language Processing

  • 컴퓨터가 인간의 언어를 이해, 생성, 조작할 수 있도록 해주는 인공 지능(AI)의 한 분야

Transformer

  • Attention 기법을 활용하여 CNN, RNN을 사용하지 않는 자연어 처리 모델
  • GPT : Transformer의 Decoder를 아키텍처를 활용
  • BERT : Transformer의 Encoder를 아키텍처를 활용

이미지 vs 자연어

이미지 데이터 특징

  • 이미지 안의 의미있는 정보는 위치에 무관
  • Convolution 연산은 위치에 무관한 지역적인 정보를 추출하기 좋은 연산

자연어 데이터 특징

  • 문장을 구성하고 있는 단어들의 위치가 변해서는 안됨(ex. English)
  • 단어들 간의 관계가 중요하고 하나의 단어만 바뀌거나 추가되어도 전혀 다른 의미(context) 를 가질 수 있음
  • 문장이 갖고 있는 문맥을 알고리즘이 이해할 수 있게 하는 것이 어렵다.

자연어 데이터의 토큰화

  • 무엇을 근거로 토큰화를 할 것인지가 문제이다
    • Character
      • 각 문자는 의미를 가지고 있지 않음
    • Word
      • 경우의 수가 너무 많음
      • 신조어, 반어법 등의 문제
  • 요약
    • Hugging face 와 같은 대중적인 공유 라이브러리가 존재하기 전까지 연구
      자들이 각각 토큰화를 임의로 진행 했음
    • 이에 따라서 모델을 다운받아 실행시킬 경우 전혀 다른 결과가 나타남
    • 즉, 자연어 에서의 토큰처리 과정에 대해 아는 것은 매우 중요함

자연어 처리 Task

  • 하나의 문장을 여러 개로 나누고 나눈 토큰들의 결합분포로 문장에 대해서 확률을 계산

문장 감정 분석

ex. 맛있는 사과를 먹었다

기계어 번역 & Question answering

ex. 나는 사과를 먹었다 -> I ate an apple

마스크 필링

ex . 나는 X 먹었다 -> X에 들어갈 수 있는 적절한 단어 찾기

Text Metrics

  • BLEU(Bilingual Evaluation Understudy)
    • 모델이 번역한 것과 사람이 번역한 것의 유사도 측정으로 성능판단
    • 번역된 단어를 n개 단위로 점검(n-gram based precision)
  • Rouge(Recall Oriented Understudy of Gisting Evalutaion)
  • METEOR(Metric for Evaluation of Translation with Explicit ORdering)
  • Human based measure

자연어 처리 모델 기존 연구들

기존 연구

  • 문장의 문맥을 하나의 벡터로 표현하기 위해서 인코딩
  • 문맥을 알아내는 Enocder를 학습했다면 감정분석, 기계어번역, QA 등에 적용 가능
  • 문장은 순서를 가지고 있으므로 문장의 처음부터 끝까지 순차적으로 입력해서 최종 벡터 생성(RNN)
  • 하지만, 중요 단어들이 초반부에 있다면 정보를 소실할 가능성이 있다

현재 연구

  • 각각의 단어에 Attention을 부여
  • ex. "나" -> I, "apple" -> "사과"
  • Attention Score

요약

기존 연구 : 자연어 데이터의 순차적인 특성을 고려
현재 연구 : 문장마다 중요도를 계산하는 Attention 모듈 사용

0개의 댓글