Category Archives: 데이터과학 연구동향

데이터 과학자가 바라본 알파고: 오해, 진실, 그리고 교훈

이번 주 내내 화제가 되었던 ‘세기의 대결’이 알파고의 승리로 끝났다. 어렸을 때 남들처럼 바둑을 배웠고, 지금은 검색엔진의 데이터 과학자로 일하는 필자 역시 매 대국을 흥미롭게 지켜보았다. 필자는 꾸준히 글을 통해 빅데이터의 허상을 지적해왔고 최근에는 일반인들의 데이터 입문을 돕는 책까지 출판한 터라 특히 관심이 가는 주제였다.

하지만 필자에게 더 흥미로웠던 점은 이 사건에 대한 전문가와 비전문가 간의 반응의 차이였다. 언론, 특히 한국 언론에서 보도되는 알파고는 인류의 구세주 혹은 재앙으로 우리의 삶을 송두리째 바꿔 놓을 것처럼 묘사되고 있다. 반면 데이터 과학 및 인공지능 종사자가 상당수인 필자의 SNS 타임라인은 무덤덤하거나 다소 냉소적인 반응이 주를 이룬다.

‘왜 이런 간극이 생겼을까?’라는 의문에서 출발한 필자는 이 글을 통해 다음 주제를 다루려고 한다.  IT 전문가들은 일반인들이 모르는 무언가를 알고 있을까? 알파고의 실체는 무엇이며 이번 대국의 진짜 의미는 무엇일까? 이제 딥러닝 전문가가 아니면 모두 도태되는 세상이 조만간 올까? 지금 나는 당장 무엇을 해야 하는가?

알파고는 전혀 새로운 종류의 AI다?

우선 알파고에 대한 이야기를 하지 않을 수 없다. 알파고의 작동원리는 구글의 논문 및 관련 글에 (이정원님 / 엄태웅님) 자세히 나와 있으므로 생략하고, 여기서는 알파고와 기존 AI와의 차이에 집중하려고 한다. 알파고의 진짜 혁신은 무엇일까?

필자는 해답을 찾기 위해 구글의 네이쳐 논문을 읽어보았다. 논문 초록에서는 알파고의 새로운 점을 다음과 같이 밝히고 있다. 요약하면 딥러닝 기법(DCNN)을 확률적 트리 서치 알고리즘(MCTS)과 결합했다는 것이다. 또한 알파고의 서로 다른 버전 간의 대국을 통하여 얻은 데이터를 강화 학습에 사용하는 것으로 알려져 있다.

그렇다면 이는 얼마나 새로운 아이디어일까? 위 논문에서 인용한 관련 논문을 찾아보면 바둑에 DCNN이나 MCTS를 적용하는 논문이나 시스템은 이미 여럿 있었다. 또한 최근에 페이스북에서 내놓은 논문에는 DCNN과 MCTS를 결합한 darkfmcts3라는 알고리즘을 소개하고 있다.

물론 darkfmcts3은 알파고를 이기지 못했으므로, 알파고가 현존 최고의 바둑 AI인 것은 맞다. 하지만, 알파고가 무에서 유를 창조했다는 식의 설명은 과장이다. 딥러닝은 이미 바둑 AI에 활용되고 있었고, 알파고는 딥러닝과 트리서치 등의 기존 학습 기법에 자기 자신과의 대국(self-play) 및 강화 학습 등 몇 가지 아이디어를 더해 만들어진 잘 튜닝된 시스템이다. 전혀 새로운 혁신이라기 보다는 점진적인 개선의 산물이라는 것이다.

AI가 세상을 정복하는 세상이 조만간 온다?

알파고가 세상에 전혀 없었던 신기술을 통해 만들어진 괴물(?)이라는 오해는 ‘알파고가 세상의 모든 문제를 풀수 있다’는 착각으로 이어진다. 딥마인드 홈페이지의 아래 설명은 그런 의미에서 오해의 소지가 다분하다. 사실 논문에 레퍼런스까지 읽는 사람이 얼마나 되겠는가?

