
얼마 전, 스무고개를 하는 컴퓨터 프로그램을 알게 됐습니다. ‘아키네이터(kr.akinator.com)’라고 들어봤나요? 램프의 요정 지니를 닮은 아키네이터가 여러 가지 질문을 통해 우리가 마음속에 담아둔 인물을 맞힙니다. 아키네이터의 질문을 받으면 ‘예’, ‘아니오’, ‘모르겠습니다’, ‘그럴 겁니다’, ‘아닐 겁니다’ 중 한 가지로 답해야 합니다. 답을 맞히는 아키네이터가 어찌나 신통한지 꼭 제 마음을 읽은 것 같았습니다. 과연 아키네이터는 어떻게 상대방의 마음을 꿰뚫어 보는 건지, 비밀을 파헤쳐 보겠습니다. 비밀이 적의 손에 들어간다면 엑스맨을 지킬 수 없으니까요. 아키네이터가 인물밖에 맞힐 수 없다고 해도 그건 굉장한 능력이거든요.

아키네이터식 독심술의 비밀
그럼 아키네이터의 실력을 한번 보겠습니다. 제가 아키네이터에게 스무고개를 신청할 겁니다. 게임을 즐기면서 아키네이터의 반응에 따라 작동 원리와 강점, 약점을 추측해보도록 하지요.


아키네이터의 배후, 개념을 지배한다?
아키네이터는 아직 상대방의 마음속에 있는 인물만 맞힐 수 있는 질문 더미일 뿐입니다. 그러나 아키네이터의 뒤에 있는 강력한 배후를 발견했습니다. 그 이름은 바로 컴퓨터가 모든 사람과 사물의 관계를 이해할 수 있는 웹인 ‘시맨틱 웹’입니다.
1993년 이래 웹은 지식이 쌓인 창고였지만, 컴퓨터가 스스로 지식을 다루는 건 무리였습니다. 그래서 컴퓨터가 데이터를 활용할 수 있도록 단어마다 의미와 관계를 입력해야 했습니다. 예를 들어 ‘나무는 물이 필요하다’, ‘비는 물이다’와 같이 사물 사이의 관계를 입력합니다. 단어의 관계 사전을 ‘온톨로지’라고 부르며, 온톨로지로 만든 거대한 웹이 ‘시맨틱 웹’입니다. 이를 통해 웹은 ‘비가 오지 않으면 나무에 물을 줘야 한다’는 추론을 할 수 있습니다.
아키네이터를 만들기 위해 성별, 주거지, 나이, 업적과 같은 특성을 사람과 연결한 것도 일종의 온톨로지이지요. 사실 시맨틱 웹이 여러 가지 추론을 하는 데 필요한 논리가 너무 많아서 1970년대 이후로는 시맨틱 웹이 실용적이지 않다는 생각이 퍼졌습니다. 하지만 그 의미는 여전히 중요하기 때문에 최근에는 온톨로지를 활용한 다른 연구를 진행하고 있습니다.의미를 읽는 새로운 눈
언어학 또는 인지심리학의 ‘분산 가설’은 어떤 단어의 의미나 기능은 그 단어 주위에 어떤 단어가 있는지로 정한다는 뜻입니다. 예를 들어 ‘바이올린’과 ‘피아노’는 모두 ‘연주하다’, ‘~와 함께’ 라는 어휘와 자주 쓰입니다. 분산 가설에 따르면 컴퓨터도 바이올린과 피아노를 비슷한 의미의 단어로 사용할 수 있습니다.
이제 바이올린과 피아노를 포함한 여러가지 단어를 각각 1024자리의 수열로 표현하는 방법을 생각해 봅시다. 컴퓨터는 단어의 의미를 사람처럼 이해하지 못하기 때문에 수치로 다시 나타내는 겁니다. 수의 나열은 곧 벡터이기도 합니다.

