티스토리 뷰

이 책의 목표는 시맨틱 웹으로 작업하는 데 필요한 도구를 제공하는 것이다. 사실 W3C에서 추상 구문(abstract syntax), 모델 기반 의미론(model based semantics), 참조 구현(reference implementations), 테스트 케이스(test case) 등 시맨틱 웹 언어에 대한 권고안을 제공하고 있다. 이 도구들 역시 다른 도구처럼 기본 도구와 훨씬 더 전문화된 도구로 나눌 수 있다. 이 책은 기본 도구를 사용해 시맨틱 웹 시스템을 구축하는 기술을 설명한다. 이를 통해 이해하기 쉽고 유용하고 내구성이 있고 아름다운 시맨틱 모델(온톨로지)을 어떻게 만드는지 보여줄 것이다.

 

1.1 웹이란?

1945년 바네바 부시는 방대한 문서 모음과 문서 간의 연결을 관리하는데 문제가 있음을 발견하고, 이 문제를 해결하기 위해 문서에 있는 연관 링크의 저장과 관리를 외부화,자동화 하자는 아이디어를 설명했다. 그는 Memex(메모리 확장)라는 가상의 장치를 사용하여 자신의 아이디어를 설명했다. 이 장치는 작업 문서들과 문서 간의 연관 링크를 연구하고 연결하고 기억하는데 도움이 된다. 그로부터 20년 후 테드 넬슨은 컴퓨터를 사용하여 이 아이디어를 구현하고자 했다. 그는 하이퍼텍스트와 하이퍼미디어 구조를 사용하여 문서의 일부를 연결하는 방법을 제안했다. 1960년대 후반 더글라스 엥겔바트는 증강 프로젝트를 통해 마우스와 새로운 상호작용 도구를 개발하여 하이퍼텍스트를 편집하고 탐색하는데 적용하였고, 1970년대 초반 빈튼 서프의 연구는 전 세계 컴퓨터를 연결하는 인터넷의 출현을 이끌었다.

 

1980년매 말에 팀 버너스리(Tim Berners-Lee)는 인터넷에 하이퍼미디어를 배포하기 위한 새로운 아키텍쳐, 즉 WWW를 제안했다. 웹은 동일한 시스템에 없는 문서를 연결하기 위한 목적으로 탄생하였다. 이를 구현하기 위해 인터넷을 통해 문서를 연결시키는 하이퍼텍스트 인프라를 제공한다. 웹 아키텍처는 웹 브라우저로 대표되는 웹 클라이언트와 클라이언트에게 문와 데이터를 제공하는 웹 서버로 구성된다. 웹 아키텍처를 동작하려면 다음과 같은 세 가지 필수 구성 요소가 있어야 한다.

  1. 웹에 있는 문서를 식별하고 찾을 수 있는 주소가 있어야 한다.
  2. 클라이언트가 서버에 연결하고 요청을 보낸 후 응답을 수신할 수 있는 통신 프로토콜이 있어야 한다.
  3. 웹 페이지의 내용과 전송할 문서를 기술하는 표현 언어가 있어야 한다.

1.2 데이터로 소통하기(커뮤니케이션하기)

여러 경우에서 누군가는 공유하고 싶은 대상에 대한 지식을 가지고 있다. 이러한 지식은 비지니스, 과학 데이터 또는 복잡한 금융 상품에 대한 정보일 수 있다. 가능한 소비자 커뮤니티에 데이터를 홍보하고 웹 페이지뿐 아니라 검색엔젠, 개인비서, 매시업, 리뷰 사이트, 지도 등 많은 채널에서 해당 데이터를 사용할 수 있도록 한다면 데이터 소유자에게는 최선의 이익이 될 것이다. 그러나 데이터가 너무 특이하거나 상세하거나 복잡하기 때문에 단순히 설명을 작성하여 공개하기 어렵다. 사실 이런 데이터를 얻는 것이 그들의 관심사이기 때문에 데이터가 필요한 적절한 사람을 찾고 어떻게 사용할 수 있는지를 파악하기 위해 노력한다.

 

 

1.3 분산 데이터

