요즘 어딜 가나 AI, 인공지능 이야기뿐입니다. 아침 뉴스에서도, 즐겨보던 유튜브 채널에서도, 심지어 친구들과의 대화에서도 챗GPT가 빠지지 않죠.
그럴 때마다 마음 한구석이 조금은 불안해지기도 합니다. 나만 뒤처지는 것 같고, 세상이 너무 빨리 변해서 어지러운 기분이 들 때도 있습니다. 대화에 끼지 못하고 고개를 끄덕이기만 할 때면, 나도 모르게 작은 소외감이 밀려옵니다.
‘거대 언어 모델(LLM)’, ‘신경망’, ‘트랜스포머’ 같은 복잡한 기술 용어들은 마치 높은 벽처럼 느껴지고, 그 안에서 어떤 일이 일어나는지 상상조차 하기 어렵습니다. 마치 나만 빼고 모두가 미래로 달려가는 듯한 기분을 느끼실지도 모릅니다.
괜찮아요. 처음엔 다 낯설고 어려운 게 당연합니다. 우리가 처음 스마트폰을 손에 쥐었을 때, 모든 것이 신기하고 조금은 두려웠던 것처럼 말이에요. 그 작은 기계로 세상 모든 정보에 연결된다는 사실이 믿기지 않았죠.
하지만 결국 우리는 스마트폰으로 사진을 찍고, 길을 찾고, 사랑하는 사람과 영상 통화를 하게 되었습니다. 기술은 언제나 그렇게 우리 곁으로 다가왔습니다. 두려움의 대상이 아니라, 우리 삶을 도와주는 편리한 도구로서 말이죠.
이 글은 바로 그런 당신을 위해 쓰였습니다. 어렵고 복잡하게만 느껴졌던 AI의 세상에, 가장 친절한 안내자가 되어 드리겠습니다. 오늘은 인공지능이 어떻게 우리 인간의 언어를 이해하기 시작하는지, 그 신비로운 첫걸음을 함께 떼어보려 합니다.
컴퓨터 과학자가 될 필요는 없습니다. 그저 따뜻한 차 한 잔을 옆에 두고, 재미있는 옛날이야기를 듣는다는 마음으로 편안하게 따라오시면 됩니다. 자, 준비되셨나요? AI의 마음속으로 떠나는 여행을 시작하겠습니다.
챗GPT는 어떻게 우리 말을 척척 알아들을까요?
우리가 챗GPT에게 “오늘 날씨 어때?”라고 물어보면, 신기하게도 정말 날씨 정보를 알려줍니다. 마치 내 말을 알아듣는 똑똑한 친구처럼 말이죠. 단순히 정보를 나열하는 것을 넘어, “네, 오늘 서울은 맑고 화창해서 나들이하기 좋은 날씨예요!”라며 다정한 말투로 대답하기도 합니다.
혹시 이런 생각해 보신 적 없으신가요? 컴퓨터는 원래 0과 1밖에 모르는 기계인데, 어떻게 ‘날씨’라는 단어의 의미를 이해하고, ‘나들이하기 좋은’이라는 감성적인 표현까지 구사하는 걸까요?
‘오늘’이라는 시간의 개념과 ‘어때?’라는 질문의 의도까지 파악하는 걸 보면, 정말 신기하다는 생각마저 듭니다. 그 비밀의 열쇠는 바로 AI가 세상을 배우는 방식에 숨어 있습니다.
AI는 마치 세상에 태어난 아기와 같습니다. 처음에는 아무것도 모르죠. 그저 거대한 가능성만을 가진 존재입니다.
아기는 부모님의 말을 듣고, 그림책을 보고, 세상을 경험하며 ‘사과’는 빨갛고 동그랗고 달콤한 과일이라는 것을 배웁니다. ‘뜨겁다’는 감각을 직접 느끼고, ‘사랑해’라는 말에 담긴 따뜻함을 온몸으로 배우죠.
AI도 마찬가지입니다. 다만 AI의 세상은 현실 세계가 아닌, 데이터의 세계입니다. 인터넷에 있는 수많은 글, 책, 뉴스 기사, 백과사전, 심지어 소셜 미디어의 대화까지, 상상할 수 있는 모든 텍스트 데이터를 읽고 학습합니다.
이 상상을 초월하는 과정을 통해 단어와 단어 사이의 관계, 문장의 구조, 그리고 그 안에 담긴 미묘한 의미까지 스스로 터득하게 됩니다. ‘사과’라는 단어가 ‘과일’, ‘빨갛다’, ‘먹다’와 같은 단어와 자주 함께 등장한다는 통계적 패턴을 발견하는 식입니다.
우리가 질문을 던지면, AI는 그동안 학습한 수십억 개의 문장 데이터 속에서 가장 그럴듯한, 가장 확률 높은 대답을 찾아내어 우리에게 보여주는 것입니다.
마치 우리가 어려운 질문을 받았을 때, 머릿속에 있는 지식과 경험을 총동원해서 가장 적절한 답을 찾아내는 과정과 비슷합니다. AI에게는 그 지식과 경험이 바로 방대한 텍스트 데이터인 셈이죠.
하지만 아주 중요한 첫 단계가 있습니다. 이 모든 학습이 시작되기 전에 반드시 거쳐야 하는 관문입니다.
사람은 “오늘 날씨 어때?”라는 문장을 통째로 보고 자연스럽게 이해하지만, 컴퓨터는 그렇지 못합니다.
컴퓨터에게 이 문장은 그저 의미 없는 글자들의 나열일 뿐입니다. ‘오’, ‘늘’, ‘ ‘, ‘날’, ‘씨’, ‘ ‘, ‘어’, ‘때’, ‘?’… 이런 식이죠. 각 글자가 어떤 의미를 갖는지, 어디서부터 어디까지가 한 덩어리인지 전혀 알지 못합니다.
그래서 컴퓨터가 우리 말을 이해하게 만들려면, 가장 먼저 이 문장을 컴퓨터가 알아볼 수 있는 의미 있는 작은 단위로 잘라주는 작업이 필요합니다.
요리를 하기 전에 재료를 손질하는 것처럼, 글을 이해하기 위한 첫 번째 준비 과정이라고 생각하시면 됩니다. 당근을 통째로 냄비에 넣을 수 없듯이, 문장도 그대로는 AI가 ‘요리’할 수 없습니다.
이것이 바로 자연어 처리의 가장 기본이 되는 첫걸음입니다.
지금부터 우리는 컴퓨터에게 글자를 가르치는 그 위대한 첫 숙제를 함께 들여다볼 겁니다.
어렵지 않으니 걱정 마세요. 아주 간단한 원리부터 차근차근, 손을 잡고 안내해 드릴게요.
이 과정을 이해하고 나면, 챗GPT가 조금 더 친근하게 느껴질 겁니다. 마치 마법처럼 보였던 기술 뒤에 숨겨진, 생각보다 단순하고 논리적인 원리를 발견하게 될 테니까요.
컴퓨터는 절대 우리처럼 생각하지 않습니다. 감정을 느끼지도, 의도를 가지지도 않습니다.
그저 우리가 정해준 규칙과 방법을 따라 묵묵히 계산할 뿐입니다. 인간의 지능을 흉내 내는 거대한 수학적 과정인 셈이죠.
그 첫 번째 규칙이 바로 지금부터 이야기할 ‘단어 쪼개기’입니다.
정말 별것 아닌 것처럼 보이지만, 이 작은 단계가 없으면 AI는 우리 말을 한 글자도 이해할 수 없습니다.
거대한 건물을 짓기 전, 벽돌 한 장을 정성껏 만드는 과정과도 같습니다. 이 벽돌이 어떻게 만들어지는지, 함께 구경하러 가볼까요?
컴퓨터에게 글자를 가르치는 첫 번째 숙제, ‘단어 쪼개기’
컴퓨터에게 “나는 학교에 갑니다”라는 문장을 보여준다고 상상해 보세요.
우리는 이 문장을 보고 ‘나’라는 주체와 ‘학교’라는 장소, 그리고 ‘간다’는 행동을 즉시 떠올립니다. 각 단어의 역할과 의미를 순식간에 파악하죠.
하지만 컴퓨터의 눈에는 그저 ‘나’, ‘는’, ‘ ‘, ‘학’, ‘교’, ‘에’, ‘ ‘, ‘갑’, ‘니’, ‘다’ 라는 기호의 연속일 뿐입니다. 이것은 컴퓨터에게 아무런 의미도 없는, 그저 빛과 어둠의 신호(0과 1)일 뿐입니다.
의미를 이해하기는커녕, 어디서부터 어디까지가 하나의 의미를 가진 덩어리인지조차 알지 못합니다.
그래서 우리는 컴퓨터에게 먼저 약속을 하나 정해줘야 합니다. “이 문장을 의미 있는 조각들로 나눠보자!” 라고요.
이 과정을 전문 용어로 ‘토큰화’라고 부릅니다. 어려운 이름이지만, 그냥 ‘단어 쪼개기’ 또는 ‘의미 조각으로 나누기’라고 생각하시면 마음이 편합니다.
여기서 ‘토큰’은 ‘의미를 가진 가장 작은 단위’를 뜻하는 말입니다. 단어가 될 수도 있고, 문장 부호가 될 수도 있습니다.
예를 들어, “나는 학교에 갑니다.” 라는 문장을 토큰화하면 보통 이렇게 나뉩니다.
[‘나’, ‘는’, ‘학교’, ‘에’, ‘갑니다’, ‘.’]
어떤가요? 훨씬 보기 편해졌죠? 이제 컴퓨터는 ‘나’라는 단어, ‘학교’라는 단어를 각각 하나의 덩어리로 인식할 수 있게 되었습니다. 문장 부호인 ‘.’까지도 별도의 의미를 가진 토큰으로 분리되었습니다.
마치 우리가 아이에게 글을 가르칠 때, 문장을 통째로 외우게 하는 대신 “자, 이건 ‘사과’라는 단어야” 하고 하나씩 짚어주는 것과 같습니다. 학습의 가장 기본적인 단위를 만들어주는 과정이죠.
이 토큰화는 생각보다 더 중요합니다. 왜냐하면, 단어를 어떻게 쪼개느냐에 따라 AI가 세상을 이해하는 방식이 완전히 달라지기 때문입니다.
예를 들어볼까요? ‘사과’라는 단어가 있습니다.
문장 속에서 “맛있는 사과를 먹었다.” 와 “그 사람에게 사과했다.” 라는 두 가지 문장이 있다고 해봅시다.
우리는 두 ‘사과’가 전혀 다른 의미(과일 vs 용서)라는 것을 바로 알지만, 컴퓨터는 똑같은 글자로 인식합니다. 토큰화 단계에서는 일단 이 두 단어를 같은 ‘사과’라는 토큰으로 잘라내는 역할만 합니다.
의미를 구분하는 것은 그 다음 단계의 몫이죠. 토큰화는 그저 의미를 분석할 재료를 정성껏 준비하는 과정입니다. 재료 손질이 엉망이면 아무리 훌륭한 요리사라도 맛있는 음식을 만들 수 없는 것과 같습니다.
특히 한국어는 이 토큰화 과정이 다른 언어에 비해 훨씬 더 까다롭고 중요합니다.
영어는 “I go to school.” 처럼 단어들이 띄어쓰기로 명확하게 구분됩니다. 그래서 띄어쓰기를 기준으로 단어를 자르거나, ‘go’와 ‘school’처럼 의미 단위로 나누면 비교적 쉽습니다.
하지만 한국어는 ‘조사’나 ‘어미’가 단어에 찰싹 달라붙어 있는 교착어의 특징이 있습니다.
‘나’ 뒤에 붙는 ‘는’, ‘가’, ‘를’, ‘에게’ 이나 ‘학교’ 뒤에 붙는 ‘에’, ‘에서’, ‘까지’ 같은 것들 말입니다.
또한, ‘갔다’, ‘가니’, ‘가고’, ‘가서’ 처럼 동사(용언)도 계속해서 모습을 바꿉니다. 이것을 ‘활용’이라고 하죠.
만약 띄어쓰기 기준으로만 잘라서 ‘학교에’를 하나의 단어로 취급하면, 컴퓨터는 ‘학교는’이나 ‘학교가’를 완전히 다른 단어로 인식하게 됩니다. ‘학교’라는 공통된 의미를 놓치게 되는 치명적인 문제가 발생합니다.
그래서 한국어 토큰화는 단순히 띄어쓰기로만 나누지 않습니다. ‘형태소’라는 더 작은 의미 단위로 분석해서 쪼개는 경우가 많습니다.
‘학교에’는 실질적인 의미를 가진 핵심 부분인 ‘학교’(명사)와 문법적 기능을 하는 ‘에’(조사)로 나누는 식이죠. ‘먹었다’는 ‘먹다’라는 행동의 어간 ‘먹-’과 과거를 나타내는 ‘-었-’, 그리고 문장을 끝내는 ‘-다’로 더 잘게 쪼개기도 합니다.
이렇게 잘게 쪼개주어야 컴퓨터가 ‘아, 이 문장은 ‘학교’라는 장소에 대해 이야기하고 있고, ‘먹다’라는 행위가 과거에 일어났구나’ 하고 핵심 의미와 문법적 구조를 파악하기가 더 쉬워집니다.
이것이 바로 AI가 우리 말을 알아듣기 위한, 정말 정말 중요한 첫 번째 준비운동입니다.
이 과정이 없다면 AI는 문장이라는 거대한 미로 속에서 길을 잃고 말 것입니다.
토큰화는 그 미로에 ‘이정표’를 세워주는 일과 같습니다. ‘여기가 시작점이야’, ‘이쪽은 명사야’, ‘저쪽은 동사야’ 하고 길을 알려주는 것이죠.
이제 컴퓨터는 의미 없는 글자의 나열이 아니라, 의미를 가진 단어(토큰)들의 목록을 갖게 되었습니다. 하지만 아직 갈 길이 멉니다. 이제 겨우 재료 손질이 끝났을 뿐이니까요.
손질된 재료들을 가지고 어떻게 맛있는 요리를 만들어낼까요? 컴퓨터는 이 ‘단어’들을 어떻게 이해하고 계산할 수 있을까요?
왜 그냥 단어 그대로 쓰면 안 되나요?
이런 궁금증이 생길 수 있습니다. “단어로 잘 쪼갰으면, 이제 컴퓨터가 ‘학교’가 뭔지, ‘가다’가 뭔지 알게 된 거 아닌가요? 그냥 그 단어들을 그대로 쓰면 되는 거 아닌가요?”
아주 좋은 질문입니다. 하지만 결론부터 말하자면, 컴퓨터는 ‘사과’라는 글자 자체로는 아무런 계산도 할 수 없습니다.
컴퓨터는 본질적으로 거대한 계산기입니다. 덧셈, 뺄셈, 곱셈, 나눗셈 같은 숫자 계산에만 특화되어 있죠. 컴퓨터 내부의 모든 처리는 결국 0과 1이라는 이진수 신호의 흐름일 뿐입니다.
‘사과’ 더하기 ‘오렌지’는 무엇일까요? 컴퓨터는 이런 질문에 답할 수 없습니다. 글자는 글자일 뿐, 수학적 연산의 대상이 될 수 없기 때문입니다.
컴퓨터의 세상에서는 모든 것이 숫자로 이루어져야 합니다. 우리가 보는 화려한 그래픽의 게임도, 감미로운 음악도, 선명한 사진도 결국에는 모두 0과 1의 조합으로 바꿔주어야만 컴퓨터가 이해하고 처리할 수 있습니다.
그래서 우리는 토큰화로 잘라낸 단어들을 숫자로 바꿔주는 다음 단계로 넘어가야만 했습니다. 가장 단순한 방법은 각 단어에 고유한 ‘번호’를 붙여주는 것입니다.
예를 들어, 우리가 가진 단어 사전에 ‘사과’는 1번, ‘오렌지’는 2번, ‘바나나’는 3번, … , ‘컴퓨터’는 100번이라고 번호를 매기는 겁니다. 일종의 단어 신분증을 발급하는 셈이죠.
그러면 “사과 그리고 바나나” 라는 문장은 [1, 그리고, 3] 이라는 목록으로 바꿀 수 있습니다. (여기서 ‘그리고’도 어떤 번호를 받겠죠.) 이제 컴퓨터가 다룰 수 있는 숫자의 형태로 바뀌었으니, 뭔가 계산을 할 수 있을 것 같습니다.
하지만 여기에는 아주 큰 문제가 숨어 있습니다. 이 방법은 단어의 ‘의미’를 전혀 담아내지 못한다는 치명적인 단점이 있습니다.
이 방식대로라면, 컴퓨터에게 ‘사과(1번)’와 ‘오렌지(2번)’는 그냥 숫자 1과 2일 뿐입니다. 두 단어가 모두 ‘과일’이라는 공통점을 가지고 있다는 사실, 비슷한 맥락에서 사용될 수 있다는 정보를 전혀 알 수 없습니다.
오히려 번호가 가까운 ‘바나나(3번)’보다, 번호가 한참 떨어진 ‘컴퓨터(100번)’와 더 가깝거나 멀다고 멋대로 계산할 수도 있습니다. 숫자 2와 3의 거리는 1이고, 2와 100의 거리는 98이니까요.
숫자의 크기가 단어의 의미와는 아무런 관련이 없기 때문입니다. 100번인 ‘컴퓨터’가 1번인 ‘사과’보다 100배 더 중요하다거나 의미가 크다는 뜻이 전혀 아니죠.
이런 방식으로는 단어 사이의 섬세한 관계를 파악하는 것이 불가능합니다.
‘차갑다’와 ‘뜨겁다’는 반대말이고, ‘춥다’와 ‘차갑다’는 비슷한 말이라는 미묘한 관계를 숫자의 크기로는 도저히 표현할 수 없습니다.
AI가 정말 똑똑해지려면, 단어의 ‘의미’ 그 자체를, 그리고 단어들 간의 ‘관계’를 이해해야만 합니다.
단순히 단어에 번호를 붙이는 것만으로는 부족하다는 것을 깨닫게 된 것이죠. 이것은 마치 모든 사람에게 임의의 학번을 부여하고, 학번 순서대로 관계를 맺으라고 하는 것과 같습니다. 불가능한 일이죠.
과학자들은 고민에 빠졌습니다. “어떻게 하면 단어의 의미를 컴퓨터가 이해하고 계산할 수 있는 숫자로 표현할 수 있을까?”
이 고민의 결과로 탄생한 것이 바로 ‘임베딩’이라는 아주 기발하고 아름다운 아이디어입니다.
‘임베딩’은 ‘어딘가에 콕 박아 넣는다’는 뜻을 가지고 있습니다. 단어의 의미를, 어떤 특별한 다차원 ‘의미 공간’에 콕 박아 넣는다는 비유적인 표현입니다.
이 임베딩 덕분에 AI는 비로소 언어의 세계에 눈을 뜨게 되었습니다. 단순히 글자를 기계적으로 처리하는 수준을 넘어, 단어가 가진 풍부한 의미와 뉘앙스를 어렴풋이나마 느끼게 된 것입니다.
지금부터 우리는 이 마법 같은 ‘임베딩’의 세계로 함께 들어가 볼 겁니다. 단어가 어떻게 숫자로 변신하여 서로의 관계를 맺게 되는지, 그 놀라운 과정을 목격하게 될 것입니다.
조금은 생소할 수 있지만, 최대한 쉬운 비유로 설명해 드릴 테니 걱정하지 마세요. 이 개념을 이해하면, AI가 어떻게 그렇게 똑똑한 대답을 할 수 있는지에 대한 큰 그림을 그릴 수 있게 됩니다.
이것은 단순한 기술 이야기가 아닙니다. 우리가 세상을 인식하고 언어를 사용하는 방식과도 깊은 관련이 있는, 아주 흥미로운 이야기입니다.
단어에 ‘의미’라는 옷을 입혀주는 마법, 임베딩
단어에 고유 번호를 붙이는 방식의 한계를 우리는 확인했습니다. 단어의 의미 관계를 전혀 표현하지 못했죠.
그래서 사람들은 완전히 다른 방법을 생각해 냈습니다. 바로 단어를 하나의 숫자가 아닌, 여러 숫자의 ‘묶음’으로 표현하는 것입니다.
이 숫자 묶음을 ‘임베딩 벡터’라고 부릅니다. ‘벡터’라는 말이 어렵게 느껴지시나요? 전혀 그럴 필요 없습니다.
그냥 ‘좌표’라고 생각하시면 아주 쉽습니다. 혹은 어떤 대상의 특징을 나타내는 ‘속성값 목록’이라고 생각해도 좋습니다.
우리가 지도 위에서 어떤 장소의 위치를 ‘위도’와 ‘경도’라는 두 개의 숫자로 표현하는 것과 똑같습니다. 예를 들어 서울 시청의 위치는 [위도 37.56, 경도 126.97] 처럼 표현할 수 있죠.
임베딩 벡터는 여기서 한 걸음 더 나아갑니다. 위도, 경도라는 2개의 숫자(2차원)만 쓰는 것이 아니라, 훨씬 더 많은 수십, 수백, 심지어 수천 개의 숫자(수백, 수천 차원)를 사용해서 단어의 ‘의미상 위치’를 표현합니다.
예를 들어 ‘사과’라는 단어를 [0.1, 0.8, -0.2, 0.5, …, -0.9] 와 같이 100개의 숫자 묶음으로 나타내는 식입니다.
이 숫자 하나하나가 어떤 절대적인 의미를 갖는 것은 아닙니다. ‘첫 번째 숫자는 과일과 관련된 정도, 두 번째 숫자는 색깔과 관련된 정도’ 처럼 명확하게 정의되어 있지도 않습니다. 그것은 인간이 정해주는 것이 아니라 AI가 스스로 학습을 통해 찾아내는 추상적인 특징값입니다.
중요한 것은 이 숫자 묶음, 즉 벡터가 만들어내는 ‘상대적인 위치’입니다. 이 수백 차원의 보이지 않는 공간 속에서 단어들이 어디에 위치하는지가 바로 그 단어의 의미가 됩니다.
AI는 수많은 글을 읽으면서 단어들이 어떤 단어들과 함께 쓰이는지를 학습합니다.
“달콤한 사과를 먹었다.”, “상큼한 오렌지 주스.”, “노란 바나나 껍질.”, “신선한 과일 샐러드.” 같은 문장들을 수없이 읽다 보면, AI는 ‘사과’, ‘오렌지’, ‘바나나’가 ‘달콤하다’, ‘먹다’, ‘과일’ 등 비슷한 맥락에서 사용된다는 것을 깨닫습니다.
그러면 AI는 이 단어들을 보이지 않는 ‘의미의 지도’ 위에서 서로 가까운 곳에 위치시킵니다.
즉, ‘사과’의 벡터와 ‘오렌지’의 벡터가 서로 아주 비슷한 숫자들로 구성되도록 그 값들을 계속해서 미세하게 조정하는 것입니다.
반면에 ‘컴퓨터’라는 단어는 ‘프로그래밍’, ‘키보드’, ‘모니터’, ‘소프트웨어’ 같은 단어들과 함께 자주 등장하겠죠.
따라서 ‘컴퓨터’의 벡터는 ‘사과’의 벡터와는 아주 멀리 떨어진, 완전히 다른 동네에 위치하게 됩니다.
이것이 임베딩의 핵심 아이디어입니다. ‘비슷한 문맥에서 등장하는 단어는 비슷한 의미를 가질 것이다.’ 라는 매우 단순하면서도 강력한 가정에 기반합니다. 이를 ‘분포 가설’이라고도 부릅니다.
이 가정을 바탕으로, 모든 단어를 다차원의 공간 속 한 점으로 표현하는 것입니다.
마치 밤하늘의 별자리와 같습니다.
별 하나하나는 그저 빛나는 점일 뿐이지만, 그 별들이 모여 만드는 상대적인 위치와 모양을 통해 우리는 ‘북두칠성’이나 ‘오리온자리’ 같은 의미를 찾아냅니다. 별들의 관계가 의미를 만드는 것이죠.
임베딩 벡터도 마찬가지입니다. 단어 벡터들이 모여 있는 ‘의미의 우주’ 속에서, 우리는 단어들 사이의 관계라는 아름다운 별자리를 발견할 수 있습니다.
이제 단어는 더 이상 외로운 섬이 아닙니다. 서로 가깝게, 혹은 멀리 떨어져 관계를 맺고 있는 거대한 네트워크의 일부가 되었습니다.
‘춥다’와 ‘차갑다’는 아주 가까이 붙어 있고, ‘덥다’와 ‘뜨겁다’도 그들끼리 모여 있을 겁니다.
그리고 ‘춥다’ 그룹과 ‘덥다’ 그룹은 서로 반대 방향으로 멀리 떨어져 있겠죠. 이것이 바로 반의어 관계를 공간상의 거리로 표현한 것입니다.
이것이 바로 AI가 단어의 뉘앙스를 이해하는 방식입니다. 우리가 단어의 뜻을 하나하나 직접 알려주지 않아도, 수많은 데이터 속에서 스스로 관계를 학습하여 ‘의미의 지도’를 그려나가는 것입니다.
정말 놀랍지 않나요? 우리는 그저 글을 보여주었을 뿐인데, AI는 그 속에서 스스로 질서를 찾아내고 의미를 구조화합니다. 인간의 개입을 최소화하고 데이터 자체의 힘으로 학습하는 것이죠.
이 임베딩 벡터 덕분에, 컴퓨터는 드디어 ‘사과’와 ‘오렌지’가 ‘컴퓨터’보다는 훨씬 가깝다는 것을 ‘계산’할 수 있게 되었습니다.
두 벡터 사이의 거리나 각도를 수학적으로 계산해보면 되니까요. 이것은 컴퓨터가 가장 잘하는 일입니다.
이제 언어는 컴퓨터에게 더 이상 미지의 영역이 아닙니다. 숫자로 이루어진, 계산 가능한 아름다운 공간이 되었습니다.
‘왕’ 빼기 ‘남자’ 더하기 ‘여자’는 ‘여왕’? 숫자로 변한 단어들의 신기한 세상
단어를 숫자의 묶음, 즉 벡터로 표현하면 아주 신기한 일이 가능해집니다.
단순히 단어 사이의 거리를 재서 비슷함을 알아내는 것을 넘어, 단어의 의미를 ‘연산’할 수 있게 됩니다.
마치 숫자처럼 단어를 더하고 뺄 수 있다는 뜻입니다. 정말 마법 같은 이야기죠? 이것은 임베딩이 단어의 의미를 벡터 공간에 잘 ‘구조화’했기 때문에 가능한 일입니다.
가장 유명하고 고전적인 예시가 바로 ‘왕’, ‘남자’, ‘여자’, ‘여왕’의 관계입니다.
임베딩 공간 속에서 이 단어들의 벡터는 어떤 관계를 맺고 있을까요?
‘왕’ 벡터에서 ‘남자’ 벡터를 빼고, 거기에 ‘여자’ 벡터를 더하면 어떤 결과가 나올까요?
놀랍게도, 그 결과로 나온 새로운 벡터는 임베딩 공간 속에서 ‘여왕’ 벡터와 거의 같은 위치를 가리킵니다.
수식으로 표현하면 이렇습니다: King - Man + Woman ≈ Queen
이게 어떻게 가능한 일일까요? 한번 천천히 생각해 봅시다. 이것은 단순한 우연이 아닙니다.
AI는 수많은 글을 학습하면서 단어의 벡터를 만든다고 했습니다. 이 과정에서 벡터의 각 차원(수백 개의 숫자들)은 특정한 의미적 속성을 암묵적으로 학습하게 됩니다. 우리가 알아볼 수는 없지만, AI 나름의 체계를 갖추게 되는 것이죠.
예를 들어, ‘왕’ 벡터에는 ‘왕족’이라는 속성과 ‘남성’이라는 속성이 강하게 담겨 있을 겁니다. 마찬가지로 ‘여왕’ 벡터에는 ‘왕족’과 ‘여성’ 속성이, ‘남자’ 벡터에는 ‘남성’ 속성이, ‘여자’ 벡터에는 ‘여성’ 속성이 담겨 있겠죠.
‘왕’ 벡터에서 ‘남자’ 벡터를 뺀다는 것은, ‘왕족’과 ‘남성’ 속성에서 ‘남성’ 속성을 제거하는 것과 비슷한 효과를 냅니다.
그러면 ‘왕족’이라는 핵심적인 속성만 방향성으로 남게 됩니다. 일종의 ‘성별 없는 왕족’ 개념이 되는 셈이죠.
여기에 ‘여자’ 벡터가 가진 ‘여성’ 속성을 더해줍니다.
이제 우리는 ‘왕족’ 속성과 ‘여성’ 속성을 모두 가진 어떤 개념을 찾고 있습니다. 그게 바로 ‘여왕’인 것이죠!
AI는 이 모든 것을 의식적으로 이해하고 계산하는 것이 아닙니다. ‘왕족이 뭐지?’라고 고민하지 않습니다. 그저 수많은 데이터로부터 학습한 벡터들의 위치 관계가, 신기하게도 우리가 생각하는 의미의 관계와 일치하는 방향으로 정렬된 것뿐입니다.
이런 유추는 다른 단어들에도 놀랍도록 잘 적용됩니다.
예를 들어, ‘서울’ 벡터에서 ‘한국’ 벡터를 빼고, ‘일본’ 벡터를 더하면 ‘도쿄’ 벡터와 아주 가까운 위치가 나옵니다. (Seoul - Korea + Japan ≈ Tokyo)
이것은 ‘수도’와 ‘나라’의 관계를 AI가 스스로 학습했다는 뜻입니다. ‘한국’에서 ‘서울’로 향하는 벡터의 방향과 크기가, ‘일본’에서 ‘도쿄’로 향하는 벡터의 방향과 크기와 거의 같다는 의미입니다.
이것은 임베딩 기술이 단순히 단어의 유사성만 파악하는 것이 아니라, 단어들 사이에 존재하는 복잡하고 다양한 ‘관계’까지 포착하고 있다는 강력한 증거입니다.
마치 우리가 ‘아빠와 아들’의 관계를 보면, 자연스럽게 ‘엄마와 딸’의 관계를 유추하는 것과 같습니다.
AI는 이 관계 자체를 하나의 방향을 가진 화살표(벡터)로 이해합니다. ‘남자’에서 ‘왕’으로 향하는 벡터와 ‘여자’에서 ‘여왕’으로 향하는 벡터는 평행할 것입니다.
‘남자’에서 ‘여자’로 향하는 벡터는 ‘성별’의 관계를 나타내고, ‘한국’에서 ‘서울’로 향하는 벡터는 ‘나라-수도’의 관계를 나타냅니다.
이러한 관계의 발견 덕분에 AI는 훨씬 더 정교한 추론을 할 수 있게 되었습니다. 우리가 던지는 복잡한 질문의 의도를 파악하고, 문맥에 맞는 자연스러운 답변을 생성하는 능력의 바탕에는 바로 이 임베딩 벡터들의 신비로운 춤이 있습니다.
단어가 숫자로 변했을 뿐인데, 이렇게 풍부한 의미의 세계가 열린다는 것이 정말 놀랍습니다.
기술의 깊은 곳에는 종종 이처럼 아름답고 직관적인 아이디어가 숨어 있습니다.
우리가 두려워할 대상이 아니라, 그 원리를 이해하고 감탄할 수 있는 지적 유희에 더 가깝습니다.
이제 AI가 단어를 어떻게 이해하는지 조금은 감이 오시나요? AI는 단어의 뜻을 사전적으로 아는 것이 아니라, 수많은 단어들 사이의 ‘관계’를 아는 것입니다.
그 거대한 관계망 속에서 가장 적절한 길을 찾아내는 탐험가와도 같습니다.
AI는 정말 단어의 ‘느낌’까지 알 수 있나요?
우리는 AI가 단어의 의미 관계를 벡터로 학습한다는 것을 알게 되었습니다. 그렇다면 ‘감정’이나 ‘느낌’ 같은 더 미묘하고 주관적인 뉘앙스도 이해할 수 있을까요?
“정말 행복해!” 라는 문장과 “너무 슬퍼.” 라는 문장이 있다고 해봅시다.
AI는 이 두 문장의 분위기가 완전히 다르다는 것을 어떻게 알 수 있을까요? 행복이나 슬픔이라는 감정을 느껴본 적도 없는데 말이죠.
이 역시 임베딩의 마법으로 설명할 수 있습니다. 원리는 의미 관계를 파악하는 것과 정확히 같습니다.
수많은 텍스트 데이터를 학습하는 과정에서, AI는 특정 단어들이 함께 등장하는 경향을 발견합니다.
‘행복’, ‘기쁨’, ‘사랑’, ‘웃음’, ‘성공’, ‘환상적인’, ‘아름다운’ 같은 단어들은 주로 긍정적인 문맥에서 서로 어울려 나타납니다. 영화 리뷰, 상품 후기, 소설 등에서 이러한 패턴은 명확하게 드러납니다.
따라서 AI는 이 단어들의 벡터를 의미 공간의 한쪽 영역에 가깝게 모아 둡니다. 이른바 ‘긍정의 나라’가 만들어지는 셈이죠.
반대로 ‘슬픔’, ‘눈물’, ‘절망’, ‘실패’, ‘아픔’, ‘끔찍한’, ‘실망스러운’ 같은 단어들은 부정적인 문맥에서 함께 등장하는 경우가 많습니다.
이 단어들은 자연스럽게 ‘긍정의 나라’와는 아주 멀리 떨어진, ‘부정의 나라’에 모여 있게 됩니다.
이제 어떤 문장이 주어졌을 때, AI는 그 문장에 포함된 단어들의 벡터가 어느 나라에 더 많이 속해 있는지를 살펴봅니다. 문장 전체의 벡터를 계산해서 그 위치가 긍정의 나라에 가까운지, 부정의 나라에 가까운지를 판단하는 것이죠.
“정말 행복한 하루였어!” 라는 문장의 단어들은 대부분 ‘긍정의 나라’ 근처에 있을 확률이 높습니다. 그러면 AI는 이 문장을 ‘긍정적’이라고 판단하게 됩니다. 이 과정을 ‘감성 분석’이라고 부릅니다.
여기서 중요한 점을 다시 한번 강조해야 합니다. AI가 감정을 느끼는 것은 결코 아닙니다. 이 점을 오해하시면 안 됩니다. AI는 행복이 어떤 기분인지, 슬픔이 얼마나 고통스러운지 전혀 알지 못합니다.
AI는 그저 데이터 속에서 발견한 통계적인 패턴을 따르는 것뿐입니다.
‘행복’이라는 단어가 ‘기쁨’, ‘웃음’과 자주 함께 쓰인다는 수학적 사실을 학습하고, 그 관계를 벡터 공간에 표현한 것이 전부입니다. 그것이 놀랍게도 우리의 감정 체계와 닮아 보이는 결과를 낳는 것뿐입니다.
하지만 그 결과만으로도 이 능력은 다양한 곳에 매우 유용하게 활용될 수 있습니다.
예를 들어, 새로 출시된 영화에 대한 수천, 수만 개의 온라인 리뷰를 AI에게 분석하라고 시킬 수 있습니다. AI는 각 리뷰가 긍정적인지, 부정적인지, 혹은 중립적인지를 순식간에 판단하여, 이 영화에 대한 전반적인 여론(긍정 85%, 부정 15% 등)을 요약해 줄 수 있습니다.
기업은 고객센터에 쏟아지는 문의 글들을 실시간으로 분석하여, 어떤 고객이 가장 화가 나 있는지(부정적 단어가 많이 포함된 글) 우선순위를 정해 빠르게 응대하도록 도울 수도 있습니다. 이는 고객 만족도를 높이는 데 결정적인 역할을 합니다.
더 나아가, 최신 AI 모델들은 문장의 미묘한 뉘앙스까지도 포착할 수 있습니다.
“음식이 나쁘지 않았어요.” 라는 문장은 표면적으로는 부정적인 단어 ‘나쁘다’가 들어있지만, ‘-지 않다’라는 부정 표현과 결합하여 전체적인 느낌은 중립적이거나 약간 긍정적입니다. 우리는 이것을 쉽게 알죠.
과거의 AI는 ‘나쁘다’는 단어 때문에 이 문장을 부정적으로 판단하기 쉬웠습니다. 하지만 최신 AI 모델들은 ‘나쁘지 않다’라는 표현이 함께 자주 쓰이는 패턴 자체를 학습했기 때문에, 문맥까지 고려하여 올바른 감성을 파악하는 수준으로 발전했습니다.
결국 AI가 단어의 느낌을 안다는 것은, 단어들이 맺고 있는 사회적 관계망, 즉 문맥의 네트워크를 이해한다는 말과 같습니다.
우리가 어떤 사람의 친구들을 보면 그 사람을 어느 정도 짐작할 수 있듯이, AI는 어떤 단어의 주변 단어들을 보고 그 단어의 성격(의미와 감성)을 짐작하는 것입니다.
이것이 바로 AI가 우리 말을 이해하는 방식의 본질입니다. 직접적인 이해가 아닌, 관계를 통한 간접적인 이해입니다.
하지만 그 간접적인 이해만으로도, AI는 우리의 삶을 편리하게 만들어 줄 수 있는 무한한 가능성을 보여주고 있습니다.
기술은 차갑게 느껴질 수 있지만, 그 기술이 만들어내는 결과는 이처럼 우리의 감정과 맞닿아 있습니다.
그래서, 이 기술이 우리 삶을 어떻게 바꾸나요?
지금까지 우리는 AI가 언어를 이해하는 첫걸음, 토큰화와 임베딩에 대해 알아보았습니다. 조금은 어렵게 느껴졌을지도 모릅니다.
하지만 이 기술들이 이미 우리 삶 깊숙이 들어와 있다는 사실을 알면, 조금 더 친근하게 느껴질 겁니다.
우리가 매일 사용하는 것들 속에 이 똑똑한 기술이 숨어 있습니다. 우리는 이미 그 혜택을 누리고 있죠.
가장 대표적인 것이 바로 ‘검색 엔진’입니다. 구글, 네이버 등 우리가 매일 사용하는 바로 그 서비스 말입니다.
예전에는 검색창에 정확한 키워드를 입력해야만 원하는 결과를 얻을 수 있었습니다. ‘서울 맛집’이라고 검색하면, ‘서울’과 ‘맛집’이라는 단어가 정확히 들어간 페이지만 찾아주었죠.
하지만 요즘은 다릅니다. “서울에서 조용하고 분위기 좋은 저녁 식사할 만한 곳” 처럼 길고 애매한 문장으로 검색해도, 찰떡같이 좋은 레스토랑들을 추천해 줍니다.
이것이 가능한 이유는 검색 엔진이 임베딩 기술을 이용해 단어의 의미뿐만 아니라, 문장 전체의 ‘의도’를 파악하기 때문입니다. ‘조용하고 분위기 좋은’과 ‘저녁 식사’라는 단어들의 의미 벡터를 종합적으로 분석해서, ‘로맨틱한’, ‘고급스러운’, ‘데이트 코스’, ‘레스토랑’ 같은 관련 개념들과의 관계를 계산해 최적의 결과를 보여주는 것입니다.
우리가 자주 사용하는 ‘번역 앱’도 마찬가지입니다. 파파고나 구글 번역 같은 서비스가 대표적이죠.
과거의 기계 번역은 단어를 하나씩 일대일로 바꾸는 수준이라 “나는 학교에 간다”를 “I school go”처럼 어색하고 이상한 문장으로 번역하는 경우가 많았습니다.
하지만 요즘 번역기는 문장 전체의 의미를 하나의 고차원 벡터로 변환한 뒤, 그 의미 벡터와 가장 가까운 다른 언어의 문장 벡터를 찾아내는 방식으로 작동합니다. 문맥 전체를 이해하려고 노력하는 것이죠.
그래서 훨씬 더 자연스럽고 매끄러운 번역이 가능해진 것입니다. ‘눈치가 빠르다’ 같은 한국어 특유의 관용 표현도 그 뉘앙스를 살려서 번역할 수 있게 되었습니다.
쇼핑몰 사이트에서 우리가 어떤 상품을 클릭하면, 그와 비슷한 다른 상품들을 귀신같이 추천해 주는 기능에도 임베딩이 쓰입니다.
내가 본 상품의 특성(예: ‘빨간색’, ‘원피스’, ‘여름용’, ‘린넨 소재’)을 벡터로 만들고, 그 벡터와 의미 공간에서 가장 가까운 거리에 있는 다른 상품들을 찾아서 보여주는 원리입니다.
음악 스트리밍 서비스가 내 취향에 딱 맞는 새로운 노래를 추천해 주는 것도 같은 방식입니다. 내가 즐겨 듣는 노래들의 음악적 특징(빠르기, 분위기, 사용된 악기, 장르 등)을 벡터로 변환하고, 그 벡터들과 유사한 위치에 있는 새로운 노래를 찾아주는 것이죠.
이처럼 토큰화와 임베딩은 챗GPT 같은 거대한 AI 모델뿐만 아니라, 우리가 일상적으로 접하는 수많은 서비스의 핵심 두뇌 역할을 하고 있습니다.
이 기술 덕분에 기계는 더 이상 우리의 명령을 문자 그대로만 받아들이는 멍청한 하인이 아니게 되었습니다.
우리의 숨은 의도와 취향을 파악하고, 먼저 나서서 도움을 주는 똑똑한 비서에 가까워지고 있습니다.
물론 아직 완벽하지는 않습니다. 때로는 엉뚱한 추천을 하거나, 우리의 말을 오해하기도 합니다. AI가 ‘환각’ 현상으로 그럴듯한 거짓말을 만들어내는 문제도 여전히 존재합니다.
하지만 기술은 계속해서 발전하고 있습니다. AI는 지금 이 순간에도 세상의 모든 텍스트를 읽으며 더 현명해지고 있습니다.
이 기술의 발전을 두려워할 필요는 없습니다. 오히려 이 기술이 내 삶을 어떻게 더 편리하고 풍요롭게 만들어 줄 수 있을지 상상해 보는 것이 훨씬 즐거운 일입니다.
기술은 결국 사람을 위한 도구일 뿐이니까요. 그 도구를 어떻게 사용할지는 우리 각자의 손에 달려 있습니다.
오늘 우리는 그 도구의 사용 설명서 첫 페이지를 함께 읽어본 셈입니다.
기술이 무서운 게 아니라, 모르는 게 무서운 거예요
AI 기술에 대한 이야기를 들으면, 어떤 사람들은 자신의 일자리가 사라질까 봐 걱정합니다.
혹은 영화 ‘터미네이터’에서처럼 AI가 인간을 지배하는 세상이 올까 봐 막연한 두려움을 느끼기도 합니다.
이러한 불안감은 어쩌면 당연한 감정입니다. 우리는 우리가 잘 알지 못하는 것에 대해 본능적으로 경계심을 느끼기 때문입니다.
깜깜한 방에 혼자 있을 때 작은 소리에도 소스라치게 놀라는 것과 같습니다. 그 소리의 정체를 모르기 때문에 무서운 것입니다. 정체불명의 존재에 대한 공포죠.
하지만 방에 불을 켜고 소리의 원인이 바람에 흔들리는 나뭇가지였다는 것을 확인하면, 두려움은 금세 사라집니다. 오히려 창밖의 풍경을 감상할 여유가 생기죠.
AI 기술도 마찬가지입니다. 그 원리를 전혀 모를 때는 거대하고, 전지전능하며, 불가해한 존재처럼 느껴져 두려움을 유발할 수 있습니다.
하지만 오늘 우리가 함께 살펴본 것처럼, 그 속을 들여다보면 생각보다 논리적이고 단계적인 원리들이 차곡차곡 쌓여 만들어진 결과물이라는 것을 알 수 있습니다.
AI는 스스로 감정이나 의지를 가진 존재가 아닙니다. 그저 방대한 데이터를 수학적인 방법으로 처리하여, 패턴을 찾고 확률적으로 가장 그럴듯한 결과를 보여주는 정교한 계산기일 뿐입니다.
‘왕’ 벡터에서 ‘남자’ 벡터를 뺀다고 해서 AI가 ‘왕권’이나 ‘성 평등’에 대해 고민하는 것은 아닙니다. 그저 주어진 데이터 속에서 발견한 벡터들의 관계를 계산할 뿐입니다. AI에게는 그저 수학 문제입니다.
진정으로 우리가 경계해야 할 것은 기술 그 자체가 아니라, 그 기술을 어떤 의도를 가지고 사용하는가 하는 ‘사람의 문제’일 것입니다. 예를 들어, 편향된 데이터를 학습한 AI는 인종이나 성별에 대한 차별적인 결과를 낳을 수 있습니다. 또한 가짜 뉴스를 대량 생산하는 데 악용될 수도 있죠. 이것은 AI의 잘못이 아니라, AI를 그렇게 만들고 사용한 사람의 책임입니다.
칼이 요리사의 손에 들리면 훌륭한 요리를 만들지만, 강도의 손에 들리면 흉기가 되는 것과 같은 이치입니다.
따라서 우리에게 필요한 것은 기술에 대한 막연한 공포나 맹목적인 숭배가 아니라, 기술에 대한 올바른 이해입니다.
기술이 어떤 원리로 작동하는지, 어떤 장점과 한계를 가지고 있는지 알게 되면, 우리는 기술을 더 현명하게 사용하고 잠재적인 위험에 더 잘 대비할 수 있습니다.
오늘 우리가 배운 토큰화와 임베딩은 AI라는 거대한 빙산의 일각에 불과합니다. 하지만 이 작은 지식 하나가 여러분의 마음속에 있던 막연한 불안감을 조금이나마 걷어내는 ‘앎의 불빛’이 되었기를 바랍니다.
모르는 것이 더 이상 두렵지 않게 될 때, 우리는 비로소 새로운 기술을 우리의 삶을 위한 긍정적인 동력으로 삼을 수 있습니다.
두려움의 자리에 호기심을 채워 넣으세요.
‘AI가 내 일자리를 빼앗을까?’ 라는 수동적인 걱정 대신, ‘AI를 이용해서 내 일을 더 잘하려면 어떻게 해야 할까?’ 라는 능동적인 질문을 던져보세요.
예를 들어, 마케터라면 “AI를 활용해서 소셜 미디어의 최신 트렌드를 분석하고, 가장 효과적인 광고 문구를 생성해달라고 요청할 수 있겠구나”라고 생각할 수 있습니다. 개발자라면 “단순 반복적인 코딩 작업을 AI에게 맡기고, 나는 더 창의적인 아키텍처 설계에 집중해야겠다”고 계획할 수 있습니다.
관점이 바뀌면, 위기처럼 보였던 것이 새로운 기회로 보이기 시작할 겁니다.
AI는 우리의 적이 아닙니다. 인류가 만들어낸 가장 강력한 도구 중 하나일 뿐입니다. 자동차가 우리의 다리를 대체하는 대신 더 먼 곳으로 갈 수 있게 해주었듯이, AI는 우리의 지능을 대체하는 것이 아니라 확장시켜 줄 것입니다.
그리고 모든 도구가 그렇듯, 그 주인은 바로 우리 자신입니다. 우리가 더 많이 배우고 이해할수록, 우리는 더 좋은 주인이 될 수 있습니다.
그러니 두려워하지 마세요. 불을 켰으니, 이제 방 안을 함께 탐험해 볼 시간입니다.
마치며: 첫걸음을 뗀 당신을 응원하며
오늘 우리는 아주 긴 여행을 함께했습니다. 컴퓨터가 우리 말을 이해하기 위해 어떤 준비 과정을 거치는지, 그 위대한 첫걸음을 따라가 보았죠.
문장을 의미 있는 조각으로 나누는 ‘토큰화’, 그리고 그 조각들에 ‘의미’라는 옷을 입혀주는 ‘임베딩 벡터’.
이름은 조금 낯설었지만, 그 원리는 우리가 아이에게 글을 가르치거나, 지도 위에서 위치를 찾는 것처럼 의외로 직관적이었습니다. 복잡한 현상 뒤에 숨어있는 단순하고 아름다운 원리를 발견하는 즐거움을 느끼셨기를 바랍니다.
이제 챗GPT나 번역 앱을 볼 때, 이전과는 조금 다른 시선으로 바라볼 수 있게 되었을 겁니다. 단순한 마법이 아니라, 수많은 단어 벡터들이 보이지 않는 의미의 공간 속에서 분주하게 움직이며 만들어내는 아름다운 합작품이라는 것을요.
물론 오늘 배운 내용이 AI의 전부는 아닙니다. 하지만 가장 중요한 첫 단추를 끼운 것과 같습니다. 이 첫걸음이 있었기에, 여러분은 이제 AI라는 세상으로 들어가는 작은 문을 연 셈입니다. 다음 단계로 나아갈 수 있는 용기와 자신감을 얻으셨을 겁니다.
새로운 것을 배우는 것은 언제나 조금은 어색하고 힘이 듭니다. 하지만 그 작은 불편함을 이겨내고 새로운 세상과 만났을 때의 기쁨은 무엇과도 바꿀 수 없는 소중한 경험입니다.
부디 오늘 이 글이 여러분 마음속에 있던 기술에 대한 막연한 두려움을, 건강한 호기심으로 바꾸는 작은 계기가 되었으면 합니다.
기술은 우리를 소외시키기 위해 발전하는 것이 아닙니다. 궁극적으로는 사람과 사람을 더 가깝게 연결하고, 우리의 삶을 더 풍요롭게 만들기 위해 존재합니다. 그 사실을 믿고, 두려움 없이 새로운 기술의 손을 잡아보세요.
당신은 이미 충분히 잘 해내고 있습니다. 세상의 빠른 변화에 불안해하지 마세요. 당신의 속도에 맞춰, 한 걸음씩 나아가면 됩니다. 오늘 내디딘 이 첫걸음처럼 말입니다.
토론
댓글