보이지 않는 공간의 혁명, 시맨틱 웹

일반입력 :2002/04/10 00:00

김홍기

웹의 등장으로 말미암아 오늘날 인류 사회는 코페르니쿠스적인 구조적 혁명을 경험하고 있다. 지역 중심의 사회는 중심이 없는 사회, 즉 세계 전체로 문화가 분산되는 사회로 변화하고 있다. 분산의 중심에는 바로 연결성이 있다.

우리말로 거미줄을 뜻하는 단어인 웹을 주창한 팀 버너스리(Tim Berners-Lee)는 그의 책 'Weaving the Web'에서 웹에 대한 비전은 '무엇이든지 서로 연결되는 공간'을 지구상의 컴퓨터 하나 하나에 실현시키는 것이라고 말한다. 수많은 하이퍼텍스트 링크에 의해 거대한 양의 정보가 서로 연결되는 꿈은 웹 기술과 함께 현실화됐다.

웹의 진화와 시맨틱 웹

웹(the Web, 고유명사로 단일한 정보공간을 뜻함)에서 정보들 사이의 연결은 문서 형태로 돼있는 개별 정보에 고유한 주소를 부여하고 일정한 규칙에 따라 컴퓨터가 찾아올 수 있게 함으로써 가능하게 됐다. 이미 1965년에 테드 넬슨(Ted Nelson)이라는 사람은 '제나두(Xanadu)'라는 프로젝트에서 비선형적인 형식으로 문서를 작성하고 출력할 수 있는 미래의 컴퓨터를 묘사했다. 그는 주어진 순서대로 읽을 필요가 없이 짤막한 인용에 붙은 링크를 통해 인용된 원문을 참조할 수 있는 비순차적인 텍스트를 '하이퍼텍스트'라고 이름 붙였다.

URI, HTTP, HTML

웹에 대한 비전을 현실화한 세 가지 중요한 기술적 요소들을 꼽는다면 URI, HTTP, HTML이라고 할 수 있다. URI(Uniform Resource Identifier)는 정보 공간에서 길을 찾기 위한 일종의 표시(혹은 포인터)라고 할 수 있다. 웹에 공개될 정보 리소스들을 참조하기 위해 링크를 만드는 기술인 URI는 매우 단순한 형태의 스트링으로 돼 있다.

문서, 이미지, 서비스, 메일박스를 포함해 어떤 형태의 리소스에도 내용과 형식에 대한 자세한 설명이 필요 없이 단지 URI를 붙임으로 인해 웹에서 참조가 가능하다. 예를 들어, http://www.turingweb.com에서와 같이 URL은 일종의 URI로서 HTTP, FTP와 같이 널리 쓰이는 URI 접근 방법의 체계를 통해 웹에서 리소스를 접근 가능하게끔 해준다. URI는 URL보다 보편적이며 공식적 개념으로서 최근에는 URL이라는 용어는 비공식적으로만 사용된다.

URI에 대한 아이디어를 팀 버너스리가 처음 IETF(Internet Engineering Task Force, 인터넷 운영 프로토콜의 표준을 정의하는 기구)에서 제안했을 때의 명칭은 UDI(Universal Document Identifier)이었다. 그러다가 URL(Uniform Resource Locator)이라는 이름으로 바뀌었다가 우여곡절 끝에 최근에는 보다 보편적이며 정보의 일관성을 반영하는 용어로서 URI가 공식적으로 사용되고 있다.

이처럼 기술을 정의하는 용어의 사용은 기술의 발전 방향을 반영하지만 용어의 채택은 정치적인 문제이기도 하다. 나중에 시맨틱 웹에 대해 설명할 때 자세히 언급이 되겠지만 URI가 표준으로 사용된 것은 중요한 의미를 가진다.

HTTP(Hypertext Transfer Protocol)는 하이퍼텍스트 브라우징에서 빠른 속도로 쉽게 웹 페이지를 찾을 수 있게 하는 프로토콜이다. HTTP의 입장에서 본다면 웹 브라우저는 서버에 요청을 전달하는 하나의 클라이언트라 할 수 있다. 사용자가 URI를 입력하거나 하이퍼텍스트 링크를 클릭함으로써 파일을 요청하면, 브라우저는 HTTP 요청을 URI에 적혀있는 IP 주소에 전달하고 지정된 서버상의 HTTP 데몬은 요청된 파일을 찾아서 보내준다.

HTML(Hypertext Markup Language)은 웹에서 어떤 컴퓨터라도 이해할 수 있는 하이퍼텍스트 언어로 개발됐다. HTML이 하이퍼텍스트를 표현하는 절차를 살펴보면, 문서의 URI가 HTTP를 통해 서버에 접속한다고 클라이언트에 알리고 클라이언트가 처리 가능한 데이터의 형식을 서버에게 알려주게 된다.

그러면 서버는 해당 문서를 알맞은 데이터 형식으로 바꿔 전송해준다. 예를 들어, 양쪽이 모두 MS 워드 파일을 알고 있다면 즉시 워드 문서로 바꿔 주지만, 그렇지 않다면 양쪽은 모두 HTML을 기준으로 문서를 번역한 다음 전송하게 된다.

