본문 바로가기

NLP29

시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq)란? - 기본 구조편 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq)는 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 모델이다. 기계번역, 챗봇, text summarization 등 다양한 분야에서 사용되지만, 모델 자체의 이해를 돕기 위해 아래의 설명에서는 번역 task를 기반으로 설명해보겠다. sequence to sequence는 크게 세 가지 부분으로 나뉜다. Encoder Decoder Generator 각자의 요소들이 어떤 기능을 하는지 차근차근 알아보자 Encoder encoder는 입력되는 sequence의 정보를 최대한 보존하도록 압축을 진행하는 역할을 한다. 즉, 문장의 의미가 잘 담겨있는 상태로 높은 차원에 있던 data를 낮은 차원의 latent space(잠재 공간)에 .. 2022. 11. 22.
[NLP] 언어 모델(Language Model) 이란? 언어 모델(Language Model) 언어 모델(Language Model)이란, 문장의 확률을 나타낸 모델이다. 즉 문장 자체의 출현 확률을 예측 이전 단어들이 주어졌을 때, 다음 단어를 예측 과 같은 기능을 위한 모델인 것이다. 예시와 함께 알아보겠다. 중고 맥북프로 14인치 모델 130만원에 OOO 다음과 같은 예시에서 빈칸에 아래와 같은 선택지를 고를 수 있다면, 어떤 것을 고를 것인가? 먹습니다 팝니다 모릅니다 맛있다 일반적으로, 2번 팝니다를 고를 것이다. 인간의 두뇌에는 문맥, 즉 단어와 단어 사이의 확률이 학습이 되어있기 때문에 2번 "팝니다"를 무리없이 고를 수 있다. 이러한 Task를 모방하기 위해, 많은 문장들을 수집하여 단어와 단어 사이의 출현 빈도를 세어 확률을 계산하는것이 언어.. 2022. 11. 5.
워드 임베딩(Word Embedding)이란? (1) 워드 임베딩(Word Embedding) 자연어처리를 수행하는 시스템들은 입력을 텍스트로 받는다. (출력의 경우에는 다를 수 있다.) 그러나, 우리가 자연어처리를 하기 위해 사용하는 여러 모델들은 수치화된 입력을 받고, 수치화된 출력을 내보낸다. 따라서, 우리는 텍스트 정보를 모델에 넣고, 모델에서 나온 결과를 텍스트로 이해하기 위해 텍스트-숫자 간의 변환 방법이 필요하다. 이때, 텍스트를 숫자 벡터로 바꾸는 과정을 워드 임베딩(Word Embedding)이라고 한다. 원핫 인코딩(One-hot Encoding) 텍스트를 벡터롤 바꾸는 방법으로는 원핫 인코딩이 있다. 원핫 인코딩이란, 0과 1로 구성된 벡터로 변환하는 과정이며, 훈련 데이터에 존재하는 단어들로 단어장을 만든 후 나열한 다음, 각 단어가 .. 2022. 9. 4.
Tokenization(토큰화)란 무엇일까? NLP에서의 Tokenization NLP에서의 Tokenization은, 두 개 이상의 다른 token의 결합으로 이루어진 단어를 쪼개어, 단어의 숫자를 줄이고 희소성(sparseness)를 낮추기 위해 실행된다. 단어의 숫자를 줄이고 희소성을 낮춘다는 것은 과연 무슨 뜻일까? 다음 예제를 같이 살펴보자 희소성을 줄여주는 Tokenization "배가 너무 고프다 저녁밥 뭐 먹어야하지" "배는 별로 고프지 않아" 위와같은 두 개의 문장이 있다. 직관적으로 봤을 때, 여기서의 "배" 부분과 "고프다" 부분은 같은 의미이다. 하지만, 컴퓨터는 "배가"와 "배는" , "고픈데" 와 "고프지"를 다른 단어로 인식한다. 따라서, 같은 의미이지만 각각의 단어로 인식되는 것이다. 그만큼 희소성도 올라가게 된다. 그.. 2022. 8. 20.