The game of Go is widely viewed as an unsolved “grand challenge” for artificial intelligence. Despite decades of work, …. In this paper we describe our Go program, AlphaGo. This program was based on general-purpose AI methods, … This is the first time ever that a computer program has defeated a professional Go player, a feat previously believed to be at least a decade away.

위 글을 읽으면 알파고가 조만간 세상의 모든 문제를 해결할 수 있을 것 같다. 하지만, 위에서 설명한 대로 알파고는 기존 연구에 ‘바둑’이라는 문제의 특성에 착안한 몇 가지 아이디어를 더해서 만들어진 ‘바둑 AI’다. 인공지능의 궁극적 목표로 여겨지는 일반인공지능(Artificial general intelligence)과는 거리가 멀다.

이를 좀더 구체적으로 알아보자. 알파고는 체스보다 훨씬 경우의 수가 많은 바둑을 인간 최고수보다 더 잘 둔다. 하지만 바둑은 사람이 하는 다른 영역보다 훨씬 제한된 경우의 수를 가진, 그것도 매우 잘 정의된 규칙을 바탕으로 하는 게임이다. 이런 바둑의 특성은 트리 서치 등의 AI기법의 적용을 용이하게 한다.

더 중요한 것은 바둑 데이터의 핵심이라고 할 역대 기보가 잘 정리된 형태로 공개되어 있다는 것이다. 이런 바둑의 특성은 대용량 데이터를 필요로 하는 딥러닝 기법의 적용을 용이하게 한다. 하지만, 온라인 서비스 (예: 검색엔진) 등 제한된 분야를 제외하고는 이런 대용량의 정제된 데이터를 구하는 것은 어려운 일이다.

요약하면 알파고는 바둑이라는 문제의 특성에 특화된 문제해결 시스템이다. 일반인공지능을 구현하기 위해서는 1) 스스로 문제를 정의하는 기술 2) 경우의 수가 바둑보다 훨씬 큰 (거의 무한대인) 문제에 대한 근사치를 찾는 기술 3) 문제 해결에 필요한 데이터를 찾거나 만들어내는 기술이 필요한데, 이 모두 근래에 해결이 요원한 문제들이다. 그러니 AI가 인간을 대체할 것이라는 걱정은 당분간 접어 두자.

딥러닝으로 무엇이든 해결할 수 있다?

알파고에 대한 관심은 자연히 그 기반 기술인 빅데이터와 딥러닝으로 이어진다. 이미 ‘빅데이터면 무엇이든 할 수 있다’는 식의 기사는 많았고, 이에 더해 최근에는 딥러닝에 대한 기사가 넘쳐 나고 있다. 이들은 대부분 딥러닝의 가능성에 대한 장밋빛 전망 일색이다.

빅데이터에 대한 오해와 진실은 필자의 예전 글을 참조하도록 하고, 여기서는 딥러닝에 대해 이야기해 보자. 검색엔진에서 데이터과학자로 일하는 필자 역시 최근 딥러닝에 대한 다양한 기사와 논문을 접하고 있다. 기존의 기계학습 기법보다 사람의 손을 덜 거치고도 높은 성능을 나타낸다는 점에서 딥러닝은 분명 혁신적인 기술이다. (딥러닝에 대한 좀 더 자세한 설명은 엄태웅님의 글을 참고하자.)

하지만 이런 딥러닝의 잠재력을 실현하기 위해서는 치러야 하는 대가가 많다. 우선 대용량의 학습 데이터가 필요하며, 엄청난 계산량에 속도도 느리고 이를 뒷받침할 컴퓨팅 파워도 기본이다. 학습된 결과물을 인간이 해석하는 것도 쉽지 않은 블랙박스와도 같은 방법이다. 물론 이런 문제들은 연구와 기술 진보로 인해 점차 해결되고 있으니 미래는 지켜 볼일이다.

하지만, 딥러닝을 실제로 배워 당장 활용할 수 있는 조직이나 개인은 얼마나 될까? 기계학습 기법에는 다양한 유형이 있으며, 이중에는 딥러닝과 같은 높은 복잡도와 학습 성능을 자랑하는 알고리즘부터 선형모델과 같이 단순하지만 빠르고 이해가 쉬운 방법도 있다. 다양한 데이터 과학 프로젝트를 진행하는 필자의 경험으로는 현업에서 유용한 알고리즘은 제한된 데이터와 컴퓨팅 자원으로 사람이 이해할 수 있는 결과를 내는 후자인 경우가 많았다.