팀 버너스리가 HTML을 처음 개발할 당시의 계획으로는 소스 코드를 사용자가 직접 볼 수 없도록 하는 것이었다. 즉, 마치 워드 문서를 작업하듯이 브라우저 편집기에서 하이퍼텍스트 페이지를 읽고 편집만 할 수 있도록 계획을 세웠으나, 곧 사용자들은 HTML의 태그에 익숙해져 태그를 사용해 직접 문서를 편집할 수 있게 됐다.

그 당시 SGML(Standard Generalized Markup Language)은 ISO의 표준으로 승인을 받았으나 사용이 복잡하고 속도가 느렸기 때문에 속도가 빠르고 쉬운 HTML이 널리 사용됐다.

정보의 의미를 이해하고 논리 추론까지

1994년 10월 웹의 창시자인 팀 버너스리를 중심으로 미국 MIT 대학에서 W3C(World Wide Web Consortium)가 태동됐다. W3C는 팀 버너스리가 최초로 웹을 시작한 CERN(유럽핵연구위원회)의 협력과 DARPA(Defense Advanced Research Projects Agency) 및 유럽공동체위원회의 지원 아래 설립됐다.

W3C는 웹의 진화와 상호운용(interoperability)을 증진할 수 있는 기술 규격과 공통 프로토콜을 개발함으로써 웹의 잠재적 가능성을 최대한 실현하려는 것을 목표로 삼고 있다.

현재 업계, 학계, 정부 등을 포함해 전 세계 500개 이상의 단체가 회원으로 돼 있으며, 회원들로부터 자금을 지원 받는다. W3C의 활동은 어떤 조직을 대표하지 않고 특정사의 이익에 중립적이며, 이곳에서 제안되고 만들어지는 제품들은 모두에게 자유로이 공유된다.

W3C는 월드와이드웹과 관련해 전 세계의 서로 다른 조직들 사이의 역할에 대한 조정자로서, 응용 프로그램과 서비스, 그리고 사회변혁과 같은 시대적 흐름을 선두에서 지휘하고 있는 조직이다. W3C의 웹 사이트에는 장기적 목표를 다음과 같이 세 가지로 명시하고 있다.

◆ 보편적 접근(Universal Access) : 전 세계의 사용자들이 그들의 문화·교육·능력·물질적 자원·물리적 한계에 대한 차이를 극복할 수 있도록 기술을 증진함으로써 누구든지 웹에 접근할 수 있도록 한다.

◆ 시맨틱웹(Semantic Web) : 개인 사용자들이 웹에서 얻을 수 있는 자원을 최대한 잘 사용할 수 있도록 소프트웨어 환경을 발전시킨다.

◆ 신뢰의 웹(Web of Trust) : 웹의 기술과 관련된 법적·상업적·사회적 이슈에 관해 깊이 고려하면서 웹을 발전시켜 나간다.

팀 버너스리는 웹에 대한 아이디어를 처음 생각해냈을 때부터, 전 세계에 분산돼 있지만 모든 정보 자원을 연결시키는 공통된 '정보 공간(information space)'으로서의 웹의 궁극적 실현은 바로 시맨틱 웹을 구현함으로써 가능하다고 믿었던 것이다.

웹에서의 연결성은 하이퍼텍스트 링크를 통한 가상 공간에서의 위치적 연결을 넘어선 정보 자원들 사이의 의미적 연결을 통해 이뤄질 수 있다. <그림 1>은 웹의 계속되는 진화의 방향을 보여주고 있다. 21세기의 웹은 궁극적으로 기계가 정보 자원의 의미를 이해하고 이를 바탕으로 논리적 추론이 가능할 수 있게 됨으로써 기계들 사이에 커뮤니케이션이 가능할 수 있는 웹으로 발전하게 될 것이다.

아리스토텔레스부터 온톨로지까지

앞에서 언급했듯이 W3C의 탄생과 함께, 아니 그 보다 훨씬 이전에 웹에 대한 아이디어가 떠올랐을 때 팀 버너스리는 머리 속에 시맨틱 웹을 생각하고 있었던 것 같다. 사실 정보의 의미를 기계가 이해하고 처리할 수 있도록 하는 기술은 인공지능(Artificial Intelligence)이라는 학문의 존재 이유라는 점에서 볼 때, 1950년에 튜링 기계를 설계한 튜링과 1956년 미국 다트머스 대학에서 열린 학술대회에서 인공지능이라는 용어를 처음 사용한 John McCarthy로부터 시맨틱 웹의 역사를 찾을 수 있을 것 같다.

이 보다 더 이전으로 거슬러 올라가면 현대 논리학과 언어 철학의 아버지라 할 수 있는 19세기 독일 철학자인 Gottlob Frege는 자연어(natural language)에 있어서 의미(meaning)의 문제를 체계적으로 다루기 시작했으며, 인공지능의 논리 프로그래밍의 기초가 되는 술어 논리(predicate logic) 체계를 최초로 개발했다. 뒤에서 자세히 다루겠지만 시맨틱 웹의 기술적 근간이 되는 지식 표현(Knowledge Representation) 분야에 있어 대다수의 연구는 술어 논리에 기반을 두고 있다.

