Natural Language Processing with PyTorch
  • 소개글
  • 서문
  • Index
  • 딥러닝을 활용한 자연어 처리 개요
    • 자연어 처리란 무엇일까?
    • 딥러닝 소개
    • 왜 자연어 처리는 어려울까?
    • 무엇이 한국어 자연어 처리를 더욱 어렵게 만들까?
    • 자연어 처리의 최근 추세
  • 기초 수학
    • 서문
    • 랜덤 변수와 확률 분포
    • 쉬어가기: 몬티 홀 문제
    • 기대값과 샘플링
    • Maximum Likelihood Estimation
    • 정보 이론
    • 쉬어가기: MSE 손실 함수와 확률 분포 함수
    • 마치며
  • Hello 파이토치
    • 딥러닝을 시작하기 전에
    • 설치 방법
    • 짧은 튜토리얼
    • 쉬어가기: 윈도우즈 개발 환경 구축
  • 전처리
    • 전처리란
    • 코퍼스 수집
    • 코퍼스 정제
    • 분절
    • 병렬 코퍼스 정렬
    • 서브워드 분절
    • 분절 복원
    • 토치텍스트
  • 유사성과 모호성
    • 단어의 의미
    • One-hot 인코딩
    • 시소러스를 활용한 단어 의미 파악
    • 특징
    • 특징 추출하기: TF-IDF
    • 특징 벡터 만들기
    • 특징 유사도 구하기
    • 단어 중의성 해소
    • Selectional Preference
    • 마치며
  • 단어 임베딩
    • 들어가며
    • 차원 축소
    • 흔한 오해 1
    • Word2Vec
    • GloVe
    • Word2Vec 예제
    • 마치며
  • 시퀀스 모델링
    • 들어가며
    • Recurrent Neural Network
    • Long Short Term Memory
    • Gated Recurrent Unit
    • 그래디언트 클리핑
    • 마치며
  • 텍스트 분류
    • 들어가기
    • 나이브 베이즈를 활용하기
    • 흔한 오해 2
    • RNN을 활용하기
    • CNN을 활용하기
    • 쉬어가기: 멀티 레이블 분류
    • 마치며
  • 언어 모델링
    • 들어가며
    • n-gram
    • 언어 모델의 평가 방법
    • SRILM을 활용한 n-gram 실습
    • NNLM
    • 언어 모델의 활용
    • 마치며
  • 신경망 기계번역
    • 들어가며
    • Sequence-to-Sequence
    • Attention
    • Input Feeding
    • 자기회귀 속성과 Teacher Forcing 훈련 방법
    • 탐색(추론)
    • 성능 평가
    • 마치며
  • 신경망 기계번역 심화 주제
    • 다국어 신경망 번역
    • 단일 언어 코퍼스를 활용하기
    • 트랜스포머
    • 마치며
  • 강화학습을 활용한 자연어 생성
    • 들어가며
    • 강화학습 기초
    • 정책 기반 강화학습
    • 자연어 생성에 강화학습 적용하기
    • 강화학습을 활용한 지도학습
    • 강화학습을 활용한 비지도학습
    • 마치며
  • 듀얼리티 활용
    • 들어가며
    • 듀얼리티를 활용한 지도학습
    • 듀얼리티를 활용한 비지도학습
    • 쉬어가기: Back-translation을 재해석하기
    • 마치며
  • NMT 시스템 구축
    • 파이프라인
    • 구글의 NMT
    • 에딘버러 대학의 NMT
    • MS의 NMT
  • 전이학습
    • 전이학습이란?
    • 기존의 사전 훈련 방식
    • ELMo
    • BERT
    • GPT-2
    • XLNet
    • 마치며
  • 이 책을 마치며
  • 참고문헌
Powered by GitBook
On this page

언어 모델링

Previous마치며Next들어가며

Last updated 5 years ago

{ width=500px }

문장은 단어들로 이루어진 시퀀셜 데이터입니다. 이미지나 음성신호 데이터와 달리, 단어들은 불연속적인 데이터로써 각각 확률로 정의될 수 있고 앞뒤 단어의 출현에 따라 각 단어의 출현 여부에 영향을 받습니다. 이것은 이미지나 음성신호 데이터와 다른 차별점으로, 우리에게 다른 접근 방법을 제공합니다. 불연속적인 확률 변수로 정의될 수 있어 샘플에 대한 확률값 자체를 얻을 수 있기 때문입니다. 이를 통해 우리는 언어를 모델링하여 주어진 문장의 일부분에서 다음단어를 예측하거나, 문장 자체의 출현 여부를 예측할 수 있습니다.

언어 모델이 이를 실현하려면 수많은 문장이 필요합니다. 학습된 언어 모델은 문장을 만들어내거나 주어진 문장의 유창성 등을 평가하는 등 자연어 처리와 관련한 많은 작업을 수행할 수 있습니다. 즉, 이후 장에서 소개할 자연어 생성 기술과 관련해 언어 모델은 매우 중요한 의미를 지닙니다.

이번 장에서는 언어 모델의 개념을 살펴보고, 언어 모델을 통해 인간의 언어를 모델링하는 방법을 다룹니다. 나아가 기존의 언어 모델링 방법을 소개하고, 그 한계점과 딥러닝을 통해 한계를 뛰어넘는 것에 관해 이야기할 것입니다. 이를 통해 앞으로 이 책에서 많은 장을 할애하여 소개할 자연어 생성에 필요한 밑바탕을 다지고자 합니다.

Daniel Jurafsky