독자와 기사는 어떻게 ‘숫자’가 되는가
-인공지능 수학으로 배우는 추천의 원리

지난 글에서 ‘독자의 행동이 데이터가 되고, 그 데이터를 확률과 통계로 읽어야 한다’는 점을 살펴봤습니다. 그렇다면 인공지능(AI)은 이 데이터를 어떻게 다룰까요?

그 답을 다루는 것이 여러분이 배우는 인공지능 수학입니다. <인공지능 수학> 교과서는 AI가 자료를 다루는 과정을 ‘자료의 표현’(텍스트를 벡터로, 이미지를 행렬로), 분류와 예측’(유사도), ‘최적화’(손실함수와 경사하강법)의 순서로 풀어냅니다. 이번 편은 그 중 앞의 두 단계에 해당합니다.

디지털 언론에는 매일 엄청난 양의 기록이 쌓입니다. 독자는 글을 클릭하고, 화면을 내리고, 저장하거나 공유합니다. 언론사는 이 기록으로 다음에 보여줄 글을 정합니다. 그런데 컴퓨터는 사람처럼 “이 독자는 경제에 관심이 많다”거나 “이 글은 주택 정책을 다룬다”고 처음부터 이해하지 못합니다. 계산을 하려면 독자의 관심과 글의 내용을 먼저 숫자로 바꾸어야 합니다.
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
이하 AI 활용 이미지

글의 분야를 경제, 정치, 문화, 스포츠, 생활의 순서로 정해 봅시다. 어떤 독자의 관심도를 이렇게 나타낼 수 있습니다.

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
첫 번째 성분 0.7은 경제, 두 번째 0.2는 정치에 대한 관심을 뜻합니다. 글도 같은 방식으로 표현합니다.

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
이라면 경제적 성격이 강하고 정치, 문화 요소가 조금 섞인 글로 볼 수 있습니다. 독자와 글을 같은 차원의 벡터로 나타내면, 두 대상의 닮은 정도를 계산할 수 있게 됩니다.
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
여기서 잊지 말아야 할 점이 있습니다. 인공지능이 계산하는 것은 독자의 '마음'이 아니라, 행동 기록으로 만든 '벡터'라는 사실입니다. 1편에서 말한 실제 수요 D와 추정값
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
의 구분이, 여기서도 그대로 이어집니다.

텍스트를 수로 바꾸는 단순한 방법 하나는 단어가 나온 횟수를 세는 것입니다. 기준 단어를
{금리, 주택, 야구, 영화}
로 정합시다. 글 A에서 이 단어들이 각각 6회, 4회, 0회, 0회 나왔고, 글 B에서는 야구가 5회, 영화가 1회 나왔다면 두 글의 벡터는

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
입니다. 어떤 독자가 읽어 온 글에서 같은 단어들을 세어 만든 관심 벡터를
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
이라 하면, 글 A가 글 B보다 이 독자의 관심에 가까워 보입니다. 그런데 ‘가까워 보인다’를 어떻게 수로 확인할 수 있을까요?

물론 단어 횟수만으로 문장의 의미를 완벽하게 담을 수는 없습니다. 같은 단어도 문맥에 따라 뜻이 달라지니까요. 그럼에도 텍스트를 벡터로 바꾸는 순간, 글은 인공지능이 계산할 수 있는 대상이 됩니다.

두 벡터가 얼마나 비슷한지는 코사인 유사도로 계산합니다. 계산에는 두 가지 준비물이 필요합니다.
(아래에선 수식이 많아 이미지로 이어갑니다.)
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
이것이 중요한 이유가 있습니다. 코사인 유사도는 얼마나 많이 읽었는가보다 관심의 방향을 비교하기 때문입니다. 글을 하루에 열 편씩 읽는 사람과 두 편씩 읽는 사람은 벡터의 크기가 다르지만, 분야별 비율이 비슷하면 두 벡터는 같은 방향을 가리킵니다. 그래서 이용량의 많고 적음에 휘둘리지 않고 취향이 닮은 독자를 찾아낼 수 있는 것이지요.