결국 빅데이터나 딥러닝이나 문제해결의 수단이다. 이미 많은 데이터와 충분한 컴퓨팅 파워가 있으며 학습 성능이 해석 가능성보다 중요한 경우 딥러닝은 고려해 볼만한 옵션이다. 하지만, 런타임에서의 성능 및 예측 결과를 설명할 수 있어야 하는 경우 딥러닝은 최선의 선택은 아니다. 또한 기계학습은 일단 만들어 놓으면 끝이 아니라 이를 꾸준히 유지 보수하는 비용도 생각해야 한다. 요약하면 무작정 딥러닝을 배우기보다는 주어진 예측 문제의 성격부터 고민해야 한다는 것이다.

‘세기의 대결’이 우리에게 가르쳐주는 진짜 교훈?

앞에서 필자는 알파고의 ‘혁신’이 실제로는 기존의 연구 성과의 연장선 상에 있으며, 알파고와 같은 시스템이 일반인공지능으로 발전하기까지는 오랜 시간이 걸릴 것이라고 전망했다. 또한 빅데이터와 딥러닝은 만능 열쇠라기보다는 아직은 한정된 영역의 문제에만 적용 가능한 기법이라는 사실도 알아보았다. 알파고의 기술적인 의의와 함께 그 한계도 명확히 알았을 것이다.

어쨌든 데이터의 폭증과 기계학습 등 이를 처리하는 다양한 기술이 세상을 바꾸고 있는 것은 분명하다. 그렇다면 이 시대를 살아가는 우리가 이러한 변화에 대처하기 위해 지녀야 할 바람직한 태도는 무엇일까? 우선 데이터 관련 기술 진보가 산업에 주는 영향을 설명하기 위해 필자가 상상력을 발휘하여 만든 다음 매트릭스를 살펴보자.

산업별 (열) 데이터 활용도별 (행) 인력 구성을 나타내는 위 매트릭스에 따르면 현재는 IT 산업에 종사하는 사람 중에는 데이터를 활용하는 사람이 많지만 기타 산업에는 데이터를 활용하는 사람이 많지가 않다. 하지만 필자는 아직은 데이터 활용이 저조한 기존 산업에서 데이터를 잘 활용하는 주황색 군에 속하는 사람들이 앞으로 각광 받을 것이라고 전망하고 싶다.

필자는 모두가 개발자나 데이터 과학자가 되어야 21세기에 살아남을 수 있다고 생각하지는 않는다. 오히려 시류에 편승하기 보다는 자신의 영역에서 데이터와 첨단 기술을 적절히 활용하는 것이 가치를 창조하는 지름길이라고 믿는다. 데이터 기반의 접근 방법은 점점 확산되고 있고, 분야에 관계없이 이를 이해하고 앞서나가는 사람에게 기회가 주어지는 것이다.

그렇다면 구체적으로 데이터를 활용한다는 것은 어떤 의미인가? 데이터 활용의 단계를 필자는 다음 세가지로 나누어 설명하고 싶다.

  1. 데이터를 전혀 활용하지 않음
  2. 다른 사람이 만들어 놓은 데이터를 분석하여 활용
  3. 데이터로 활용할 수 있는 문제를 적극적으로 탐색하고 해결

위 단계에 따르면  데이터를 아예 활용하지 않는 것보다는 다른 사람이 만들어 놓은 데이터라도 분석하여 활용하는 것이 바람직하지만, 데이터로 활용할 수 있는 문제를 적극적으로 탐색하고 해결하는 수준이 되어야 데이터 가지고 많은 가치를 만들어낼 수 있다. 이 세번째 그룹은 앞에서 필자가 소개한 매트릭스의 주황색 부분에 속하는 사람들이기도 하다.

