#벡터연산
-
학습 길잡이 기타
행렬과 벡터, 단어의 관계를 푸는 데도 '역할'
컴퓨터가 인간의 언어를 이해하려면 단어와 문장을 수치로 표현하는 과정이 필요합니다. 이를 ‘임베딩’이라고 합니다. 단어를 벡터라는 수학적 구조로 변환해 컴퓨터가 처리할 수 있도록 만드는 핵심 기술이죠. 임베딩은 단어를 숫자로 바꾸는 것을 넘어 단어 간 의미적 관계와 맥락을 수학적으로 반영하는 것이 특징입니다. 예를 들어 강아지와 고양이는 서로 의미가 비슷하므로 임베딩 벡터 공간에서도 가까운 위치에 놓이며, 반대로 강아지와 자동차는 멀리 떨어져 있게 됩니다.쉽게 사용할 수 있는 임베딩은 어떤 말뭉치에 존재하는 단어들에 각각의 인덱스를 부여해 각 문장에 사용된 단어들의 횟수를 기재하고, 사용되지 않은 단어에는 0을 부여하는 벡터를 생성하는 방식이었습니다. 이러한 접근법이 바로 ‘Bag of Words’입니다. 단어의 빈도를 벡터로 표현함으로써 문서를 단순한 수치적 배열로 전환하는 방식입니다. 말뭉치에서 특정 단어가 몇 번 등장했는지를 나타내는 행렬을 생성하고, 이를 통해 단어 간 상관성을 계산할 수 있습니다. 하지만 이 과정에서 가장 자주 등장하는 단어가 the, is, a 같은 기능어라는 문제가 발견되었습니다. 이러한 단어들은 문장의 구조를 형성하는 데 중요하지만, 말뭉치의 실제 의미를 파악하는 데는 큰 도움이 되지 않았습니다. 이를 해결하기 위해 불용어 처리라는 단계를 도입해 특정 단어를 제외함으로써 임베딩 결과의 유의미성을 높였습니다. 그러나 여전히 이 방법은 단어의 순서나 문맥을 반영하지 못한다는 한계를 지니고 있었습니다.이러한 한계를 극복하기 위해 ‘Word2Vec(워드투벡)’나 ‘GloVe(글로브)’ 같은 임베딩 기법이 등