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