능동적이고 똑똑한 웹 만들기 - 이상구 서울대 공대 컴퓨터공학부 교수 | ||||
---|---|---|---|---|
|
||||
| 글 | 김종립 기자ㆍjlkim00@donga.com |
“추천 메일과 스팸 메일의 차이가 뭔지 아세요? 정보를 받는 사람이 유용하다고 느끼면 추천 메일이고, 쓸모가 없으면 성가신 스팸 메일입니다. 정보를 받는 사람에게 꼭 필요한 정보를 제공해야 득이 되죠.” 이상구 서울대 공대 컴퓨터공학부 교수는 음악 추천 서비스를 예로 들어 컴퓨터가 어떻게 사람들이 듣기 좋아하는 음악을 추천하는지 설명했다. “장르에 따라 음악을 추천하는 것은 한계가 있습니다. 같은 장르라도 취향에 따라 각자 좋아하는 노래가 다르기 때문입니다. 이를 보완한 것이 ‘협업적 추천’입니다. 예를 들어 빅뱅의 ‘투나잇’을 들으면 이 곡을 즐겨 듣는 사람들이 많이 들었던 다른 노래를 추천하는 식입니다.” 애플 아이폰에서 음악을 추천하는 서비스인 ‘지니어스’가 이런 방식이다. 이 교수의 지능형 데이터베이스 시스템 연구실에서는 기존의 협업적 추천에 ‘상황인지 추천’ 방식을 더하는 연구를 한다. “스마트폰으로 날씨, 장소, 시간 등의 상황 정보를 파악해 비슷한 상황에서 다른 사람들이 들었던 음악을 추천하는 거죠.” 능동적으로 상황 인지하는 시맨틱 웹 사용자의 상황과 비슷한 상황에 있는 다른 사용자의 상황을 컴퓨터가 알기 위해선 컴퓨터가 능동적으로 데이터를 수집, 분석, 처리할 수 있는 ‘시맨틱 웹’ 환경이 마련돼야 한다. 그래야 폭발적으로 증가하는 데이터에서 원하는 정보를 찾을 수 있다. “IT 시장분석 및 컨설팅 기관 IDC에 따르면 매년 지구상에 데이터가 1년 6개월마다 두 배씩 증가한다고 합니다. 2020년이 되면 지금의 64배가 되죠. 데이터가 많아지면 필요한 데이터를 효과적으로 관리, 분석, 검색해 적절하게 이용하는 능력이 필요합니다.” 이렇게 많은 데이터를 사람이 모두 관리하거나 검색할 수 없다. 연구실에서는 사람 대신 컴퓨터가 방대한 양의 데이터를 다룰 수 있게끔 만드는 일을 하고 있다. “예를 들어, ‘비오는 일요일 저녁 서울 종로에서 커피를 마셨다’라는 상황을 컴퓨터는 인식하지 못합니다. 비, 일요일, 저녁, 서울, 종로, 커피와 같은 각 단어는 사람에게는 의미가 있지만 컴퓨터에게는 아무 의미도 없습니다. 이 문장을 잘게 나눈 다음, 단어별로 그룹을 짓고, 설명을 붙여야 알죠.” 먼저 날씨 정보를 인식하기 위해 비, 맑음, 눈, 흐림 등의 단어를 ‘날씨’라는 그룹에 넣고, ‘날씨를 뜻하는 단어’라는 설명을 붙인다. 연구실은 이렇게 컴퓨터가 웹의 데이터를 이해할 수 있게 하는 방안을 연구한다. 최근 스마트폰이 등장하면서 시맨틱 웹의 필요성은 더 커졌다. 스마트폰으로 일정, 개인의 선호도, 다른 사람과의 관계, 위치, 날씨 등의 상황정보를 자세하게 파악할 수 있어 수집, 처리해야 하는 데이터량이 많아졌기 때문이다. 이렇게 스마트폰에서 수집한 정보를 효과적으로 처리한다면 우리의 일상에는 어떤 변화가 나타날까. 스마트폰이 자신이 있는 위치와 시간, 날씨를 파악해 주변 상점을 알려주거나, 날씨와 시간에 맞춰 저녁 메뉴를 추천받는 서비스를 이용할 수 있다. “점차 현실세계와 웹이라는 사이버세계가 조금씩 섞여 돌아갑니다. 스마트폰과 컴퓨터, 집과 사무실에 있는 각종 센서들이 앞으로 우리가 처한 상황을 더 정확히 감지할 것입니다. 이렇게 된다면 상황인지 서비스가 더 광범위하게 사용될 겁니다.” 범용 소프트웨어를 만드는 힘 ‘논리적 사고’ 연구실에서는 이와 별도로 시맨틱 웹을 이용해 ‘오피니언 마이닝’도 연구하고 있다. 블로그, 카페, 게시판 등에 올라온 상품평을 컴퓨터가 수집하고 분석해 상품 판매자와 소비자가 참고할 수 있는 객관적인 평을 내놓는다. “인터넷 쇼핑을 예로 들자면 홈페이지의 상품평을 컴퓨터가 읽어 긍정적인 평이 많은지, 부정적인 평이 많은지를 찾습니다. 오피니언 마이닝 개발 초기에는 상품의 전체적인 평가를 얻었습니다. 최근 연구실에서는 상품을 더 세부적으로 평가하는 프로그램을 만들고 있습니다. 디자인과 기능, 서비스 등으로 더 자세하게 나눠 평가하려고 합니다.” 연구실은 이렇게 개발한 상황인지와 오피니언 마이닝을 여러 운영체제와 기기에서 범용으로 이용할 수 있게 만드는 일도 연구한다.
“소프트웨어를 범용으로 만들기 위해서는 ‘아키텍처’를 잘 만들어야 합니다. 이런 아키텍처를 잘 만들어두지 않으면 각각의 운영체제와 장비마다 소프트웨어를 다시 만들어야 합니다.” 아키텍처는 프로그램의 각 단계 사이의 논리적 구조와 컴퓨터·운영체계·네트워크 간의 논리적 상호관계를 말한다. 아키텍처가 탄탄한, 범용 소프트웨어를 만들기 위해선 어떤 능력이 필요할까. “이 분야에서 일하려면 논리적 사고력을 갖춰야 합니다. 수학도 중요하지만 컴퓨터 프로그래밍도 논리적 사고를 훈련하기 위한 좋은 방법입니다. 프로그램 알고리즘의 논리적 구성을 이해하고, 프로그램의 문제점을 해결하다보면 논리적 사고를 익힐 수 있습니다.” 연구실에서는 프로그램 개발자를 키우기 위해 ‘서울대 앱창작터’를 운영하고 있다. 이곳에서는 스마트폰 애플리케이션 개발을 교육한다. “스마트폰 앱을 포함한 좋은 프로그램을 만들기 위해선 비즈니스 감각도 매우 중요합니다. IT기술이 빨리 발전하면서 사람들의 라이프스타일도 빠르게 변하고 있습니다. 이에 따라 시장의 필요도 급격히 변하고 있죠. 시장의 필요를 한 발 앞서 나가는 비즈니스 감각이 있어야 사람들이 많이 사용하는 소프트웨어를 만들 수 있습니다.” 이 교수는 뛰어난 소프트웨어 개발 능력과 비즈니스 감각을 갖춘 제 2의 빌게이츠, 스티브 잡스가 우리나라에서 탄생하기 바란다는 말을 마지막으로 덧붙였다. “스마트폰은 내 몸에 지니는 개인 컴퓨터입니다. 스마트폰이 거대한 인터넷에 연결되고 또 인터넷이 우리 주변의 모든 기기들과 연결된다면 우리의 생활이 훨씬 편리해질 것입니다. 이런 미래를 만들어갈 새로운 스타 개발자가 우리나라에서 탄생하길 기대합니다.” [EZQR, QRooQRoo 등 스마트폰용 QR코드를 이용하면 시맨틱 웹과 연구실에 대한 이상구 교수의 설명을 직접 들을 수 있다.] |