[패캠/NLP] Word2Vec 워드 임베딩 실습
·
ML & DL/NLP
이번 글에서는 Word2Vec을 이용한 워드 임베딩을 구현해 볼 것이다. 1. 영어 워드 임베딩 구축 우선 scikit-learn에서 제공하는 데이터 set을 사용할 예정이다. import pandas as pd import numpy as np from sklearn.datasets import fetch_20newsgroups dataset = fetch_20newsgroups(shuffle=True, random_state=1, remove=('headers', 'footers', 'quotes')) dataset = dataset.data news_df = pd.DataFrame({'document':dataset}) news_df 위의 데이터셋에는 총 11314개의 데이터가 포함되어 있다. 1-..
[패캠/NLP] 워드 임베딩
·
ML & DL/NLP
워드임베딩은 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술로 단어를 sparse matrix 형태로 표현한다. 이러한 과정을 거쳐 나온 것을 임베딩 벡터라고 부른다. 임베딩 벡터는 모델의 입력으로 사용되게 된다. 기계는 자연어를 이해할 수 없기 때문에 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해 주는 작업 자체를 인코딩이라고 부른다. Sparse representation 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스값만 1로, 나머지는 모두 0으로 표현한 벡터이다. 이렇게 벡터 혹은 행렬의 값이 모두 0으로 표현된 것을 희소 표현이라 한다. 이렇게 만들어진 sparse matrix는 단어의 개수가 늘어나면 벡터의 차원이 한없이 커지기..
[패캠/NLP] 자연어 특성과 임베딩
·
ML & DL/NLP
1. 자연어의 특성 자연어를 기계가 처리하도록 하기 위하여 먼저 자연어를 기계가 이해할 수 있는 언어로 바꿔야 함. 이는 이전 글에서 작성했던 토큰화 작업의 결과인 단어 사전 Vocabulary를 기계가 이해할 수 있도록 표현해야 한다. -> 이 과정이 매우 어려움. 하나의 단어가 여러 뜻을 가지기 때문. 2. 단어의 유사성과 모호성 2-1. 단어의 형태 단어에는 다음과 같은 여러 가지 형태가 존재한다.-> _동형어_, _다의어_,_동의어_,_상위어_,_하위어_ 동형어: _동형어_란 형태는 같으나 뜻이 다른 단어로 _동음이의어_라고 부른다. ex) 먹는 배, 신체 부위 배 다의어:_다의어_란 하나의 형태가 여러 의미를 지니면서도 그 의미들끼리 서로 연관이 있는 단어. ex) 마음을 먹다, 음식을 먹다, ..