식당의 메뉴판과 같은 정보는 사람이 읽을 수 있도록 데이터를 게시했지만 자동화된 개인 비서는 데이터를 읽을 수 없다. 한 가지 해결 방은은 웹 페이지를 읽고 해당 내용을 이해해 영업 시간을 파악하는 정교한 알고리즘을 개발하는 것이다. 인간의 해석이 필요하고 특정 청중을 위한 정보 표현에서 기계 사이의 데이터 교환으로 이동하는  것이다. 즉, 데이터를 해석할 때 인간의 직관에 의존하지 않고 데이터 공급자가 데이터를 더욱 쉽게 사용하도록 하는 것이다. 이때, 데이터를 더 쉽게 소비할 수 있도록 데이터를 공유하려는 욕구를 이용할 수 있다. 각 데이터 출처는 한 사람에게 하나의 사물을 전달하는 단일 지점이 아닌 상호 연결된 데이터 네트워크라는 복합적 의미를 갖는다. 데이터를 활용하고자 하는 사용자와 컴퓨터 애플리케이션은 데이터를 공유하는 것이 이익이라는 사실을 이용하여 데이터 공급자와 협업한다.

 

분산된 데이터 웹

시맨틱 웹은 분산 데이터에 대한 아이디어를 웹 전체에 적용하여 한 간계 더 발전시킨다. 우리에게 익숙한 웹 아키텍처는 URL(Uniform Resource Locators)이라는 전역링크로 서로를 참조할 수 있는 하이퍼텍스트 페이지의 분산 네트워크를 지원한다. 웹 아키텍처는 이 개념을 URI(Uniform Resource Identifier)로 일반화하여 하이퍼텍스트 웹 이외의 맥락에서 사용할 수 있도록 한다.

시맨틱 웹의 주요한 개념은 표현 수준이 아닌 데이터 수준에서 분산 웹을 지원하는 것이다. 하나의 웹 페이지가 다른 웹 페이지를 가리키도록 하는 대신, 하나의 데이터 항목은 웹이 사용하는 것과 동일한 전역 참조 ㅁ메커니즘을 사용하여 다른 항목을 가리킬 수 있다. 

 

시맨틱 웹은 분산 데이터 문제에 직면해 있다. 하이퍼텍스트 웹이 문서의 가용성에 대한 생각을 바꾸었듯이 시맨틱 웹은 데이터에 대한 근본적인 사고방식을 바꾸고 있다. 처음 보면 분산 데이터는 쉬울 수 있다. 데이터베이스를 웹에 게시하면 된다. 그러나 분산된 데이터 웹으로서 제 역할을 하도록 하려면 다양한 설계에 걸쳐 여러 이해 관계자들 간에 데이터를 공유하는 역학 관계를 이해해야 한다. 서로 다른 출처에서 동의하거나 동의하지 않을 수 있으며, 여러 출처의 데이터를 결합하여 단일 주제에 대한 더 많은 통찰력을 얻을 수 있다. 분산 데이터는 다양한 이해 관계자들에게 제공되는 것을 의미한다. 따라서 데이터를 의미있는 방식으로 결합하는 방법을 이해해야 한다.

 

시맨틱 웹의 특징

 

WWW는 정보 공유에 대한 근본적이면서도 새로운 사고방식의 결과더. 웹에 대한 사고방식은 시맨틱 웹과 같은 데이터 웹에 적용될 때 훨씬 더 심오한 결과를 가져온다. 정보 공유는 시맨틱 웹 표준 설계를 주도했고 양질의 시맨틱 웹 어플리케이션을 구축하는 기술에 큰 영향을 주고 있다.

 

목소리를 들려줘...

WWW에서 게시는 대체로 콘텐츠 제작자에 의존한다. 제작자는 자신만의 웹 페이지를 만들고 하고 싶은 말을 할 수 있다. 웹에서 이 기능은 매우 중요한 역할을 하므로 누구나 모든 주제에 대해 무엇이든 말할 수 있다는 AAA(Anyone can say Anything about Any topic) 슬로건을 붙인다. 하이퍼텍스트 웹에서 AAA 슬로건은 누구나 원하는 대로 페이지를 작성하여 웹 인프라에 게시할 수 있다는 의미다. 시맨틱 웹의 AAA슬로건은 웹 아키텍처가 어떤 개인이 다른 출처의 데이터와 결합할 수 있는 방식의 특정한 개체에 대한 데이터 표현할 수 있음을 의미한다. 이 요구 사항은 RDF 설계의 일부 기초를 설정한다.

 

