본문 바로가기
코딩

Natural_Language_Processing ; NLP

by Doldam Alice 2023. 2. 9.
300x250

Natural_Language_Processing ; NLP

-> 일반적으로 전이학습을 사용함.

-> 목적 : 문장 이해X, 연산이나 처리O

학습된 모델로 문장 분류, 요약, 문장 생성, 번역 등의 작업 수행 (generator의 형태) sequential 모델에서는 처리가 안됨.

대량의 말뭉치(Corpus - 모델링을 위하여 특정 목적을 가지고 수집한 언어의 표본)는 대부분 비정형. 문장을 단어, 글자, 형태소 등 어느 수준으로 잘라야 하는가?

통상 단어 수준으로 자르는데, tokenization 함.

숫자로 변환: Vectorization = Encoding

Language Model

Bag of Words

  • 단점 단어의 순서를 고려하지 않의 문맥 의미 Semantic Context 반영이 부족한 단점을 보완하기 위해 -> n-gram 사용
  • 언어의 특성상 자주 등장하는 단어에 높은 중요도를 부여하는 단점을 보완하기 위해 -> TF-IDF
  • 희소 행렬 Sparse Metrix 단점을 보완하기 위해서 -> Embedding 사용

n-gram TF-IDF(Term Frequency - Inverse Document Frequency

But 귤, 오렌지, 사과를 비교할 땐?

cf. 단순히 빈도수만 가지고 유사성의 의미를 구분할 수 있겠느냐?

Similarity 단어나 문장 간 유사도를 비교.

 

단어나 문장을 벡터로 변환 후 유사도를 비교 방법 (피타고라스의 정리와 유사)

  1. Euclidean Distance 방식 - 유사한 애들끼리 거리를 계산 가까이 있을거다~!
  2. Cosine 방식 - 두 벡터 간의 사잇각을 계산하여 유사하구나~

Embedding 중앙 단어로 주변 단어를 학습 시킴

300x250

'코딩' 카테고리의 다른 글

pix2pix를 사용한 GAN (예제)  (0) 2023.02.08
Generative Adversarial Network < GAN >  (0) 2023.02.07
DT Digital Transformation직무  (0) 2023.02.07
Recurrent Neural Network ; RNN  (0) 2023.02.02
CNN Animal(Dogs and Cats) Categorical GPU  (0) 2023.01.31

댓글