GloVe
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GloVe는 단어의 통계적 규칙성을 포착하는 단어 임베딩 모델이다. 각 단어에 대해 두 개의 벡터를 생성하며, 단어 간의 동시 발생 확률을 기반으로 단어의 의미를 학습한다. GloVe는 로지스틱 회귀를 사용하여 단어 벡터를 학습하며, 동의어 찾기, 관계 분석 등 다양한 자연어 처리 작업에 활용될 수 있다. 하지만, 비지도 학습 알고리즘의 한계로 인해 동음이의어 식별에 어려움을 겪으며, 단어의 의미를 나타내는 단일 벡터 집합을 생성한다.
더 읽어볼만한 페이지
- 전산언어학 - 알고리즘
알고리즘은 문제 해결을 위한 명확하고 순서화된 유한 개의 규칙 집합으로, 알콰리즈미의 이름에서 유래되었으며, 수학 문제 해결 절차로 사용되다가 컴퓨터 과학에서 중요한 역할을 하며 다양한 방식으로 표현되고 효율성 분석을 통해 평가된다. - 전산언어학 - 단어 의미 중의성 해소
단어 의미 중의성 해소(WSD)는 문맥 내 단어의 의미를 파악하는 계산 언어학 과제로, 다양한 접근 방식과 외부 지식 소스를 활용하여 연구되고 있으며, 다국어 및 교차 언어 WSD 등으로 발전하며 국제 경연 대회를 통해 평가된다.
GloVe |
---|
2. 정의
단어는 그것이 함께 사용하는 회사에 의해 알게 될 것이다 (Firth, J. R. 1957:11)[4]
GloVe 모델은 단어의 의미를 벡터 공간에 표현하는 방법 중 하나이다. 핵심 아이디어는 각 단어 에 대해 두 개의 벡터, 즉 단어 벡터 와 문맥 벡터 를 학습하는 것이다. 이 벡터들은 단어 간의 동시 발생 통계를 기반으로 학습되며, 벡터 간의 관계가 단어의 의미적 유사성이나 관계를 반영하도록 설계된다. 즉, 자주 함께 등장하는 단어들의 벡터 표현은 서로 관련성을 가지게 된다.
2. 1. 단어 계산 (Word Counting)
'''어휘'''는 분석 대상이 되는 텍스트 말뭉치(corpus)에 있는 모든 가능한 단어(일명 "토큰")의 집합 를 의미한다. 구두점은 무시되거나 어휘의 일부로 처리될 수 있으며, 대문자 사용 등 다른 서지적 세부 사항도 마찬가지로 처리 방식을 정해야 한다.[1]두 단어가 서로 가까운 위치에 나타날 때, 이들은 서로의 '''문맥'''에 있다고 본다. 예를 들어, 문맥의 길이를 3으로 설정했을 때, 다음 문장을 보자.
GloVe1, coined2 from3 Global4 Vectors5, is6 a7 model8 for9 distributed10 word11 representation12
이 문장에서 "model8"이라는 단어는 "word11"의 문맥 안에 있지만, "representation12"의 문맥에는 포함되지 않는다.
단어는 자기 자신의 문맥에는 포함되지 않는다. 따라서 위의 예에서 "model8"은 "model8"의 문맥에 있지 않다. 하지만 같은 문맥 내에 동일한 단어가 다시 나타나는 경우는 횟수에 포함된다.
는 전체 말뭉치에서 단어 의 문맥 안에 단어 가 나타나는 총 횟수를 나타낸다. 예를 들어, 말뭉치가 "I don't think that that is a problem."이라는 문장 하나로 이루어져 있다면, 첫 번째 "that"은 두 번째 "that"의 문맥에 나타나고, 그 반대도 마찬가지이므로 가 된다.
는 특정 단어 가 등장할 때마다 그 주변 문맥에 나타나는 모든 단어의 총 수를 의미한다. 이 값은 다음과 같이 계산할 수 있다.(단, 말뭉치의 시작이나 끝 부분에 매우 가깝게 나타나는 단어는 계산에서 제외될 수 있다.)
2. 2. 확률 모델링 (Probabilistic Modelling)
단어는 그것이 함께 사용하는 회사에 의해 알게 될 것이다 (Firth, J. R. 1957:11)[4]
GloVe의 기본 아이디어는 각 단어 에 대해 두 개의 벡터 를 학습하는 것이다. 이 벡터들의 상대적인 위치는 단어 가 나타내는 통계적 규칙성의 일부를 포착하도록 설계된다. 여기서 통계적 규칙성은 동시 발생 확률로 정의된다. 즉, 의미적으로 유사한 단어들은 동시 발생 확률에서도 유사한 패턴을 보여야 한다는 가정에 기반한다.
'''어휘'''(lexicon)는 분석 대상이 되는 텍스트에 등장하는 모든 가능한 단어(토큰)의 집합 를 의미한다. 구두점은 무시하거나 별도의 토큰으로 처리할 수 있으며, 대문자 사용 여부 등 다른 서지적 세부 사항도 처리 방식에 따라 달라질 수 있다.[1]
두 단어가 텍스트 내에서 서로 가까운 위치에 나타날 때, 이들은 서로의 '''문맥'''(context)에 있다고 간주한다. 예를 들어, 문맥의 크기를 3으로 설정했을 때, 다음 문장을 보자.
GloVe1, coined2 from3 Global4 Vectors5, is6 a7 model8 for9 distributed10 word11 representation12
이 경우, "model8"이라는 단어는 "word11"의 문맥에 포함되지만, "representation12"의 문맥에는 포함되지 않는다. 단어는 자기 자신의 문맥에는 포함되지 않으므로, "model8"은 "model8"의 문맥에 있지 않다. 하지만 동일한 문맥 내에서 같은 단어가 다시 나타난다면 횟수에 포함된다.
는 전체 코퍼스(corpus)에서 단어 의 문맥 내에 단어 가 등장하는 총 횟수를 나타낸다. 예를 들어, 코퍼스가 "I don't think that that is a problem."이라는 문장으로 이루어져 있다면, 첫 번째 "that"은 두 번째 "that"의 문맥에 나타나고, 반대로 두 번째 "that"도 첫 번째 "that"의 문맥에 나타나므로, 가 된다.
는 단어 가 등장하는 모든 경우의 문맥에 포함된 총 단어 수를 나타낸다. 이는 다음과 같이 계산될 수 있다.
(단, 코퍼스의 시작이나 끝 부분에 위치하여 문맥이 잘리는 경우는 제외한다.)
이를 바탕으로 '''동시 발생 확률'''(co-occurrence probability) 를 다음과 같이 정의한다.
이 값은 전체 코퍼스에서 단어 가 나타난 경우를 무작위로 선택하고, 그 단어의 문맥 내에서 다시 무작위로 단어를 하나 선택했을 때, 그 단어가 일 확률을 의미한다. 일반적으로 와 는 같지 않다 (). 예를 들어, 일반적인 현대 영어 코퍼스에서 는 1에 가까운 값을 가지는 반면, 는 0에 가까운 값을 가진다. 이는 "ado"라는 단어가 주로 "much ado about"이라는 고어적 표현의 문맥에서 사용되는 반면, "much"는 매우 다양한 문맥에서 사용되기 때문이다.
예시로, 60억 개의 토큰으로 구성된 코퍼스에서 계산된 동시 발생 확률은 다음과 같다.
이 표를 살펴보면, "ice"와 "steam"은 모두 "water"와 자주 함께 나타나고 "fashion"과는 거의 함께 나타나지 않기 때문에 이 두 단어만으로는 구별하기 어렵다. 하지만 "solid"는 "ice"와 더 자주 함께 나타나고, "gas"는 "steam"과 더 자주 함께 나타나므로, 이들을 통해 "ice"와 "steam"을 구별할 수 있음을 알 수 있다. 즉, 동시 발생 확률의 비율이 의미적 관계를 파악하는 데 중요한 단서를 제공한다.
GloVe 모델의 핵심 아이디어는 각 단어 에 대해 두 개의 벡터 (단어 벡터)와 (문맥 벡터)를 학습하여, 이들의 내적()이 두 단어의 동시 발생 확률의 로그값()에 근사하도록 만드는 것이다. 여기에 각 단어에 대한 편향(bias) 항 를 더하여 다음과 같은 다항 로지스틱 회귀(multinomial logistic regression) 형태의 모델을 최적화한다.
이 모델은 결과적으로 두 단어 와 가 유사한 동시 발생 확률 분포, 즉 모든 단어 에 대해 를 가진다면, 이들의 단어 벡터 와 또한 서로 유사한 값을 가지도록() 학습된다.
2. 3. 로지스틱 회귀 (Logistic Regression)
단순하게는 로지스틱 회귀는 다음의 제곱 손실을 최소화하여 실행할 수 있다:그러나, 이는 희소 공기(co-occurrence)에 대해 노이즈가 많을 수 있다. 이 문제를 해결하기 위해, 제곱 손실에 가중치를 부여하여 공기 횟수의 절대값 가 증가함에 따라 손실을 서서히 증가시킨다:여기서이며, 는 하이퍼파라미터이다. 원 논문에서 저자들은 가 실제 사용에서 잘 작동하는 것을 발견했다.2. 4. 사용 (Use)
모델이 학습되면 각 단어에 대해 4개의 학습된 매개변수 가 생성된다. 이 중 는 최종 단어 표현과 직접적인 관련이 없으며, 와 만 사용된다.저자들은 경험적으로 또는 를 개별적으로 사용하는 것보다 두 벡터를 합한 를 단어 의 최종 표현 벡터로 사용하는 것이 더 나은 성능을 보인다고 권장했다.
3. 응용 (Applications)
GloVe는 단어 간의 다양한 관계, 예를 들어 동의어, 회사와 제품 간의 관계, 우편 번호와 도시 간의 관계 등을 파악하는 데 활용될 수 있다.[5] 또한, SpaCy 라이브러리에서는 코사인 유사도나 유클리드 거리와 같은 거리 측정 방식을 사용하여 유사한 단어 목록을 계산하고, 이를 통해 의미론적 단어 임베딩 특징을 구축하는 데 GloVe가 사용된다.[6] 이 외에도 환자와의 면담 내용에서 심리적 고통을 감지하도록 설계된 온라인 및 오프라인 시스템에서 단어 표현 프레임워크로 사용되기도 하였다.[7]
3. 1. 한계
GloVe는 비지도 학습 알고리즘의 특성상 동음이의어, 즉 철자는 같지만 의미가 다른 단어를 식별하는 데 한계가 있다. 이는 GloVe가 철자가 같은 단어에 대해 단일 벡터만을 계산하기 때문이다.[5]참조
[1]
논문
GloVe: Global Vectors for Word Representation
https://aclanthology[...]
Association for Computational Linguistics
2014-10
[2]
웹사이트
GloVe: Global Vectors for Word Representation
https://www.aclweb.o[...]
[3]
논문
On the validity of pre-trained transformers for natural language processing in the software engineering domain
https://ieeexplore.i[...]
2022
[4]
서적
Studies in Linguistic Analysis
https://cs.brown.edu[...]
Wiley-Blackwell
[5]
논문
Creation of Sentence Embeddings Based on Topical Word Representations: An approach towards universal language understanding
2019
[6]
서적
Advances in Computing and Data Sciences: Second International Conference, ICACDS 2018, Dehradun, India, April 20-21, 2018, Revised Selected Papers
Springer
[7]
서적
Advances in Speech and Language Technologies for Iberian Languages: Third International Conference, IberSPEECH 2016, Lisbon, Portugal, November 23-25, 2016, Proceedings
Springer
[8]
서적
Advances in Speech and Language Technologies for Iberian Languages: Third International Conference, IberSPEECH 2016, Lisbon, Portugal, November 23-25, 2016, Proceedings
Springer
[9]
웹사이트
GloVe: Global Vectors for Word Representation
https://www.aclweb.o[...]
[10]
서적
ICT Innovations 2018. Engineering and Life Sciences
Springer
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com