한편, 웹은 귀중한 보물들로 가득하지만 지나치게 커져서 서로 얽혀 있는 데이터 광야와 같다. 한 명의 데이터베이스 관리자가 데이터베이스에 대한 추가, 수정 작업을 처리하는 대규모 기업 데이터 센터의 상황과 달리 웹에는 정보 통제자가 업다. 웹에서는 무엇이든 생겨날 수 있다 분산된 데이터 웹은 모든 출처에서 데이터가 제공되는 유기적인 시스템이다.

 

... 내가 말할게!

하이퍼텍스트 웹 초기에 회의론자들은 하이퍼링크 페이지로 가득 찬 전 세계 분산 웹의 실현 가능성을 낮게 보았다. "누가 그 모든 콘텐츠를 만들 것인가? 누군가는 웹 페이지를 작성해야만 한다!"

회의론자뿐만 아니라 수많은 지지자들 조차 놀랄만한 답변이 나왔다. 바로 모든 사람이 콘텐츠를 제공해야 한다는 것이다. 누구나 모든 주제에 대해 무엇이든 말할 수 있는 웹 인프라가 만들어지자 사람들이 참여하기 시작했다. 이러한 추세가 계속됨에 따라 위키백과와 영화 데이터베이스와 같은 '클라우드소싱' 자원들이 생성되었다. 이는 광범위한 유틸리티를 사용하여 공동으로 편집하는 정보 출처다. 이러한 효과로 매일 10억 명의 사람들이 기여하는 소셜 네트워크가 만들어졌고, 이들의 기여가 모여 그 자체로 상당한 가치를 지닌 거대한 데이터 출처로 거듭나고 있다.

 

분산 액세스를 위해 이 데이터를 RDF로 변환하는 작업을 누가 하고 있는가? 시맨틱 웹 초기에는 데이터를 변환할 동기가 크지 않아 주고 시맨틱 웹 기술 자체에 관심이 있는 사람들이 직접 수행했다. 그러다 점점 더 많은 데이터를 RDF 형식으로 사용할 수 있게 됨에 따라 분산 데이터를 활용하는 애플리케이션을 개발할 필요성이 커졌다.

 

디비피비다(DBpida)라는 위키백과의 RDF 버전, 대규모 정부 데이터 세트를 포함하여 몇 개의 공개 데이터 소스가 RDF 형식으로 존재한다. 소규모 소매 업체는 Schema.org라는 공유 기술 프레임워크를 사용하여 RDFa라는 시맨틱 웹 형식으로 제품에 대한 정보를 게시한다. 페이스북 콘텐츠 관리자가 RDFa와 개방평 그래프 프로토콜(Open Graph Protocol)이라는 형식을 사용하여 구조화된 데이터를 제공할 수 있다. 이런 종류의 데이터 소스가 존재하면 시맨틱 웹을 위해 링크된 형태로 데이터를 생성하는 것이 더 유용해진다. 시맨틱 웹 설계는 하이퍼텍스트 웹을 구동했던 것과 동일하게 네트워크 효과에 따른 이익을 얻을 수 있게 한다.

 

링크드 오픈 데이터 클라우드(Linked OPen Data Cloud)는 이러한 방향을 따르는 노력의 예이다. 2007년부터 아일랜드 국립 대학교의 연구진은 다양한 주제에 대한 연결된 데이터 세트를 조합하는 프로젝트를 시작했다. 프로젝트 초기에는 데이터 세트를 클라우드에 포함시키려는 동기가 거의 없었지만 더 많은 데이터 세트가 연결되면서 새로운 데이터 세트를 포함시키는 것이 더 쉽고 가치 있게 되었다. 물론 데이터 웹 자체는 훨씬 더 크다. 링크드 오픈 데이터 클라우드에는 지리, 정부, 생명과학, 언어학, 미디어, 출판물을 비롯한 다양한 분야의 데이터 세트가 포함되어 있다. 

 

이와 같은 표준에 기반한 또 다른 노력을 지식그래프(Knowledge Graph)라고 한다. 이 이름은 광범위한 정보 공유 접근 방식을 의미하지만, 2012년경 구글이 지식그래프라는 것을 사용하여 검색을 더욱 지능적으로 만든다고 발표하면서 이 용어가 인기를 얻었다. 지식그래프라는 이름은 이제 널리 알려졌으며, 현재 산업 호나경에서 시맨틱 웹 기술과 엔터프라이즈 수준의 접근 방식을 지칭하는 데 사용되고 있다. 

 

