구글와이드(336x280)_상단 2개


'정보과다'의 문제와 시맨틱 웹 기술 "정보"란 무엇인가?

BIZ 칼럼_정보 과다를 해결할 ‘여우 서비스’ 이야기 시맨틱 웹 기술
경컴 기자 kyungcom@kyungcom.co.kr - 2006년 4월호
정보 과다를 해결할 ‘여우 서비스’ 이야기
시맨틱 웹 기술의 응용


웹은 ‘정보 획득’의 문제를 해결하면서 동시에 또 다른 문제를 야기했는데, 그것은 ‘정보 과다’ 문제다. 온갖 사람들이 각종 정보를 웹에 올리게 되면서 웹에서 자신이 원하는 정보를 빠른 시간 내에 정확하게 찾는 것이 점점 더 어려워지게 된 것이다. 이 문제는 또 다시 정보 기술의 도움을 받아 해결할 수밖에 없었고, 그러한 기술 중 현재 가장 각광받고 있는 기술이 시맨틱 웹(Semantic Web)이다.
송 용 욱 | 연세대 경영학부 교수
yusong@yonsei.ac.kr


웹의 발전

모든 학문과 기술이 그러하듯 정보 기술도 문제 발견과 문제 해결의 선 순환 속에 발전했다. TCP/IP 기술은 컴퓨터 플랫폼에 상관없는 자료의 안정적인 전송 문제를 해결했다. 그러나 TCP/IP기술을 기반으로 한 초기의 인터넷은 미리 정해진 사람간의, 즉 특정 소수간의 자료 전송만을 보장했다. 인터넷에서 불특정 다수간의 자료 전송을 가능하게 한 최종 기술은 TCP/IP 기술에 HTML과 HTTP를 추가한 웹(Web)이다.

웹은 상호운영성(Inter-operability), 표준화 등을 무기로 누구나, 언제, 어디서나 필요한 정보를 획득할 수 있는 체제를 구축했다. 그러나 웹은 ‘정보 획득’의 문제를 해결하면서 동시에 또 다른 문제를 야기하였는데, 그것은 ‘정보과다’의 문제다.

온갖 사람들이 각종 정보를 웹에 올리게 되면서 웹에서 자신이 원하는 정보를 빠른 시간 내에 정확하게 찾는 것이 점점 더 어려워지게 된 것이다. 이 문제는 또 다시 정보 기술의 도움을 받아 해결할 수밖에 없었고, 그러한 기술 중 현재 가장 각광받고 있는 기술이 시맨틱 웹(Semantic Web)이다. 정보 처리 측면에서 시맨틱 웹은 크게 두 가지 측면에 초점을 맞춘다.

첫째는 ‘정보의 구조화’다. ‘정보과다’의 문제는 사람의 손(수동)이 아닌, 컴퓨터(자동)에 의해 해결될 수밖에 없다. 그러나 정보를 HTML로 표현해 전달하는 기존 웹에서는 그 내용(콘텐츠)이 자연어(Natural Language)로 표시되고, 이것은 자동화 측면에서 자연어 처리(NLP, Natural Lan-guage Processing)라는 아주 어려운 문제를 일으킨다. 따라서 자연어가 아닌 컴퓨터가 용이하게 처리할 수 있는 형태로 정보를 구조적으로 표현할 필요가 있다.

둘째는 ‘정보의 도출’이다. 보통 사람과 사람 사이의 대화 또는 지식의 전달은 수많은 가정과 전제를 바탕으로 짧게 이루어진다. 예를 들어 ‘홍길동이 2006년도 노벨평화상을 받았다’고 하자. 그런데 홍길동의 아버지인 홍판서가 어떤 사람에게 “내 아들이 2006년도 노벨평화상을 받았다”라고 말했다(정보를 제공했다)고 하자. 그러면, 그 정보를 들은 사람은 홍판서가 홍길동의 ‘아버지’라는 사실로부터 그 ‘아들’인 ‘홍길동’이 상을 받았다는 정보를 정확히 받아들이게 된다. 하지만 ‘정보의 도출’ 기능이 없는 컴퓨터에게 ‘내 아들이 2006년도 노벨평화상을 받았다’라는 정보는 ‘홍길동이 2006년도 노벨평화상을 받았다’라는 정보와는 전혀 무관하게 처리된다. 즉 ‘내 아들이 2006년도 노벨평화상을 받았다’라는 정보만 입력받은 컴퓨터에게 ‘2006년도 노벨평화상을 받은 사람은?’이라는 질의를 하면 컴퓨터가 해 줄 수 있는 답은 ‘내 아들’ 뿐이다.

