자료
기계의 읽기
사람은 글을 읽으면 그 뜻을 안다. 그러나 기계에게 글자는 그저 모양일 뿐, 거기 담긴 뜻은 보이지 않는다. 그렇다면 기계는 어떻게 사람의 말을 다루게 되었을까. 이 글은 기계가 언어를 받아들이고 처리하는 가장 기본적인 방식을 그려본다. 어려운 수식 없이, 큰 그림만 잡아보자.
말을 숫자로 바꾸다
가장 먼저 알아야 할 사실은 기계가 다루는 것이 오로지 숫자라는 점이다. 기계 안에서는 글자도, 소리도, 그림도 결국 숫자의 묶음으로 바뀐다. 그래서 사람의 말을 기계에게 맡기려면, 먼저 그 말을 숫자로 옮겨야 한다. 문장을 잘게 나누어 각 조각에 번호를 붙이는 일이 그 시작이다.
이때 말을 나누는 단위는 꼭 단어 하나가 아닐 수도 있다. 때로는 단어보다 작은 조각으로 쪼개기도 한다. 자주 쓰이는 짧은 조각들을 정해두고, 긴 단어는 그 조각들을 이어 붙여 표현하는 식이다. 이렇게 하면 처음 보는 낯선 단어도 익숙한 조각들의 조합으로 다룰 수 있다. 무엇이 되었든, 핵심은 말을 다룰 수 있는 단위로 잘라 숫자를 매기는 것이다.
규칙이 아니라 사례에서 배우다
옛날에는 기계에게 언어를 가르치려면 문법 규칙을 일일이 적어 넣어야 한다고 여겼다. 주어 다음에는 무엇이 오고, 어떤 경우에 어떤 어미를 붙이는지를 사람이 손으로 짜 넣는 식이다. 그러나 사람의 말은 규칙만으로 담기에는 너무 변화무쌍하다. 예외가 끝없이 튀어나오고, 같은 말도 상황에 따라 뜻이 달라진다.
그래서 방향이 바뀌었다. 규칙을 적어 넣는 대신, 엄청난 양의 문장을 기계에게 보여주고 그 안에서 스스로 경향을 찾게 하는 쪽으로 옮겨간 것이다. 사람들이 실제로 쓴 수많은 글을 재료로 삼아, 어떤 말 뒤에 어떤 말이 자주 오는지, 어떤 단어들이 비슷한 자리에 쓰이는지를 통계로 익히게 했다. 규칙을 가르치는 대신 사례를 잔뜩 보여준 셈이다. 이렇게 사례에서 배우는 방식이 데이터의 힘을 빌리는 일이며, 그 바탕은 소개에서 말한 데이터를 다루는 일과 곧장 이어진다.
얼마나 많은 글이 필요한가
사례에서 배우는 방식은 한 가지를 요구한다. 아주 많은 사례다. 어떤 말 뒤에 어떤 말이 자연스러운지를 통계로 익히려면, 그 통계가 믿을 만해질 만큼 충분한 문장이 있어야 한다. 몇백 문장으로는 어림없고, 헤아리기 어려울 만큼 방대한 글이 필요하다.
이것은 적은 사례로 성급히 결론을 내리면 안 되는 이유와 같은 이치다. 적은 글에서 본 어떤 단어의 쓰임은 우연한 치우침일 수 있다. 충분히 많은 글을 보아야 비로소 그 단어의 참된 쓰임이 드러난다. 그래서 사람의 말을 잘 다루는 기계의 뒤에는 언제나 엄청난 양의 글이 쌓여 있다.
문맥이라는 실마리
사례에서 배우는 방식의 묘미는 문맥을 다룰 수 있다는 데 있다. 같은 단어라도 어떤 말들 사이에 놓이느냐에 따라 뜻이 달라진다. 배라는 말이 강을 떠가는 것인지, 먹는 과일인지, 몸의 한 부분인지는 그 둘레의 말들이 알려준다. 기계는 이 둘레의 단서를 살펴 어느 쪽인지 가늠한다.
이것이 가능한 까닭은 비슷한 뜻으로 쓰이는 말들이 비슷한 자리에 나타나는 경향이 있기 때문이다. 수많은 문장을 살펴보면, 어떤 단어가 주로 어떤 말들과 어울려 다니는지가 드러난다. 그 어울림의 무늬가 곧 그 단어의 쓰임을 말해준다. 단어가 어떻게 이런 무늬를 통해 좌표처럼 다뤄지는지는 좌표가 된 의미에서 자세히 본다.
다음에 올 말을 고르다
기계가 언어를 다루는 가장 흔한 방식 가운데 하나는 다음에 올 말을 맞히는 일이다. 앞에 놓인 말들을 보고, 그다음에 어떤 말이 올 법한지를 가늠하는 것이다. 이것은 빈칸 채우기 놀이와 비슷하다. 충분히 많은 문장을 익힌 기계는 어떤 흐름 뒤에 어떤 말이 자연스러운지를 꽤 잘 짚어낸다.
여기서 중요한 점은 기계가 단 하나의 정답을 고르는 것이 아니라는 사실이다. 여러 후보 가운데 어떤 말이 더 그럴듯한지를 가능성의 크기로 따진다. 곧 다음 말을 고르는 일은 확률을 셈하는 일이다. 이 과정이 어떻게 돌아가는지는 다음 단어 고르기에서 더 깊이 다룬다.
기계가 헛디디는 곳
사례에서 배우는 방식에는 그늘도 있다. 기계는 자신이 본 글을 닮는다. 그래서 사람들이 쓴 글에 담긴 치우침이나 잘못된 통념까지 함께 익히기 쉽다. 재료가 된 글이 한쪽으로 기울어 있으면 기계의 말도 그쪽으로 기운다. 기계의 언어가 늘 공정하거나 정확하지는 않은 까닭이다.
또 하나, 기계는 흔치 않은 경우에 약하다. 자주 나타난 표현은 잘 다루지만, 드물게 쓰이는 말이나 처음 보는 상황에서는 엉뚱한 답을 내놓기 쉽다. 통계는 본 것을 바탕으로 삼기에, 보지 못한 것 앞에서는 흔들린다. 이 약점을 알아두면 기계의 말을 곧이곧대로 믿지 않게 된다.
다음 말을 고르는 이 단순해 보이는 일이 놀랍도록 많은 것을 해낸다. 묻는 말에 답하고, 글을 잇고, 번역을 하는 일까지 결국 그다음에 올 적절한 말을 차례로 고르는 과정으로 풀어낼 수 있기 때문이다. 단순한 빈칸 채우기가 쌓이고 쌓여 제법 그럴듯한 글이 된다.
흉내와 이해 사이
이쯤에서 한 가지 물음이 생긴다. 그럴듯한 말을 잘 만들어내면, 그 기계는 말을 이해하는 것일까. 이 물음은 쉽게 답하기 어렵다. 기계는 어떤 말이 어떤 말과 어울리는지에 대한 방대한 통계를 갖고 있지만, 그것이 사람이 뜻을 아는 것과 같은지는 또 다른 문제다.
분명한 것은, 그럴듯하게 보이는 것과 정말로 아는 것이 늘 같지는 않다는 사실이다. 기계가 매끄러운 문장을 내놓아도, 그 안에 사실과 어긋난 내용이 섞일 수 있다. 통계적으로 그럴듯한 말과 사실인 말은 다르기 때문이다. 이 차이를 잊지 않는 것이, 기계가 다루는 언어를 대할 때 가장 먼저 챙겨야 할 태도다. 모르는 말이 나오면 용어와 자료를 참고하면 된다.