카테고리 없음

ERRI 자연어처리 연구소 자연어처리 특강 정리

Prcnsi 2022. 12. 12. 21:07
728x90

얼마 전에 학교에 ETRI 연구소에서 자연어처리 특강이라는게 떠서 가봤다 !!

연사님은 ETRI 자연어 처리 연구소에서 연구중이신 박사님께서 오셨다 (성함은 기억이 안남)

혹시나 보신다면 덕분에 자연어 처리 분야 전반에 대해 깔끔하게 정리해주셔서 안목이 조금 더 넓어진 것 같습니다.

감사합니다:) 하튼 그래서 듣고 정리한 것을 나중에 보려고 올려본다.


 

자연어처리 특강 (2022-12-07)

강의는 Part1과 Part2로 구성되었으며 Part1에서는 자연어 처리 전반에 기술에 대해 주로 쓰이는 부분에 대해 한번씩 짚어주셨다. 그리고 Part2에서는 현재 가장 최신 모델인 GPT와 BERT를 기준으로 현재 주로 사용되는 모델들의 흐름에 대해 알려주셨다. 

 

AI 전반의 분야에 대한 소개 (Introduction) 

본격적인 강의에 들어가기 전에 알려주신 AI의 

  • 인공지능: 데이터의 특징을 찾고, 학습 모델에 잘 알려주는 것
  • 자연어처리 방법
    • 규칙기반
    • 기계학습
  • 목적
    • 자연어를 분석하여 컴퓨터가 처리할 수 있도록 하는 기술(NLU)
  • 자연어 처리 방법
    • 지도 학습 (자연어 처리에서 라벨링은 정치관련, 예술 관련과 같은 class의 형태로 학습 가능
    • 비지도 학습
  • 자연어 처리 방법의 흐름
    • 최근 몇년간 기계학습의 한 갈래인 딥러닝을 활용한 방법이 활발히 연구되고 있음
    • 자연어처리에서도 딥러닝은 중요하고 많이 쓰인다.
    • 이 딥러닝 모델은 기계학습에 비해 속도가 느리고 GPU가 필요하다는 단점이 존재
    • 인공지능에서 꼭 Computer Vision이 아니라도 딥러닝은 필수적이기 떄문에 공부 필요
  • 딥러닝의 장점
    • 특별한 feature engineering 과정이 필요가 없음. (즉 단어별 중요도를 직접 “라벨링”해줄 필요가 없어짐) - 딥러닝 없이 자연어처리 하던 옛날 방법(SSVM)

Part1 . 한국어 언어분석 주요 기술

1. 형태소 분석, 개체명 인식

💡 형태소 분석이 필요한 이유는 기계가 자연스럽게 언어의 구조를 이해할 수 있도록 하는 법

 

  • 자연어 문법 및 의미적 내용을 기계가 학습, 아래로 갈수록 어려움, 그리고 언어분석에서는 중의성 분석이 부족하고 아직 한계가 좀 있다.
  • 언어 분석 기술
    • 문법적 이해
      • 형태소(어휘)
      • 의존 구문 분석(문장)
    • 의미적 이해
      • 개체명, 어휘의미 (어휘)
      • 형태소 분석 단위로 잘라서 이해하는게 성능이 잘 나옴
    • 형태소 분석에서 데이터와 정답
      • 데이터는 문장, 정답은 품사 종류인데 보통정답도 같이 주어지는데 직접 달아야할 수도 있음.
      • 데이터 형태소 전처리 작업도 NLU에서 굉장히 중요하다
      • 데이터를 만들고 처리하는 작업을 연습할 필요 있음
      • 문법도 직접 만들면 안 되고 국립국어원에서 21세기 세종계획의 세종 태그셋(45개)를 기준으로 달아야함 !! 데이터를 만들 떄 가이드라인으로 사용
      • 가이드라인은 정보통신단체 표준 TTAK.KO-11~(강사 제작)과 같은 표준을 잘 만들거나 사용할 필요가 있다.
    • 형태소 분석 기술 특징
      • 신조아가 (즉 unknown data)가 조금 문제가 된다.
      • 이는 음절단위로 신조어를 분석하고
      • 신조어를 사전에 추가하고 업데이트하는 작업을 함. 사전기반 (규칙기반)
      • 학습하는데 도메인마다 조금씩 바꾸어야할게 있음.
      • 따라서 일반화되는건 기계학습, 세분화되는건 사전학습 이런식으로 개발함.
    • 용언의 원형 복원 필요 ex) 산다. → 살/+ 다/
    • 음절 단위 품사 태깅 모델 (sequential labelling)
      • 연속된 입력에 대해 정답을 달아주는 기술

2. 개체명 찾기