시맨틱 웹 기술

요컨대 시맨틱 웹은 정보의 과다와 불완전성을 자동으로 처리하여 특정인이 원하는 정보를 정제된 형태로 제공하기 위한 정보 기술이다. 시맨틱 웹의 핵심 기술은 XML, RDF, RDF Schema, OWL, SW RL 등이다. 이중 XML, RDF는 정보의 구조화에 초점을 맞춘 기술이고, RDF Schema, OWL, SWRL 등은 정보의 도출에 초점을 맞춘 기술이다.

XML은 원래 HTML(Hypertext Mark-up Language)의 단순성을 극복하기 위해 개발되었다. HTML은 화면 디스플레이에 초점을 맞춘 정보 표현 언어로서 그 기능이 극히 제한돼 있었다. HTML 기능 제한의 근원은 태그(Markup Tag)가 미리 결정되어 고정되어 있는데 있었으며, 이를 극복하기 위하여 태그를 임의로 추가 지정할 수 있도록 만들어진 것이 XML(eXtensible Markup Language)이다. 하지만, 태그를 지정할 수는 있으되, 태그 자체를 지정해 놓은 것은 아닌 XML은 생물학의 줄기세포와 같은 역할을 할 뿐, 그 자체가 특정 기능을 할 수 있는 것은 아니다. 시맨틱 웹이 추구하는 정보의 구조화 및 정보의 도출 기능을 수행하기 위하여 XML 태그를 구체적으로 지정한 것들이 RDF, RDF Schema, OWL, SWRL 등이다.

RDF는 모든 정보를 ‘Resource, Pro-perty, Value’ 형태(이것을 트리플(Tri-ple)이라고 부른다)로 표현하기 위한 기술(규약, 표준)이다. 또한, Resource, Property, Value를 XML 문서로 표현하기 위한 XML 태그들도 지정해 놓았다. 예를 들어 ‘홍길동이 2006년도 노벨평화상을 받았다’라는 정보는 트리플 ‘홍길동, 받다, 2006년도 노벨평화상’의 형태로 표현할 수 있으며, 이것을 다시 RDF에 의해 지정된 태그들을 써서 XML 문서로 표현하면 다음과 같다.

xmlns:rdf=”http://www. w3.org/1999/02/22-rdf-syntax-ns#”
xmlns=”http://yonsei.ac.kr/person-ns#”
xml:base=”http://yonsei.ac.kr/person”>
<받다>2006년도 노벨평화상</받다>
RDF-Schema는 정보의 분류(Tax-onomy)를 표현하고 활용하기 위한 기술이다. 특이하게도, RDF-Schema는 정보의 분류를 표현하기 위해 다시 RDF를 이용하는데, 구체적으로 말하면, subClassOf라는 Property를 갖는 트리플을 이용한다. 예를 들어, 2006년도 노벨상에는 2006년도 노벨평화상, 2006년도 노벨의학상이 있다면, RDF-Schema는 노벨상의 분류에 대한 위 정보를 다음 두 개의 트리플로 표현한다.

(2006년도 노벨평화상, subClassOf, 2006년도 노벨상)
(2006년도 노벨의학상, subClassOf, 2006년도 노벨상)

여기에, 다음과 같은 두 개의 RDF로 표현된 정보가 있다고 하자.

(홍길동, 받다, 2006년도 노벨평화상)
(허준, 받다, 2006년도 노벨의학상)

그러면, RDF-Schema로 표현된 ‘2006년도 노벨상’의 분류에 관한 정보와 RDF로 표현된 홍길동 및 허준의 수상 상황에 대한 정보로부터 ‘2006년도 노벨상’을 받은 사람들이 홍길동과 허준이라는 정보를 도출할 수 있게 된다. 일반적으로 사람과 사람 사이에 대화를 할 때, 또는 웹에 정보를 올려 놓을 때, 위 4개의 트리플로 표현된 것과 같은 정보 외에 ‘2006년도 노벨상’을 받은 사람들이 홍길동과 허준이라는 정보까지 꼬치꼬치 올려놓지는 않는 점에 유의하기 바란다. 이 시점에서 RDF-Schema의 정보 도출 기능이 그 능력을 발휘하게 되는 것이다.