그 보다 훨씬 더 이전으로 거슬러 올라가면 기원전 4∼5세기경의 그리스 철학자들은 인간의 지식에 대한 근본적 사유를 했는데, 그 중에서 아리스토텔레스의 인식론과 논리학은 오늘날 여러 학문 분야에서 자연스럽게 쓰이는 수많은 용어들의 뿌리가 된다. 예를 들어, 범주(category)·은유(metaphor)·가설(hypothesis) 등의 용어들은 직접 아리스토텔레스가 썼던 그리스말에서 왔고, 양(quantity)·질(quality)·종(species)·명사(noun)·동사(verb)·주어(subject)·술어(predicate) 등과 같은 용어들은 아리스토텔레스가 정의를 내린 것을 라틴어로 직역한 것으로, 오늘날까지 계속해 쓰이고 있는 것이다.

아리스토텔레스에서부터 시작된 용어들의 개념화에 대한 연구는 오늘날 컴퓨터 분야에서 온톨로지(ontology)라는 이름으로 이어지고 있다. 웹 문서에서 사용되는 개념들 사이의 의미적 연관성을 추출하고 표현하고 저장하는 기술로서의 온톨로지 공학은 시맨틱 웹을 구현하는데 중요한 요소 기술이 되고 있다. 이에 대한 자세한 내용은 특집 3부를 참고하기 바란다.

컴퓨터가 의미를 이해한다?

시맨틱 웹을 한마디로 정의하자면 '컴퓨터가 정보의 의미를 이해하고 의미를 조작할 수 있는 웹'이라고 말할 수 있다. 그러면 검색 엔진과 특별한 목적의 에이전트 프로그램 등이 데이터 처리 수준을 넘어 웹에 있는 정보의 '의미를 이해한다'라고 하는 것은 무슨 뜻인가?

이것은 웹에서 새로운 '것'을 발견했을 때 그것을 이미 잘 알고 있는 다른 '것'에 관련시킬 수 있다는 뜻일까. 여기서 '것'은 정보 리소스를 의미하는데, URI로 표현되는 것은 무엇이든 리소스가 될 수 있다. 즉, 관계형 데이터베이스에서 관계가 의미를 뜻하듯이, 웹에서도 정보 리소스들 사이의 연관성을 잘 표현해준다면 웹에서 의미의 처리는 가능할 수 있는 것이다.

물론 개별 데이터베이스와는 규모면에서 비교가 안될 정도로 웹에서 정보 사이의 관계성은 복잡하고 다양할 수 있다. 시맨틱 웹은 문서의 각 부분을 컴퓨터가 이해할 수 있는 형식으로 기술(description)할 수만 있다면 복잡하게 얽혀져 있는 정보 리소스들 사이의 의미적 연관성으로 인해 웹을 통해 다양한 정보를 보다 효과적으로 활용할 수 있게 해준다. 뒤에 언급할 RDF(Resource Description Framework) 언어는 정보 리소스들 사이의 연관성을 기술하기 위한 수단을 제공해 주기 위해 개발됐다.

시맨틱 웹에서 표현하고자 하는 의미의 예를 좀 더 살펴보자(요즘 한창 주가를 올리는 겨울연가란 드라마에서 준상과 유진으로 예를 들어보자). 결혼을 앞둔 준상과 유진은 하와이로 신혼여행을 가기로 정했다. 준상은 유진에게 현지에서 제작된 진주 목걸이를 사주리라 생각하고 가격을 알아보기 위해 검색엔진에 '하와이에서 제작돼 판매되는 진주 목걸이의 가격'이라는 메시지를 입력했다.

이에 대해 일반 검색엔진은 '하와이, 제작, 판매, 진주, 목걸이, 가격' 등이 포함되는 방대한 양의 정보를 뿌려줄 것이다. 이 중에는 '진주만'과 같이 검색의 목적과 동떨어진 정보도 나올 것이다. 그러나 만약 각각의 단어들에 대한 의미가 컴퓨터에서 처리될 수 있도록 표현된다면 훨씬 근접한 정보를 얻을 것이다.

시맨틱 웹은 하나의 커다란 정보 공간이라고 이름 붙일 수 있는데, 그렇다면 웹에서 데이터와 정보의 차이란 무엇일까? 이러한 차이가 어떻게 전통적 의미의 월드와이드웹과 시맨틱 웹을 구분 짓게 하는 것일까?

월드와이드웹에 있는 문서의 내용은 기본적으로 인간만이 이해할 수 있는 수준이며, 컴퓨터에게는 단지 데이터에 불과하다. 만약 데이터 사이에 연관성을 표현할 수 있는 구조가 더해진다면 데이터는 정보로서의 의미를 갖게 된다.

정보는 에이전트의 추론을 통해 새로운 정보를 만들어 내게 되는데, 정보들이 체계화되어서 의사결정이나 행동에 영향을 줄 수 있다면 이것은 '지식'이라 말할 수 있다. 지식이 보다 광범위하게 상황적 정보와 연결되어서 문제해결의 상황에 따라 유연하게 적절한 반응을 도출한다면 이것을 '지혜'라 부를 수 있겠다.

