🤔 자연어에 대하여
저번 글에 이어 자연어에 대한 기본지식을 공부해보도록 하겠습니다.
작성하기에 앞서 [ICT COG Academy] 인공지능 고급(언어)과정을 수강하며 복습을 위해 작성한 글임을 명시합니다.
🔎 텍스트 생성(자연어 생성)
자연어 생성은 뉴스기사 생성, 대화 생성, 챗봇 등 다양한 영역에서 활용되고 있습니다.
인간과 컴퓨터(AI) 사이의 의사소통을 위한 가장 자연스러운 방식이라고 할 수 있습니다.
언어 모델 기반, 패턴 기반의 자연어 생성 등의 형태로 나누어 생각할 수 있습니다.
• 언어 모델을 이용한 방식
최근 이슈가 되는 초거대 AI는 사전학습된 거대한 언어모델을 말합니다.
수많은 데이터의 학습을 통하여 어떤 표현이 가장 적절한가를 예측하여 문장을 생성합니다.
OpenAI의 GPT3, Naver의 HyoperClova 등 다양한 언어모델이 존재하는데, GPT3의 경우 발표 당시 약 1,750억개의 파라미터 데이터를 이용하여 학습했으며 HyperCLOVA의 경우 약 2,040억개의 파라미터 데이터를 이용하여 학습했습니다.
가장 자연스러운 문장을 만들어 내는 것에 강점을 가지지만 어떤 데이터를 기반으로 정확한 사실을 전달하는 문장을 만들지는 못합니다.
• 패턴 기반의 자연어 생성 방식
오래 전부터 자연어 생성분야에서 가장 많이 사용되어 온 방식입니다.
데이터가 주어졌을 때 그 데이터를 표현하기에 가장 좋은 문장을 저장소에서 꺼내어 사용하는 방식입니다.
수많은 패턴을 준비하고 가장 적절한 패턴이 무엇인지를 학습하여 적용합니다.
어떤 목적으로 문장을 생성할 것인지에 따라서 적용 기술을 선택해야 합니다.
🔎 텍스트 이해(기계 이해)
기계가 어떤 텍스트에 대한 정보를 학습하고, 사용자가 질의를 던졌을 때 그에 대해 응답하는 문제입니다.
기계가 텍스트를 이해하고 논리적인 추론을 할 수 있는지를 데이터 학습을 통해 구현하고 확인합니다.
앞서 설명한 텍스트 분류, 유사도, 자연어 생성 등 자연어 처리에 대한 전반적인 내용이 모두 포함되어 있다고 볼 수 있습니다.
아래 그림은 다양한 기께 이해 모델 중 메모리 네트워크 모델 활용 방식의 예시입니다.
🔎 자연어 처리의 패러다임 변화
자연어 처리(분석 중심)의 일반적인 단계는 아래와 같습니다.
아래의 블로그에 매우 잘 정리되어 있어 아래 블로그를 참조하였습니다.
딥러닝 적용 이전의 자연어 처리 방식의 문제점은 여러 단계의 모듈로 구성되어 있어 디자인이 복잡하며 상황에 따라 또 다른 서브 모듈 추가가 빈번하게 일어났습니다.
이로인해 시스템이 매우 무겁고 복잡하여 구현 및 시스템의 구성이 어려웠습니다.
또한 각각의 모듈이 완벽하게 동작하지 않았습니다. 각기 발생한 오차가 중첩, 가중되어 뒤로 전파되는 오차의 전파 현상이 발생했습니다.
딥러닝 적용과 함께 각 하위 모듈의 딥러닝 모델화를 시작했으며 첨차 End-to-End 모델도 대체되었습니다. End-to-End 모델이란 종단간 기계학습. 즉 입력부터 출력까지 파이프라인 네트워크 없이 한번에 처리하는 모델의 형태를 말합니다.
전통적인 자연어 처리와 딥러닝을 통한 자연어 처리를 표로 구성하면 아래와 같습니다.
🔎 자연어 처리를 위한 언어학적 요소
음성학, 음운론, 형태소 분석, 구문론, 의미 분석, 실용 분석 등의 언어학적 요소가 필요합니다.
이과인 저에게는 조금은 멀게 느껴지는 요소들이지만 자연어 처리를 하며 배워가도록 해보겠습니다.
다음 글에서는 자연어 처리에 대한 기본지식을 더 알아보겠습니다.
'AI > 자연어 처리' 카테고리의 다른 글
[AI] 자연어 처리 - 전처리와 토큰화(2) (2) | 2022.08.05 |
---|---|
[AI] 자연어 처리 - 전처리와 토큰화(1) (2) | 2022.08.01 |
[AI] 자연어 처리 - PyTorch 실습 (0) | 2022.07.30 |
[AI] 자연어 처리 - 기본지식(3) (0) | 2022.07.29 |
[AI] 자연어 처리 - 기본지식(1) (2) | 2022.07.28 |