참고로 <인공지능 수학> 교과서는 유사도를 세 갈래로 나누어 소개합니다. 첫째는 두 벡터의 끝점 사이 거리를 재는 유클리디안 유사도로 ‘얼마나 떨어져 있는가’를, 둘째는 방금 살펴본, 두 벡터가 이루는 각을 재는 코사인 유사도로 ‘어느 쪽을 향하는가를 봅니다. 셋째는 두 글이 공유하는 단어가 얼마나 되는지를 보는 자카드 유사도입니다. 두 글의 단어집합을 각각 A, B라 하면

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
곧 두 집합의 교집합 크기를 합집합 크기로 나눈 값으로, 공통으로 쓰인 단어가 많을수록 1에 가까워지지요. 이렇게 거리, 각도, 단어의 겹침이라는 서로 다른 잣대가 있는데, 독자의 취향을 비교할 때는 이용량의 많고 적음에 덜 휘둘리는 코사인 유사도가 즐겨 쓰입니다.

글의 내용이 아니라 다른 독자의 행동을 이용할 수도 있습니다. 독자 A와 B가 지금까지 경제, 교육, 과학 글을 비슷하게 읽어왔다고 합시다. B가 새 탐사보도 글을 읽고 저장했는데 A는 아직 보지 않았다면, 추천 시스템은 A도 그 글을 좋아할 가능성이 있다고 판단합니다.
독자와 글의 관계를 행렬로 나타내 봅시다.

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
행은 독자, 열은 글이며, 각 원소는 선호도를 나타냅니다.

첫 번째와 두 번째 독자는 글 1, 2에 비슷한 점수(5, 4와 4, 5)를 주었으니 취향이 닮았다고 볼 수 있습니다. 그런데 두 번째 독자는 글 3에 1점을 남겼지만, 첫 번째 독자는 글 3을 아직 보지 않았습니다. 이때 인공지능은 "취향이 닮은 쪽이 글 3에 낮은 점수를 주었으니, 첫 번째 독자도 그리 좋아하지 않을 것"이라고 추론합니다. 이렇게 각 행(독자)의 닮은 정도를 계산해 빈칸을 채워 나가는 것이 협업 기반 추천의 기본 원리입니다.

이처럼 추천 방식은 크게 두 갈래로 정리할 수 있습니다.
콘텐츠 기반 추천: 독자 벡터와 글 벡터를 비교
협업 기반 추천: 독자들의 행동 패턴을 비교
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
언론사는 어떤 독자가 유료 구독자가 될지도 예측합니다. 체류 시간 점수 x1 , 완독률 x2 , 재방문율 x3 , 관심사 유사도 x4를 이용해 단순한 예측 점수를

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
로 정할 수 있습니다. 어떤 독자가 x1=0.8, x2=0.9, x3=0.6, x4=0.999라면

알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
가 됩니다. 기준을 0.7로 정했다면, 이 독자는 ’구독 가능성이 높은 집단’으로 분류되지요. 그러나 0.845는 독자의 마음속에 실제로 존재하는 값이 아니라, 선택한 변수와 가중치로 계산된 예측값일 뿐입니다.
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
인공지능은 복잡한 현실에서 목적에 필요한 특징만 골라 벡터와 행렬로 단순화합니다. 덕분에 수많은 독자와 글을 빠르게 비교할 수 있지만, 숫자로 표현되지 않은 정보는 모델에서 사라질 수 있습니다. 독자가 왜 그 글을 읽었는지, 내용에 동의했는지, 사회적으로 중요한 글인지, 새로운 관점을 열어주었는지는 단순한 클릭 벡터에 충분히 담기지 않습니다.

여기서 다시 1편의 이야기로 돌아갑니다. 미란다가 종이잡지를 지키려 애쓰면서도 끝내 놓지 않은 것은, 숫자로 환원되지 않는 ‘좋은 콘텐츠를 알아보는 눈’이었습니다. 추천 알고리즘을 이해할 때 우리는 계산 방법뿐 아니라, 현실의 어떤 부분이 숫자로 선택되었고 어떤 부분이 빠졌는지도 함께 살펴야 합니다.

다음 편에서는 인공지능이 예측의 오차를 어떻게 줄이는지, 그리고 클릭, 구독, 공익성 가운데 무엇을 목표로 삼느냐에 따라 추천 결과가 어떻게 달라지는지를 살펴보겠습니다.

※ 기억할 포인트
인공지능은 독자의 행동과 기사의 내용을 벡터와 행렬로 바꾸고, 코사인 유사도와 행동 패턴을 비교해 맞춤형 기사를 추천합니다. 이때 수학은 복잡한 관심과 행동을 비교하고 예측하는 핵심 언어입니다. 다만 숫자에 담기지 않은 가치까지 살피는 판단도 필요합니다.
알고리즘 미디어 시대를 읽는 고교 수학의 눈(3)
홍창섭 경희여고 교사