단순히 문서의 의미적 내용을 컴퓨터가 알지 못하는 수준을 전통적 의미의 월드와이드웹이라 한다면, 정보와 지식을 처리할 수 있는 웹의 환경을 시맨틱 웹이라 할 수 있다. 그 후에는 에이전트가 상황에 적절한 행동을 취하고 에이전트들 사이에 보다 복잡한 커뮤니케이션이 가능한 수준의 웹을 상상할 수도 있겠다.

시맨틱 웹의 기술적 요소

최근 W3C에서 제안된 RDF와 같이 시맨틱 웹을 구현하기 위한 기술에 있어 핵심적 요소 두 가지를 들라면 메타데이터와 지식 표현이라고 할 수 있다. 이들은 서로 중복되는 부분이 많은 개념이지만 서로 구분해 설명하겠다.

데이터의 형식에 대한 내용을 기술하는 메타데이터

일반적인 의미로 메타데이터는 '데이터에 관한 데이터'로 정의할 수 있는데, 메타데이터는 그 자체가 또한 데이터다. 예를 들어 데이터베이스에 저장된 데이터의 형식에 대한 내용을 기술하는 데이터가 메타데이터다.

웹에서 메타데이터의 목적은 정보 검색의 처리 과정을 줄여주고, 사용자가 원하지 않는 데이터를 미리 걸러주며, 관련성이 많은 정보의 발견 가능성을 높여줌으로써 정보검색을 향상시키기 위한 것이다. 메타데이터의 예로서 도서관의 목록카드를 들 수 있는데, 개별 도서가 데이터라면 목록카드는 도서에 관한 주제별·저자별·연도별 분류를 가능하게 해 주는 메타데이터로서 검색을 용이하게 만들어 준다. 지도의 범례도 일종의 메타데이터라 할 수 있는데 지도에 표시된 여러 상징들에 대한 설명을 해 줌으로써 지도 검색을 용이하게 해 준다.

HTML 페이지 내의 태그도 문서를 설명해주는 메타데이터다. 메타데이터에는 웹 페이지의 작성자·버전·내용에 대한 목록 정보를 표시할 수 있으며, 웹 페이지 상호간의 관련성을 나타낼 수 있고, 또한 배포권과 프라이버시 코드 등과 같은 사회적 정보도 표시할 수 있다. 정보검색의 결과에 대한 평가를 하는 기준으로서 응답률(recall)과 정확도(precision)가 있다.

◆ 응답률 : 관련된 정보를 얼마나 발견하였는가?

◆ 정확도 : 검색 결과로서 나온 문서들 중에서 정말 관련이 있는 정보는 얼마나 되나?

만약 애플 컴퓨터와 관련된 사람 중에 'Green'이라는 이름을 가진 사람을 검색하고 그의 주소를 찾고자 한다면, 'Green'이 환경적 이슈나 색깔의 명칭이 아닌 연구자 이름이고, 'Apple'이 과일이 아니라 컴퓨터 회사의 이름이라는 정보를 메타데이터로 표현할 수 있어야 한다. 그렇지 않다면 검색의 응답률은 높을 수 있을지는 몰라도 엄청난 양의 검색결과에 파묻혀 정확도는 매우 낮을 것이다.

메타데이터는 관계성에 관한 것이다. 관계성이란 정보 리소스에 대해 기술(description)하는 것을 의미한다. 그런데 메타데이터로 데이터를 기술할 때 몇 가지 정해진 방식에 제한 받지는 않는다. 예를 들어 도서관의 책을 분류하는데 쓰이는 도서목록 카드는 주제나 저자뿐만 아니라 책의 물리적 크기나 발행 연도에 대한 정보도 중요할 때가 있다. 이렇게 분류나 검색을 위한 메타데이터는 사용자의 관점과 사용 목적에 따라 달라질 수 있다. 따라서 메타데이터는 정보검색을 위한 사용자 프로파일로 쓰일 수도 있다.

메타데이터 사용은 웹의 기본 정신을 향한다

시맨틱 웹에서 메타데이터 사용의 다양성은 중앙 집중방식을 지양하고 웹의 분산성을 증진하려는 웹의 기본적 정신과 관련이 있다. 예를 들어, RDF에서는 정보 리소스 사이의 관계성이 웹 문서의 저자에 따라 다르게 정의될 수 있다.

즉, 웹에서 어휘의 의미를 표준화해 어휘 사용을 한 방향으로 경직시키는 것이 아니라, 누구든지 자유롭게 어휘의 정의에 대한 메타데이터를 웹에 공개할 수 있는 것이다. 따라서 언제든지 공개된 메타데이터를 원하는 사람은 전체 혹은 부분적으로 사용할 수 있다. 마치 자연어에서 어휘의 의미가 진화하는 것과 같다.

시맨틱 웹에서의 메타데이터의 역할에 관한 또 다른 예를 들어보자. 준상과 유진은 하와이 여행을 끝내고 돌아오는 길에 일본을 잠시 들렸다. 일본어를 하나도 모르는 두 사람은 도쿄 교외에서 그만 길을 잃고 말았다.

