Data Web으로 가는 길
이 글은 Data Web의 핵심 키워드, '리소스'라는 연재글의 일부입니다.
이 시리즈는 4월 29일부터 매일 오전 8시에 한편씩 발행됩니다. 이번 한 주 동안만큼이라도, Data Web에 대한 즐거운 상상들과 함께 아침을 맞이 해보시는 건 어떨까요? ^_^
[ 일일 차림표 ]
5. Data Web으로 가는 길
결국 이런 흐름들이 말하고자 하는 것은 무엇일까요? 또 궁극적인 Data Web의 모습으로 발전하기 위해서는 어떠한 단계들이 필요할까요? 지금까지 이 블로그를 통해 말씀드렸던 주제들을 차근차근 짚어보면, 대략의 흐름이 나올듯 싶습니다.
0. 문제의 발단 : 비구조적인 웹
지금 우리가 사용하고 있는 웹에 있는 정보들은 대부분, 데이터간의 별다른 구분 없이 그냥 뒤섞여 있는 실정입니다. 문서와 데이터가 덩어리를 이루고 있고, 별 상관도 없는 다양한 종류의 데이터들이 얽히고 섥혀있습니다. 단연 여기서 유용한 데이터를 건져올리는 작업은, 서비스(웹 애플리케이션)의 몫이겠구요. 이 서비스들이 한게에 부딪히니, 단연 사람의 노력이 많이 필요하게 됩니다. Information Overloading이라는 현상은, 기하급수적인 정보의 확산때문에 생겨났기도 하지만, 무엇보다 인간의 정보처리능력을 벗어나는 이런 비구조적인 정보의 범람에서 그 원인을 찾을 수 있습니다. 사람이 일일이 많은 정보들을 필터링하고 판단해야하는 상황인것이지요.
자, 그런데 이런 웹이, 다음의 세가지 단계를 거쳐, 새로운 모습으로 진화하게 됩니다. 삼단 변신~!
1. 방정리 시작 : 리소스라는 단위로 나누기
앞선 4편의 글에서 말씀드린것처럼, 가장 먼저 해야할 일은, 서로 엉겨붙은 데이터들을 분리해내는 일입니다. 방 인테리어를 할라쳐도, 일단은 방정리정돈이 필요하잖아요? 웹에도 이러한 정리정돈에 해당하는 것이 있다면, 그것이 바로 앞서 말씀드린 REST처럼, 데이터를 리소스라는 단위로 잘게 분리하는 행위가 될것입니다.일단은 충분히 따로 쓸만한 놈이 있으면, 별도의 리소스로 나눠서 놓는거죠. 사실 이 시점에서는 어떻게 활용하느냐에 대한 고려는 상대적으로 적어도 될테구요.
결과물 = Resourceful Web : 이 1단계를 거치고 나면 얻을 수 있는것은, 다양한 형태의 데이터 리믹스들을 '매쉬업(Mashup)'서비스와 같은 결과물로 얻을 수 있습니다.
이제 방정리는 다했으니 , 공부만 하면 되겠네 (?)
2. 본격적인 방정리 : 공통으로 사용할 수 있는 메타데이터를 심기
자, 앞서 리소스라는 단위로 데이터가 나뉘니, 방이 한결 깔끔해졌네요. 이제 데이터를 이리저리 연결해서, 새로운 걸 만들어낼 수 있는 가능성도 높아졌구요. 그런데, 이런 데이터를 연결하고, 활용하려면 이 데이터가 '어떤' 데이터인지, '무엇'을 하는 데이터인지에 대한 사전 정보가 필요하긴 합니다. 개발자 문서와 같은것을 제공하긴 하지만, 그런것보다는 미리 작은 약속을 해두면 편리하겠죠.
여기서 사용할 수 있는것이, 이 '데이터는 어떤 성격의 데이터야~'라고 알려주는 메타데이터(Metadata)가 되겠습니다. 주로 데이터의 의미를 나타내는데 사용되기에 시맨틱 메타데이터(Semantic Metadata)라고 부를수도 있구요. '장동건'이라는 데이터만 덩그러니 있는게 아니라,
-
장동건(Subject)
- 광고모델(Predicate) - Wii (Object)
- 직업(Predicate) - 배우(Object)
- 홈페이지 (Predicate) - http://donggun.com (Object)
- 친한 친구 (Predicate) - 원빈 (Object)
와 같은 식으로, 다른 데이터와의 연결관계를 통해, 이 데이터가 어떤 데이터인지를 설명해주게 됩니다. 가져다 쓰는 입장에서는, 이 데이터가 어떤 성질의 것인지 알 수 있고, 이런 정보가 데이터에 같이 포함되어 있기때문에, 간단한 자동화를 통해 여러가지 재밌는 일을 할 수도 있겠지요. (예> 장동건의 사돈의 팔촌중에서 Wii를 가지고 있으며, 나와 싸이월드 일촌 관계에 있는 사람의 홈페이지 주소를 나열해줘~ 와 같은 요청을, 별다른 사전정보없이 다른 서비스에 할수 있겠지요)
이 단계에 사용되는것이 간단한 메타데이터(온톨로지라는 거창한 이름보다는 Semantic Vocabulary정도라고 불러야할듯한), 예를 들어 흔히 볼수 있는 FOAF, Microformat , SIOC과 같은 것들입니다. 이런 메타데이터들이 Predicate의 역할을 하면서, 데이터를 다른 데이터와 이어주게 되는것이지요(Linked Data)
결과물 = Linked Data , Data Web : 자, 이제 2단계르 거치고 나면, 비로소 서비스나 문서라는 경계를 넘어서, 자유자재로 웹을 데이터베이스처럼 활용할 수 있게됩니다. 이미 우리는 메타데이터를 통해, 웹이라는 데이터베이스의 스키마(Schema)를 얻었거든요~
팀 버너스리 왈, '후훗 내가 꿈꾸던게 바로 이런거라니까~'
3. 방 꾸미기 - 한 단계씩 짜임새있는 웹 온톨로지를 쌓아나가기
이제는 방이 한결 보기 좋아졌으니, 꾸밀 시간입니다. 2단계까지를 거쳐 우리는 일부 데이터들에 대한 데이터 스키마를 얻었습니다. 하지만, 이런것들은 이 데이터는 어떤 것이다라는 기초적인 성질을 나타내는데 그칠뿐이지, 이 데이터가 어떤 의미를 가지는지에 대해 알기에는 부족합니다.
간단히 말해, 예전에 우리가 꿈꾸던 것처럼, 웹에 있는 모든 데이터들을 컴퓨터가 알아서 판단해서 우리에게 떠먹여주기를 기대한다고 생각해보죠. 그러러면, 컴퓨터가 이런 데이터들의 구조와 의미를 분석하고 이해할수있어야 하잖아요? 그렇게 데이터들을 컴퓨터가 이해할수 있고, 실제로 우리 사람도 이해할 수 있는 좀 더 정밀한 논리구조로 설명하는 단계가 필요하다는 이야기입니다. 이럴때 사용되는 것이 , 소위 온톨로지라는 지식의 의미를 어떻게 나타내고 표현할까? 를 고민하는 온톨로지(Ontology)라는 분야가 되겠습니다.
예를 들면
-
남자배우
- 동일한 의미 - 연기자
- 의 일종 - 직업
- 반대 되는 의미 - 여자배우
와 같은 좀더 세밀한 논리단위를 데이터마다 기술해놓는것입니다.
사실, 이런 온톨로지를 웹의 곳곳에 심어넣자는 얘기가 있었지만, 너무 낙관적인 이야기였죠. 웹에 존재하는 수십억건의 문서마다, 저런 세밀한 논리구조를 언제 다 서술할까요? 능숙한 온톨로지 전문가도, 한참을 고민해야 신뢰할수있는 온톨로지를 겨우 만들어내는 실정에요. 그래서, 한 단계씩 점진적으로 쌓아나아가야 한다는 방법론이 나옵니다. 앞서의 1,2단계를 거치면, 사실 아주 간단한 수준의 의미구조는 형성되어 있는 수준일테구요. 그 위에 논리구조를 쌓아가는 것도, 거창하게 하는 것이 아니라, 누구나 납득할 수 있고 만들기 쉬운 계층부터 한 단계 한단계씩 해나가자는 것이죠. (가벼운 단계의 논리구조는, 사실 앞선 메타데이터를 보고 컴퓨터가 자동으로 만들어나가는 알고리즘도 제안되고 있는 실정입니다)
결과물 = (Real) Semantic Web : 자 이제 3단계까지 오면, 웹에 있는 모든 데이터는 쓰레기가 아닌 의미있는 정보, 아니 지식들로 거듭나게 됩니다. 우리가 더 이상, 필요없는 정보들에 둘러쌓아 시간 소모를 할필요도 없구요. 그야말로, 우리가 꿈꾸던 인공지능에 가까운 웹이 펼쳐지는 셈입니다. 컴퓨터가 유용한 판단을 해줄 수 있는 기반이 웹 온톨로지라는 이름으로 웹에 펼쳐져 있으니까요.
휴~ 이제야 일 좀 제대로 해볼수 있겠네요. 인공지능을 써먹을려도 우리가 알아먹을 수 있는 데이터베이스가 있어야 하는데 말이예요~
멀지만 즐거운, 그리고 지금도 진행중인 변화
자, 긴 글의 마무리를 지을 시간이네요. 이 연재글을 통해, 그동안 이 블로그를 통해 말씀드렸던 여러가지 이야기들에 대한 간단한 정리를 마칠 수 있었습니다. 이런 변화들이 언제쯤 일어나겠냐구요? 1단계와 2단계는 동시에 일어날 것이고, 바로 지금도 현재진행형으로 펼쳐지고 있는 얘기들입니다 ^^
물론, 웹에 있는 많은 데이터들이 1,2단계를 거치려면 많은 시간이 소요되겠지요. 하지만, 이런 변화들이 결국 먼 미래의 얘기만은 아닙니다. 지금도 우리는 그런 변화를 통해 조금씩 혜택을 보고 있으니까요. 그리고 그런 변화에서 어떤 기회를 포착하고, 가치를 만들어갈것인가는 지금부터 우리 모두가 준비해야할 일이겠지요. 팀 오라일리의 말처럼 미래는 이미 와 있으되, 우리가 미처 인지하지 못하고 있는 것일수 있을테니까요.
마지막으로 앨런 케이의 유명한 문구를 인용하면서 글을 마무리짓고자 합니다.
미래를 예측하는 가장 좋은 방법은, 그것은 만들어내는 일이다
The best way to predict the future is to invent it - Alan Kay
얼마전 이 문구를 인용한 Jeff Bezos(아마존의 창업자)의 구인광고 메일이 발견되어 화제가 된적이 있습니다. 어떤 미래가 우리앞에 펼쳐질까 예측만 하기보다는, 이미 주어진 기회들을 포착하고, 그 기회들을 현실로 만들어내는 것이야말로, 우리가 미래에 가장 효율적으로 대처하는 방법이 아닐까요? ^^
15년전, 미래를 창조하는것이 예측하는것보다 쉽다는 그 말의 가치를 발견한 사람은 누구였을가?
History
Last edited on 05/03/2008 11:09 by 험블
Comments (0)