💡 개체명 찾기는 고유명사 찾기

  • 특징
    • 형태소 두 개를 합치니까 A라는 의미가 되네와 같이 인식함
    • 마찬가지로 이 것도 범용적으로 사용하기 위해 ‘개체명 태그셋’과 같은 가이드라인이나 기준이 필요하다. (WiseNLU 개체명 인식 태그 체계: 146개 태그)
  • 개체명 인식의 어려움
    • 문맥에 따라 개체명 의미가 달라짐. 문맥에 따라
    • 위키피디어는 표제어가 개체명인 경우가 많음(참고)
    • 신규 개체명을 찾는 연구가 진행중이다.
  • 개체명 인식의 기술
    • 기계학습 (장점)
      • 높은 성능, 범용성 있기 다른 분야에도 적용 가능
    • 회사에서는 사전 기반 전처리/후처리는 사전 기반으로 진행되며 중요하다.
    • 한국어 개체정규화 기술 (중의적 의미 해결하는 기술)
    • 그그 김구라는 의미가 여러 개중 어떤 의미인지 위키피디아를 기반으로 하는게 knowledge 기반으로 연결해주는 기술 (위키피디아가 대표적이고 이거밖에 없음)
  • 동음이의어 및 다의어 분석
  • 이런기술을 활용해서 챗봇과 같은 큰 어플리케이션이 완성된다
    • 이것만으로 기술을 만드는게 아니라
    • 매상황마다 개체명인식을 쓸수도 있고, 동음이의어 및 다의어 분석과 같은 기술을 쓴다.
    • 즉 위 기술들은 자연어처리의 컴포넌트다.
  • 의존구문 분석 소개
    • 의존 관계는 금연 나이에서 나이가 더 중요하고 금연이 나이에 의존한다는 걸 분석
  • 의미역 분석
    • 활용성은 높지 않음 형태소 분석이 가장 많이 쓰임, 서술어의 의미를 중심
  • 언어분석 응용 사례
    • 언어분석 응용 사례 (문서 요약, 번역, 감성분석)
    • 텍스트 분석으로 사용할 때 형태소 분석을 사용하는게 좋다. (성능적으로나 ~나)
  • AI 스피커
    • 이는 현재 음성 - 텍스트(자연어처리) - 음성으로 이루어지는데
    • 나중에 로봇이 되면 입력으로 이미지와 음성 데이터를 같이 들고와서 멀티모달로 학습하는 방법론을 연구하거나, 이러한 기존의 방법론을 공부하는게 도움이 될 듯.
  • 텍스트 마이닝
    • 대규모 문서(빅데이터)에서 의미 있는 정보를 추출
    • 참고 (AI API DATA ETRI) 에서 언어분석 기술을 보면 문어(정형어), 구어(일반어)에서 기술을 공개하고 있음 ETRI Rest API가 있다~

 

 


Part2 . BERT, GPT 등 사전학습 언어모델의 기초

💡 성능이나 여러가지를 평정한 대표적인 모델을 살펴볼 것

 

1) BERT, GPT 기초

  • 심볼을 계산 가능한 실수 값으로 변환하기
  • 각 단어에 맞는 실수 값으로 바꾸는 것을 Word2Vec과 같은 형태로 변환함
  • 심볼릭한 것을 벡터화한게 임베딩이고 이게 실제로 모델에 입력으로 들어감.
    • 이 때 어떤 기준을 가지고 문자를 벡터로 만들어야하고, 이때 벡터는 텍스트의 특징을 잘 담아서 벡터화할 필요가 있음.
  • Word2Vec (2013)
    • 현재 단어를 기준으로 그 다음단어를 예측하는 모델, 혹은 앞 뒤의 문장을 주고 그 사이의 단어를 찾을 수 있게 신경망의 선들이 학습이 되어야함.
    • 이게 더 발전된게 언어모델이다. 그리고 이것의 목적은 신경망에 입력하기 위해 벡터화한 것
  • Contextual Representation
    • 심볼릭하게 벡터화한 걸 Representation하되 문맥적인 부분까지 넣는게 이거
  • 언어모델
    • 기존에 학습의 언어적 특징을 미리 사전에 다 학습시켜 놓고 상황에 맞는 부분만 추가하는게 BERT, GPT와 같은 사전 언어 모델이라고 함. 이는 수백기가에 있는 텍스트를 다 기억하고 있는 것.
    • 한마디로 엄청난 효율성을 가지는 것
    • 대용량 raw data로 부터 공통 언어모델을 사전 학습해 놓고
    • 공통 언어 모델을 기반으로 응용 태스크별로 재학습하여 사용 (fine-tuning)
    • 인코더(입력, 원래 데이터를 잘 학습하는 것, 원문 이해), 디코더(출력, 번역물 생성)
    • 인코더 기반으로 할 때는 이해를 잘함 (BERT, ELECTRA, ALBERT, SpanBERT )
    • 디코더 기반으로 할 떄는 생성쪽 관련된거 할 때 잘함 (GPT-1,GPT-2, )
      • 그래서 GPT-3는 초대형 언어 생성 모델이다.
    • 언어 이해 생성 모델
  • BERT
    • 공백 단어 예측: 문장에서 몇 몇 단어를 가려놓고 저 단어를 예측하는 방향으로 학습
    • BERT는 원시 텍스트인데 이걸 정답 말뭉치 없이 텍스트 자체는 지도학습으로 학습된 것(self-superviesed) → 그냥 한마디로 문장에서 단어나, 일부 문장 가려놓고 학습해서 정답이 있다는 뜻임.
  • BERT Fine-tuning (응용 태스크 적용)
    • 언어처리, 문장분류, 기계독해 등에 적용
    • 기계독해는 단락을 이해하는 것
  • GPT : Decoder 기반 모델
    • Sequence하게 data를 학습해서 결과를 생성하는 것
  • Encoder-Decoder 기반 T5 계열
    • 그냥 둘이 붙여서 사용한다~
  • KoBERT 범용 언어모델 (MRC) - 기계독해
  • 문장/문서 분류
728x90