마침 준비성이 철저한 준상은 GSM(유럽과 일본을 포함한 120여 개 국가에서 쓰이는 디지털 무선전화 시스템으로서 전 세계에 로밍 서비스를 함) 수신장치가 달린 PDA를 갖고 있었다. 얼른 꺼내 자신이 묵고있는 호텔 이름을 영어로 입력하자 현재 자신들이 있는 위치를 PDA 화면에 나타난 지도상에 표시해주고 호텔까지 가는 길을 안내해줬다.

가는 길에 점심시간이 되자 그들이 위치한 곳에서 가까운 한국 음식점으로 안내해 주기까지 했다. 이처럼 상대적 위치에 대한 정보뿐만 아니라 시간과 음식점과 사용자의 식성에 관한 관계성도 메타데이터를 통해 기술될 수 있다.

컴퓨터도 사물에 대한 정의와 속성을 이해한다

시맨틱 웹에서 의미는 바로 정보 리소스들 사이의 관계성에 있다고 앞에서 언급했다. 관계성을 좀더 일반적인 용어로 표현하면 연결성이다. 웹의 시작은 이러한 연결성을 통해 구현됐고 연결성 때문에 웹은 분산적 정보공간이 됐던 것이다.

전통적 의미의 월드와이드웹에서의 연결성은 하이퍼텍스트 링크를 통한 가상공간에서의 위치적 연결을 의미하지만, 시맨틱 웹에서는 정보 자원 사이의 의미적 연결을 더 강조하고 있다.

사실 URL(UR Locator)은 링크를 위한 리소스의 위치적 정보를 표시하는데 비해 좀더 보편적 개념인 URI(UR Identifier)는 의미적 정보의 인식을 위한 가장 기본적 수단인 지칭(referring)과 정체성(Identity)과 관련된 단어인 인식자(Identifier)를 사용한다.

앞에서 '의미를 이해한다'의 의미를 정의하면서 '이해의 대상이 되는 새로운 것을 이미 알고 있는 다른 것과 관계짓는다'라고 말했다. 정보 리소스 사이의 관계를 컴퓨터가 처리할 수 있는 방식과 언어로 표현하는 것을 지식 표현(Knowledge Representation) 방법이라고 한다.

그 동안 인공지능이라는 학문 분야에서 가장 중요한 연구 주제라 할 수 있는 지식표현에 관한 수많은 이론들과 방법들이 개발됐다. 지식표현 방법은 다양한 목적의 전문가 시스템(Expert System) 개발에 널리 응용됐다.

예를 들어 의료진단 전문가 시스템은 전문의가 환자의 증세와 여러 검사 데이터를 검토해 진단을 내리듯이 병의 진단과 관련 있는 입력 정보를 기초로 논리적 추론 과정을 거쳐 진단을 내린다. 이처럼 규칙기반(rule-based) 전문가 시스템은 각 데이터 항목들을 다른 데이터 항목들과 연관을 시킴으로써 결론에 이르도록 프로그램이 설계돼 있다.

'자동차는 탈것이다', '타는 것은 바퀴가 있다', '이모는 어머니의 여자 형제다' 등과 같이 사물에 대한 정의와 속성들에 대한 설명을 컴퓨터가 이해할 수 있도록 프로그램으로 표현하는 것이 지식표현의 문제이다.

실제 세계는 이 예들보다 훨씬 복잡한 지식으로 표현될 뿐만 아니라 문제해결을 위한 추론의 과정도 상당히 복잡하다. 그동안 이 분야에 대한 이론적 연구가 상당한 수준으로 발전됐지만 응용의 측면에서 볼 때 그 성과는 그리 놀랄 정도는 아니다. 이에 대한 가장 중요한 요인 중 하나를 지적하자면 개별 시스템 중심으로 지식베이스가 만들어져 왔다는 것이다.

즉, 중앙 집중방식의 응용 소프트웨어의 연구가 국한돼 왔기 때문에 다른 시스템의 지식베이스를 사용할 수 없게 돼 있다. 분산성을 추구하는 웹의 관점에서 볼 때, 아무리 훌륭한 지식베이스를 구축해도 시스템에 있는 지식의 양이 많아질수록 처리의 속도와 효율성은 떨어질 것이다.

시맨틱 웹은 웹 페이지의 문서별로 서로 다른 의미 체계를 구축할 수 있지만, 서로 다른 웹 페이지들에서 정보 리소스들 사이에 의미적 연관성을 지을 수도 있으며, 또한 이미 구축돼 있는 지식베이스에 있는 정보를 메타데이터를 이용해 가져올 수도 있다. 이것을 시맨틱 웹에서의 상호운용성(interoperability)이라고 한다.

전자문서 표준화의 대안으로서 시맨틱 웹

시맨틱 웹의 궁극적 목표는 의미 사용에 대한 분산성을 증진시키는 것인데, 정보를 사용하는 사람들이 사물에 대한 동일한 확정적 의미를 가질 필요가 없다는 뜻이다. 예를 들어 시맨틱 웹에서는 대한민국 정부의 세무 양식과 미국 정부의 세무 양식이 동일하지 않다고 하더라도, 몇 가지 공통된 부분이 있고 이것들 사이에 중요한 의미적 연결성이 존재한다면, 추론 과정을 거쳐 어떤 결론을 도출해 낼 수 있으며 이들을 합성한 새로운 양식을 만들어 낼 수도 있을 것이다.

