프로젝트/NLP Core
-
Bert 요약 설명, 조사프로젝트/NLP Core 2019. 4. 30. 18:20
Bert 1. 참고링크 1) Illustrated Bert 2) Bert 톺아보기 2. 설명 -핵심 아이디어 Transformer 모델에서 Encoder부분만 사용하여 Input을 Embedding한다. Base 모델은 12개, Large 모델은 24개의 Encoder로 구성되는데, Encoder가 많을수록 관계를 잘 파악한다. 각 Encoder는 이전의 출력값을 입력값으로 사용하였는데, non-linear activations를 거치지 않아 Explode 또는 Vanishing Gradients 문제를 최소화 하고자 하였다. 대신 병렬처리가 안된다. Bert는 다이나믹 임베딩값을 갖는다.(같은 단어라도 문장에 따라, 위치에 따라 각기 다른 벡터 값을 갖는다.) -Input Embeddings Bert는..
-
Seq2Seq 요약 설명, 조사프로젝트/NLP Core 2019. 4. 28. 00:15
-Seq2Seq 1. 참고 링크 Seq2Seq 2. 설명 -한 시퀀스(ex) 영어 문장)을 다른 시퀀스(ex) 한국어 문장)으로 변환해주는 모델 -보통 번역이나 질의응답(주로 챗봇)에 사용된다. -Encoder에서 input을 고정된 크기의 context vector로 만들고, Decoder는 context vector로 output을 만든다. -문장의 끝은 특정 태그(EOS)로 구분한다. -Encoder와 Decoder가 한 번(동시)에 학습된다. -LSTM의 한계인, 입력이 매우 길면 성능이 떨어진다는 점을 Seq2Seq도 갖고 잇다.
-
Attention Mechanism(어텐션 메커니즘) 요약 설명, 조사프로젝트/NLP Core 2019. 4. 28. 00:11
-Attention Mechanism 1. 참고 링크 Attention https://wikidocs.net/22893 어텐션 메커니즘과 transfomer Attention is all you need NLP with attention Attention? Attention The Illustrated Transformer Bert 2. 설명 -특정 벡터에 집중하여 성능을 높이는 기법으로 아래의 문제점을 해결 -기존 RNN으로 seq2seq을 풀 때 문제점 첫째, 하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니까 정보 손실이 발생한다. 둘째, RNN의 고질적인 문제인 기울기 소실(Vanishing Gradient) 문제가 존재한다. -핵심 아이디어 I love you -> 나는 너를 사랑해 로 ..
-
Transformer 요약 설명, 조사프로젝트/NLP Core 2019. 4. 18. 17:15
-Transformer 1. 참고 링크 1) seq2seq 2) 어텐션 매커니즘 3) The Illustrated Transformer 2. 설명 -핵심 아이디어 Seq2Seq와 비슷, 인코더, 디코더 안에서 Self Attention을 하여 각 item(word 등)간의 연관성을 반영 Encoder(Multi-Head Self Attention + Feed Forward) -> Decoder(Multi-Head Self Attention + Encoder-Decoder Attention + Feed Forward) -vector => word, Linear + Softmax 최종적으로 나온 결과를 word로 바꾸기 위해, linear, softmax의 과정을 거친다.
-
1-2. DeepLearning(RNN) Result프로젝트/NLP Core 2019. 4. 7. 01:00
Sejong Corpus train : 60,000 test : 20,000 1. LSTM batch size : 1024, 128 word embeddin dim : 50, 25 slot dim : 50, 25 epoch : 30 learning rate : 0.01 precision : 42% recall : 36% F1 : 39% 2. LSTM + CRF batch size : 128 word embeddin dim : 50 slot dim : 50 epoch : 100 learning rate : 0.01 precision : 95% recall : 94% F1 : 95%
-
1-2. 한국어 띄어쓰기 구현 - N-Gram프로젝트/NLP Core 2019. 3. 29. 15:01
2-1. N-Gram(Bi-Gram) N-Gram : 카운트에 기반한 통계적 모델, 영어는 보통 단어 단위로 자르고 한국어는 음절 단위로 자른다. N은 자르는 개수인데, N = 1이면 UniGram 2이면 BiGram 3이면 TriGram이라고 부른다. 여기서는 BiGram으로 구현하였다. 확장된 음절 bigram을 이용한 자동 띄어쓰기시스템(강승식) 논문을 참고하여 아래처럼 8가지 상태를 측정하였다. "가나" "가나 " "가 나" "가 나 " " 가나" " 가나 " " 가 나" " 가 나 " 0 1 2 3 4 5 6 7 def save_bigram(first, second, value): if bigram_dict.get(first + second) is None: list = np.zeros(8) e..
-
1-1. 한국어 띄어쓰기 사전조사프로젝트/NLP Core 2019. 3. 9. 17:01
1-1. 이 분야의 전문가언어공학연구회 : http://www.hclt.kr/note/?lnb=school대한민국 AI 학자들 : http://www.aistudy.co.kr/pioneer/pioneers_kor.htm 1) 심광섭 교수CRF를 이용한 한국어 자동 띄어쓰기(2011)말뭉치와 형태소 분석기를 활용한 한국어 자동 띄어쓰기(2015)음절간 상호 정보를 이용한 한국어 자동 띄어쓰기 (1996) 2) 이창기 교수딥러닝을 이용한 한국어 자동 띄어쓰기 (1저자 황현선, 2016)Structural SVM을 이용한 한국어 띄어쓰기 및 품사 태깅 결합 모델(2013)사용자가 입력한 띄어쓰기 정보를 이용한 Structural SVM 기반 한국어 띄어쓰기(2014)Structural SVM을 이용한 한국어 ..