그렇다면 어떻게 데이터를 제대로 활용하는 방법을 배울 수 있을까? 필자는 우선 ‘데이터 = 기술’이라는 편견을 깨고 문제 해결의 수단으로 데이터를 바라보는 ‘데이터 마인드’를 강조하고 싶다. 또한 자신의 삶과 업무에 데이터를 적극 활용하는 데이터 생활화 역시 데이터 문맹을 탈출하기 위한 요령이다. 데이터 입문에 대한 좀 더 자세한 내용은 필자의 블로그 및 저서 헬로 데이터 과학을 참조하기 바란다.

맺음말: ‘세기의 대결’ 그 이후는?

미국의 저명한 과학저널 ‘사이언스’에서 발간하는 매거진 최신호에서는 약 20년 전에 체스 인공지능이 인간 최고수를 꺾은 후 체스라는 분야에 일어난 변화를 소개하고 있다. 어떤 선수들은 좌절하고 분야를 떠나기도 하였지만, 다른 선수들은 인공지능 체스라는 새로운 ‘도구’를 개인 훈련 및 기량 향상에 적절히 활용하고 있다고 한다. 인공지능을 공식 경기에 비밀리에 활용하다가 적발된 사례가 있는가 하면, 아예 인공지능과 사람이 파트너로 서로 대결을 하는 룰도 생겨났다고 한다.

‘세기의 대결’이 인공지능의 승리로 끝난 바둑계 역시 변화가 불가피할 것으로 보인다. 이미 기계가 ‘침범한’ 바둑이라는 분야를 떠나려는 기사도 있겠지만, 다른 기사들은 알파고를 비롯한 신세대 인공지능 바둑이 보여주는 새로운 가능성을 연구하고 이를 발전의 계기로 삼을 것이다. 이미 5개월전 알파고와 대결했던 유럽 챔피언 판후이는 알파고와의 대결을 거울삼아 세계 랭킹이 633위에서 300위로 상승했다고 한다.

알파고의 성취는 분명 인상적이지만, 이는 인공지능 역사의 큰 맥락에서는 일보 전진에 불과하다. 하지만 이러한 기술 진보가 보여주는 변화의 잠재력과 방향은 명확하다. 점점 더 많은 현상이 데이터화되고, 이를 효과적으로 활용할 수 있는 개인과 조직에게 더 많은 기회와 보상이 돌아갈 것이다. 다행히 아직 우리에게 유효한 시간은 많이 남아있고, 이제 선택은 여러분에게 달렸다. 변화의 방향으로 한걸음 한걸음 나아갈 것인가, 아니면 변화의 흐름을 외면할 것인가?

페이스북이 뉴스 피드 랭킹을 만들고 개선하는 방법

최근에 페이스북 피드 랭킹 팀과의 인터뷰를 통해 피드 랭킹에 사용되는 데이터와 알고리즘을 상세하게 소개하는 글이 있어 소개합니다. 사용자의 질의어 대신 선호도를 바탕으로 동장하는 검색엔진에 비유할수도 있겠습니다. 이 글은 지속적으로 발전하는 온라인 서비스를 위한 다양한 교훈을 제공합니다.

요약하면, 사용자 행동 / 패널 / 피드백은 보완적인 시그널을 제공하며, 따라서 사용자 행동에 대한 정교한 로깅, 그리고 사용자가 간단한 피드백을 제공할 수 있는 채널 확보, 그리고 사용자를 대변하는 패널을 통한 상세한 피드백 청취는 모두 필요하다는 점입니다.

