본문 바로가기

인지심리기사/언어

IBM 컴퓨터 Watson이 대단한 이유

출처: Ulterior Motive

번역: 인지심리 매니아 

 

어제 IBM의 슈퍼컴퓨터 왓슨(Watson)이 두 명의 인간과 벌인 Jeopardy 토너먼트에서 승리를 거두었다. 나는 지난 블로그에서 사람들이 왓슨의 똑똑함에 감탄하지 않는 이유를 설명했었다. 이번 글에서는 왓슨의 퀴즈에서 승리를 거두기 위해 개발자들이 해결해야만 하는 문제들에 대해 이야기하고자 한다.

 

왓슨이 해결해야 하는 문제들의 거의 대부분이 '관련성(relevance)'에 관한 문제들이다.

 

우리는 최근들어 컴퓨터와 많은 시간 대화를 나누고 있다. 당신이 회사의 고객서비스에 전화를 걸면 컴퓨터가 응답을 하고 당신에게 몇 가지 질문을 할 것이다. 이런 시스템의 대부분은 당신에게 간단한 질문을 하거나 제한된 숫자 몇 자리를 받는다. 컴퓨터가 특정 질문을 묻고 당신이 무엇을 할지에 관한 스크립트를 가지고 있기 때문에,당신의 대답이 적절한지 여부를 판단할 수 있다.

Jeopardy에서 가장 큰 문제는 어떤 정보가 문제 해결을 위해 필요한지 컴퓨터가 계산해야 한다는 점이었다. 먼저 왓슨이 실제로 풀었던 퀴즈를 살펴보자. 진행자가 던졌던 질문의 목록은 http://www.j-archive.com에서 볼 수 있다.

왓슨이 정답을 맞췄던 질문부터 시작하자. 질문은 "And any time you feel the pain, hey" ?? "refrain, don't carry the world upon your shoulders."이었다.

표면적으로 보면, 꽤 간단해 보인다. 이 글귀는 비틀즈의 "Hey Jude" 가사 중 일부다. 질문에는 Jude의 이름이 빠져 있으므로, 정답은 분명 Jude다. 만약 당신이 이 질문을 구글에서 고스란히 검색했다면, 해당 가사 전체가 떴을 것이다.

 

하지만, 컴퓨터는 정답이 "Hey Jude"가 아니라 "Jude"라는 사실을 알아야만 한다. 즉, 컴퓨터는 질문이 곡명이 아니라 사람의 이름을 묻고 있음을 이해해야 한다. "Beatles People"이라고 이름붙여진 이 질문의 초점은 곡명이 아닌 이름이다. 사람은 이를 쉽게 이해할 수 있지만, 컴퓨터를 프로그래밍하는 사람에겐 쉬운 일이 아니다.

 

또 왓슨은 정보의 어떤 부분이 질문의 답으로 적절한지 알아내야 한다. 당신이 학교에서 해 본 적이 있는 단어 게임을 상기시켜보자. 똑똑한 선생님이라면 몇가지 추가적 정보를 흘려서 당신을 혼란스럽게 만들 것이다. 마찬가지로, Jeopardy 문제 중 일부는 컴퓨터를 헷갈리게 만든다. "Don't Worry About it"이라는 제목의 문제는 "You just need a little more sun! You don't have this hereditary lack of pigment"라고 되어 있다. 정답은(왓슨도 맞췄다) "Albinism(태어날 때부터 피부나 눈동자 등이 하얀 것을 말함, 백색증)"이다.

 

이미 알아차렸겠지만, 이 질문의 첫번째 문장은 정답과 무관하다. 이 문장은 질문 제목인 "Don't Worry About it"과 관련 있다. "heredity lack of pigment."라는 문장으로부터 백색증을 생각해내기는 쉬워보이지만, 문장 중 일부만이 질문과 관련있다는 것을 알아내는 것은 어려운 일이다. 따라서, 시스템은 질문의 구성방식과 질문 카테고리를 연결시켜서 질문의 핵심이 무엇인지 파악해야만 한다.

 

왓슨이 대답할 수 있었던 대부분의 질문이 이런 특성을 가지고 있다. 또 다른 예에서 "Etude, Brute"라는 카테고리는 "An etude is a composition that explores a technical musical problem; the name is French for this"라는 질문으로 이루어져있다. 이 경우, 문제를 풀기 위해 문장의 앞부분은 필요하지 않다.

 

사람들이 문장에서 어떤 정보가 적절한지 알아내는 방법 중 하나는 바로 give-new convention이다. 당신이 대화에 참여하고 있을 때, 상대방은 당신이 몇 가지 정보를 이미 알고 있다고 가정한다. 그걸 바로 '주어진(given)' 정보라고 한다. 그 다음, 화자는 당신이 이미 알고 있는 것에 새로운 정보를 추가한다. 만약 당신의 친구가 다가와서 "존과 그의 부인이 아이를 가졌어."라고 말했다면, 당신의 친구는 당신이 존을 알고 있으며 새로운 아기에 관한 사실을 모른다고 가정한 것이다. 만약 당신이 존을 모른다면(또는 동명이인이라면), 존이 누구인지 친구에게 물어봐야 할 것이다.

 

우리는 given-new convention의 도움을 항상 받는다는 사실을 모르고 산다. 왓슨 또한 이런 convention을 사용해야만 했다. 예를 들어, "Hedgehog - Podge"라는 카테고리에서 "일부 고슴도치가 무기력한(dormant) 상태에 빠지고, 서유럽 동물종이 이런 상태로 겨울을 난다."라는 질문이 있었다. 문장의 첫번째 부분은 고슴도치에 관한 부분이며(카테고리의 제목이기도 하다), 그 다음 새로운 정보가 추가된다(무기력한 상태에 빠진다).

 

다음 구절은 "서유럽 동물들"이다. 이 문장을 읽을 때 당신은 이것이 고슴도치에 관한 내용임을 알 수 있지만 왓슨이 이 문제를 해결하려면 언어적 장애물을 해결해야 한다. 이 글을 읽는 누구라도 이 구절(서유럽 동물들)이 이미 알고 있는 정보의 일부임을 알 수 있다. 우리 대화에서 말하는 '동물'은 고슴도치를 말하는 것이므로, 우리는 서유럽 종을 고슴도치와 연결시킬 수 있다. 왓슨 역시 이렇게 한다 음, 문제를 해결하기 위해 무기력한 상태(즉 동면 상태)를 지칭하는 다른 단어를 찾아야 한다(hibernation).

 

왓슨이 대단한 이유는 언어를 이렇듯 효율적으로 사용하기 때문이다.

 

다시 이 예제들로 돌아가서, 왓슨 설계자는 관련성에 관한 어려운 문제들을 잘 해결했다. 장기적으로, 이런 문제를 해결하게 되면 컴퓨터가 우리와 효율적으로 의사소통할 수 있을 것이다. 미래에는, 우리가 회사에 전화를 걸어서 컴퓨터에게 문제를 직접설명하고 그 자리에서 답을 얻는 게 가능할 것이다.