본문 바로가기
AI/딥러닝

[AI 부트캠프] DAY 72 - 딥러닝 8

by HOHHOH 2023. 11. 2.

[오늘의 일지]

딥러닝 실시간 강의 - NLP

[상세 내용]

NLP

- 자연어 처리(Natural Language Processing, NLP)는 인간이 사용하는 자연어(일상 언어)를 컴퓨터가 이해하고 처리할 수 있도록 하는 인공지능 분야의 하나입니다. NLP는 컴퓨터가 텍스트 데이터를 분석, 해석, 생성하고, 언어와 관련된 다양한 작업을 수행할 수 있게 하는 기술과 기법을 연구하고 개발하는 분야입니다.

  • 텍스트 분류: 주어진 텍스트를 여러 범주 또는 레이블로 분류하는 작업, 예를 들면 스팸 이메일 필터링, 감정 분석 등
  • 개체명 인식 (NER): 텍스트에서 중요한 개체 (예: 인물, 장소, 날짜)를 식별하고 추출하는 작업
  • 기계 번역: 한 언어에서 다른 언어로 텍스트를 번역하는 작업
  • 질문 응답 시스템: 사용자 질문에 대답하는 시스템, 예를 들면 가상 비서와 같은 응용이 있습니다
  • 자동 요약: 긴 텍스트를 간결하게 요약하는 작업
  • 감정 분석: 텍스트에서 긍정적, 부정적 또는 중립적 감정을 탐지하는 작업
  • 자연어 이해: 텍스트의 의미와 의도를 이해하고 추론하는 능력
  • 대화형 AI: 인간과 자연스러운 대화를 나누는 인공지능 에이전트를 개발하는 작업

 

원리

  • 데이터 수집: NLP 작업의 첫 단계는 대상 언어의 텍스트 데이터를 수집하는 것입니다. 이 데이터는 웹 스크래핑, 데이터베이스 쿼리, 또는 다른 소스로부터 수집됩니다.
  • 전처리: 수집한 데이터를 정제하고 전처리하는 단계로, 텍스트를 소문자로 변환, 구두점 및 불필요한 공백을 제거하거나 토큰화 (텍스트를 단어 또는 문장으로 분리)를 수행합니다.
  • 토큰화: 텍스트를 작은 단위로 분할하여 각 토큰을 개별적으로 처리할 수 있게 합니다. 토큰은 단어, 문장, 또는 하위언어 등이 될 수 있습니다.
  • 언어 모델: 언어 모델은 언어의 확률적 구조를 학습하고 이해하는 데 사용됩니다. 이 모델은 문장 구조, 단어 간 관계, 문맥 등을 파악하며, 다음 단어 또는 문장을 예측하는 데 사용됩니다.
  • 특징 추출: NLP 작업에 따라 다양한 특징 (feature)을 추출합니다. 이러한 특징은 텍스트 데이터를 수치형 데이터로 변환하여 기계 학습 모델에 입력으로 사용됩니다.
  • 기계 학습: 특징을 추출한 후, 기계 학습 알고리즘을 사용하여 모델을 훈련시킵니다. 훈련 데이터를 사용하여 모델은 텍스트 데이터의 패턴 및 관계를 학습하고 예측을 수행할 수 있게 됩니다.
  • 평가와 튜닝: 모델의 성능을 평가하고 필요한 경우 모델을 튜닝하여 최적의 결과를 얻습니다. 평가 지표는 작업에 따라 다르며, 정확도, 정밀도, 재현율, F1 점수 등이 일반적으로 사용됩니다.
  • 적용: 훈련된 모델은 실제 작업에 적용됩니다. 예를 들어, 텍스트 분류 작업에서는 새로운 텍스트를 분류하거나, 기계 번역에서는 번역을 생성합니다.
  • 지속적인 학습과 개선: NLP 모델은 지속적인 학습과 업데이트를 통해 개선됩니다. 새로운 데이터가 수집되거나 모델의 성능을 향상시키기 위한 피드백이 제공됩니다.

 

모델 예시 

BERT (Bidirectional Encoder Representations from Transformers):

  • BERT는 Transformer 아키텍처를 기반으로 한 사전 훈련된 언어 모델로, 양방향으로 문맥을 이해할 수 있는 능력을 갖추고 있습니다. BERT는 다양한 NLP 작업에서 뛰어난 성능을 보이며, 텍스트 분류, 개체명 인식, 기계 번역, 질문 응답, 감정 분석 등에 활용됩니다.

GPT (Generative Pre-trained Transformer)

  • GPT 시리즈는 Transformer 아키텍처를 사용한 사전 훈련된 언어 생성 모델입니다. GPT-3은 대규모 텍스트 생성 및 이해에 탁월한 능력을 갖추고 있으며, 대화형 AI, 문장 생성, 질문 응답 등 다양한 작업에 사용됩니다.

 Word2Vec

  • Word2Vec은 단어 임베딩을 학습하는 모델로, 단어를 공간 상의 벡터로 표현합니다. 이러한 벡터 표현은 단어 간 의미론적 유사성을 캡처하고 다양한 NLP 작업에 활용됩니다.

CRF (Conditional Random Field)

  • 조건부 랜덤 필드는 시퀀스 레이블링 작업에서 효과적으로 사용되는 모델로, 개체명 인식 및 품사 태깅과 같은 작업에서 주로 활용됩니다.

Seq2Seq (Sequence-to-Sequence) 모델

  • Seq2Seq 모델은 입력 시퀀스를 출력 시퀀스로 변환하는 데 사용됩니다. 기계 번역, 질문 응답, 대화형 AI 및 자동 요약과 같은 작업에서 활용됩니다.

CRNN (Convolutional Recurrent Neural Network)

  • CRNN은 이미지와 텍스트를 동시에 처리하기 위해 사용되는 모델입니다. 이 모델은 이미지에서 텍스트를 추출하거나 이미지 캡셔닝 작업에서 활용됩니다.

ELMO (Embeddings from Language Models)

    • ELMO는 사전 훈련된 언어 모델로, 단어의 다의어성을 고려한 콘텍스트 종속적인 단어 임베딩을 제공합니다. 이러한 임베딩은 문맥에 따라 단어의 의미를 조정할 수 있습니다.

T5 (Text-to-Text Transfer Transformer)

  • T5 모델은 다양한 NLP 작업을 텍스트 입력에서 텍스트 출력으로 일반화하기 위해 설계되었습니다. 텍스트 입력을 텍스트 출력으로 바꾸는 형태로 다양한 작업을 처리할 수 있습니다.

 

[마무리]

 오늘은 NLP에 대해서 간략하게 알아보는 수업이 있었습니다. 요즘 AI 분야에서 가장 인기 있는 분야 중에 하나인만큼 생각보다 더 흥미롭게 다가온 거 같습니다. 나중에 트랙학습 때 더 깊게 공부해 보면 좋을 거 같다는 생각이 들었습니다.

반응형

댓글