아래 핵심 내용을 간추려 보았습니다:

  • 사용자가 접속할때마다 평균 1500개의 피드가 랭킹 대상이 된다. 이 숫자는 사용자의 친구 수 및 활동성 정도에 따라 달라진다.

  • 초기에는 클릭이나 LIKE같은 사용자 행동에 기반한 랭킹 시그널만을 사용했다. (즉, LIKE 수를 가장 높이는 피드의 순서를 계산한다) 특히 페북 초기에 LIKE는 클릭보다 훨씬 좋은 시그널이 되었다.

  • 하지만 클릭된 피드가 꼭 좋으리라는 보장은 없고, (제목은 현란하지만 실제 광고 / 스팸성 글들) LIKE역시 스팸 가능성이 높다. 또한 주변 사람들의 안좋은 소식은 중요하지만 LIKE되지는 않는다.

  • 점차 행동 기반의 시그널의 맹점을 인식하면서 사용자의 실제 선호도를 대변할 수 있는 패널을 사용하기 시작했다. 처음에는 미국 한 지역에 있던 패널이 전미 각 지역으로, 그리고 전세계로 퍼져서 패북 사용자의 다양한 취향을 반영하고 있다.

  • 페북은 패널과 함께 실제 사용자들이 자신의 피드에 보이는 내용을 통제할 수 있는 옵션을 제공하기 시작했다. 피드를 감추거나 사용자의 선호도를 표현할 수 있게 한 것이다. 이 내용은 당연히 피드 랭킹에 직접 반영된다.

  • 하지만 이렇게 선호도를 표시하는 사용자는 일부에 불과하며, 어떤 사용자들은 읽은 피드를 모두 감추는 행동을 보였다. 따라서 피드 랭킹 알고리즘은 이런 데이터의 불균형성도 고려해야 했다.

  • 행동 기반 시그널도 진화를 거듭하여, 피드를 클릭하여 읽은 시간, LIKE를 눌렀을 때 피드를 읽고 눌렀는지 안읽고 눌렀는지 등에 따라 차등을 두고 있다. 당연히 읽고 누른 LIKE가 좀더 확실한 시그널이다.

  • 피드 알고리즘에 대한 모든 개선사항은 오프라인 테스트, 내부 테스트, 사용자 대상의 A/B 테스트를 거치며, 알고리즘이 실제 서비스에 반영된 이후에도 개선된 알고리즘의 영향을 받지 않는 Hold-out 그룹을 두어 신규 알고리즘의 long-term effect를 검증한다.

업데이트 (2/1): 오늘 자로 페이스북이 피드 랭킹 알고리즘을 다시 바꾼 모양입니다. 이번에는 평가단의 조사 결과를 적극 반영했다고 하네요. 클릭이나 라이크와 같은 행동 기반의 시그널이 악용될 소지가 많다는 판단에 페이지 품질 기반의 시그널의 비중을 높인 것으로 보입니다.

SIGIR’15 학회에서 엿보는 정보검색 분야의 연구 동향

검색 연구자로서 필자는 지난 7-8년간 매년 관련 분야의 학회에서 논문을 발표하고 워크숍을 주최하는 등 다양한 활동을 해왔다. 대학원을 졸업하고 회사에서 일하기 시작한 뒤에도 관련 분야의 학회 참석은 최선 연구 및 업계의 동향을 따라잡고, 때로는 회사에서 진행하는 연구 프로젝트의 결과를 공유할 수 있는 기회를 제공한다. 이런 활동이 없다면 박사 학위를 마쳤다고 해도 몇년이 지나면 분야의 최신 흐름에서 멀어지게 되니, 연구자에게 학회 참석은 선택이 아닌 필수라고 하겠다.

최근에는 (2015년 8월) 칠레 산티아고에서 열린 학회인 SIGIR에 참석할 기회가 있었다. SIGIR은 정보검색(Information Retrieval) 분야의 대표적인 국제 학회로 세계 유수의 대학을 포함한 연구기관, 그리고 검색 분야의 대표적인 회사들이 모두 참여한다. SIGIR의 프로그램은 학술 논문 발표를 중심으로, 각 세부 분야별 워크숍과 튜토리얼 등으로 이루어지는데, 필자는 현재 주 업무 분야인 검색 평가 방법에 대한 튜토리얼을 진행했다.

본 글에서는 학회에서 보고 들은 내용을 바탕으로 정보검색 분야의 최신 연구흐름을 공유하고자 한다. 데이터 과학을 공부하는 여러분이 모두 이 분야에 종사하지는 않겠지만, 정보 검색이라는 분야가 대용량 데이터 처리기술 및 기계학습과 같은 많은 분야의 발전에 주도적인 역할을 수행해왔고, 사용자에게 원하는 정보를 제공하는 것이 온라인 서비스의 기본이라는 것을 감안하면 정보 검색에 대한 이해는 여러분에게 큰 도움이 될 것이라는 생각이다. 본 글에서 모든 내용을 다 소개할 수는 없지만, 관련 연구에 대한 좀더 깊은 탐구를 해보고 싶은 여러분들은 여기에서 참조된 논문을 읽어볼 수 있을 것이다.

