티스토리 뷰
Word Embeddings은 비슷한 의미를 가진 단어들이 비슷한 표현을 갖도록 하는 단어 표현의 한 유형이다. 이는 ML 알고리즘이 처리할 수 있도록 텍스트 데이터를 숫자 형식으로 변환하는 NLP의 기본 테크닉이다.
- 설명
- Numerical Represenatation (숫자 표현)
: Word Embeddings은 단어를 실수 벡터로 변환한다. 어휘의 각 단어는 고차원 공간(일반적으로 수백 차원)의 벡터에 매핑된다. - Capturing Semantic Meaning (의미론적 포착)
: 이러한 벡터는 단어의 의미를 포착하도록 설계돼있다. 비슷한 문맥에서 사용되는 단어는 비슷한 Embedding을 갖는 경향이 있다. 예를 들어, "king"과 "queen"은 Embedding 공간에서 가깝다. - Contextural Relationships
: Embedding은 유사성, 유추, 문맥 등 다양한 언어적 패턴과 관계를 포착할 수 있다. - Training
: Word Embeddings은 일반적으로 Word2Vec, GloVe (단어 표현을 위한 글로벌 벡터) 또는 FastText와 같은 알고리즘을 사용해 대규모 text corpus를 학습해 얻어진다.
- Numerical Represenatation (숫자 표현)
- 예제
- Word2Vec (Skip-gram 및 CBOW)
: Word Embeddings을 생성하는 데 가장 많이 사용되는 기법 중 하나. 단어의 문맥을 기반으로 단어를 예측하는 CBOW (Continuous Bag of Words) 또는 반대로 단어에서 문맥을 예측하는 Skip-gram을 사용해 Word2Vec을 학습할 수 있다.
예) 학습된 Word2Vec 모델에서 "king"과 "queen"에 대한 벡터는 "king"과 "apple"에 비해 벡터 공간에서 더 가깝다. - GloVe
: GloVe embedding은 동시 발생 행렬(co-occurrence matrices)에 대해 학습된다. 주어진 단어가 다른 단어와 함께 나타날 확률을 포착하려 한다.
예) "sushi"에 대한 벡터는 text에서 자주 함께 등장하는 "japan", "restaurant", "rice"에 가깝다. - FastText
: 전체 단어뿐만 아니라 하위 단어 단위(예: n-gram)도 고려함으로써 Word2Vec의 아이디어를 확장한다. 따라서 형태학적으로 풍부한 언어 (같은 단어가 다양한 형태를 가질 수 있는 경우)를 이해하고 어휘에서 벗어난 단위를 처리하는 데 효과적.
예) "running"에 대한 Embedding은 "run", "running", "ning"등과 같은 하위 단어 단위의 Embedding에 영향을 받는다.
- Word2Vec (Skip-gram 및 CBOW)
- 속성 및 용도
- Dimensionality (차원)
: 일반적으로 벡터 공간에는 수백 개의 차원이 있다. 각 차원은 단어의 의미나 사용의 일부 측면을 포착한다. - Distance Metrics (거리 측정)
: Cosine 유사도와 같은 distance metrics를 사용해 단어 간의 유사도를 측정할 수 있다. - 적용
: Word Embeddings은 text classification, sentiment analysis, machine translation 등 다양한 NLP 작업에 사용된다.
- Dimensionality (차원)
Word Embeddings은 각 단어가 단어에 해당하는 위치에 '1'이 있고 그 외에는 '0'이 있는 어휘 크기의 벡터로 표현되는 sparse vector (One-Hot Encoding 같은)를 기반으로 하는 이전의 단어 표현 모델에서 상당히 변화한 형태다. Embedding은 단어 간의 미묘한 의미 관계를 포착해 보다 간결하고 유익한 표현을 제공한다.
반응형
'기술(Tech, IT) > 머신 러닝(Machine Learning)' 카테고리의 다른 글
[ML] N-Gram Language Models - 1 (Backoff, Interpolation) (0) | 2023.12.13 |
---|---|
[ML] Word Embeddings - 2 (2) | 2023.11.29 |
[ML] RNN과 POS tagging (0) | 2023.11.03 |
[ML] RNN (Recurrent Neural Network) (0) | 2023.11.02 |
[ML] POS tagging (Part-of-speech, 품사) (0) | 2023.11.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- socket programming
- 딕셔너리
- tf-idf
- The Economist
- I2C
- C++
- 리트코드
- Hash Map
- join
- Android
- DICTIONARY
- Computer Graphics
- vertex shader
- 이코노미스트 에스프레소
- leetcode
- java
- min heap
- 투 포인터
- Python
- 파이썬
- ml
- 안드로이드
- 이코노미스트
- machine learning
- The Economist Espresso
- 소켓 프로그래밍
- 머신 러닝
- 오블완
- 티스토리챌린지
- defaultdict
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함
반응형