CHATGPT

자연어를 컴퓨터가 이해하는 방법

해변 2023. 7. 12. 19:46
자연어처리란?

컴퓨터가 NL(Natural Language)을 이해, 생성, 조작할 수 있도록 해주는 인공지능 분야

 

 

텍스트를 컴퓨터가 이해하는 방법
  • 컴퓨터는 숫자로 정보를 주고 받는다
  • 목표 : 입력을 벡터화 해야함
  • 문장 ->  벡터화
  • 토큰화
    • 토큰은 텍스트 데이터에서 의미를 가지는 최소한의 덩어리
    • 텍스트 데이터를 토큰 단위로 나누는 과정을 토큰화
    • 언어마다 다르기에 언어적 특성이 고려되어야함
  • 토큰화 예시
    •  EX) 나는 AI컴퓨터공학과 최인호이다.
    • 임베딩 : One-hot encoding
      • 정보를 벡터화하는 기초적인 방법
      • 나는 [1, 0, 0, 0, 0, 0, 0]
      • AI [0, 1, 0, 0, 0, 0, 0]
      • 컴퓨터 [0, 0, 1, 0, 0, 0, 0]
      • 공학  [0, 0, 0, 1, 0, 0, 0]
      •  [0, 0, 0, 0, 1, 0, 0]
      • 최인호  [0, 0, 0, 0, 0, 1, 0]
      • 이다  [0, 0, 0, 0, 0, 0, 1]
    •  One-hot encoding의 문제점
      • 토큰 수는 굉장히 많음
      • 토큰간 거리가 일정하지 않다
      • 벡터화는 가능하지만 정보를 담을 수 없음
    • 토큰 -> 벡터화 하는 방법 여러가지가 존재
    • 토큰을 각각 벡터화한 후 이를 합치는 방법도 여러가지가 있다
      • 문장 -> 하나의 벡터로 작동
    • 자연어처리에서의 AI는 결국 이런 벡터를 가지고 정보를 처리한다
      • 생성 문제
      • 독성 분류 문제
      • 감정 인식
      • 문서 요약
      • 번역
      • ChatGPT 

 

자연어처리 오픈소스

 

자연어처리의 일반적인 어려움
  • 모호성 : 표헌의 중의성, 동의어 
    예시로 사과의 경우 잘못했을 때 하는 사과와 먹는 사과 동의어
  • 정보 부족 : 맥락 없이 정보가 주어지는 경우
  • 한 문장을 다양하게 표현이 가능(패러프레이즈)
  • 한구겅의 경우 다양한 접사 추가가 유독 어려움
  • 유연한 단어 순서 : 완벽한 문법이 아니더라도 가능함
  • 주어 부재 : 대화에서 밥 먹었나? 그사람 어때 등 주어 부재
  • 띄어쓰기등의 부재