웹문서 검색에서 지능형 비서로

전통적인 검색 연구는 주어진 질의어에 (검색 키워드) 대해 가장 적절한 문서를 랭킹하여 순서대로 보여주는 사용자 인터페이스를 가정한다. 이는 구글, 빙, 그리고 네이버 등 모든 웹 검색엔진에서도 기본적으로 채택하는 방식이다. 따라서 검색 연구의 대상으로 주어진 질의어를 바탕으로 문서를 평가할 수 있는 랭킹 모델의 개발과 평가가 주를 이루어왔다. 사용자에 따라 다른 결과를 보여주는 개인화 검색이 한창 연구되고 있지만, 이 역시 문서의 랭킹에 사용자 각각의 취향을 고려하는 모델에 국한되어 왔다.

하지만 최근들어 검색엔진은 단순한 ‘문서 찾기’를 넘어선 종합적인 정보 서비스로 진화해 왔다. 검색 결과에 단순 문서뿐 아니라 이미지, 비디오, 뉴스, 지도 등을 보여주는 통합 검색이 일반화 되었고, 모바일 기기의 확산에 따라 사용자가 질의어를 입력하는 것이 아니라 음성으로 던지는 질문에 대한 대답을 음성으로 들려주는 시리(Siri), 코타나(Cortana) 등 인공지능 비서와 (Intelligent Assistant) 같은 서비스도 등장하고 있다. 또한 구글 나우와 (Google Now) 같이 사용자의 질의어가 없이도 사용자가 원할만한 결과를 보여주는 적극적 (proactive) 검색도 나왔다.

이번 학회에서도 이런 새로운 검색 환경과 기법에 대한 다양한 연구결과가 발표되었다. 우선 마이크로소프트에서는 여러 사용자가 디바이스를 (컴퓨터, 타블렛 등) 공유할 때 개별 사용자를 자동으로 식별하여 개인화된 서비스를 제공하는 방법에 대한 논문을 발표하였다. 예를 들어 가족이 공용으로 쓰는 컴퓨터에서 검색을 하면 검색 엔진에서 가족 구성원 중 누가 검색을 하는지를 판단하여 그에 맞는 서비스를 제공하려는 것이다. 이를 그림으로 설명하면 다음과 같다.

또한 구글에서는 웹상에 흩어져있는 이벤트 정보를 자동으로 추출하는 알고리즘에 대한 논문을 발표하였다. 이 알고리즘를 간단히 설명하면, (1) 이벤트 정보가 포함되었을만한 문서를 찾고, (2) 이벤트가 언급된 문서의 부분을 추출한 후 (3) 이벤트의 날짜/장소/시간 정보를 추출하는 순서로 작동하며, (1)에는 정보 검색 기술이, (2)와 (3)에는 정보 추출 기술이 사용된다. 이렇게 추출된 이벤트는 구글 나우의 개인화된 이벤트 추천 서비스에 활용되는 것으로 알려져 있다.

마지막으로 야후!와 중국의 칭화대에서는 웹과 다른 종류의 검색결과가 혼재된 검색 결과 페이지에서 사용자가 어떻게 행동하는지에 대한 연구결과를 발표하였다. 이들은 검색결과의 유형 (이미지/웹/뉴스 등) 및 품질에 따라 사용자의 주의도가 다양하게 분산되는 것을 발견하였다. 아래 그림은 뉴스와 이미지 결과가 존재하는 검색 결과에서 사용자의 시선이 어떻게 움직이는지를 히트맵(heat map)으로 보여준다. 이런 사용자 행동에 대한 이해는 검색엔진이 페이지의 레이아웃을 최적화하는데 다양하게 활용될 수 있다.

사용자 중심의 연구 방법론

