쉬엄쉬엄블로그

(NLP 기초대회) NLP Introduction 본문

카테고리 없음

(NLP 기초대회) NLP Introduction

쉬엄쉬엄블로그 2023. 7. 14. 13:34
728x90

이 색깔은 주석이라 무시하셔도 됩니다.

Neural Network based NLP -Overview-

NLP Tasks

NLP in Real Life

  • Natural Language Processing with Disaster Tweets

    • “Three people died from the heat wave so far” - 1 : 재난
    • “on the outside you’re ablaze and alive but you’re dead inside” - 0 : 재난 아님
    • 어떤 Tweet이 진짜 재난인지 아닌지 분류
    • Tweet이 입력되면 0과 1이 출력하는 문제로 진짜 재난일 경우 1이 출력
  • LitCoin Natural Language Processing (NLP) Challenge

    • 텍스트가 입력되면 생물의학 개체 타입 추출
  • 코드 유사성 판단 AI 경진대회

    • 두 코드간 유사성(동일 결과물 산출 가능한지) 여부를 판단
    • Python 코드 A와 Python 코드 B가 입력시, 두 코드가 같으면 1, 다르면 0이 출력
  • Show and Tell : A Neural Image Caption Generator

    • 이미지가 입력으로 들어오면 이미지에 대한 설명을 텍스트로 출력

NLP Tasks

이렇게 다양한 문제를 어떻게 Neural Network로 풀어낼까?

Sequence to Sequence (S2S) Learning

  • Illustration
    • N개의 입력이 들어오고 그 N개의 입력에 대응하는 출력이 있다고 했을 때 입력과 출력 사이의 무언가를 스스로 데이터를 통해 학습할 수 있다면 그러한 기술들을 S2S Learning이라고 부름
  • Sequence 2 Sequence Learning @ running time
  • Definition
  • S2S - cases

Sequence to Sequence for NLP Problem

  • 현 시점에서 가장 성능이 좋고 범용적인 신경망 구조는 Transformer
  • 앞으로 Transformer를 Sequence to Sequence의 기본 Encoder / Decoder로 가정

N21 Problem

N21 Problem

  • About N21
    • Input : Sentence or Multiple Sentences
    • Output : A class prob. Distribution as output

Topic Classification (with Transformer)

  • Topic Classification
    • [CLS] : 트랜스포머에서 쓰이는 Class를 모델링하기 위한 특별한 토큰
    • 주어진 텍스트 조각의 주제를 예측
    • 텍스트의 주제를 추론하는 것은 자연어 이해 시스템이 갖추어야 할 핵심 기능
    • 하나의 문장이 입력
    • 주제들이 Class token(CLS)로 출력

Semantic Textual Similarity (with Transformer)

  • Semantic Textual Similarity
    • 두 문장 사이의 의미적 동등성의 정도를 측정
    • 기계 번역, 요약 및 질문 답변과 같은 다른 NLP 작업에 필수적

Natural Language Inference (with Transformer)

  • Natural Language Inference
    • 가설 문장과 전체 문장 간의 관계를 추론
    • NLU에서는 문장 간의 함축과 모순을 이해하는 것
    • 두 문장(가설 문장과 전체 문장)이 입력
    • 진실(entailment), 거짓(contradiction), 미결정(neutral)이 Class token(CLS)에 출력

N2N Problem

N2N Problem

  • About N2N
    • Input : Sentence or Multiple Sentences
    • Output : Class prob. distribution for each tokens

Named Entity Recognition

  • Named Entity Recognition
    • 구조화되지 않은 텍스트에서 개체명의 경계를 감지하고 유형을 분류
    • 개체명은 사람, 위치, 조직, 시간 표현, 수량 및 금전적 가치와 같은 클래스를 미리 정의
    • 비정형 텍스트에서 지식을 추출하는 시스템을 구축하는데 개체명 인식이 필수적

Morphology Analysis

  • Morphology Analysis
    • 입력되는 텍스트의 최소 형태소 단위를 찾는 것
    • 형태소는 문을 구성하는 최소의 언어 단위
    • 자연어 처리를 위한 단어의 최소단위인 형태소로 분리하기 위해 중요한 요소

N2M Problem

N2M Problem

  • 확장성이 가장 높음
    • 디코더의 결과를 해석할 때 M개의 출력에서 가장 첫 번째 출력만 다루면 N21 task가 되고 N개 입력과 M개의 출력에서 N개의 출력만 처리한다면 N2N task가 됨
    • N2M 모델링 기법으로 N21, N2N까지 모델링할 수 있기 때문에 확장성이 좋음
  • About N2M
    • Input : Sentence or Multiple Sentences for Encoder and Decoder
    • Output : Class prob, distribution for each decoder outputs
    • 디코딩이 굉장히 중요한 task

Machine Translation

  • Machine Translation
    • 디코더에서 <end>라는 symbol이 생성되면 디코딩을 멈춤
      • N개의 입력이 들어오더라도 M이 자유로울 수 있는 이유

Dialogue Model

  • Dialogue Model
    • 번역 문제와 똑같은 구조로 진행됨
    • Chatbot과 같이 사람과 대화하는 주고 받는 모델을 위한 문제
    • 대화를 입력 받아 Encoder가 처리
    • Decoder는 Encoder에서 Feature를 받아 대화의 답변을 생성

Summarization

  • Summarization
    • 입력을 이해한 바탕으로 출력 생성
    • 인코더-디코더 구조 즉, 추상화 기법을 활용한 요약에서는 본문에서는 나타나지 않은 단어가 출력에 나타날 수도 있음
    • 원문을 핵심 내용만 간추려서 작은 요약문으로 변환하는 것
    • 원문인 문장, 문단, 문서를 입력 받아 Encoder가 처리
    • Decoder는 Encoder에서 feature를 받아 요약문을 생성

Image Captioning

  • Image Captioning
    • 인코더와 디코더가 조금씩만 바뀌면 가능한 task
    • 이미지를 벡터 공간으로 추상화시켜줄 수 있는 인코더
    • 입력을 텍스트로, 출력을 이미지로 하려면 인코더를 텍스트용으로 사용하고 디코더를 이미지용으로 사용하면 됨
      • 디코더 : GAN, VAE 등과 같은 이미지 렌더링용 디코더
    • 이미지를 통해 설명하는 캡션(설명)을 만들어 내는 것
    • 입력되는 이미지를 Encoder가 처리
    • Decoder는 Encoder에서 feature를 받아 이미지를 설명하는 텍스트를 생성

NLP Benchmarks and Problem Types

  • NLP Benchmarks

출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)

Comments