728x90
반응형
NLP(Natural Language Processing)
- 컴퓨터를 이용하여 인간 언어의 이해, 생성 및 분석을 다루는 인공지능 기술
- 자연어를 컴퓨터가 해독하고 그 의미를 이해하는 기술
- NLP = NLU + NLG
NLU(Natural Language Understanding)
- 문자로 된 언어를 입력으로 직접 받아들여서, 목적에 맞게 내부적으로 처리해내는 과정
- 자연어 표현을 기계가 이해할 수 있는 다른 표현으로 변환시키는 것
NLU 사용하는 기술
Word Embedding
- 단어나 형태소를 벡터화하는 기술
MRC 기술 및 대화 모델
- 사용자가 어떤 질문을 했을 때 기계는 자신이 학습했던 내용 중에서 적절한 답변을 알아서 찾아 제공해주는 것
※ MRC
- Machine Reading Comprehension, 기계독해
- 인공지능(AI) 알로리즘이 스스로 문제를 해석하고 질문에 최적화된 답안을 찾아내는 기술
NLG(Natural Language Generation)
- 주어진 수치 등의 정보를 바탕으로 문장을 생성하여 사용자에게 자연어로 응답을 돌려주는 기술
- 지식 기반이나 논리 형식과 같은 기계 표현에서 의미 표현으로 자연어 문장 생성 기술
NLP Approach
Symbolic Approach
- 규칙/지식 기반 접근법
- 언어의 문법적인 규칙을 사전에 정의해두고 그것에 기반하여 자연어를 처리하는 방식
- 1954년 조지타운 대학과 IBM이 공동으로 개발한 러시아어-영어 번역기가 그 시초
문제점
- 자연어처리의 규칙을 사전에 직접 구축해야 한다
- 언어의 규칙을 다양한 예외가 존재하며 모든 내용을 규칙화하는 것은 거의 불가능
- 대응할 수 있는 문장의 종류가 제한되거나 정확도가 떨어질 수 있다
Statistical Approach
- 확률/통계 기반 접근법
- 조건부 확률의 수학적 개념을 적용
- 어떠한 사건이 이미 일어난 것을 가정하고, 그 상황에서 다른 사건이 일어난 확률
- 문장을 단어(언어에 따라 형태소 등으로 나누기도 함)별로 나누고 문장을 완성시켜 나갈 때 앞(혹은 뒤)에 등장한 단어라는 이미 일어난 사건에 대해 다음에 어떤 단어가 나올 확률이 가장 높은지를 여러 단어들에 대해 계산
- 언어에 어떠한 규칙이 있다면 통계적으로 볼 때 규칙에 관여되는 단어(형태소) 사이에 유미의한 상관관계가 나타날 것이라는 아이디어에서 출발
TF-IDF를 이용한 키워드 추출
- TF(Term Frequency): 단어가 문서에 등장한 개수
- TF가 높을수록 중요한 단어
- DF(Document Frequency): 해당 단어가 등장한 문서의 개수
- DF가 높을수록 중요하지 않은 단어
Deep Learning Approach
Machine Learning
- 입력으로 사용될 다양한 데이터를 대입시키는 것을 통해 알고리즘이 스스로 연산의 가중치를 결정하게 하는 것
- 훈련
- 입력 데이터 예시들을 알고리즘에 계속해서 투입시키면서 내부적으로 처리하는 데 사용되는 가중치를 계속해서 갱신시키는 작업
- 모델
- 훈련을 거친 실정에 사용 가능한 상태의 알고리즘
Deep Learning
- 어떠한 목적으로 자연어처리를 도입할 것인지 결정
- 목적과 관련한 학습 데이터(코퍼스)를 구축하거나 확보
- 학습 데이터를 통해 학습시킬 모델을 작성
- 모델을 코퍼스를 이용하여 학습
- 학습된 모델을 검증하고 문제가 있을 경우 2~4단계를 돌아가 수정
- 완성된 모델을 실전에 투입
→ 결과의 성능은 2, 3단계의 영향을 많이 받고, 대부분의 기술 개발은 2, 3단계를 개량하는 방향으로 이루어짐
NLP 단계
Preprocessing
[NLP/NLP 기초] - Data Preprocessing
- 개행문자/특수문자/공백 등 제거
- 중복 표현 제거
- 이메일, 링크 제거
- 제목 제거
- 불용어(의미가 없는 용어) 제거
- 조사 제거
- 띄어쓰기, 문장분리 보정
- 사전 구축
Tokenizing
- 예측해야할 입력정보(문장 등)을 하나의 특정 기본 단위로 자르는 것
- 구문 tokenizing
- 형태소 tokenizing
- n-gram tokenizing
- WordPiece tokenizing
※ 형태소
- 의미를 가지는 가장 작은 단위로서 더 쪼개지면 의미를 상실하는 것들
형태소 분석
- 의미를 가지는 단위를 기준으로 문장을 살펴보는 것
Lexical Analysis
[NLP/NLP 기초] - Lexical Analysis
- 어휘 분석
- 형태소 분석
- 개체명 인식
- 상호 참조
Syntactic Analysis
[NLP/NLP 기초] - Syntactic Analysis
- 구문 분석
Semantic Analysis
[NLP/NLP 기초] - Semantic Analysis
- 의미 분석
NLP Applications
형태소 분석, 문서 분류, 개체명 인식 등 대부분의 자연어 처리 문제는 '분류'의 문제
References
728x90
반응형
'NLP > NLP 기초' 카테고리의 다른 글
[NLP] Data Preprocessing (0) | 2021.03.15 |
---|---|
[NLP] 텍스트 전처리 (0) | 2021.03.15 |
[NLP] Kaggle (0) | 2021.03.15 |
EDA(Exploratory Data Analysis) (0) | 2021.03.15 |
[NLP] Machine Comprehension (0) | 2021.03.15 |