목록DL/NLP (28)
rueki
글로브는 카운트 기반과 예측 기반을 모두 사용하는 방법론이다. 카운트 기반의 LSA와 예측 기반의 Word2vec의 단점을 보완하며, 성능 역시 뛰어나다. LSA는 TF-IDF 행렬과 같이 각 문서에서의 각 단어 빈도 수를 카운트 한 행렬이라는 통계 정보를 입력으로 받아, 차원을 축소(Truncated SVD)하여 잠재된 의미를 끌어낸다. Word2vec은 실제값과 예측값에 대한 오차를 loss function을 통해 줄여나가는 예측 기반 방법론이다. -> 예측 좋음, 코퍼스의 전체적인 통계정보 반영 못 함 윈도우 기반 동시 등장 행렬 동시 등장 행렬은 행과 열을 전체 단어 집합의 단어들로 구성하고, i 단어의 윈도우 크기 내에서 주변단어 k가 등장한 횟수를 i 행 k 열에 기재한 행렬을 말한다. I l..
Word2vec의 확장판으로서, Fast Text와 Word2vec의 차이점은 Word2vec은 단어를 쪼개질 수 없는 단위로 생각한다면, Fast Text는 하나의 단어에도 여러단어가 존재한다고 간주한다. Fast Text의 각 단어는 글자들의 n-gram으로 나타내는데, n을 몇으로 결정하는지에 따라 단어들이 얼마나 분리되는지 결정된다. n을 3으로 잡았을 때 apple -> app, ppl, ple로 분리하고 임베딩한다. 패스트텍스트의 인공 신경망을 학습한 후에는 데이터 셋의 모든 단어의 각 n-gram에 대해서 워드 임베딩이 된다. 데이터 셋만 충분하다면 내부 단어(Subword)를 통해 모르는 단어(Out of Vocabulary)에 대해서도 다른 단어와의 유사도를 계산할 수 있다. Word2v..
단어 간 유사성을 고려하기 위해 단어의 의미를 벡터화 시켜주는데, 이러한 방법을 워드투벡터라고 한다. Word2vec은 추론 기반 기법으로, 데이터의 일부를 사용하여 순차적으로 학습하는 미니배치 학습을 바탕으로 한다. 먼저 추론 기반 방법에 대해서 알아보자. 추론은 단어의 출현 패턴을 학습하는 것을 목적으로 하는 것이다. you goodbye i say hello you say goodbye i say hello 라는 문장이 있을 때 you 다음에 나올 단어는 say라는 것은 바로 알아챌 것이다. 그러나 이를 모델학습에 의한 추론으로 무슨 단어일 지, 유추할 때는 you 0.1 , say 0.8, goodbye 0.03, i 0.04 say 0.01, hello 0.01 의 확률을 가지고 있다고 가정했을..
본 문은 https://wikidocs.net/33520 를 참고해서 작성한 글입니다. Word Embedding은 텍스트를 구성하는 하나의 단어를 수치화하는 방법이다. 즉, 단어를 벡터로 표현한다고 생각하면 될 것이다. 희소 표현에서 밀집 표현으로 변환하는데 희소 표현과 밀집 표현을 먼저 알아보자 희소 표현(Sparse Representation) 희소 벡터의 예는 원-핫 인코딩을 통한 벡터이다. 원-핫 벡터는 표현하고자 하는 단어의 인덱스를 1, 그 외에는 전부 0으로 표현했는데 여기서 문제는, 단어의 개수가 늘어나면 벡터의 차원은 끝없이 커진다는 것이다. 단어 갯수 10000개 중에 원하는 단어의 인덱스가 5라고 하면, [0, 0, 0, 0, 1, 0, 0 ....., 0, 0] 이 되는데 찾는 단..