딥러닝 기초 지식
퍼셉트론
인공 신경망으로 다수의 입력으로 부터 하나의 결과를 내보내는 알고리즘.
뉴런의 동작과 매우 닮아있음.

임계치를 좌변으로 넘기고 편향로 표현할 수도 있음
- 종류
- 단층 퍼셉트론
- 다층 퍼셉트론 , 피드 포워드 신경망
- 순환 신경망

텍스트 처리를 위한 기초 지식
Word Embedding
- One-Hot Encoding
- Word Embedding


FastText
Wored2Vec의 개량 알고리즘으로 subword를 고려한 알고리즘
- Word2Vec에서 나온 한계점을 표현하면 OOV문제라고 할 수 있음. 즉, 기존 말뭉치에 등장하지 않은 단어를 출력하면 에러가 나옴
- 말뭉치에없거나 적게등장한 단어는 임베딩 벡터를 생성해내지 못하는데 말뭉치에 없는경우를 OOV라고 부름
- 특징
- 단어를 벡터로 만드는 방법 페이스북에서 계발
- Word2Vec의 확장이라고 할수 있음
- 서브워드 개념임
- 노이즈 많은 코퍼스에서 강정을 가짐
글로브(Glove)
- 카운트 기반 과 예측 기반으로 단어 임베딩 방법론
- LSA는 DTM이나 TF_IDF은 카운트 한 행렬이라는 전체적인 통계정보를 받아와서 차원을 축소하여 잠재된의미를 끌어냄
- WordVec는 실제값과 예측값에 대한 오차를 손실함수를 통해 줄여가는 방법
- 윈도우 기반 동시 등장 행렬
- 동시 등장 확률 → 손실함수
- 임베딩 된 중심 단어 와 주변 단어 벡터의 낵적이 전체 코퍼스에서의 동시 등장 확률이 되도록하는것
NLP 기본모델
RNN
- 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델
- 연속적인 시퀀스를 처리하기 위한 신경망

은닉층에 있는 RNN의 처리 단위를 셀이라고 하며, 셀의 출력을 은닉상태라고 함.
Long - Term Dependency pLoblem : 장기 의존성 문제
Bidirectional RNN
- 은닉층을 높이거나 역방향으로 입력을 참고하는 RNN을 추가하여 양방향을 만들수 있음

Tracher forcing

LSTM
- 기존 RNN의 장기 의존성 문제를 개선하기위해 기억력을 높인 RNN명칭

Bidirectional LSTM


Named Entity Recognition
- Tagging Task using Keras
- Sequence Labeling
- x에 대해 y를 각각 부여하는 작업
- CRF : 양방향LSTM을 위해 탄생이 아니라 독자적으로 존재했고, LSTM 모델위에 하나의 층으로 추가함
- BIO Tagging
- 개체명 인식 데이터에서 주로 사용하는 태깅 방법
- 개체명 인식은 비정형 텍스트의 언급을 인명, 단체 장소 수치등 정의된 분류로 분류하는 작업


- BIO Tagging
- 개체명 인식 데이터에서 주로 사용하는 태깅 방법
- 개체명 인식은 비정형 텍스트의 언급을 인명, 단체 장소 수치등 정의된 분류로 분류하는 작업
GRU
- 3개의 게이트가 있었던 LSTM과 다르게 업데이트 게이트, 리셋 게이트로 게이트를 줄임
- LSTM과 마찬가지로 장기 의존성 문제에 비해 강건함

CNN
- 2D Convolution : 합성곱 연산 - 이미지의 특징을 추출하는 역할
- 2D MaX-pooling : 특징추출
CNN for Text Classification

실습

ELMo
- 워드 임베딩의 한계
- ELMo에서 사용하는 벡터들은 기본적으로 방대한 데이터를 훈련시킨 언어 모델로 훈련시킨 양방향 LSTM으로 부터 가지고 온다.

NLP 응용
Chatbot
- Closed Domain : 키워드와 인텐트를 기반으로 특정 업무를 수행 ex)카카오미니
- 키워드 = 개체명 인식 인텐트 = 텍스트 분류
- Open-Domain : 어떤 토픽이든 상관없이 사람과 대화를 나눈다 ex)심심이

Natural Language Generation
- 자연어처리는 자연어 이해(NLU)와 자연어 생성영역(NLG)이 있음
- 기계가 텍스트를 스스로 생성하는 영역
Machine Translation
- 입력 문장을 번역한 출력 문장을 생성하는 작업
Sequence - to - Sequence
- 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력함


- 인코더의 마지막 은닉 상태를 컨텍스트 벡터라 부름
- 디코더 RNN 셀의 첫번째 은닉 상태 = 컨텍스트 벡터
Beam Search
- Greedy Decoding = 매 시점마다 가장 높은 확률을 가지는 단어, 최적의 해를 보장 못함
- EXhaustive Search Decoding = 모든 가능한 조합의 경우를 생성해서 가장 확률 높은 문장을 선택. 리소스가 너무 높음
- Beam Search Decoding = 매 시점마다 가장 확률이 높은 K개의 다음 단어를 선택한 후 다음 시점 단어들의 확률 예측
BLEU
평가를 나타내는 기준치

- BLEU 한계
- 점수가 높다고 사람이 보기에 좋은 번역은 아님
- 문장의 의미를 고려한 평가가 아님
- 문장의 구조를 고려하지 않음
- 사람의 평가가 필수적
자료참고
https://velog.io/@ljs7463/%EC%9E%90%EC%97%B0%EC%96%B4%EC%B2%98%EB%A6%ACNLP-Word2Vec-fastText
https://jaeyoon-95.tistory.com/232