미래의 웹은‘시맨틱(Semantic) 웹’
효과적 웹 설계로 시맨틱 웹 애플리케이션 응용해야
현재의 웹 정보는 인간의 이용 관점에만 치중함으로써 웹 데이터베이스 자료 구조로는 원하는 정보를 효율적으로 얻기가
어렵다. 이에 따라 효과적으로 웹 설계 목표를 달성하기 위해 인간처럼 행동하도록 기계를 학습시키는 인공지능과는 다른
접근 방법인 시맨틱 웹 접근 방식이 주목 받고 있다.
“1월 26일, 나의 결혼기념일. 이 날 만큼은 처(妻)와 함께 분위기 좋은 레스토랑에서 근사한 와인으로 한껏 무드를 잡고 싶다.
나는 네이버를 검색한다.”
“결혼기념일 식사코스로 적합한 메뉴 리스트를 제공하고 각 메뉴에 어울리는 와인을 추천하되, 까베르네 소비뇽(Cabernet
Sauvignon)은 제외시켜라.”
현재의 웹 설계 방식 하에서 이러한 질의를 수행할 웹 에이전트를 구축하는 것은 대단히 어려운 일이다. 결과적으로 네이버
의 검색 결과는 난처할 수밖에 없다. 위와 같은 질의는 키워드 검색의 범위를 초월하는 것으로 이 질의를 만족시키기 위해서
는 웹 자원(resource)에 대한 의미(meaning)를 기술할 수 있어야 한다. 데이터의 시맨틱(semantics)을 추출할 수 있는
추가적인 해석 단계가 필요하다. 정보들은 컴퓨터가 처리하기 용이한 방법으로 전 세계에 걸쳐 그물처럼 연결돼 있어야
한다.
원래 정보 공간으로서의 웹은 인간과 인간의 커뮤니케이션뿐만 아니라 기계가 참여하고 도움을 줄 수 있도록 하는 목적으로
설계되었다. 하지만 현재의 웹 정보는 인간의 이용 관점에만 치중함으로써 이러한 목적의 걸림돌이 되고 있다. 웹 데이터
베이스 자료 구조는 기계가 그것을 효율적으로 접근하는 데 어려움을 내포하고 있다. 이러한 방해물을 제거하고 웹 설계
목표를 달성하기 위해 인간처럼 행동하도록 기계를 학습시키는 인공지능과는 다른 접근 방법인 시맨틱 웹 접근 방식은
기계가 처리 가능한 형태(form)로 정보를 표현하는 언어를 이용한다.
시맨틱(Semantic) 웹
시맨틱 웹이란 웹을 창시한 팀 버너스리(Tim Berners-Lee)가 창안한 차세대 웹 기술로 현재의 웹처럼 사람이 눈으로 보고
이해하는 웹이 아닌, 컴퓨터가 이해할 수 있는 정보(machine-understandable infor-mation)로 구축된 웹을 의미한다.
시맨틱 웹은 인간과 컴퓨터의 상호 협력 작업을 가능하게 하고 의미가 잘 정의된 정보가 유통되도록 현재의 웹을 확장한
개념이다.
시맨틱 웹 설계를 위한 모델링은 3개 계층(layer)으로 구성된다. 기본 명제 모델 계층(basic assertion model layer),
스키마 계층(schema layer), 논리 계층(logical layer). 명제 계층에서의 명제는 주어(subject), 술어(predicate), 목적어
(object)의 집합으로 구성된다. 주어와 목적어로는 웹 자원이, 술어로는 웹 자원 또는 리터럴(literal)이 사용된다. 일반적으로
주어는 자원을, 술어는 자원에 대한 속성(property)을, 목적어는 속성에 대한 값으로 명시된다.
명제 모델의 자원 속성 표현의 세분화로 인해 자원에 대한 좀 더 정교한 기술이 가능해지고, 자원들간의 관계 설정이 속성을
통해 무한으로 가능하게 된다. 각각의 자원들은 URI를 통해 고유 식별자를 가지게 된다. 자원을 기술하는 속성 이름 또한
고유한 URI를 통해 XML Namespace에 정의되어진 속성을 사용함으로써 상호간 의미 충돌을 막는다.
속성의 값으로는 다른 URI가 지정될 수 있으며, 속성 값으로 지정된 자원 역시 다시 기술의 대상이 되기 때문에 그 자원에
대한 속성과 속성 값을 다시 부과할 수 있다. <그림1>은 “http://www.kaywon.ac.kr/ professors#hyoun 자원의 이름은
‘Jong-Hyoun’ 이며 gameware에 소속돼 있다”는 명제를 RDF 그래프로 표현한 것이며, 이것은 기본 명제 모델 계층에서
RDF(Re-source Description Framework) 언어로 기술된다.
스키마 계층에서는 명제 모델 계층에서 기술된 자원이 어떠한 클래스에 속하며, 그 자원을 기술하는데 필요한 속성에 대한
정의를 표현한다. 스키마 계층을 통해 클래스와 클래스 간의 관계, 속성과 속성간의 관계 등을 정의할 수 있으며, 사람이
이해하는 동시에 기계 처리가 가능한 형태로 메타데이터의 속성과 클래스간의 관계가 기술될 수 있다.
이러한 기술은 RDFS(RDF-Schema) 언어를 통해 구현된다. <그림2>는 rdf#type과 rdfs#subClassOf predicate를 이용해
각각 클래스와 인스턴스, 그리고 클래스와 클래스 관계를 보여 주는 RDF 그래프이다.
논리 계층에서는 RDF-스키마에 좀더 다양한 표현력을 부가해 논리적인 추론이 가능하게 해 비로소 웹의 의미를 기계가 이해
할 수 있는 단계까지 발전시켜 시맨틱 웹 문서를 완성하게 된다. 논리 계층에서는 클래스간의 동질관계, 역관계, 유니온
(union), 인터섹션(intersection) 등의 주요 관계를 설정할 수 있고 클래스 속성간의 transi-tive, symmetric, inverse,
functional 관계를 규정함으로써 직접 정의되지 않은 사실에 대한 논리적 유추가 가능하도록 한다. 논리 계층은 DAML+OIL
(DARPA Agent Markup Language+ Ontology Inference Layer) 또는 OWL(Web Ontology Language) 언어를 이용해 구현
한다.
작성된 시맨틱 웹 문서는 Java나 C++ 언어를 이용해 내부적으로 XML 및 RDF로 분석(parsing)된 후 RDF 그래프와 logic
Formula로 변환돼 시맨틱 웹 엔진의 논리적 추론에 사용되며 꼬리를 무는 URI를 통해 이러한 작업이 반복적으로 진행된다.
다음 그림은 HTTP를 통해 URI를 반복적으로 접근해 논리적 추론을 하는 과정을 보여 준다. 이러한 작업을 수행할 수 있는
API로 RDF API , Jena 등이 있다.
응용 분야
시맨틱 웹 개념은 카탈로그/시소러스 관리, 데이터 통합, 데이터 종속 에이전트, 지식 구축 및 관리, 온톨로지 관리, 미디어와 콘텐츠에 대한 메타데이터 구축, 그리고 개인 정보관리 등 광범위한 영역에 적용될 수 있다. 현재 운용중인 시맨틱 웹 애플리
케이션 몇 개를 소개한다.
● Haystack
aystack은 개인정보의 통합관리환경의 제공을 목표로 모든 정보를 동일한 RDF로 표현한다. RDF 데이터, 온토롤지, 스키마
파일과 관계되는 시맨틱 사용자 인터페이스를 제공한다. 시맨틱 사용자 인터페이스에서의 뷰(views)는 이질적인 데이터
객체와 연결돼 있어 데이터의 변화는 뷰에 동기화 돼 반영된다. ‘Selector’뷰는 특정 데이터 타입의 뷰들을 선택하는 데 사용
되고 ‘Stacker’뷰는 해당 아이템들의 집합을 표시하는 데 이용된다. 이러한 뷰의 배치 및 뷰간의 연결은 사용자의 의도대로
행해질 수 있어 사용자 관점에서 개인정보가 관리될 수 있도록 설계되었다.
● TAP
TAP은 질의어에 대한 추론적 탐색을 가능케 한 프로젝트이다. 단순 텍스트 검색을 넘어 사용자의 의중과 검색어의 시맨틱을 유추하는 시맨틱 검색의 진일보를 보여 준다. ‘Yo-Yo Ma’라는 검색에 Yo-Yo Ma가 음악가라는 정보와 콘서트 일정, 앨범,
포스터, 경매 등에 대한 정보를 얻을 수 있다. 티켓마스터에서 그의 공연이 8월 20일 뉴욕에서 있다는 정보를, 이베이(eBay)
에서 그의 CD를 10분간 경매한다는 정보를, CDNow에서 그의 CD를 14.99$ 가격에 판다는 정보를 얻어 종합적으로 보여주
는 식이다.
● Adobe XMP
Adobe eXtensible Metadata Platform (XMP)은 미디어 파일 내에 메타데이터를 포함(embedding) 시키는 고유 포맷이다.
XMP는 RDF를 기본으로 외부에 정의된 RDF 스키마 내의 데이터를 확장하고 지원한다. 현재 Photoshop 7.0, Acrobat 5.0,
FrameMaker 7.0, GoLive 6.0, InCopy 2.0, InDesign 2.0, Illustrator 10 and LiveMotion 2.0 제품에 XMP를 이용하고 있다.
애플리케이션 파일 안에 데이터를 임베드 시킴으로써, XMP는 미디어 객체의 기록보관 및 출판 작업의 자동화에 크게 기여
한다.
향후 과제
현재 우리는 시맨틱 웹 기술의 가능성을 현실화할 수 있는 기회를 갖고 있다. 시맨틱 웹을 위한 인프라스트럭처, 개발언어,
추론 엔진 등 모든 것은 이미 준비돼 있다. 사용자의 업무 수행에 도움을 줄 수 있도록 정보를 통합, 조합, 추론하는 애플리케
이션을 만드는 작업만이 남아 있다.
참고자료
Semantics is the branch of linguistics that deals with the meanings of words and sentences.
http://www.isi.edu/in-notes/rfc2396.txt
http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
http://www.w3.org/TR/2004/REC-rdf-schema-20040210/
http://www.w3.org/TR/daml+oil-reference
http://www.w3.org/TR/2004/REC-owl-guide-20040210/
http://www-db.stanford.edu/~melnik/rdf/ api.html
http://www.hpl.hp.com/semweb/
출처명: 경영과컴퓨터 [2005년 8월]
'기술 > Web2.0 & Semantic Web' 카테고리의 다른 글
'집단지성', 웹으로 민중문화를 복원하다. (0) | 2010.01.03 |
---|---|
「한국형 웹2.0 서비스」의 현 주소 (0) | 2010.01.02 |
시맨틱웹과 웹2.0의 차이는? (0) | 2009.09.22 |