임베딩과 유사도 표현 원문 · 구조 분석
독서 과학기술 07 | 임베딩과 유사도 표현 적용 학습 · 과학·기술 과학기술 07 임베딩과 유사도 표현 기술 — 컴퓨터 과학(자연어 처리) | 설명형 지문읽기 구조분석 문제풀기 연계포인트 지문 갈래: 과학·기술(컴퓨터 과학) | 주제: 임베딩을 통한 단어 표현과 유사도 | 유형: 설명형 1 컴퓨터는 사람의 언어를 직접 이해할 수 없다. 따라서 컴퓨터가 사람의 언어를 이해할 수 있도록 표현해 주어야 한다. 컴퓨터가 사람의 언어를 이해할 수 있도록 표현하는 방법에는 여러 가지가 있을 수 있는데, 그 중 ㉠ 원-핫 인코딩 원-핫 인코딩(one-hot encoding): 표현하고 싶은 단어의 색인 값에 1을 부여하고 나머지에는 0을 부여하는 방법. 직관적이지만 단어 간 관계를 반영하지 못한다. 은 표현하고 싶은 단어의 색인 색인(索引, index): 항목을 쉽게 찾을 수 있도록 매긴 번호나 목록. 값에 1을 부여하고 나머지에는 0을 부여하는 방법이다. 원-핫 인코딩을 수행하기 위해서는 먼저 대상이 되는 텍스트의 단어 집합 단어 집합: 대상 텍스트에 등장하는 모든 고유 단어의 모음. 집합의 크기가 원-핫 인코딩의 차원을 결정한다. 을 만든다. 예를 들어 ‘오늘 날씨 정말 좋다.’라는 한 문장으로 이루어진 텍스트를 대상으로 한다고 가정하면, 단어 집합은 {오늘, 날씨, 정말, 좋다}가 되고 집합의 원소 원소(元素): 집합을 이루는 하나하나의 구성요소. 가 되는 단어의 개수가 4개이므로 단어 집합의 크기는 4가 된다. 단어 집합의 크기에 따라 각각의 단어에 [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]과 같이 4 차원 차원(次元): 공간이나 물체를 나타내는 좌표의 수. 여기서는 벡터를 구성하는 성분의 개수를 뜻한다. 의 고유한 고유한(固有한): 본래부터 가지고 있는, 오직 그것만이 지닌 특성. 숫자를 부여하는 것이 원-핫 인코딩이다. 원-핫 인코딩은 직관적 직관적(直觀的): 중간 추론 없이 바로 인식하거나 이해할 수 있는 것. 이고 단순하지만 단어들이 개별적, 독립적 독립적(獨立的): 다른 것에 의존하거나 얽매이지 않고 따로 떨어진. 으로 표현되기 때문에 단어들 간의 유사성 유사성(類似性): 서로 비슷한 성질. 단어 간의 의미적 가까움을 뜻한다. 이나 관계성 관계성(關係性): 서로 연결되거나 관련되는 성질. 을 표현하기 어렵다. 2 이러한 단점을 개선하려는 시도가 ㉡ 임베딩 임베딩(embedding): 단어를 낮은 차원의 실수 벡터로 표현하는 방법. 단어 간 의미적 유사성을 수치적 거리로 반영할 수 있다. 을 통해 이루어질 수 있다. 임베딩은 단어를 (x, y)의 2차원 좌표와 같이 원-핫 인코딩에 비해 상대적으로 상대적으로: 다른 것과 비교했을 때의 관점에서. 낮은 차원으로 표현할 수 있는 방법으로, 1과 0뿐만 아니라 모든 실수 실수(實數, real number): 유리수와 무리수를 모두 포함하는 수. 0.1, 5, -2.3 등 수직선 위의 모든 수. 를 사용할 수 있다. 실제 임베딩은 수십수백 차원을 사용한다. 임베딩의 방법 중 대표적인 것이 워드투벡 워드투벡(Word2Vec): 구글에서 개발한 단어 임베딩 기법. 단어를 벡터 공간에 매핑하여 의미적 관계를 반영한다. (Word2Vec)이다. 워드투벡은 원-핫 인코딩으로 부여받은 숫자를 활용한다. 예를 들어 [1, 0, 0, 0], [0, 1, 0, 0], …과 같이 원-핫 인코딩으로 고유한 숫자들이 부여된 단어 집합이 있다면 이들을 적절히 적절히: 알맞고 마땅하게. 계산하여 [0.1, 0.2], [5, 2], …와 같은 2차원의 고유한 숫자를 부여하는 것이다. 이 과정을 학습 학습(學習, training): 컴퓨터가 데이터를 반복 처리하며 패턴을 익히는 과정. 머신러닝의 핵심 절차. 이라고 한다. 3 워드투벡에서 단어를 학습하는 방법 중 하나는 전후 전후(前後): 앞과 뒤. 문맥 문맥(文脈, context): 말이나 글에서 앞뒤 내용의 흐름. 단어의 의미를 결정하는 주변 환경. 을 고려하여 단어를 맞추는 것이다. 예를 들어 앞뒤의 단어를 제시하면 그 사이에 들어갈 적절한 하나의 단어를 출력하도록 학습하는 것이다. ‘오늘’과 ‘정말’이 주어졌을 때 그 사이에 들어갈 ‘날씨’를 출력하는 경우를 살펴보자. <그림>과 같이 ‘오늘’에 해당하는 [1, 0, 0, 0]과 ‘정말’에 해당하는 [0, 0, 1, 0]의 각 성분 성분(成分, component): 벡터를 구성하는 각각의 수. [1, 0, 0, 0]에서 1, 0, 0, 0이 각각 성분이다. 을 적절히 계산하여 ㉮[h 1 , h 2 ]를 만든다. 이때 [h 1 , h 2 ]는 ‘날씨’를 예측하기 위해 주변 단어들을 참고하여 만든 중간 계산 결과이다. 그리고 [h 1 , h 2 ]의 각 성분을 또 다른 방식으로 계산하여 ‘날씨’에 해당하는 [0, 1, 0, 0]이 출력되도록 조정할 수 있다. 이러한 과정을 단어 집합의 모든 단어들에 대해 수행하면 각각의 단어를 2차원의 숫자로 표현할 수 있다. 4 단어를 학습하는 또 다른 과정은 [A] 하나의 단어가 주어지면 앞이나 뒤에 이어질 단어를 맞추는 방법이다. 즉 어떤 단어가 제시되면 이웃한 단어를 출력하도록 학습하는 것이다. 이때 앞이나 뒤에 이어질 단어의 범위 범위(範圍): 어떤 한계 안의 영역. 는 임의로 임의로(任意로): 일정한 기준 없이 마음대로. 정할 수 있는데, 만약 ‘날씨’에 이웃한 단어의 범위를 1로 정한다면 ‘오늘’과 ‘정말’이 되고, 2로 정한다면 ‘오늘’, ‘정말’, ‘좋다’가 된다. 예를 들어 ‘날씨’에 이웃한 단어의 범위를 1로 정하고, ‘날씨’에 해당하는 [0, 1, 0, 0]이 제시되면 [0, 1, 0, 0]의 각 성분을 적절히 계산하여 [h 1 , h 2 ]를 만들고, [h 1 , h 2 ]의 각 성분을 또 다른 방식으로 계산하여 ‘오늘’과 ‘정말’이 Ⓐ나올 확률 확률(確率): 어떤 사건이 일어날 수 있는 가능성의 정도. 이 높아지도록 학습한다. 5 이렇게 표현된 단어들은 2차원의 좌표 평면 좌표 평면(座標平面): x축과 y축으로 이루어진 2차원 평면. 점의 위치를 (x, y)로 나타낼 수 있다. 위의 점으로 그려질 수 있는데, 유사한 문장에서 자주 등장하는 단어들은 좌표 평면 위에서 가깝게 나타날 것이다. 즉 각각의 단어에 해당하는 점들이 가까우면 가까울수록 유사한 의미나 관계가 깊은 것으로 이해할 수 있다. 점들 간의 거리 역시 숫자로 표현될 수 있는데, 유클리드 거리 유클리드 거리(Euclidean distance): 피타고라스의 정리를 이용해 두 점 사이를 잇는 직선의 길이를 구한 값. 가장 직관적인 거리 측정 방법. 는 피타고라스의 정리 피타고라스의 정리: 직각삼각형에서 빗변의 제곱은 나머지 두 변의 제곱의 합과 같다는 정리. d=√((x₂-x₁)²+(y₂-y₁)²) 를 이용해 두 점 사이를 잇는 직선 직선(直線): 한 방향으로 곧게 뻗은 선. 의 길이를 구한 값이다. 코사인 유사도 코사인 유사도(cosine similarity): 두 벡터가 이루는 각도의 코사인 값으로 유사도를 측정하는 방법. 0°이면 +1(완전 유사), 90°이면 0, 180°이면 -1. 는 두 점을 각각 원점 원점(原點): 좌표 평면에서 기준이 되는 점. (0, 0). 과 연결하는 두 선분이 이루는 각이 0°이면 +1, 90°로 직각을 이루면 0, 180°로 반대 방향이면 -1의 값으로 나타낸다. 배경지식 — 자연어 처리와 벡터 ▼ 해제 이 글은 컴퓨터가 사람의 언어를 이해할 수 있도록 수학적으로 표현하는 방법을 소개하고 있다. 원-핫 인코딩은 단순하고 직관적이지만 단어 간의 관계를 반영할 수 없다. 임베딩의 방법 중 워드투벡은 이러한 단점을 개선하기 위한 방법으로, 단어를 문맥 속에서 예측하거나 특정 단어를 통해 주변 단어를 맞추는 방식이 있다. 숫자로 표현되는 단어들 간의 관계는 유클리드 거리, 코사인 유사도와 같은 방법으로 유사도를 나타낼 수 있다. 자연어 처리(NLP)란? 자연어 처리(Natural Language Processing)는 컴퓨터가 인간의 언어를 이해하고 처리할 수 있도록 하는 인공지능의 한 분야이다. 검색 엔진, 번역기, 챗봇, 음성 인식 등 다양한 기술에 활용된다. 컴퓨터는 숫자만 처리할 수 있으므로, 인간의 언어를 숫자로 변환하는 과정이 필수적이다. 벡터 벡터(vector): 크기와 방향을 함께 가지는 수학적 양. 여러 수의 나열로 표현한다. (vector)와 차원 벡터는 크기와 방향을 가진 양으로, 수학에서는 숫자의 나열로 표현한다. [1, 0, 0, 0]은 4차원 벡터이고, [0.1, 0.2]는 2차원 벡터이다. 차원이 높을수록 더 많은 정보를 담을 수 있지만, 계산량이 증가한다. 임베딩은 고차원의 원-핫 벡터를 저차원의 밀집 벡터(dense vector)로 변환하는 과정이다. AI/ML 맥락에서의 임베딩 현재 GPT, BERT 등 대형 언어 모델(LLM)은 수백~수천 차원의 임베딩을 사용한다. 임베딩 공간에서 ‘왕’ − ‘남자’ + ‘여자’ = ‘여왕’ 같은 벡터 연산이 가능하다는 것이 대표적으로 알려진 특성이다. 이처럼 임베딩은 단어의 의미적 관계를 수학적으로 표현하는 핵심 기법이다. 어휘 풀이 어휘 풀이 원-핫 인코딩 표현하고 싶은 단어의 색인 값에 1을 부여하고 나머지에는 0을 부여하는 방법 색인(索引) 항목을 쉽게 찾을 수 있도록 매긴 번호나 목록 단어 집합 대상 텍스트에 등장하는 모든 고유 단어의 모음 원소(元素) 집합을 이루는 하나하나의 구성요소 차원(次元) 벡터를 구성하는 성분의 개수 고유한(固有한) 본래부터 가지고 있는, 오직 그것만이 지닌 직관적(直觀的) 중간 추론 없이 바로 인식하거나 이해할 수 있는 독립적(獨立的) 다른 것에 의존하지 않고 따로 떨어진 유사성(類似性) 서로 비슷한 성질 관계성(關係性) 서로 연결되거나 관련되는 성질 임베딩(embedding) 단어를 낮은 차원의 실수 벡터로 표현하는 방법 실수(實數) 유리수와 무리수를 포함하는 모든 수 (0.1, -2.3 등) 워드투벡(Word2Vec) 구글이 개발한 대표적 단어 임베딩 기법 적절히 알맞고 마땅하게 학습(學習) 컴퓨터가 데이터를 반복 처리하며 패턴을 익히는 과정 전후(前後) 앞과 뒤 문맥(文脈) 말이나 글에서 앞뒤 내용의 흐름 성분(成分) 벡터를 구성하는 각각의 수 범위(範圍) 어떤 한계 안의 영역 임의로(任意로) 일정한 기준 없이 마음대로 확률(確率) 어떤 사건이 일어날 수 있는 가능성의 정도 좌표 평면(座標平面) x축과 y축으로 이루어진 2차원 평면 유클리드 거리 피타고라스의 정리를 이용해 두 점 사이를 잇는 직선의 길이를 구한 값 피타고라스의 정리 직각삼각형에서 빗변의 제곱은 나머지 두 변의 제곱의 합 직선(直線) 한 방향으로 곧게 뻗은 선 코사인 유사도 두 벡터가 이루는 각도의 코사인 값으로 측정하는 유사도 지표 원점(原點) 좌표 평면에서 기준이 되는 점 (0, 0) 선분(線分) 두 점을 잇는 유한한 길이의 직선 부분 벡터(vector) 크기와 방향을 함께 가지는 수학적 양 밀집 벡터 모든 성분이 실수인 저차원 벡터 (임베딩 결과) 희소 벡터 대부분의 성분이 0인 고차원 벡터 (원-핫 인코딩 결과) 조정(調整) 알맞게 바로잡음. 여기서는 출력이 원하는 단어가 나오도록 계산 값을 수정하는 것 ✎ 구조 분석 지문 유형 갈래 과학·기술 / 설명형 주제 임베딩을 통한 단어 표현과 유사도 유형 설명형 — 컴퓨터가 사람의 언어를 수학적으로 표현하는 방법(원-핫 인코딩, 임베딩)을 단계적으로 소개하고, 유사도 측정 방법까지 설명한다. 문단별 중심 내용 문단 핵심 내용 문단 역할 ① 원-핫 인코딩: 색인 값에 1, 나머지에 0 부여. 직관적이지만 단어 간 유사성·관계성 표현 불가 화제 도입 ② 임베딩: 낮은 차원으로 표현, 모든 실수 사용 가능. 워드투벡(Word2Vec)이 대표적 핵심 개념 도입 ③ 워드투벡 학습법 1: 전후 문맥(앞뒤 단어) → 가운데 단어 예측 (CBOW 방식) 구체적 설명 ④ 워드투벡 학습법 2: 하나의 단어 → 이웃 단어 예측 (Skip-gram 방식) 대비적 설명 ⑤ 좌표 평면 위 유사도: 유클리드 거리(직선 거리), 코사인 유사도(각도 기반) 결과 + 마무리 논리 흐름도 ① 원-핫 인코딩 → 직관적이지만 유사성 표현 불가 (한계) ↓ ② 임베딩(워드투벡) → 낮은 차원 + 실수 사용 (한계 극복) ↓ ③ 학습법 1 (CBOW) → 앞뒤 단어 → 가운데 단어 예측 ↓ ④ 학습법 2 (Skip-gram) → 하나의 단어 → 이웃 단어 예측 ↓ ⑤ 유사도 측정 → 유클리드 거리 / 코사인 유사도 수능 핵심 포인트 5 Key-point 1. 원-핫 인코딩의 작동 원리 단어 집합 크기 = 벡터 차원 수. 4개 단어이면 4차원. 각 단어는 해당 위치만 1이고 나머지는 0인 고유 벡터를 부여받는다. 0과 1만 사용한다는 점이 핵심. Key-point 2. 임베딩은 차원을 ‘낮추는’ 방법 원-핫 인코딩(고차원, 희소) → 임베딩(저차원, 밀집). ‘차원을 높여’라는 선지는 오답. 실수 사용이 가능하다는 것도 중요한 차이. Key-point 3. CBOW vs. Skip-gram 입출력 구분 CBOW(3문단): 앞뒤 단어(복수) → 가운데 단어(1개) 예측. Skip-gram(4문단): 하나의 단어 → 이웃 단어(복수) 예측. 입출력의 방향이 반대임을 정확히 파악. Key-point 4. Skip-gram의 이웃 단어 범위 범위 n이면 해당 단어 앞뒤로 각각 n개씩. ‘날씨’의 범위 1 = ‘오늘’, ‘정말’. 범위 2 = ‘오늘’, ‘정말’, ‘좋다’. 범위가 커질수록 포함 단어 증가. Key-point 5. 유클리드 거리와 코사인 유사도는 독립적 지표 유클리드 거리: 두 점 사이의 직선 거리(값 작을수록 유사). 코사인 유사도: 각도 기반(0°→+1, 90°→0, 180°→-1). 코사인 유사도가 0이어도 유클리드 거리는 0이 아니다. 핵심 개념 사전 10 임베딩(Embedding) 단어, 문장, 이미지 등을 저차원의 실수 벡터로 변환하는 방법. 원-핫 인코딩의 단점(고차원, 희소, 관계 표현 불가)을 극복하기 위해 제안되었다. 의미적으로 유사한 단어들은 벡터 공간에서 가깝게 위치한다. 벡터(Vector) 크기와 방향을 가진 수학적 양. 수의 나열로 표현한다. [1, 0, 0, 0]은 4차원 벡터, [0.1, 0.2]는 2차원 벡터이다. 임베딩에서 각 단어는 고유한 벡터로 표현된다. 좌표계(座標系) 공간에서 점의 위치를 나타내기 위한 기준 체계. 2차원 좌표계에서는 (x, y) 형태로 점의 위치를 표현한다. 임베딩된 단어들은 좌표 평면의 점으로 시각화될 수 있다. 코사인 유사도(Cosine Similarity) 두 벡터(원점에서 출발하는 두 선분)가 이루는 각도의 코사인 값. 0°이면 +1(완전 유사), 90°이면 0, 180°이면 -1이다. 크기와 무관하게 방향만으로 유사도를 측정한다. 유클리드 거리(Euclidean Distance) 피타고라스의 정리를 이용해 두 점 사이의 직선 거리를 구하는 방법. d=√((x₂-x₁)²+(y₂-y₁)²). 값이 0이면 두 점이 완전히 같은 위치임을 의미한다. 차원(Dimension) 벡터를 구성하는 성분의 수. 원-핫 인코딩에서는 단어 집합의 크기가 차원이 된다. 임베딩은 이보다 훨씬 낮은 차원(수십~수백)으로 표현한다. 워드투벡(Word2Vec) 구글이 개발한 대표적 단어 임베딩 기법. CBOW와 Skip-gram 두 가지 학습 방식이 있으며, 원-핫 인코딩 값을 입력으로 활용하여 저차원의 실수 벡터를 출력한다. 문맥(Context) 단어의 앞뒤에 등장하는 주변 단어들. 워드투벡은 문맥 정보를 활용하여 단어의 의미를 학습한다. 유사한 문맥에서 자주 등장하는 단어들은 유사한 의미를 지닌다고 간주된다. 토큰(Token) 자연어 처리에서 분석의 기본 단위. 일반적으로 단어 또는 형태소에 해당한다. 원-핫 인코딩과 임베딩의 대상이 되는 기본 단위이다. 클러스터링(Clustering) 유사한 데이터들을 그룹(클러스터)으로 묶는 방법. 임베딩 공간에서 가까이 위치한 단어들은 자연스럽게 의미적 클러스터를 형성한다. 예) ‘오늘’, ‘내일’, ‘어제’ 등 시간 표현은 가깝게 위치. ㉠ 원-핫 인코딩 vs. ㉡ 임베딩 비교 구분 ㉠ 원-핫 인코딩 ㉡ 임베딩(워드투벡) 사용 가능한 수 0과 1만 모든 실수 차원 단어 수만큼 고차원 상대적으로 저차원 유사성 반영 불가 (개별적, 독립적) 가능 (가까울수록 유사) 장점 직관적, 단순 의미적 관계 표현 가능 벡터 유형 희소 벡터 밀집 벡터 Tip 1. 학습 과정에서의 연결 임베딩(워드투벡)은 원-핫 인코딩을 완전히 대체하는 것이 아니라, 원-핫 인코딩으로 부여된 값을 활용하여 계산한다. 두 방법은 순서 관계에 있다. Tip 2. ‘학습’의 의미 워드투벡에서 ‘학습’이란 원-핫 벡터를 낮은 차원의 실수 벡터로 변환하는 계산 과정 전체를 의미한다. 출력이 정답에 가까워지도록 반복적으로 조정하는 과정이다. Tip 3. 유사도 측정 방법의 차이 유클리드 거리는 절대적 거리(크기 기반)이고 코사인 유사도는 방향(각도) 기반이다. 두 단어의 벡터 크기가 달라도 방향이 같으면 코사인 유사도는 +1이 될 수 있다. 두 측정값은 독립적이다. ✔ 문제풀기 내 점수 0 / 0 OX 확인 문제 — Basic (1~7) 1. 기본 원-핫 인코딩은 표현하고 싶은 단어의 색인 값에 1을 부여하고 나머지에는 0을 부여하는 방법이다. O X 2. 기본 원-핫 인코딩은 직관적이고 단순하지만 단어들 간의 유사성이나 관계성을 표현하기 어렵다. O X 3. 기본 임베딩은 1과 0뿐만 아니라 모든 실수를 사용할 수 있다. O X 4. 기본 워드투벡(Word2Vec)은 임베딩의 방법 중 대표적인 것이다. O X 5. 기본 [h 1 , h 2 ]는 가운데 단어를 예측하기 위해 주변 단어들을 참고하여 만든 중간 계산 결과이다. O X 6. 기본 유클리드 거리는 피타고라스의 정리를 이용해 두 점 사이를 잇는 직선의 길이를 구한 값이다. O X 7. 기본 코사인 유사도는 두 점을 각각 원점과 연결하는 두 선분이 이루는 각이 0°이면 +1의 값을 나타낸다. O X 함정특강 ① [수치 혼동] 코사인 유사도의 세 값(+1, 0, -1)과 각도(0°, 90°, 180°)의 대응을 반드시 암기해야 한다. 0°이면 +1, 90°이면 0, 180°이면 -1이다. ‘90°이면 +1’이라고 쓰면 오답. OX 확인 문제 — Intermediate (8~14) 8. 중급 임베딩은 원-핫 인코딩의 단점을 개선하기 위해 제시된 방법이다. O X 9. 중급 워드투벡은 원-핫 인코딩으로 부여받은 숫자를 활용하여 학습을 수행한다. O X 10. 중급 ‘날씨’에 이웃한 단어의 범위를 2로 정한다면 ‘오늘’, ‘정말’, ‘좋다’가 이웃한 단어가 된다. O X 11. 중급 좌표 평면 위에서 두 단어에 해당하는 점들이 가까울수록 두 단어는 유사한 의미나 관계가 깊은 것으로 이해할 수 있다. O X 12. 중급 원-핫 인코딩과 임베딩은 모두 컴퓨터가 사람의 언어를 이해할 수 있도록 표현하는 방법이다. O X 13. 중급 3문단에서 설명하는 학습 방법은 앞뒤의 단어를 제시하면 그 사이에 들어갈 하나의 단어를 출력하도록 학습하는 것이다. O X 14. 중급 실제 임베딩에서는 수십~수백 차원을 사용하며, 이는 원-핫 인코딩보다 차원이 낮은 것이다. O X 함정특강 ② [비교 혼동] ‘임베딩은 수십~수백 차원을 사용하므로 원-핫 인코딩보다 차원이 높다’는 함정을 주의하라. 원-핫 인코딩은 단어 집합 전체 크기(수만~수십만)가 차원이 되므로, 수십~수백 차원인 임베딩이 상대적으로 낮다. OX 확인 문제 — Hard (15~20) 함정 15. 함정 [인과 역전] 임베딩이 원-핫 인코딩의 단점을 극복하기 위한 방법이므로, 원-핫 인코딩은 임베딩을 수행하기 위한 사전 작업이 아니다. O X 16. 함정 [범위 변조] ‘날씨’에 이웃한 단어의 범위를 1로 정하면 ‘오늘’, ‘정말’, ‘좋다’ 세 단어가 모두 이웃한 단어가 된다. O X 17. 함정 [비교 혼동] 코사인 유사도가 0이면 두 점 사이의 유클리드 거리도 0이다. O X 18. 함정 [속성 전도] 임베딩은 원-핫 인코딩에 비해 차원을 높여 단어를 표현함으로써 단어 간 유사성을 반영할 수 있다. O X 19. 함정 [조건 왜곡] 4문단의 학습 방법([A])에서 ‘날씨’에 이웃한 단어의 범위를 1로 정하면, ‘날씨’에 해당하는 벡터로부터 ‘오늘’과 ‘정말’이 나올 확률이 낮아지도록 학습한다. O X 20. 함정 [무관 삽입] 원-핫 인코딩에서 단어 집합의 크기는 대상 텍스트의 문장 수에 따라 결정된다. O X 함정특강 ③ [무관 삽입] 단어 집합의 크기는 ‘문장 수’가 아니라 ‘고유 단어의 수’에 따라 결정된다. 문장이 아무리 많아도 새로운 단어가 없으면 단어 집합은 늘어나지 않는다. [조건 왜곡] ‘확률이 낮아지도록’은 지문과 정반대다. ‘높아지도록’이 정확한 표현이다. 수능형 문제 수능형 점수 0 / 0 1 윗글을 이해한 내용으로 적절하지 않은 것은? ① 임베딩은 원-핫 인코딩의 단점을 개선하기 위해 제시되었다. ② 좌표 평면 위에서 두 점 사이의 코사인 유사도가 0이면 유클리드 거리는 0이다. ③ 원-핫 인코딩으로 부여받은 숫자를 활용하는 워드투벡은 임베딩의 방법 중 하나이다. ④ 워드투벡에서 ‘오늘’과 ‘정말’을 적절히 계산해 만든 [h 1 , h 2 ]는 중간 계산 결과에 해당한다. ⑤ 유사한 문장에서 자주 등장하는 단어들이 좌표 평면 위에서 가깝게 나타나면 유사한 의미나 관계가 있는 것으로 이해할 수 있다. 출제 의도 유클리드 거리와 코사인 유사도의 개념을 정확히 구분하는지 변별한다. 선지 분석 ① 적절 — 1문단에서 원-핫 인코딩의 한계를, 2문단에서 이를 개선하려는 시도가 임베딩임을 언급했다. ② 적절하지 않음 (정답) — 코사인 유사도가 0이면 두 선분이 직각(90°)을 이룬다. 유클리드 거리가 0이 되려면 두 점이 동일해야 하므로, 직각인 경우 유클리드 거리는 0이 될 수 없다. ③ 적절 — 2문단: 임베딩의 대표적 방법이 워드투벡이며, 원-핫 인코딩으로 부여받은 숫자를 활용한다. ④ 적절 — 3문단: [h 1 , h 2 ]는 주변 단어들을 참고하여 만든 중간 계산 결과. ⑤ 적절 — 5문단: 가까울수록 유사한 의미나 관계가 깊은 것으로 이해할 수 있다. 함정 해부 [개념 혼동] 코사인 유사도(각도 기반)와 유클리드 거리(직선 거리)는 독립적인 지표다. 코사인 유사도가 0(직각)일 때 유클리드 거리는 0이 아니다. 2 ㉠, ㉡에 대한 이해로 적절하지 않은 것은? ① ㉠은 1과 0만을 사용하여 단어를 표현한다. ② ㉡은 단어를 표현하는 데 모든 실수를 사용할 수 있다. ③ ㉡은 차원을 높여 ㉠의 단점을 해결할 수 있는 방법이다. ④ ㉠과 ㉡에는 대상이 되는 텍스트를 단어 집합으로 만드는 방법이 쓰인다. ⑤ ㉠과 ㉡은 컴퓨터가 사람의 언어를 이해할 수 있도록 표현하는 방법이다. 출제 의도 원-핫 인코딩과 임베딩의 차원 관계를 정확히 이해하는지 변별한다. 선지 분석 ① 적절 — 원-핫 인코딩은 [1, 0, 0, 0]과 같이 0과 1만으로 표현한다. ② 적절 — 임베딩은 1과 0뿐만 아니라 모든 실수를 사용할 수 있다. ③ 적절하지 않음 (정답) — 임베딩은 차원을 높이는 것이 아니라 상대적으로 낮추는 방법이다. 원-핫 인코딩이 4차원이면 임베딩은 2차원으로 표현한다. ④ 적절 — 임베딩은 원-핫 인코딩을 바탕으로 이루어지므로 둘 다 텍스트를 단어 집합으로 만드는 과정을 거친다. ⑤ 적절 — 원-핫 인코딩과 임베딩 모두 컴퓨터가 사람의 언어를 이해할 수 있도록 숫자로 표현하는 방법이다. 함정 해부 [속성 전도] ‘차원을 높여’를 ‘차원을 낮추어’로 바꿔 놓아 혼동을 유도한다. 임베딩은 고차원 → 저차원 변환이다. 3 ㉮의 목적으로 가장 적절한 것은? ① 텍스트를 대상으로 단어 집합을 만들기 위해서 ② 단어들을 직관적이고 단순하게 표현하기 위해서 ③ 단어들 간의 유사성이나 관계성을 표현하기 위해서 ④ 개별적으로 표현된 단어를 독립적으로 표현하기 위해서 ⑤ 색인 값으로 부여한 1과 나머지에 부여한 0을 구별하기 위해서 출제 의도 임베딩 과정에서 중간 계산 결과를 만드는 궁극적 목적을 추론할 수 있는지 변별한다. 선지 분석 ① 오답 — 단어 집합을 만드는 것은 원-핫 인코딩 수행 이전의 작업이다. ② 오답 — 직관적이고 단순한 표현은 원-핫 인코딩의 특성이다. ③ 정답 — 원-핫 인코딩의 단점(유사성, 관계성 표현 불가)을 개선하기 위해 임베딩을 수행하는 것이므로, [h 1 , h 2 ]를 만드는 목적도 단어들 간의 유사성이나 관계성을 표현하기 위함이다. ④ 오답 — 개별적, 독립적 표현은 원-핫 인코딩의 특성이자 단점이다. ⑤ 오답 — 색인 값 부여는 원-핫 인코딩의 방법이며 [h 1 , h 2 ]를 만드는 이유와 무관하다. 함정 해부 [원인과 목적 혼동] ①, ④, ⑤는 원-핫 인코딩의 절차나 특성을 임베딩의 목적으로 혼동하도록 유도한다. 4 윗글을 바탕으로 <보기>를 이해한 내용으로 적절하지 않은 것은? < 보 기 > 다음은 [A]를 사용하여 학습한 컴퓨터의 자료이다. 다음과 같이 대상 텍스트로 단어 집합을 만들고, 이웃 단어의 범위는 한 문장 내로 한정한다고 가정하자. 대상 텍스트: ‘오늘 날씨 정말 좋다.’ ‘오늘 기분 매우 좋다.’ ‘오늘 날씨 매우 나쁘다.’ 단어 집합: {오늘, 날씨, 정말, 좋다, 기분, 매우, 나쁘다} ① ‘오늘 기분 매우 나쁘다.’라는 문장을 대상 텍스트에 추가하여도 단어 집합은 달라지지 않겠군. ② 단어 집합의 크기가 7이므로 [1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0]…과 같은 7차원의 숫자를 부여할 수 있겠군. ③ 이웃한 단어의 범위를 1로 고려한다면 ‘오늘’의 이웃한 단어는 ‘기분’, ‘날씨’, ‘정말’, ‘매우’, ‘좋다’, ‘나쁘다’가 될 수 있겠군. ④ ‘좋다’의 [h 1 , h 2 ]는 h 1 과 h 2 의 계산을 통해 이웃한 단어의 원-핫 인코딩 값이 나올 확률이 높아지도록 조정되겠군. ⑤ ‘날씨’에 이어지는 단어를 고려할 때, 좌표 평면 위에서 ‘정말’과 ‘매우’의 거리는 ‘정말’과 ‘나쁘다’의 거리보다 가깝게 나타나겠군. 출제 의도 Skip-gram 방식의 이웃 단어 범위 개념을 구체적 사례에 정확히 적용할 수 있는지 변별한다. 선지 분석 ① 적절 — ‘오늘 기분 매우 나쁘다.’에 포함된 단어는 모두 기존 단어 집합에 있으므로 달라지지 않는다. ② 적절 — 단어가 7개이므로 7차원의 원-핫 인코딩을 부여할 수 있다. ③ 적절하지 않음 (정답) — 이웃한 단어의 범위를 1로 하면 ‘오늘’의 이웃은 ‘기분’과 ‘날씨’뿐이다. ‘정말’, ‘매우’ 등을 포함하려면 범위가 2 이상이어야 한다. ④ 적절 — [A] 방식(Skip-gram)에서는 하나의 단어로 이웃한 단어의 원-핫 인코딩 값을 출력하도록 학습한다. ⑤ 적절 — ‘날씨’ 다음에 ‘정말’과 ‘매우’가 이웃하므로 가깝게 나타나고, ‘정말’과 ‘나쁘다’는 같은 문장 내에서 이웃하지 않아 더 멀다. 함정 해부 [범위 오적용] 이웃 단어의 범위 1은 바로 앞뒤 1개씩만 해당한다. 2칸 이상 떨어진 단어를 포함시키면 오답. 5 문맥상 Ⓐ와 의미가 가장 가까운 것은? Ⓐ ‘오늘’과 ‘정말’이 나올 확률이 높아지도록 학습한다. ① 나는 웃음이 나오면 참을 수가 없다. ② 흐린 날보다 맑은 날에 사진이 잘 나온다. ③ 이 상품은 시장에 나온 후 큰 인기를 끌었다. ④ 어제 씨를 뿌린 곳에서 싹이 나오기 시작했다. ⑤ 수도에서 녹물이 나오는 바람에 세상이 들썩거렸다. 출제 의도 문맥 속 다의어의 의미를 정확히 파악하는지 변별한다. 선지 분석 ① 오답 — ‘웃음이 나오면’: 감정 표현이나 생리 작용이 나타나다. ② 정답 — ‘사진이 잘 나온다’: 처리나 결과로 이루어지거나 생기다. Ⓐ의 ‘나오다’와 같은 의미. ③ 오답 — ‘시장에 나온’: 새 상품이 세상에 등장하다. ④ 오답 — ‘싹이 나오기’: 속에서 바깥으로 솟아나다. ⑤ 오답 — ‘녹물이 나오는’: 액체 따위가 밖으로 흐르다. 함정 해부 [다의어 변별] ‘나오다’의 다양한 의미 중 ‘결과로 이루어지다’를 정확히 골라야 한다. ★ 연계 포인트 수능 출제 핵심 포인트 Point 1. 원-핫 인코딩 vs. 임베딩의 차원 관계 임베딩은 차원을 ‘높이는’ 것이 아니라 ‘낮추는’ 것이다. 이 관계를 뒤집어 놓는 선지가 출제 빈출. 고차원(원-핫) → 저차원(임베딩)이라는 방향을 정확히 기억해야 한다. Point 2. 이웃 단어의 범위 적용 Skip-gram 방식에서 이웃 단어의 범위를 정확히 적용해야 한다. 범위 1은 바로 앞뒤 1개씩, 범위 2는 앞뒤 2개씩. <보기> 문제에서 범위를 오적용하는 선지에 주의. Point 3. 유클리드 거리와 코사인 유사도의 독립성 유클리드 거리는 직선 거리, 코사인 유사도는 각도 기반이다. 코사인 유사도가 0(직각)일 때 유클리드 거리가 0이라는 함정에 걸리지 않도록 두 지표의 정의를 정확히 구분해야 한다. Point 4. CBOW와 Skip-gram의 입출력 구분 3문단(CBOW): 복수 입력 → 단수 출력. 4문단(Skip-gram): 단수 입력 → 복수 출력. ‘하나의 단어가 주어지면 이웃 단어를 출력’은 4문단([A])의 내용임에 주의. Point 5. 단어 집합의 크기와 차원 원-핫 인코딩에서 단어 집합의 크기 = 벡터의 차원 수. 단어 집합은 고유 단어의 수로 결정되며, 같은 단어가 여러 문장에 등장해도 한 번만 카운트된다. 학습 팁 Tip 1. 코사인 유사도 값 암기법 cos(0°)=1, cos(90°)=0, cos(180°)=-1. 각도가 커질수록 유사도가 낮아진다고 기억하라. 코사인 유사도가 0이면 두 벡터는 직각 관계이지, 동일한 점이 아니다. Tip 2. 워드투벡 학습 순서 ① 단어 집합 구성 → ② 원-핫 인코딩 부여 → ③ 원-핫 벡터를 계산하여 [h₁, h₂] 생성 → ④ [h₁, h₂]로 목표 단어 출력 → ⑤ 반복으로 저차원 벡터 완성. 이 흐름을 문단 순서와 대응시켜 이해하라. Tip 3. [A] 문제 주의 사항 4문단에 [A]로 표시된 부분(Skip-gram)은 <보기> 문제의 단골 소재다. ‘이웃한 단어의 범위’를 정확히 계산하고, ‘확률이 높아지도록 학습’을 ‘확률이 낮아지도록 학습’으로 바꾼 함정을 주의하라. 기출 매칭 & 연계 예측 📚 자연어 처리 · 인공지능 관련 기출 수능/모의고사에서 머신러닝, 자연어 처리, 벡터 표현 등 컴퓨터 과학 지문은 기술 영역 핵심 소재로 반복 출제된다. 📚 <보기> 적용 문제 출제 예측 구체적 텍스트와 단어 집합이 <보기>로 주어지고, 이웃 단어 범위나 유사도를 적용하는 문제가 출제될 가능성이 높다. 📚 수식·도식 연계 가능성 피타고라스 정리(유클리드 거리)나 코사인 유사도 계산식이 제시되고, 구체적 수치를 대입하는 형태의 문제도 예상된다.