또 다른 예를 들어보자. 한국·미국·일본·유럽의 여러 회사들이 전자 제품을 생산하는 가상기업을 만들었다면 이들 사이에 오가는 문서의 종류는 수없이 많을 것이고 거래 관계는 상당히 복잡할 것이다. 각 회사의 여건상 문서를 통일할 수도 없고 또한 전자문서 양식을 표준화하기도 어렵다고 했을 때, 시맨틱 웹은 이러한 문제를 해결할 수 있는 열쇠가 되는 것이다. 문서의 화폐 단위와 도량형의 차이는 의미적으로 연결될 수 있으며 심지어 언어적 차이도 RDF와 같은 메타데이터의 사용으로 쉽게 극복될 수 있다.

시맨틱 웹의 계층적 구조

앞에서 시맨틱 웹이란 '컴퓨터가 정보의 의미를 이해하고 의미를 조작할 수 있는 웹'이라고 정의했다. 이를 위해 정보 리소스들 사이의 의미적 연결을 표시하고 논리적 추론이 가능할 수 있도록 하는 메타데이터와 정보표현 기술에 대해 대략적으로 알아봤다. 그러면 이번에는 구체적으로 시맨틱 웹의 계층적 구조에 대해 알아보자.

여기서 계층적이라는 의미는 각 계층별 기술들은 독립적으로 발전해 왔지만, 시맨틱 웹을 구현하는데 있어서는 하위 계층의 기술들은 상위 계층의 기술들이 구현될 수 있는 기반이 된다는 말이다. 또한 기술의 발전의 시간적 순서는 하위계층에서부터 상위계층으로 올라가고 있다. <그림 3>의 시맨틱 웹 구조를 보자(모든 기술에 대한 자세한 내용은 뒤에 각 파트별로 다뤄질 것이므로 개략적으로만 살펴보겠다).

데이터를 기술하기 위한 XML

웹의 진화 과정을 설명하면서 하이퍼텍스트 링크의 중요성과 HTML 언어에 대해 언급했다. HTML 언어와 같은 마크업 언어는 인간이 정보를 표현하고 전달하는 수단으로서 발전되어온 인쇄 기술의 역사와 함께 한다고 해도 과언이 아니다. 마크업이라고 하는 것은 원래 활자의 모양을 정해주거나 바꿔주기 위해 조판을 지정해주는 표시다. 전자 출판에서는 문서의 구조나 의미를 적절하게 바꿔 프린터나 웹 브라우저 등의 특정 매체에서 출력이 가능할 수 있도록 해주는 것이 마크업 언어의 기능이다. 이런 의미에서는 마크업 언어는 일종의 메타 언어라 할 수 있다.

웹에서 문서의 포맷을 정해주고 URI를 사용해 하이터텍스트 링크를 표시해 줄 수 있는 HTML 언어에서 태그는 출력 형식에만 상관하고 텍스트의 데이터 구조나 의미와는 무관하다. 이에 반해 1986년 Goldfarb에 의해 개발된 SGML(Standard Generalized Markup Language)은 문서의 출력 형식이 아니라 문서의 구조를 기술하는 언어라 할 수 있다.

메타 언어로서 SGML은 문서와 데이터를 기술하기 위한 문법 규칙의 집합으로서, HTML과 같은 언어의 태그들의 의미와 사용 규칙을 정의 내려주는 언어다. 웹의 활용 범위가 다양해지고 복잡해지면서 단순히 텍스트나 이미지를 보기 위한 목적을 넘어서는 새로운 형태의 마크업 언어가 필요하게 됐다. 이런 의미에서 SGML은 하나의 대안일 수 있었으나, 기능이 너무 복잡하기 때문에 SGML의 축소 형태인 XML(Extensible Marup Language)이 개발됐다.

HTML이 웹 문서를 화면에 보여주기(displaying) 위한 형식을 위한 언어라면 XML은 웹에서의 데이터를 기술(describing) 하기 위한 언어이다. XML에서 정의 내려지는 태그의 의미는 사용자가 이해하기 쉽게 사용자가 결정할 수 있다. 그러나 XML은 문서 요소들 사이의 구조적 정의만을 제공해주기 때문에 정보 리소스들 사이의 의미적 관계를 정의 내려주지는 못한다. 예를 들어 <주소>, <우편번호> 등과 같은 태그의 사용에 대한 규칙은 DTD나 XML 스키마에 의해 정해질 수 있으나, 이들의 의미를 컴퓨터가 이해하지는 못한다.

속성 중심의 RDF

<그림 3>에서 보여주듯이 RDF 문서의 문법은 XML에 기초한다(여기서는 RDF에서 정보 리소스 사이의 의미적 연결이 어떻게 이뤄질 수 있나를 RDF 데이터 모델을 중심으로 간단히 설명하겠다). RDF는 객체지향적 접근의 지식표현 방식을 취하며, 세 개의 요소로 이뤄진 구조를 기본으로 한다. 즉, 개체(object)-속성(attribute)-값(value)의 구조를 갖고 있는데, A(O,V)로 표현된다. 그러나 일반적인 객체지향적 혹은 프레임 방식과는 달리, RDF는 객체중심이 아니라 속성중심(property-centered)의 구조를 가지고 있다. RDF의 간단한 표현 방식에 대해 예를 들면 다음과 같다.