위에서 살펴본 것처럼 현대의 검색엔진은 단순 질의어와 매칭되는 문서를 나열하는 것이 아니라 사용자가 필요한 정보를 원하는 시점에 가장 편리한 형태로 보여주는 것을 목표로 한다. 하지만 제대로 된 지도와 나침반이 있어야 방향감각을 잃지 않고 먼 길을 갈 수 있듯이, 이렇게 고도화된 검색엔진을 지속적으로 개선하기 위해서는 그 결과를 검증할 수 있는 연구 및 평가 방법이 뒷받침되어야 한다. 필자의 주 업무 분야인 검색 품질의 평가는 이런 의미에서 검색 연구 및 개발의 방향을 제시한다.

정보 검색 연구자들은 검색 모델을 만드는 방법 만큼이나 만들어진 모델을 평가하는 방법에 대해서도 오랫동안 연구해왔다. TREC(Text REtrieval Conference)으로 대표되는 전통적인 평가 기법은 각 검색 토픽에 대한 정답셋을 만들고 이 문서들을 가장 상위에 보여주는 시스템을 높게 평가하는 방식이다. 그리고 육상 선수들이 각 종목별로 신기록을 달성하기 위해 노력하듯이, 정보 검색 연구의 초점은 대표적인 TREC 데이터셋에서 좀더 고성능을 거두는 방향에 집중되어 왔다.

하지만 이런 전통적 정보 검색의 연구 및 평가 방법론이 실제 사용자의 만족도를 제대로 반영할 수 있는지에 대해서는 논란이 있어왔다. 또한 위에서 언급한 현대적 검색엔진을 다루기에는 부족한 점이 많다. 우선 사용자의 질의가 전통적인 키워드 형태가 아닌 경우도 많고, 검색 시스템의 결과 역시 문서의 목록이 아니라 다양한 형태의 정보가 혼합된 형태이기 때문이다. 이번 학회에서 나타는 또다른 추세는 이런 현대적인 검색엔진을 평가할 수 있는 다양한 연구방법 및 평가지표였다.

우선 연구실에 초대된 실험 참가자들을 대상으로 주어진 검색엔진 및 환경을 평가하는 사용자 연구가 (user study) 많은 논문에서 주된 연구방법으로 사용되었다. 이는 검색엔진 연구 및 개발의 목적이 단지 더 나은 품질의 문서를 상위에 올리는 것 뿐만 아니라, 실제 사용자를 만족시키는 전체적인 경험을 제공하는 것으로 옮겨가고 있다는 것을 의미한다.

또한 사용자 연구에서 인지 및 뇌과학의 연구 결과물인 눈동자 추적기 (Eye Tracker) 및 뇌파 분석기의 (EEG) 광범위한 활용도 주목을 끌었다. 과거에도 검색엔진 사용자의 키보드 업력, 마우스 클릭 및 커서 움직임을 분석한 논문은 많이 나와있었지만, 이런 최신 기술을 통해 실제 사용자의 주의와 감정 상태를 정확히 파악할 수 있다는 사실을 알 수 있었다. 해당 주제를 바탕으로 한 워크샵도 눈길을 끌었다.

본 학회에서는 사용자 연구를 통하여 검색 결과 페이지에 보여질 문서의 개수의 최적값을 찾는 논문과, 검색 결과가 사용자에게 보여지기까지의 시간과 사용자 만족도와의 관계를 연구한 논문이 눈길을 끌었다. 마지막으로 아래 그림은 사용자의 시선이 페이지 상에서 어떻게 움직이는지를 보여주는 것으로, 이 논문의 저자들은 사용자 시선의 움직임을 커서와 페이지 내용에 기반하여 예측해냈다.

딥러닝과 검색의 미래

최근 인공지능 전 분야에 걸쳐 딥러닝이 각광받고 있는데, 정보검색의 경우에도 예외가 아니다. 딥러닝 기술은 인간의 두뇌에서 영감을 얻어 개발된 신경망 학습 모델이 고도화된 형태로, 인간의 인지구조에서 나타나는 다층적이고 복잡한 판단과정을 대량의 데이터를 바탕으로 학습해내는 모델이다. 게다가 대량의 데이터만 주어진다면 이 모든 학습 과정이 자동으로 이루어진다는 장점이 있다.