OWL(Ontology Web Language)은 분류라는 개념과 개념 사이의 상하관계를 표현함으로써 새로운 정보를 도출할 수 있도록 한 RDF-Schema의 기능을 더욱 발전시켜서 더 많은 관계들을 풍부하게 표현할 수 있게 함으로써 추론에 의한 정보 도출 기능을 더욱 확장시킨 기술이다. OWL이 추가로 도입한 관계로는 Symmetric, Transi-tive, Functional, Inverse, Inverse Func-tional 등이 있다. 지면 관계상 Inverse 관계만 간단히 설명해 보도록 하겠다. 예를 들어 ParentOf와 ChildOf가 Inverse관계가 있다는 것은 OWL에 의해 다음과 같은 RDF 트리플로 표현된다. (이러한 정보를 온톨로지(Ontology)라고 부른다.)

(ParentOf InverseOf ChildOf)

그리고, 가족 관계에 대한 정보가 다음과 같이 RDF 트리플로 표현되어 있다고 하자.

(홍길동 ChildOf 홍판서)

그러면, (ParentOf InverseOf ChildOf) 온톨로지에 의해, 위 트리플은 다음 트리플과 동일하다.

(홍판서 ParentOf 홍길동)

따라서, (?x ParentOf 홍길동)이라는 질의에 대해서 ‘?x = 홍판서’라는 결과를 도출할 수 있게 된다. 다시 말하면, ‘홍길동이 홍판서의 자제다’라는 정보가 있고, ‘홍길동의 부모는 누구냐?’라는 질의가 있을 때, ‘자제’라는 말은 ‘부모’라는 말의 역관계라는 온톨로지를 바탕으로, ‘홍판서’라고 대답할 수 있다는 뜻이다. 이렇게 온톨로지를 이용하여 새로운 사실을 도출하는 것을 온톨로지 추론이라고 부른다.
정보의 도출이라는 측면을 좀 더 자세히 들여다보면, 개념과 개념 사이의 관계가 RDF-Schema나 OWL에서 정한 sub ClassOf나 Symmetric, Inverse 등의 관계만 있는 것도 아니고, 또한 정보의 도출이 관계만을 바탕으로 한 것도 아니다. 게다가, 그런 것들을 미리 특정하여 정해놓을 수 있는 것도 아니다. 즉, 정보 제공자 또는 사용자가 필요에 따라 정보 도출 규칙을 정하여 활용할 수 있어야 한다. 일반적으로 새로운 정보를 도출하는 것을 추론(Inference)이라고 부르며, 정보 도출 규칙을 표현해 놓을 것을 규칙(Rule)이라고 부른다.

시맨틱 웹 응용

KT와 연세대, 서울대, 원광대가 협동으로 시맨틱 웹 기술을 바탕으로 상용화를 추진 중인 응용 서비스가 ‘여우 서비스’다. 여우 서비스는 영화 정보 서비스를 응용분야로 하여, 트리플로 표현된 사용자, 영화관, 할인 등에 관한 정보에 온톨로지 추론과 영화 관련 규칙을 적용, 사용자에 딱 맞는 1 대 1 정보 서비스를 목표로 하는 시맨틱 웹 기반 서비스이다.

예를 들어 ‘강남에서 (나에게) 가장 저렴한 영화관은?’이라는 질의를 처리하는 과정을 살펴보자. 먼저, 사용자 정보가 다음과 같은 트리플로 표현되어 있다.

(Customer_1 hasMembershipCard Membership_Card_1)
(Customer_1 hasScheduleStartTime 2006-01-16T18:00:00)

여기서 Customer_1이 사용자이며, 위 두 트리플은 사용자가 Membership_ Card_1이라는 할인카드를 갖고 있으며, 2006년 1월 16일 오후 6시 이후에 영화를 보려고 한다는 정보를 표현하고 있다.

(Theater_4 name 브로드웨이시네마)
(Theater_4 listPrice 7000)
(Theater_4 hasAddress Location_4)
(Location_4 address “서울 강남구 논현동 3-5”)

위 4 트리플은 브로드웨이시네마 극장의 정상가격과 위치(주소)를 표현하고 있다.

(Affiliation_1 rdf:type SingleAffiliation)
(Affiliation_1 affiliatedCard Membership_ Card_1)
(Affiliation_1 affiliatedTheater Theater_4)

