인공지능/자연어 처리

자연어 처리 정리 - 3강 Word embedding 1

이게될까 2024. 4. 12. 14:51
728x90
728x90

이전엔 단순히 encoding만 했다면 이후로는 embedding으로 진행하였다.

주변 단어를 통해 문맥을 얻을 수 있다.

비슷한 문맥 - 비슷한 벡터

representation = 컴퓨터가 이해할 수 있는 표현 == 백터 

TD - 특정 문장에 단어가 등장 횟수

유사도 구하는 법

유사도는 이렇게 구할 수 있다.

 

term frequency 인코딩 방식

문서가 많아질수록, 단어가 많아질 수록 효율이 떨어진다. 

 

모든 문서에서 많이 나온다 - 가중치가 낮다 -> 일부 문서에서만 나온다 - 가중치가 높다.

TF - 얼마나 나오는지 센다

DF - 총 문서에서 얼마나 나왔냐

 

 

이것이 word2Vec 방식이다. 파라미터를 embedding으로 사용하는 것이다.

 

이러한 형태가 나온다.

그럼 word2vec는 수 많은 문장에서 얻어낸 단어들을 원핫 인 코딩 한 후 문장에 구멍을 뚫어서 뚫은 단어의 정답을 그 주변 단어로 하고 학습시킨 뒤 그 내부 파라미터를 백터로 사용하는 거야?

 

, 맞습니다. Word2Vec는 대량의 텍스트 데이터에서 단어의 의미를 벡터 형태로 표현하는 데 사용되는 모델입니다. 이 모델의 핵심 아이디어는 비슷한 문맥에서 나타나는 단어들은 비슷한 의미를 가질 가능성이 높다는 점을 기반으로 합니다.

Word2Vec에는 두 가지 주요 아키텍처가 있습니다: Continuous Bag of Words (CBOW) Skip-Gram입니다. CBOW는 문장에서 주변 단어들을 사용하여 특정 단어를 예측하는 반면, Skip-Gram은 한 단어에서 주변 단어들을 예측합니다. 두 모델 모두 비슷한 방식으로 학습됩니다.

1. 문장에서 단어를 원-핫 인코딩으로 변환합니다. 이는 단어가 벡터 공간에서 고유한 위치를 갖도록 합니다.

2. Word2Vec 모델을 사용하여, CBOW의 경우 주변 단어들로부터 중심 단어를 예측하거나, Skip-Gram의 경우 중심 단어로부터 주변 단어들을 예측합니다.

3. 이 과정에서 모델의 내부 파라미터가 학습됩니다. 이 파라미터들은 최종적으로 각 단어의 벡터 표현으로 사용됩니다.

Word2Vec 모델 학습이 완료되면, 각 단어는 벡터 공간에서 의미론적으로 비슷한 단어들과 가까이 위치하게 됩니다. 예를 들어, "" "여왕"은 벡터 공간에서 서로 가까운 위치에 있을 것이며, 이러한 벡터 표현은 단어 간의 의미적 유사성을 포착하는 데 사용될 수 있습니다.

Word2Vec으로 생성된 단어 벡터는 다양한 자연어 처리 작업에 활용될 수 있으며, 문장이나 문서의 의미를 분석하는 데 유용한 도구가 됩니다.

 

 

 

728x90