카테고리 없음

[AI] 자연어 처리, NLP, 용어, 의미

useful-jang 2020. 2. 28. 13:18

 

NLP(Nautal Language Processing)란 "자연어 처리"를 의미합니다. 수많은 텍스트들을 분석하여 관계를 찾고 숨겨진 의미를 도출하는 일련의 과정입니다. 웹상에서 자연어처리만 검색해도 수많은 데이터를 만나볼 수 있는데, 생소하고 전문적인 용어가 많이 나와 해당 내용을 정리합니다.

 

단어 임베딩 Word Embedding

단어를 구성하는 하나의 단어를 수치화하는 방법 중 하나. 하나의 단어를 하나의 정수가 아닌 실수 벡터로 나타낸다. 

 

 Bag of Words

특정 텍스트의 모든 단어를 모아서 각 단어들의 등장 횟수만큼 카운트 하는 방식


신경망 언어 모형 Neural Net Laguage Model

단어 임베딩으로 훈련 가능한 언어 데이터를 만들고 하나의 은닉층으로 다음 단어를 예측하는 방식.

- "A Neural Probabilistic Language Model", Bengio, et al. 2003 : https://tinyurl.com/oo7yauu

 

CBOW (Continue bag of Words) Embedding

여러 개의 문백에 대해 추정하는 방식

 

Skip-Gram Embedding

CBOW와 반대되는 방식. 하나의 문맥에서 여러개의 단어를 예측하는 방식.

 

word2vec

CBOW와 Skip-Gram 방식을 합친 방식. 구글의 gensim이라는 패키지에 word2vec이라는 클래스로 구현되어 있음. 자세한 내용은 아래 링크에서 확인 가능.

-models.word2vec – Word2vec embeddings :  https://tinyurl.com/yaowd3b2

 

텍스트 유사도 Text Similarity

텍스트가 얼마나 유사한지 계산한 값. 자카드, 유클라디언, 맨하탄, 코사인 유사도 4가지가 주로 사용한다.

 

TF-IDF (Term Frequency - Inverse Document Frequency) 벡터화

텍스트 마이닝에 사용하는 가중치. 유사도 측정에 사용하는 공식. 어떤 단어가 문장에서 얼마나 중요하지 가중치를 계산한 것,

- TF는 단어빈도, DF는 문서 빈도를 의미. IDF는 역문서 빈도로 문서빈도의 역수

- 분류 예시 : https://nesoy.github.io/articles/2017-11/tf-idf

 

자카드 유사도 Jaccard Similarity

단어 집합으로 만들어 유사도를 측정. 

- 계산방법 = 교집합(겹치는 단어) / 합집합(모든 단어) = 0~1 값으로 나옴(1은 완전 똑같은 것)

 

코사인 유사도 Cosine Similarity

두 텍스트의 벡터값에서 코사인 각도를 계산. -1~1까지 나오며 1은 완전 같은 것

- 성능이 좋기 때문에 가장 널리 쓰이는 방식. 

- 벡터의 각도를 구하므로 방향성이 생김. 두 문장이 같을 수록 같은 방향, 다를 수록 수평선이 됨.

 

코사인 유사도 Cosine Similarity

두 텍스트의 벡터값에서 코사인 각도를 계산. -1~1까지 나오며 1은 완전 같은 것

- 성능이 좋기 때문에 가장 널리 쓰이는 방식. 

- 벡터의 각도를 구하