2007년 11월 27일
[마소 2007년 9월] 시맨틱 웹을 향한 첫 걸음 ‘마이크로포맷’
시맨틱 웹(Semantic Web)이란 웹을 창시한 팀 버너스 리가 고안한 차세대 웹 기술로 컴퓨터가 이해할 수 있는 웹을 말한다. 팀 버너스 리는 시맨틱 웹을 “정보에 잘 정의된 의미를 부여하여 컴퓨터와 사람이 더욱 협력하여 일할 수 있는 웹의 확장 개념”이라고 설명했다. 예를 들어 일기 예보 사이트에 오늘의 날씨 중 기온 정보가 있다고 가정하자. 사람이 페이지를 방문하면 주변 정보를 파악한 후 비로소 숫자가 기온임을 파악하게 된다.
컴퓨터는 그렇지 않다. 이 숫자가 길이인지 번호인지 가격인지 알아채지 못한다. 컴퓨터에게 숫자는 단지 숫자일 뿐이다. 하지만 시맨틱 웹의 범주에서는 기온이라는 의미(Semantic)를 숫자에 부여하고 컴퓨터가 사람처럼 숫자를 기온으로 이해하게 한다. 그리고 좀 더 나아가 컴퓨터가 웹 페이지의 정보를 수집하고 분석하여 자율적으로 정보를 처리할 수 있는 자동화 시스템을 구현할 수 있다. 시맨틱 웹이 구현되면 사람의 지시 없이 컴퓨터 스스로 현재 위치에서 가장 가까운 중국집을 찾거나 개인의 스케줄에 맞춰 레스토랑 예약을 할 수 있단다. 놀랍지 않은가?
.gif)
물론 이런 미래가 현실화되려면 적잖은 장애물을 해결해야 한다. <그림 1>에서 알 수 있듯이 시맨틱 웹을 제대로 실행하기 위해서는 RDF(Resource Description Framework)와 OWL(Web Ontology Language) 등 많은 기반 기술이 필요하다. 심지어 컴퓨터의 자동화 처리를 위한 인공지능 알고리즘까지 요구될 수도 있다. 이처럼 무거운 구조로 인해 시맨틱 웹의 현실화는 아직도 구체화되지 않고 있다. 실효성에 대한 논의도 뜨겁다. 상황이 이렇다보니 시맨틱 웹처럼 강력하지는 않지만 손쉽게 사람도 이해하고 컴퓨터도 이해할 수 있는 마이크로포맷이 컴퓨터 중심의 시맨틱 웹과 사람 중심의 웹을 아우르는 시발점으로 인식되고 있다.
마이크로포맷
브라우저에 표현할 레이아웃을 정의하는 용도로 사용하는 HTML과 달리 마이크로포맷은 간단한 방법으로 웹 페이지 내의 특정한 목적의 의미를 부여할 수 있어 다양한 용도로 HTML을 활용할 수 있다. 예를 들어 웹 페이지 안에 마이크로포맷을 적용함으로써 주소록을 공개하고 인맥 관계를 찾아가거나 일정을 공유하는 등 다양한 응용이 가능하다. 검색 엔진 등의 자동화 프로그램은 마이크로포맷이 삽입된 웹 페이지에서 특수한 목적의 데이터를 수집하여 HTML 이상의 가치 있는 정보를 사용자에게 전달할 수도 있다.
HTML은 페이지의 레이아웃을 정의하는 태그 외에도 다른 목적의 정보를 담을 수 있는 방법을 제공한다. 다음과 같은 HTML 표준 속성을 이용해 웹 페이지 내에 마이크로포맷을 삽입할 수 있다.
.gif)
● class : 마이크로포맷의 가변적인 정보를 정의하는 기본 속성
● rel : 링크와 연결되어 있는 문서와의 관계를 정의하는 속성
● rev : 링크와 연결되어 있는 문서와의 역관계를 정의하는 속성
마이크로포맷은 이러한 기본적인 속성을 이용해 주소록이나 이벤트, 리뷰 등과 같이 특수한 목적의 정보를 HTML 안에 삽입할 수 있다. 다음은 class 속성을 이용해 연락처 정보를 표현하는 마이크로포맷인 hCard의 예이다.
<span class=“vcard”>
<span class=“fn”>홍길동</span>
<span class=“org”>유명 주식회사</span>
<span class=“tel”>02-111-1111</span>
<a class=“url” href=“http://microformats.org”>http:// microformats.org </a>
</span>
여기서 일반적인 HTML 태그와 class 속성을 함께 사용해 fn, org, tel, url과 같은 특수 정보를 저장하고 있다. fn은 이름, org는 소속회사, tel은 연락처, url은 홈페이지 주소를 의미하며, 이는 vcard라는 class 속성 안에서 연락처 정보를 형성하고 있다. hCard는 컴퓨터가 이해할 수 있도록 정해진 규약으로 정보를 저장하는 반면 사용자 역시 웹 페이지에서 정보를 시각적으로 확인할 수 있는 장점이 있다.
class 속성이 다양한 속성 값을 부여해 hCard와 같이 풍부한 포맷을 HTML 안에 저장한다면, rel과 rev 속성은 <link>나 <a href> 태그에 관계 정보를 부여해 좀 더 간단한 방법으로 마이크로포맷을 구현한다. XFN(XHTML Friends Network)은 링크에 rel 속성을 이용해 인맥을 저장한다.
<a href=“http://www.jerryis.com/tt” rel=“friend met colleague”>제리</a>
<a href=“http://www.pixie.co.kr” rel=“friend met”>픽시</a>
rel 속성의 friend는 “친구”를 뜻하며, met은 “만난 적이 있는 관계”, colleague는 “같은 직종의 동료”를 의미한다. 그러므로 픽시라는 링크는 “만났던 친구”의 홈페이지를 뜻하며, 제리는 “만났던 같은 직종의 친구”를 의미한다. 이처럼 XFN을 통해 간단하게 홈페이지나 블로그간의 인맥관계를 저장할 수 있다. 자세한 스펙은 http://gmpg.org/xfn/을 살펴보기 바란다.
Vote Links는 rev 속성을 사용하여 링크를 웹 페이지의 정보에 대한 지지나 추천에 대한 의사 표현으로 처리하는 마이크로포맷이다.
<a href=“http://happybean.naver.com” rev=“vote-for”>해피빈</a>
<a href=“http://microformat.com” rev=“vote-abstain”>마이크로포맷</a>
<a href=“http://...” rev=“vote-against”>악질사이트</a>
rev 속성의 vote-for는 “찬성”, vote-abstain은 “중립”, vote-against는 “반대”를 뜻한다. 똑같은 관계임에도 불구하고 rel이 아닌 rev를 사용하는 이유는 rel은 현재 페이지를 기준으로 관계를 표현하는 속성이고 rev는 그 반대의 관계를 표현하는 속성이기 때문이다. 그러므로 다른 페이지의 정보에 대해 찬성이나 반대를 표현하는 행위는 rev 속성을 사용해야 한다. Vote Links는 링크에 대한 사용자들의 평가를 저장하여 링크 정보의 질을 높이는 효과를 발휘한다.
geo는 위도와 경도와 같은 지리적인 수치를 HTML 안에 저장하여 위치를 표시하는 마이크로포맷이다. 이 마이크로포맷을 이용하면 구글 맵과 같은 웹 지도에 정확히 위치를 표시할 수 있다.
<div class=“geo”>GEO:
<span class=“latitude”>37.386013</span>,
<span class=“longitude”>-122.082932</span>
</div>
이렇게 마이크로 포맷은 HTML 페이지 안에 특수한 목적의 정보를 삽입하여 HTML의 활용성을 높이는 개방형 데이터 구조 표준이라 용도에 따라 쉽고 다양한 형태로 고안될 수 있다. 다음은 특수한 목적의 마이크로포맷들이다.
● hCalendar : 일정 정보를 저장한다.
● hCard : 주소록 정보를 저장한다.
● hReview : 영화나 음악 등에 관한 리뷰 정보를 저장한다.
● hResume : 이력서 정보를 저장한다.
● geo : 위도와 경도를 저장한다.
● XOXO : 리스트와 요약 정보를 저장한다.
● rel-directory : 링크가 디렉토리 정보임을 명시한다.
● rel-nofollow : 검색 엔진과 같은 에이전트에 분석될 필요가 없는 링크임을 명시한다. 링크를 포함한 악성 댓글과 같은 전문적인 스팸 방지할 때 사용할 수 있다.
● rel-tag : 링크가 태그 정보임을 명시한다.
● xFolk : 쇼셜 북마킹을 위한 정보를 저장한다.
● XFN : 링크에 인맥을 저장하여 웹 페이지에 인간관계를 설정할 수 있다.
● XOXO : 리스트와 요약 정보를 저장한다.
물론 이외에도 많은 마이크로포맷이 있다. 현재에도 지속적으로 추가되고 있는 중이다. 생산자를 hCard, 위치를 geo로 저장하고 맛, 색깔, 생산년도 등을 표시하는 와인(Wine) 관련 마이크로포맷까지 논의될 정도로 활발하다.
마이크로포맷, 과연 어디에 사용할까?
마이크로포맷은 웹에서 다양한 형태로 서비스될 수 있다. 국내에서는 마이크로포맷을 적극적으로 사용하는 사이트가 없기에 해외에서 적절한 예를 찾을 수 있다.
1. 마이크로포맷 수집 사이트
일반적으로 사용자는 특정 사이트를 직접 방문하여 데이터를 입력한다. 그리고 사용자가 입력한 정보는 사이트 방문객에 의해 웹 전반에 걸쳐 퍼진다. 즉 사용자는 자신의 정보를 퍼트리기 위해 선호하는 사이트를 방문하여 데이터를 남긴다. 하지만 마이크로포맷과 블로깅이 합쳐지면 다른 패턴으로 웹을 활용할 수 있다. 다른 사이트를 방문할 필요 없이, 내 블로그에 정보를 남기면 다른 사이트가 블로그에 접근하여 그 정보를 가져간다.
예를 들어 무언가를 팔고 싶다면, 상품정보를 저장하는 마이크로포맷인 hListing을 이용하여 블로그에 그 내용을 남긴다. edgeio(http: //www.edgeio.com)와 같은 상품정보 수집 사이트는 그 블로그의 상품 정보를 수집하여 적절한 카테고리에 전시한다. 이와 비슷한 케이스로 hReview 태그를 통해 블로그에 작성된 영화평은 영화정보 사이트에서 수집해 갈 것이고, 인맥관계를 지정하는 XFN 태그는 인맥정보 사이트에서 수집할 것이다. 이처럼 기업은 곳곳에 퍼진 다양한 마이크로포맷을 수집해 또 다른 비즈니스 사이트가 생성할 수 있고, 개인은 자신의 블로그에 글만 하나 남겼음에도 불구하고 다른 사이트에 그 내용이 자동으로 배포하는 효과를 누릴 수 있다. 마치 블로그를 다양한 목적의 RSS처럼 활용할 수 있는 것이다.
2. 특정한 커뮤니티에서 정보를 공유하기
산악자전거 동호회는 다른 사람들과 즐길 수 있는 하이킹 코스를 공유하고 싶을 것이다. 하이킹 코스에 관련된 지리 정보를 블로그에 포스팅하고 그 정보를 지오캐스팅(geocasting) 해보자. geocast란 podcast와 유사한 개념으로 RSS에 지리정보를 포함한 geo 포맷을 포함시킨 형태의 웹 피드이다. 동호회의 다른 사람들은 이 피드를 구글 어스와 같은 지도 프로그램에 등록하여 하이킹 코스를 공유하고 확인할 수 있다.
3. 전문 검색
만약 누군가 웹 툰을 그려서 많은 사람들에게 공개하고 싶다고 하자. 웹 툰 정보를 명시하는 마이크로포맷을 따라 만화를 포스팅한다면 많은 사용자가 검색을 통해 웹 툰을 읽게 될 것이다. 그림이나 동영상은 내용의 텍스트화가 되지 않아 검색의 어려움이 있다. 하지만 만화 속의 대사를 마이크로포맷과 함께 제공한다면 대사 안의 키워드와 매칭되는 만화를 검색할 수 있게 된다. 검색 엔진은 이벤트 정보를 담은 hCalendar를 수집하여 구글 맵과 같은 지도 정보에 지역별 이벤트를 비주얼하게 표시할 수도 있다. 마치 요즘 각광받고 있는 전문 검색 엔진(Vertical Search En gine)처럼 말이다.
4. 인터넷 브라우저를 통해 개인 용도로 활용
마이크로포맷이 삽입된 웹 페이지는 다양한 애플리케이션에 의해 사용될 수 있다. hCard는 연락처를 다루는 국제 표준인 vCard를 HTML 안에 표현한 포맷으로, vCard는 이미 대부분의 주소록 소프트웨어에서 기반 데이터로 활용되고 있다. 그렇다면 HTML에 존재하는 hCard 마이크로포맷을 수집한 후 vCard로 변환하여 주소록 소프트웨어에 자동 추가하는 편리한 기능이 가능하게 된다.
파이어폭스의 확장 기능인 테일즈 익스포트(Tails Export)는 브라우저로 접근한 HTML 페이지 안의 마이크로포맷을 아웃룩 같은 PIMS(Personal Information Management System)가 사용할 수 있는 포맷으로 자동 변환해 주는 기능을 가지고 있다. 특정일의 이벤트 정보를 담은 웹 페이지를 클릭하여 한 번에 일정관리 프로그램에 추가할 수 있게 되는 셈이다.
.gif)
<그림 3>은 태일즈 익스포트의 실행 화면으로 오른쪽에는 웹 페이지, 왼쪽에는 웹 페이지에 담긴 전자 명함과 일정 정보를 자동으로 보여준다. 사용자는 왼쪽의 마이크로포맷 정보를 몇 번의 클릭만으로 아웃룩에 쉽게 옮길 수 있다. 또 다른 파이어폭스의 확장 기능인 오퍼레이터(Operator)는 좀 더 많은 마이크로포맷을 분석할 수 있다. 오퍼레이터를 설치한 후 Yahoo! Local (http ://local.yahoo.com), Upcoming.org, Flickr(http://www. flickr.com)을 돌아다니다보면 주소록과 지도, 스케줄 등이 상단 툴바에 자동으로 나타나는 것을 확인할 수 있다.
.gif)
이처럼 수많은 가능성은 마이크로소프트와 같은 유명한 IT 기업들이 앞으로의 프로젝트에 마이크로포맷을 활용하기로 결정하게 만들었다. 현재로선 브라우저의 플러그인으로 마이크로포맷을 활용될 뿐이나 앞으로 출시될 마이크로소프트의 인터넷 익스플로러 8.0이나 모질라의 파이어폭스 3는 마이크로포맷을 기본으로 지원할 예정이라고 한다. 브라우저를 통한 간단한 활용이 가능하게 된다면 마이크로포맷의 영향력은 더욱 더 커질 것이다. HTML의 쉬운 활용이 웹의 부흥을 일으켰듯이.
컴퓨터? 결국은 사람이다
시맨틱 웹은 폭발적으로 늘어나는 데이터를 좀 더 가치 있는 정보로 활용하기 위한 미래지향적인 목표이다. 기술이 아닌 목표다. 컴퓨터를 이해시킬 수 있는 정보를 생산해 내는 기술이 중심이 아니라 웹에 존재하는 데이터를 좀 더 가치 있게 만들어 일상생활을 윤택하게 하여야 한다. 하지만 시맨틱 웹은 온톨로지나 RDF와 같이 다소 난해하고 복잡한 개발 기술로 인해 실질적으로 삶의 질을 향상시키는데 아무런 결과물을 내놓지 못하고 실정이다.
반면 마이크로포맷은 사람이 자주 접하는 웹 페이지에 컴퓨터가 “읽을 수” 있는 정보를 저장하여 활용도를 높인다. 물론 컴퓨터가 “이해할 수” 있는 데이터베이스를 목표로 삼는 시맨틱 웹에 비하면 그 비전은 초라할 지도 모른다. 하지만 마이크로포맷은 사용자의 자발적인 참여를 유도한다는 점에서 더 큰 힘을 가진다. 사용자를 스스로 움직이게 하는 것은 그리 어려운 일이 아니다. 즉 그들이 자신에게 이익이 된다는 사실을 깨닫게 된다면 동기를 가지고 자발적으로 참여할 수 있다. 예를 들어 마이크로포맷은 hCard나 hCalendar와 같이 개인정보관리 소프트웨어에서 활용하던 정보를 웹 페이지에서도 공유할 수 있다는 점에서 사용자의 참여를 유도한다. 이렇게 쌓인 마이크로포맷은 다양한 목적의 메타데이터로 형성되어 대중을 만족시키는 새로운 유형의 서비스를 탄생시킬 것이다. 여기서 끝이 아니다. 컴퓨터가 읽을 수 있는 데이터가 사용자에 의해 점점 더 많이 쌓일수록 자연스레 시맨틱 웹이 형성된다. 컴퓨터가 일단 무언가를 읽을 수 있어야 이해할 수 있는지 테스트도 하고 새로운 시도를 할 수 있지 않겠는가?
컴퓨터 중심의 시맨틱 웹 기술이 좀 더 사용자에게 다가설 수 있는 겸손함을 보일지, 아니면 사용자 중심의 웹이 좀 더 발전하여 컴퓨터를 이해시킬 수 있는 웹의 비전을 보여줄 것인지에 촌각을 곤두세우는 것은 무의미하다. 이미 마이크로포맷을 통해 미약하지만 사용자와 컴퓨터가 함께 이해할 수 있는 시맨틱 웹 2.0이 시작되고 있다.
# by | 2007/11/27 00:55 | 컬럼 | 트랙백 | 덧글(0)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]