author('http://www.bookstore.org/id1971', 'http://www.dankook.ac.kr/hgkim')

title('http://www.bookstore.org/id1971', 시맨틱 웹 이해하기)

name('http://www.dankook.ac.kr/hgkim',김홍기)

여기서 'http://www.bookstore.org/id1971'과 같은 URI로 표현되는 리소스(resource) 혹은 개체는 이것이 갖고 있는 author, title, name과 같은 여러 속성들을 통해 그 의미가 표현될 수 있다. 이미 언급했듯이 RDF에서 리소스의 개념은 매우 중요하다. 독자성(identity)을 갖고 있는 개체이면 어떤 것이라도(실제로 존재하는 것이든 아니든 개념적인 의미만 갖고 있으면) 리소스에 속하며 URI는 이것을 설명하기 이전에 단순히 지칭(refer)하기 위한 인식자로 사용된다. 앞의 예를 다시 XML과 RDF 문법에 맞게 표현하면 다음과 같다.

'http://www.dankook.ac.kr/hgkim

RDF 데이터 모델은 소위 'labeled directed graph'의 구조로 나타내어진다. 앞의 예는 다음의 <그림 4>와 같이 표시할 수 있다.

어휘 정의를 위한 메타 언어 'RDF 시키마'

RDF 스키마는 XML 문서의 요소들 사이의 구조를 정의해 주는 XML 스키마와 DTD와는 달리 RDF 문장에서 쓰여진 author, title, book과 같은 어휘들의 정의를 위한 메타 언어로서의 역할을 한다. RDF 스키마에는 미리 정해진 몇 개의 어휘들이 있어서 RDF 문장에서 쓰이는 어휘 사이의 관계를 의미적으로 정의 내리는데 사용된다. 예를 들면, RDF 문장에서 각각의 개체는 type 속성을 갖는 하나 이상의 클래스의 인스턴스로 정의 내려진다. 또한 subClassOf 속성은 클래스 사이의 계층적 구조를 나타내는 데 사용된다. 간단한 예로 소설책 클래스와 책 클래스 사이의 관계를 RDF 스키마로로 어떻게 표현할 수 있을까.

앞의 예에서 든 title이라는 속성을 RDF 스키마로 정의 내리면 다음과 같다.

19990303#Literal'/>

여기서 title 속성은 Book 도메인과 Literal 치역(range)을 갖는 것으로, 그 속성의 사용에 대한 정의가 내려진다.

온톨로지와 논리적 추론

시맨틱 웹을 실현하기 위한 다음 단계는 바로 온톨로지(ontology)다. 온톨로지란 용어 사이의 관계를 정의하고 있는 일종의 사전과 같은 것이라 할 수 있다. 앞에서 살펴본 RDF 스키마는 개체와 속성 사이의 관계성을 정의하고 있는 일종의 온톨로지를 표현하는 언어다. 예를 들어, 서로 다른 웹 문서의 URI들이 똑 같이 우편번호를 의미할 수 있다. 또한 우편번호, 주소, 시, 도와 같은 여러 위치 정보들 사이의 관계성이 표현될 수도 있다. 어떤 한 영역에 있어서 개념사이의 관계가 어떻게 온톨로지 형태로 표현될 수 있는가에 관한 하나의 예를 들어보자.

<그림 5>와 같은 클래스 사이의 관계는 쉽게 RDF 스키마로 표현될 수 있다. 또한 개념 사이의 관계에 관한 여러 속성들도 정의할 수 있는데, 예를 들면 WorksAtProject라는 속성은 AcademicStaff'와 Project 클래스 사이의 관계로 표현될 수 있다. 그러나 <그림 5>와 같이 온톨로지로 표현된 개념 사이의 구조로부터 필요한 지식을 인출하거나 지식 항목 사이에 새로운 연결성을 맺기 위해서는 추론이 가능한 절차적 형태의 지식표현이 필요하다.

<그림 6>은 온톨로지 계층이 어떻게 상위 계층이 논리 계층과 관계돼 있는지를 보여준다. 즉, 개념 사이의 관계를 선언적(declarative)으로 표현한 온톨로지 구조에 더해 절차적(procedural) 관계를 표현해줌으로써 원하는 지식 항목의 검색과 새로운 지식의 조직화에 효과를 더 해 줄 수 있다. 예를 들어, '갑이라는 연구자와 협동적 관계를 갖고 있는 어떤 사람과 함께 저술활동을 했던 사람'을 알기를 원하는 것과 같은 복잡한 검색은 시맨틱 웹에서의 온톨로지 표현 기술과 논리적 추론 기술을 통해 가능한 것이다.