지구는 둥글다?

네트워크 효과는 WWW와 같은 거대한 정보 네트워크를 만드는 데 필요한 노력을 모으는 효과적이고 강렬한 방법임이 입증되었다. 네트워크 효과가 유지되려면 웹상의 다양한 정보 변화에 대응할 수 있어야 한다. 때때로 정보의 차이는 합의된 영역에서 사소한 세부 사항일 수 있지만, 다른 차원에서 사회의 정치적 문화적 담론을 주도하는 본질적인 불일치가 될 수 있다. 의견이 일치하지 안는 이유 중 일부는 동의할 수 없지만 기술적 관점에서 서로 다른 의견을 구분할 방법이 없다. 웹 인프라는 정보가 때로 일치하지 않을 수 있고 이것이 일시적인 현상이 아니라는 사실에 대처할 수 있어야 한다. 다양성과 불이리가 존재하는 것이 바로 웹의 본질이다.

 

시맨틱 웹은 종종 모든 사람이 단일 온톨로지, 즉 모든 사람들이 단일한 용어 집합에 동의하도록 하기 위한 노력으로 오해되기도 한다. 그러나 웹의 작동 방식으로 보면 이는 단순한 오해일 뿐이다. 시맨틱 웹은 모든 사람이 동의하도록 하는 것이 아니라, 모든 사람이 동의하지 않는 세상을 가정하고 어느 정도의 상호운용성을 달성하는 것이다. 데이터 자체에서도 의견 차이를 발견할 수 있다. 예를 들어, 분쟁에서 발생한 사상자의 규모는 관련 당사달과 매우 다른 값의 데이터로 웹에 게시될 수 있다. 어떤 주제에 대해 항상 여러 개의 웹 페이지가 있는 것처럼, 항상 여러 개의 온톨로지와 여러 개의 진술문이 생성된다. 웹을 성공으로 이끌고 웹 이전의 어떤 것과도 다르게 만든 핵심은 다양한 관점이 공존할 수 있도록 했다는 점이다.

 

각자의 몫으로

웹 아키텍처는 의견의 다양성을 어떻게 지원할 수 있을까? 즉, 두 사람이 같은 주제에 대해 어떻게 다른 말을 할 수 있을까? 이 문제에 대한 두 가지 접근 방식이 있다. 먼저 웹 환경에서 어떤 진술을 할 수 있는지 조금 더 살펴봐야 한다.

IAU는 명왕성에 대해 "명왕성은 왜행성이다"라고 말할 수 있지만, 이 문장은 자연어에 내재된 모호성과 문맥 의존성으로 가득 차 있다. '명왕성'의 의미를 안다고 가정할 수 있으나 '왜행성'도 동일한 의미로 알고 있을까? '왜행성'이 무엇인지에 대해 동의하지 않을 가능성이 있을까? 이런 경우 어떻게 논의할 수 있을까?

 

웹에서 진술을 작성하기 위한 첫 번째 요구 사항은 개체 식별을 위한 전역 방식을 확보하는 것이다. 만약 IAU와 미국 점성가 연맹이라는 두 기관이 언급하고 있다면, 'IAU가 사용하는 명왕성의 개념'과 '미국 점성가 연맹이 사용하는 명왕성의 개념'을 참조 할 수있어야 한다.

명왕성 외에 또 다른 천체도 '왜해성'으로 분류되었다. 이 천체는 UB313 또는 Xena라는 이름으로 알려져 있다. IAU에 UB313으로 알려진 천체가 발견자인 마이클 브라운이 Xena로 부르는 천체와 동일하다는 것을 어떻게 말할 수 있을까?

한 가지 방법은 명칭과 관련한 글로벌 중재자가 개체를 참조하는 방법을 경정하는 것이다. 브라운과 IAU는 둘 다 그 '공식적인'이름을 참조하고, 개별적으로 '별명'을 사용할 수 있다. 물론 IAU는 중재를 위해 적합한 후보지만, 개체 이름을 지정하는 데 2년이 넘게 걸렸다. 합의하여 좋은 전역 이름을 만드는 것이 항상 쉬운 일이 아니다.

 

