자연어 처리
NLP, NLU, NLG 차이 알기
알기 앞서 챗봇에 대한 개념정리
봇(BOT)카테고리
- 봇 : 네트워크에서 작동하는 자동화 프로그램
- 챗봇 : 인간의 언어를 사용해 커뮤니케이션하는 봇
- AI assistant(인공지능 비서) : 사용자를 위해 다양한 업무나 서비스 수행하는 로봇
인공지능
- AI : 컴퓨터가 인간의 '인지'능력을 모방할 수 있게 하는 것
- 머신러닝(Machine Learning) : 배우게 하는 별도의 프로그래밍 없이도 학습하는 것
- 인공신경망(Neural Network) : 인간의 신경망(뉴런)에서 영감을 얻은 통계학적 학습 알고리즘.
시냅스의 결합으로 네트워크를 형성한 인공 뉴런이 학습을 통해 시냅스의 결합 세기를 변화시켜 문제 해결 능력을 가지는 모델
- 딥러닝(Deep Learning) : 인공신경망의 발전된 버전, 수많은 데이터 속에서 패턴을 발견해 인간이 사물을 구분하듯
컴퓨터가 데이터를 나눔.
NLP(Natural Language Processing)
- 자연어 처리, 인터렉션을 자연어로 할 수 있도록 처리함.
=> 인간의 언어를 컴퓨터에게 가르치는 과정 = 아이에게 언어를 가르치는 과정
==> 문장을 품사별로 구별하게 하는 것을 시작으로 점차 더 나아가 사용자의 말을 이해하고 사용자가 원하는 대답을
내놓는 방식까지 나아가는 것이 중요
NLU(Natural Language Understanding)
- 기계에 사람이 평소 쓰는 자연어스러운 표현 그대로 제공해도 기계가 알아들을 수 있도록 하기위함.
=> 텍스트 또는 음성 형식에 관계없이 NL의 의미를 설명하는 데 도움이 되며, 이를 통해 우리는 영어, 프랑스어,
스페인어 또는 다른 인간 언어를 분석할 수 있다.
==> 언어를 읽고 통역하는 과정이다.
NLG(Natural Language Generation)
- 머신이 NL을 출력으로 생성하는 프로세스를 정의가 되며, NL을 합리적인 방식으로 어떻게 생성할지를 머신에게
가르치려는 영역이다.
=> 자연어를 만들어내기 위해서는 사전에 축적되어 있는 조각난 정보들을 모아 사람의 말로 만들어주는 과정 필요하며,
사용자의 물음에 대한 답변을 자연스러운 문장으로 만드는 과정에 들어가는 기술이다. 즉, 듣고 이해만 하는 과정에서
더 나아가 축적되어 있는 단어들을 조합해서 직접 사용자가 이해하기 쉬운 문장으로 출력하는 것.
==> 예시로 대화 시스템에서는 사람이 한 말을 인식하고, 이에 대한 시스템 결과를 자연어 문장으로 생성하는 데 사용.