- 좋게 봐주셔서 감사합니다 ㅎㅎ
- filter2D말고 다른 메서드도 있나보죠? 저도⋯
- 책 읽어보고 싶었는데 읽기전에 사전 정보를⋯
- 안녕하세요! 잘 보고 갑니다!! 도움 많이 됐⋯
- 옙 감사합니다. 이해가 잘 되셨다니 다행이네요!
- 머신러닝 공부를 하다가 AdaBoost와 Gradient⋯
- 와 설명이 많이 부족했을 텐데, 끝까지 읽어⋯
- 특별한 이유가 있진 않고 빠르고 성능이 좋아⋯
- opencv 다 읽었습니다. 정말 유용한 정보 감⋯
- 혹시 검출기를 ORB를 쓰신 이유가 있나요?
- werooring@gmail.com로 연락주세요~ :)
- 제작 의뢰 문의 드려도 될까요? 010-5599-352⋯
- ADP 준비하고 계시는군요. 방문해주시고 댓글⋯
- ADP 자격증 실기를 준비중에 있는데 나이브⋯
- 아이고 너무나 감사합니다 ^^
귀퉁이 서재
NLP - 10. 워드 임베딩 (Word Embedding) 본문

단어를 밀집 행렬로 표현하는 것을 워드 임베딩(Word Embedding) 혹은 단어의 분산 표현(Distributed Representation)이라고 합니다. 밀집 행렬은 희소 행렬의 반대되는 개념으로, 대부분이 0이 아닌 값으로 채워진 행렬을 의미합니다. (밀집 행렬, 희소 행렬에 대한 자세한 사항은 NLP - 7. 희소 행렬 (Sparse Matrix) - COO 형식, CSR 형식을 참고해주시기 바랍니다.)
색을 예로 들어보겠습니다. 색을 표현할 때 우리는 흔히 RGB 형식을 사용합니다. (R, G, B) = (170, 33, 22)라면 빨강 계열의 색임을 알 수 있습니다. 이를 A색이라고 합시다. 또한 B색의 RGB는 (180, 20, 30)이고, C색의 RGB는 (20, 180, 30)이라고 합시다.
여기서 우리는 A색, B색, C색이라는 문자를 RGB에 해당하는 숫자로 표현했습니다. 표현한 RGB 벡터 역시 밀집 벡터입니다.
다른 예를 들어 무지개의 7개 색(빨주노초파남보)을 벡터화 해보겠습니다.
우선 원-핫 인코딩을 해보겠습니다. 원-핫 인코딩의 결과는 희소 행렬입니다.
빨 = (1, 0, 0, 0, 0, 0, 0)
주 = (0, 1, 0, 0, 0, 0, 0)
노 = (0, 0, 1, 0, 0, 0, 0)
초 = (0, 0, 0, 1, 0, 0, 0)
파 = (0, 0, 0, 0, 1, 0, 0)
남 = (0, 0, 0, 0, 0, 1, 0)
보 = (0, 0, 0, 0, 0, 0, 1)
7개의 색을 표현하기 위해 7개의 열이 필요합니다. 색이 더 많아지면 열의 길이는 더 길어질테고 희소 행렬의 정도가 더 심해질 것입니다. 이는 메모리 낭비를 초래합니다. 이런 희소 행렬은 다음과 같이 RGB로 표현해 개선할 수 있습니다.
빨 = (255, 0, 0)
주 = (255, 50, 0)
노 = (255, 255, 0)
초 = (0, 255, 0)
파 = (0, 0, 255)
남 = (0, 5, 255)
보 = (100, 0, 255)
이렇게 RGB를 이용해 색깔을 표현한다면 색깔이 더 늘어나도 열의 갯수는 여전히 3개면 족합니다.
이와 유사하게 문자를 밀집 벡터로 나타내는 것을 워드 임베딩이라고 합니다. 대표적인 워드 임베딩 방법으로는 Word2Vec, GloVe, Elmo가 있습니다.
'자연어 처리 (NLP)' 카테고리의 다른 글
NLP - 12. 글로브(GloVe) & 엘모(ELMo) (0) | 2020.06.19 |
---|---|
NLP - 11. 워드투벡터(Word2Vec) (3) | 2020.06.16 |
NLP - 10. 워드 임베딩 (Word Embedding) (2) | 2020.06.14 |
NLP - 9. 토픽 모델링: 잠재 의미 분석(LSA) (0) | 2020.03.19 |
NLP - 8. 코사인 유사도(Cosine Similarity) (7) | 2020.02.17 |
NLP - 7. 희소 행렬 (Sparse Matrix) - COO 형식, CSR 형식 (6) | 2020.02.16 |
- Tag
- word embedding, 단어 임베딩, 워드 임베딩