본문 바로가기

Python408

[딥러닝을이용한 자연어 처리 입문] 1601 어텐션 메커니즘 (Attention Mechanism) 1. 어텐션 메커니즘 (Attention Mechanism)의 아이디어 RNN에 기반한 seq2seq 모델의 문제점 첫째, 하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니까 정보 손실이 발생합니다. 둘째, RNN의 고질적인 문제인 기울기 소실(Vanishing Gradient) 문제가 존재합니다. 이를 위한 대안으로 입력 시퀀스가 길어지면 출력 시퀀스의 정확도가 떨어지는 것을 보정해주기 위한 등장한 기법인 어텐션(attention) 등장 - 디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 문장중 해당 시점에서 예측해야할 단어와 연관이 있는 입력 단어 부분을 좀 더 집중(attention)해서 봄 2. 어텐션 함수(Attention Function) - 어.. 2021. 6. 2.
[딥러닝을이용한 자연어 처리 입문] 0209 데이터의 분리 Splitting Data ○ 데이터 분리(Splitting Data) : 데이터 집합을 입력(문제 X), 출력(정답 y) 또는 훈련용, 테스트용으로 분리하는 작업 1. 지도 학습(Supervised Learning) - 지도 학습의 훈련 데이터는 정답이 무엇인지 맞춰야 하는 '문제'에 해당되는 데이터와 레이블이라고 부르는 '정답'이 적혀있는 데이터로 구성되어 있음. 쉽게 비유하면, 기계는 정답이 적혀져 있는 문제지를 문제와 정답을 함께 보면서 열심히 공부하고, 향후에 정답이 없는 문제에 대해서도 정답을 잘 예측해야 함. - 표기 방식 X_train : 문제지 데이터 y_train : 문제지에 대한 정답 데이터 X_test : 시험지 데이터 y_test : 시험지에 대한 정답 데이터 2. X 와 y 분리하기 1) zip 함수를 이.. 2021. 5. 16.
[딥러닝을이용한 자연어 처리 입문] 0207 패딩 Padding ○ 패딩(Padding) : 문장 또는 문서의 처리를 위하여 데이터에 특정 값을 채워서 데이터의 크기(shape)를 조정하는 것. 숫자 0으로 채운다면 제로 패딩(zero padding) 1. Numpy로 패딩하기 2. 케라스 전처리 도구로 패딩하기 - 출처 : [딥러닝을이용한 자연어 처리 입문] 0207 패딩 Padding 2021. 5. 16.
[딥러닝을이용한 자연어 처리 입문] 0201 토큰화 Tokenization 1. 단어 토큰화(Word Tokenization) - 토큰의 기준이 단어(word). 여기서 단어(word)는 단어 단위 외에도 단어구, 의미를 갖는 문자열로도 간주되기도 함 - 구두점이나 특수문자를 전부 제거하면 토큰이 의미를 잃어버리는 경우가 발생하기도 함 - 영어와 달리 한국어는 띄어쓰기만으로는 단어 토큰을 구분하기 어려움 2. 토큰화 중 생기는 선택의 순간 - 영어권 언어에서 아포스트로피를(')가 들어가있는 단어는 어떻게 토큰으로 분류해야할까 3. 토큰화에서 고려해야 할 사항 - 구두점이나 특수 문자를 단순 제외해서는 안 된다. - 줄임말과 단어 내에 띄어쓰기가 있는 경우 - 표준 토큰화 예제(Penn Treebank Tokenization의 규칙) 하이푼으로 구성된 단어는 하나로 유지 does.. 2021. 5. 15.