자연어 처리(NLP ) 역사, AI 역사
< NLP(Natural Language Processing) > 
    내용 분류, 요약, 감정 분석,  기계 번역, 기사 생성, 질의응답,  
    - 용어 
* 벡터(vector) - 텍스트를 숫자로 표현 
* 말뭉치(Corpus) - 자연어 처리를 위해 쓰이는 (수집된) 텍스트 자료 
* Tensor(텐서) : 행렬의 일종, n차원 배열을 사용하여 표현, 물리량도 표현할 수 있는 좌표계
* WordNet - 어휘 데이터베이스,  200개 이상의 언어, 207,016개의 단어 
https://wordnet.princeton.edu/ 
* NLP 벤치마크 
SQuAD (2016) The Stanford Question Answering Data set 
LAMBADA(2016) :  (LAnguage Modeling Broadened to Account for Discourse Aspects) Dataset ,  
마지막 문장에서 누락된 대상 단어가 예측되는 약 10,000개의 구절 
RACE (2017) Reading Comprehension from Examinations 
TriviaQA (2017) : Dataset, 질문-응답-증거 , 문장 이해 
SWAG (2018) Situations With Adversarial Generations data set 
GLUE (2018) General Language Understanding Evaluation , 자연어 이해 시스템을 교육, 평가 및 분석하기 위한 리소스 모음 
* Zero-shot 러닝 : 데이터 레이블링을 사용하지 않고 학습 
    - 훈련과 추론 2단계, 의료 영상, 자율주행차에 활용 
* One-shot 러닝 : 과거 데이터를 사용하여 분류 작업을 수행, 얼굴인식 
* Few-shot (low-shot) 러닝 : 비슷한 여러 데이터의 작은 예제 세트를 사용 
//------------------------------------- 
// 신경망 
    - 1980년대 :  
*  ANN(Artificial Neural Networks ) - 인공신경망 
      - 사람의 신경망 모방 
    패턴 인식 , 예측, 문제 해결 
* DNN (Deep Neual Network) - 심층신경망, ANN의 단점 보완 
* CNN(convolutional neural networks ) - 합성곱신경망  
    이미지 및 비디오 인식, 추천 시스템, 이미지 분석 및 분류 
* RNN(Recurrent Neural Network) - 순환 신경망 
        예측 문제, 기계 번역,  음성 인식, 감정 분석, 텍스트 및 언어 모델링 생성  
//------------------------------------- 
1950 : 튜링 논문에서 Turing test (Imitation Game) 발표 
    - 기계가 인간과 얼마나 비슷하게 대화할 수 있는지를 기준으로 기계의 지능을 측정 
//------------------------------------- 
1997 : LSTM(Long short-term memory) , RNN  이용 
2013 : Word2Vec 논문, (Efficient Estimation of Word Representations in Vector Space 가 출판 
    - 단어의 의미와 유사성을 보다 정확하게 식별하기 위해 지속적인 단어 임베딩 
2014 : Seq2Seq (sequence to sequence) 구글 번역 
2015-11 : OpenAI 설립 
    -  Elon Musk , Sam Altman  
    - 2019 : 마이크로소프트에서 10억 달러 투자 
2015-11 : TensorFlow, 구글 발표 
    - 기계 학습 프레임워크 
https://github.com/tensorflow/tensorflow 
2016-09 : PyTorch (파이썬 기계학습 프레임워크) 
2017-06 : 트랜스포머(Transformer), 구글 발표 논문 "Attention is all you need" 
    -  RNN의 단점 보완
    - Attention(중요 단어 인식)을 하는 Encoder 와 Decoder  
    - Encoder : 자연어를 기계가 인식 
    - Decoder : 기계가 처리한 것을 자연어로 표현 
//------------------------------------- 
2018-06 : AWS Amazon Comprehend (자연어 처리) 서비스 시작 
https://aws.amazon.com/ko/comprehend/ 
    - 핵심 문구 추출, 감정 분석 , 표적 감정 , 엔터티 인식 , 언어 감지 ,  
    이벤트 유형별 이벤트 탐지 , 구문 분석 
    - 2018-04 : 번역 서비스 : https://aws.amazon.com/translate/ 
    - 2020-06 : CodeGuru : 코드 검토(Reviewer), 최적화(Profiler) 
https://aws.amazon.com/ko/codeguru/ 
    - 2022-06 : CodeWhisperer : 프로그래밍 코드 생성 (Github Copilot(2021)와 유사) 
https://aws.amazon.com/ko/codewhisperer/ 
//------------------------------------- 
2018-06 : GPT ( Generative Pre-trained Transformer ) 
    - 문장 작성, 요약, 번역, 질문에 대답 
    - 신경망과 트랜스포머( transformer ) 모델을 이용 
//------------------------------------- 
// BERT 
2018-10 : BERT(Bidirectional Encoder Representations from Transformers ), 구글이 발표 
    - 트랜스포머 기반 기계학습 기술 
    - 2019년 구글 검색에 적용 
    - 사용시 미세 조정 필요 
https://github.com/google-research/bert 
https://hryang06.github.io/nlp/BERT/ 
    2019-10 : ALBERT( A Lite BERT) - BERT 모델의 크기는 줄이고 성능은 높임. 
https://github.com/google-research/albert 
    2019-08 : RoBERTa ( Robustly optimized BERT Approach)  - 페이스북이 발표 
https://github.com/facebookresearch/fairseq/tree/main/examples/roberta 
//------------------------------------- 
// GPT 
2019-02 : GPT-2 - 15억 개의 매개변수 
    - 소스코드 공개 
https://github.com/openai/gpt-2 
2020-06 : GPT-3 - 1,750억 개의 매개변수 
    - API만 공개(유료) 
    - Microsoft에 독점적으로 라이선스 
    - 사용시 미세조정 필요 없음 
https://github.com/openai/gpt-3 
// 
GPT-4 - 2022 발표 예정 
//------------------------------------- 
2021-01 : DALL-E  - 자연어가 기술한 문장을 디지털 이미지로 생성 
    2022-04 : DALL-E 2 -  
2021-08 : GitHub Copilot , 프로그래밍 언어 코드 작성 AI (GPT-3 이용)  
    2021-08 : OpenAI Codex (GPT-3 이용) - 자연어로 기술된 코드 작성 
    2022-06 : 아마존 CodeWhisperer 서비스 출시 (Github Copilot과 유사)