시맨틱 웹을 이해하기 위한 마지막 예를 들어보자. 준상과 유진은 신혼여행을 마치고 한국으로 돌아왔을 때는 아직 쌀쌀한 기운을 느낄 수 있었고 하와이의 쾌청한 날씨와 거기서 봤던 미니 자동차 경주는 잊을 수 없는 추억이 됐다. 호기심이 많은 준상은 지구상의 어떤 도시에서 그들이 즐겼던 것과 같은 날씨에 자동차 경기가 있었나를 알아보기로 했다. 그래서 검색엔진에 '어제 기온이 25도 되는 맑은 날씨에 자동차 경주가 열렸던 도시가 있는가'라고 질문을 던졌다. 검색엔진은 자동차 경주에 관련해 3500개의 정보를 찾고, 기온과 날씨와 도시를 연결한 정보를 100만 개를 찾았다. 하지만 검색엔진은 자동차 경주가 열리는 도시를 중심으로 어제 기온을 중심으로 수많은 쓸모없는 정보를 걸러냈고 결국 시드니와 하와이를 찾아냈다. 검색어가 간단하면 검색 결과의 양이 많아지고 사람이 일일이 검토해야 되지만, 논리를 더해주면 검색 에이전트 프로그램은 추론의 과정을 거쳐 원하는 결과를 찾아준다. 여기서 날씨, 기온, 도시 등의 단어가 의미하는 바는 온톨로지에서 정의 내려지고 논리적 추론 엔진은 이것을 사용해 효과적인 검색이 될 수 있도록 한다.

끊임없는 도전에 참여하라

지금까지 시맨틱 웹이라는 새로운 기술의 혁명을 이해하기 위해 웹이 진화한 역사를 바라보며 전 세계를 하나로 이어주는 거대한 정보 공간의 정체, 즉 의미의 연결성을 탐구했다. 또한 의미의 연결성을 이루기 위한 기술적 요소로서 메타데이터와 지식표현에 대해 살펴봤다. 이에 대해 보다 구체적으로 시맨틱 웹의 계층적 구조를 살펴보면서 메타데이터를 표현하는 언어들과 온톨로지와 논리적 추론을 프로그램화할 수 있는 지식표현의 기술들에 대해도 자세히 다뤘다. 의미의 연결성, 거대한 정보공간, 즉 시맨틱 웹이라는 기술의 등장배경을 이해하면서 팀 버너스리가 어떻게 새로운 세계를 바라보는 비전을 만들어 낼 수 있었는가에 대하여 조금은 이해할 수 있었으리라 생각이 든다. 새로운 관점에 대한 도전은 혁명적 사고를 필요로 한다. 그가 가져왔던 혁명적 사고는 세계의 구조를 바라보는 관점에 있어서의 혁명이었다.

시맨틱 웹을 여러 각도에서 다룰 수도 있겠지만, 이 글을 쓰면서 가장 중심적 개념으로 이끌어내려 했던 개념은 바로 연결성이라는 개념이었다. 이것은 바로 공간의 개념과 통하는 개념이다. 물리학도였던 팀 버너스리가 월드와이드웹에 대한 아이디어를 구상했을 때 스쳐간 생각이 바로 물리적 연결의 바탕이 되는 물리적 공간이 아닌 새로운 연결성을 추구하는 가상공간의 개념이었다. 물질을 이루는 기본적 개념은 바로 연속성(continuity)이다. 공간적 및 시간적 연속성은 물질세계 속에 있는 개체에 대한 독립성을 보장해준다. 연결성은 물질공간에서의 개체들간의 관계성을 의미한다.

그가 생각한 가상공간에서의 연결성은 바로 하이퍼텍스트로 이어지는 연결성을 의미하며 이것이 새로운 웹이라는 공간을 만들게 된 혁명적 사고였다. 이제 시맨틱 웹으로 이어지는 또 하나의 공간적 개념이 기다리고 있다. 의미적 연결성은 개념화로 표현될 수 있는 공간적 의미의 연결성과 논리적 추론으로 표현될 수 있는 시간적 연결성을 포함한다. 사람은 물질공간 속에 살고 있지만 컴퓨터의 디지털 세계는 물질공간이 아닌 의미공간 속에 존재한다. 따라서 시맨틱 웹 기술은 보다 완전한 웹을 실현하려는 기술의 총체라 할 수 있다. 디지털 공간의 분산성은 이러한 의미적 연결성으로 가능해 진 것이다. 다시 말해 물질공간에서의 연결성은 중앙의 통제를 받기 쉽게 하기 위한 것이지만 의미공간에서의 연결성은 공간의 분산성을 실현시킨다.

그 다음 세계는 무엇인가? 혹 의미의 공간과 물질의 공간이 합해지는 것이 아닐까? 마치 의미의 공간 속에 있는 인간이 활동하고 살아가는 물질공간이 있기 때문에 그 의미(meaning)의 공간이 진정한 가치(value)를 가질 수 있는 것과 같지 않을까? 의미의 공간이 물질의 공간과 연결되는 것을 추구하는 것을 이름 붙여 'the Pragmatic Web'이라고 하면 안될까? 이 글을 쓰면서 독자들에게 당부하고자 하는 말이 있다. 기술의 사용자(consumer)가 아니라 생산자(producer)가 되기 위해서는 혁명적 사고가 필요하다고. @