단어와 단어, 단어와 문서간의 복잡한 상호작용을 모델링해야 하는 정보검색 분야에서도 딥러닝은 활용도가 높다. 기존의 검색 모델은 문서가 포함하고 있는 단어의 분포로 해당 문서의 의미를 표현하는 경우가 많았고, 단어 이상의 의미 단위를 표현하기 위해서는 복잡한 속성(feature)을 일일히 개발해야 했지만, 딥러닝 기술을 사용하면 별다른 노력 없이도 문서를 단어가 아닌 의미 단위에서 이해하는 예측 모델을 만들 수 있기 때문이다.

이번 학회에서도 딥러닝 기반의 논문이 여러 편 발표되었다. 대부분 딥러닝을 통해 주어진 텍스트를 (질의어 혹은 문서) 워드 임베딩이라고 (word embedding) 불리는 의미 기반의 저차원 벡터로 변환한 후에, 이를 질의어 추천 및 문서 랭킹 등 다양한 작업에 적용하는 내용이다. 2011년 발표된 논문에서 발췌한 아래 표는 임베딩 벡터 공간에서 각 단어의 가장 가까운 이웃(nearest neighbor)을 보여준다. 각 열의 단어들을 보면 의미상으로 매우 비슷한 것을 알 수 있다.

이번 학회에서 마이크로소프트의 저자는 딥러닝을 질의어 추천에 활용하는 논문을 발표하였다. 이 논문의 핵심 아이디어는 검색 로그 데이터에서 추출된 연속된 질의어를 가지고 워드 임베딩 벡터를 학습한 후에, 아래 표에서처럼 주어진 질의어의 각 단어간의 벡터 연산을 통해 새로운 의미를 갖는 질의어를 추론해내는 식이다. 예를 들어 사용자가 질의어 ‘chicago newspaper’를 입력했다면 이 두 단어의 조합과 가장 유사한 의미를 갖는 질의어인 ‘chicago suntimes’를 추천할 수 있을 것이다.

또한 구글에서 발표한 논문은 딥러닝을 전통적인 검색 문서에 적용하였다. 이는 질의어와 문서의 워드 임베딩을 구한 후, 이를 바탕으로 주어진 질의어에 대해 관련도 순으로 문서를 찾는다. 이들은 질의응답 및 단문 검색 데이터셋에서 딥러닝 기반의 시스템이 복잡한 속성의 조합으로 이루어진 기존 시스템보다 훨씬 더 나은 성능을 보이는 것을 발견했다. 아래 그림은 문서 및 질의어가 어떻게 임베딩 벡터로 바뀌고, 그 결과가 문서 랭킹에 활용되는지를 보여준다.

요약

매년 학회에 참석할때마다 검색이라는 분야가 얼마나 빠르게 변화하는지에 놀라곤 하지만, 이번 학회에서도 예외는 아니었다. 주어진 질의어에 대한 문서의 랭킹과 그 평가에 초점을 맞추었던 과거와 달리 다양한 검색 유형과 인터페이스에 맞는 검색 기법과 평가 방법을 연구한 논문이 많이 눈에 띄었기 때문이다. 또한 검색 모델 측면에서도 딥러닝의 가능성에 많은 사람들이 관심을 갖는 것을 볼 수 있었다. 데이터 과학에 관련된 학회는 이외에도 많은데, 관련 분야의 최신 동향을 접하고 싶은 독자라면 꼭 살펴보기 바란다.

학회에 수록된 논문의 목록은 여기서 볼 수 있으니 관심있는 독자들은 참고하기 바란다. 또한 필자가 진행한 검색 평가 방법에 대한 튜토리얼의 슬라이드는 Slideshare에 공유해 놓았다. 평소 검색엔진의 결과를 어떻게 평가하는지를 궁금했거나, 혹은 평가단(human judge)을 활용한 온라인 서비스의 개선 방법에 대해 더 알고 싶은 독자라면 도움을 받을 수 있을 것이다.