위 세 트리플은 브로드웨이시네마 극장이 Membership_Card_1에 대해 할인 협정이 맺어져 있음을 표현하고 있다. 할인은 일정 금액이 적용될 수도 있고, 일정 비율이 적용될 수도 있으므로 규칙으로 표현되어야 한다. 카드 소지자에게 1,500원을 할인해 주는 브로드웨이시네마 극장의 Mem-bership_Card_1에 대한 할인 규칙은 다음과 같이 표현된다.

(?cust, hasCard, Membership_Card_1)
(?a, rdf:type, SingleAffiliation)
(?a, affiliatedCard, Membership_Card_1)
(?a, affiliatedTheater, ?t)
(?t, listPrice, ?lp)
swrlb:subtract(?dp, ?lp, 1500)
(?a, discountedPrice, ?dp)

또한, hasMembershipCard가 has Card의 하위 관계라는 온톨로지도 표현된다.

(hasMembershipCard subPropertyOf hasCard)

마지막으로, ‘강남에서 (나에게) 가장 저렴한 영화관은?’이라는 질의를 처리하기 위해서는 강남 영화관들의 할인 가격을 알아야 한다. 이를 위한 여우 서비스의 질의는 다음과 같은 구조적 문장으로 표현된다.

SELECT ?Theater549 ?Movie933 ?Person_
WHERE
{ { ?Theater549 fox:has Address ?Theater549_location .
?Theater549_location fox:address
?Theater549_address .
FILTER regex(?Theater549_ address, “강남”, “i”)
?Theater549_affiliated
fox:affiliatedTheater ?Theater549 ;
fox:discountedPrice ?Theater549_dp.
} }

위 질의문을 처리하기 위하여 여우 서비스에서는 질의문의 WHERE 이하에 표현된 트리플과 일치하는 트리플들을 검색해 나간다. 특히, FILTER regex(?Theater 549_address, “강남”, “i”) 부분에서는 문자열 비교를 통하여 주소에 ‘강남’이라는 문자열이 있는 영화관을 검색하게 되며, (?Theater549_affiliated fox:discounted Price ?Theater549_dp) 부분에서는 규칙을 이용하여 추론을 진행함으로써 ?Thea-ter549_dp의 값으로 1,500원이 할인된 5,500원을 얻어내게 된다. 규칙 추론 과정에서 hasMembershipCard가 hasCard의 하위 관계라는 온톨로지를 이용한 온톨로지 추론도 진행한다.

맺음말

지금까지 살펴본 바와 같이 시맨틱 웹은 인터넷의 과도한 그러나 불완전한 정보들을 사용자의 요구에 맞게 검색하여 온톨로지 추론 및 규칙 추론을 이용하여 정제된 형태로 제공하기 위한 기술이다. 이러한 목적에 부합하기 위하여 RDF, RDF-Sche-ma, OWL, SWRL 등 다양한 기술들이 개발되었고, 또한 여우 서비스 등으로 실용화 노력이 이루어지고 있다. 그럼에도 불구하고, 대부분의 웹문서들이 아직까지 HTML 기반으로 되어 있는 현실에서 당장 시맨틱 웹 대중화를 기대하기 어려운 것이 현실이다. 그러나, 넘쳐나는 정보의 홍수 속에 정제된 정보의 필요성이 갈수록 절실해지고 있는 것은 분명하며, 이에 따라 시맨틱 웹 기술과 그 응용 사례들이 일부 영역으로부터나마 시작되어 점차 확대되어 갈 것을 조심스럽게 기대해 본다.

null



바보들의 영문법 카페(클릭!!)

오늘의 메모....

시사평론-정론직필 다음 카페
http://cafe.daum.net/sisa-1

바보들의 영문법 다음 카페
http://cafe.daum.net/babo-edu/

티스토리 내 블로그
http://earthly.tistory.com/

내 블로그에 있는 모든 글들과 자료에 대한 펌과 링크는 무제한 허용됩니다.
(단, 내 블로그에 덧글쓰기가 차단된 자들에게는 펌, 트랙백, 핑백 등이 일체 허용되지 않음.)

그리고 내 블로그 최근글 목록을 제목별로 보시려면....
바로 아래에 있는 이전글 목록의 최근달을 클릭하시면 됩니다.
그러면 제목을 보고 편하게 글을 골라 보실 수 있습니다.

그리고 내 블로그내 글을 검색하시려면 아래 검색버튼을 이용하시면 됩니다.


가가챗창

flag_Visitors

free counters