(1강) 인공지능과 자연어 처리

인공지능의 발전이 어떻게 자연어 처리 분야에 영향을 주고 발전하게 되었는지 자연어처리의 기초 '언어모델'의 개념 탄생

참고 링크

1. 인공지능의 탄생과 자연어처리

1.1. 자연어처리 소개

인공지능(AI)이란? 인간이 지능을 가지는 학습, 추리, 적응, 논증 다위의 기능을 갖춘 컴퓨터 시스템

1.2. 자연어처리의 응용분야

인간과 컴퓨터의 자연어 이해과

  • 대부분의 Task는 분류문제로 볼 수 있다.

  • 분류를 위해서는 데이터를 수학적으로 표현해야한다.

1.3. 자연어 단어 임베딩

  • Vector로 표현된 단어는 연산이 가능하다.

  • 위의 예시를 보면 할아버지 - 할머니 를 통해 남자, 여자 로 나눌 수 있을 것이고 여기에 농구를 더함으로써 배구를 추출하는 것을 확인할 수 있다. 예시가 조금 맞지 않다고 생각이 되면 한국 - 서울을 하게 되면 나라와 수도의 관계를 얻을 수 있고, 여기에 도쿄를 더하면 일본을 얻을 수 있다.

  • 실생활에서는 신조어나 오탈자 등 OOV 단어가 많이 나올 수 있고, Word2Vec은 OOV 단어들을 전혀 인식할 수 없게 되는 문제가 있다.

Word2vec과 유사하지만 FastText는 n-gram으로 나누어서 학습하여 OOV문제를 해소할 수 있다.

  • 빈도 수가 적은 단어에 대해 유사단어를 잘 추출하는 것을 확인할 수 있다.

  • 하지만 word2Vec이나 Fasttext의 경우 주변단어를 가지고 예측하기 때문에 문맥을 고려할 수 없다는 단점이있다. 즉, 동음이이의어 등의 단어에 대해 예측이 잘 되지 않는다는 한계가 있다.

2. 딥러닝 기반의 자연어처리와 언어모델

2.1. 언어모델

  • 주어진 단어들로부터 그 다음에 등장한 단어의 확률을 예측하는 방식으로 학습

Markov 기반의 언어모델

RNN 기반의 언어모델

2.2. Sequence to Sequence (Seq2Seq)

Seq2Seq 구조가 가지고 있는 문제점은 1) 입력 seq의 길이가 긴경우 처음 token에 대한 정보가 희석된다. 2) context vector 가 고정된 크기를 가지고 있어 긴 seq에 대한 정보를 함축해서 가지고 있을 수 가 없다. 3) 모든 token이 영향을 미치게 되어 중요하지 않은 token도 영향을 주게 된다.

2.3. Attention

순차적으로 연산이 이루어지다보니 연산 속도가 느리다.

Self-Attention

  • 모든 Token들을 연결하게 되어 순서를 없게 되었다.

Futher Question

  • Embedding이 잘 되었는지, 안되었는지를 평가할 수 있는 방법은 무엇이 있을까요?

    • WordSim353

    • Spearman's correlation

    • Analogy test

  • Vanilar Transformer는 어떤 문제가 있고, 이걸 어떻게 극복할 수 있을까요?

    • Longformer

    • Linformer

    • Reformer

Last updated