웹에서는 URI로 이름을 지정한다. URI 표준은 우리 주변의 모든 것에 대한 식별자를 발행하는 규칙을 제공한다. 가장 일반적인 형식의 URI는 웹에서 특정 자원을 찾는 주소로 통용되는 URL이다. 합의가 없을 경우, 서로 다른 웹 작성자가 동일한 자원에 서로 다른 URI를 선택한다. 브라운의 Xena는 IAU의 UB313이다. 서로 다른 출처의 정보가 분산 네트워크에서 통합될 때, 웹 인프라에서 동일한 개체로 처리할 수 있는 방법은 없다. 반면, 2개의 URI가 구분된다고 해서 별개의 자원이라고 가정할 수도 없다. 이것을 시맨틱 웹의 고유하지 않은 명명 가정(Nonunique Naming Assumption)이라고 한다. 즉, 일부 웹 자원이 다른 사람에 의해 다른 이름으로 참조될 수 있다고 가정해야 한다. 고유한 이름이 있으면 좋겠지만 그런 이름을 쓰는 게 불가능할 수도 있다. 예를 들어 IAU 이외의 다른 기관들은 새로운 명명법을 받아들이지 않을 수 있다.

 

항상 하나 더

원칙적으로, 정보의 분산 네트워크에서 네트워크에 있는 모든 정보를 보았거나 하나의 주제에 대해 모든 것을 알고 있다고 가정할 수 없다. 이러한 특징은 우리가 가지고 있는 정보에서 결론을 도출하는 방법에 미묘하지만 깊은 영향을 준다. 웹은 여신 세계로 간주되고 열린 세계 가정(Open World Assumption)을 사용하도록 권고한다. 열린 세계는 새로운 정보가 언제든지 밝혀질 수 있다고 가정하는 곳으로, 어느 한 시점에서 사용할 수 있는 정보가 모두 사용 가능한 정보라고 결론 내릴 수 없다.

 

열린 세계 가정과 대조적으로 대부분의 데이터 시스템은 닫힌 세계 가정(Closed World Assumption)에서 동작한다. 예를 들어, 특정 데이터베이스 스키마를 준수하는 문서 또는 기록을 설정한 문서를 평가할 때와 같은 많은 사오항에서 받힌 세계 가정이 적절하다. 시맨틱 웹 표준에는 적절한 상황에서 닫힌 세계 가저과 함께 작업하기 위한 조항이 있다.

 

시맨틱 웹의 고유하지 않은 이름

웹과 시맨틱 웹에서 링크드 데이터를 처음 접하면, 웹의 진화를 다른 이름으로 표시하고 서로 조금씩 다른 아키텍처를 주장하는 문제를 보게 될 것이다.

 

시맨틱 웹은 다른 여러 이름으로 알려져 있다.

'데이터 웹'이라는 이름은 개인 호텔 목록과 같이 작은 데이터 세트에서 방대한 천문학 데이터 에비스에 이르기까지 모든 규모의 데이터 사일로(silo, 저장탑)를 웹을 통해 개방하고, 필요에 따라 데이터를 교환, 연결, 결합하는 기회를 사용할 수 있음을 의미한다.

'링크드 데이터(Linked Data)'는 하이퍼텍스트 웹에서 웹페이지를 참조하고 연결하는 방식으로 웹 주소 지정과 연결 기능을 사용하여 웹에서 데이터 세트 내부와 데아터 세트 사이의 데이터 조작을 연결할 수 있다는 사실을 의미한다. 구조화된 데이터를 다루고 있다면, 애플리케이션은 링크드 데이터를 처리하고 링크를 따라 더 자동화된 방법으로 새로운 데이터를 발견할 수 있다.

'링크드 오픈 데이터'는 애플리케이션에서 웹의 오픈 데이터를 활용할 수 있는 기회를 제공하며, 서로 다른 출처의 주장을 결합하기 위해 URI를 사용하고 재사용하는데 있어 높은 이점을 제공한다는 점에 초점을 맞춘 이름이다. 그러나 이 이름에서 링크된 데이터가 반드시 개방된 데이터를 의미하지는 않으며, 이 책에서 소개하는 모든 기술도 개인 공간에서 사용될 수 이싿. 기업에서 주로 언급하는 '지식그래프'는 특정 기업에만 해당되지만 기업이 추적해야하는 정보를 포함 할 수 있다. 데이터 세트 외에도 데이터 모델, 스키마, 어휘, 관련 의미론을 교환하는 기능을 강조한다. 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함