전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

시맨틱 웹 시대의 FOAF 기술 분석

전문가칼럼
DBMS별 분류
Etc
작성자
dataonair
작성일
2012-10-19 00:00
조회
8245





소셜로 나아가는 한 걸음

시맨틱 웹 시대의 FOAF 기술 분석



IT 기술의 발전이 최근 가속화되면서 사용자의 데이터 사용 수준이 단순한 정보소비에서 사용자가 참여하고 사용자에 의해 수정·확장되는 개방형 서비스 형태로 변화하고 있다. 웹이 진화하면서 주위의 컴퓨터를 끊이지 않는(Seamless) 네트워킹으로 연결한 인간 중심의 정보 서비스가 등장하고 있으며, 특히 웹 자체가 하나의 거대한 DB로 변화되면서 사용자가 원하는 다양한 정보를 그 사용자의 특성에 맞게 제공할 수 있게 됐다. 이 글에서는 시맨틱 웹 시대에서 새로운 정보를 제공하는 방법 중 하나인 FOAF(Friend of a Friend)를 알아보는 시간을 가져본다.



인터넷의 발전 과정에서 데이터 중심의 시맨틱 웹 기술과 서비스 중심의 웹서비스 기술이 하나의 패러다임인 시맨틱 웹서비스로 진화하고 있다. 또한 시맨틱 웹서비스는 차세대 웹3.0을 위한 핵심 요소 기술로 자리 잡고 있다. 많은 사람들에게 발전된 결과를 제공하기 위한 시맨틱 웹서비스 기술의 목적은 웹서비스에서 검색 기능과 조합 기능을 자동화하는 것이다. 이를 위해 시맨틱 웹서비스는 온톨로지(Ontology)를 활용해 서비스를 기술하고, 온톨로지의 의미적 상호 운용성을 이용해서 서비스를 검색하고, 그 결과를 토대로 한 조합 및 중재 기능을 자동화한다.

시맨틱 웹은 기존의 정보를 전달하는 웹에 온톨로지 개념 모델을 도입했기 때문에 의미에 기반해 표준화가 가능하다. 그리고 의미 메타데이터를 작성하고 이를 활용함으로써 의미들을 정확히 정의할 수 있다.



column_img_341.jpg

웹의 발전 동향과 특징


일방적인 단일 방향으로의 웹서비스인 웹1.0을 넘어서, 2004년 팀 오라일리(Tim O’ Reilly)가 정의한 웹2.0은 참여, 공유, 개발이라는 세 단어로 요약된다. 웹2.0은 웹상의 특정한 플랫폼에서 많은 사람이 참여해 다양한 정보를 접하고 공유할 수 있도록 콘텐츠가 지속적으로 업데이트되기 때문에 웹서비스가 양방향으로 이뤄진다. 웹3.0에 이르러서는 주위의 컴퓨터를 ‘끊이지 않는’ 네트워킹으로 연결해, 인간 중심의 정보 서비스를 제공하고 웹을 하나의 거대한 데이터베이스로 변화시킨다. 변화된 웹을 통해서 사용자가 원하는 다양한 정보를 에이전트를 통해 사용 및 가공해, 많은 사용자의 특성에 맞게 적시에 제공한다. 웹의 진화에 따른 버전별 구성 기술은 <그림 1>에서 나타낸 바와 같다.

웹의 발전 방향을 살펴보기 위해 각 버전별 특성을 하나의 표 형태로 정리하면 <표 1>과 같다.



column_img_348.jpg

웹3.0과 시맨틱 웹


웹3.0을 대표하는 시맨틱 웹 기술은 ‘현재의 인터넷에서 리소스에 대한 정보와 자원 사이의 관계를 온톨로지 형태로 표현해 기계가 처리하도록 하는 프레임워크인 동시에 이를 지원하기 위한 기술’이라고 정의된다. 시맨틱 웹은 웹을 데이터 단위로 구조화시켜 상호 관계성을 파악하려는 시도, 즉 웹을 데이터베이스화 혹은 지식 기반으로 만들고 이를 기반으로 추론하는 것을 목표로 한다.



column_img_342.jpg

월드 와이드 웹(WWW)의 하이퍼텍스트 시스템을 고안 및 개발한 팀 버너스리의 정의에 따르면, 시맨틱 웹은 별도의 웹이 아니라 현재 웹의 확장으로서 컴퓨터와 사람들이 협력 작업을 할 수 있도록 의미가 잘 정의된 웹이다. 시맨틱 웹을 만들기 위한 첫 번째 단계는 현재의 웹을 구조화하는 것이며, 이를 위한 에이전트들이 데이터를 잘 처리하고 잘 이해할 수 있게 되면 새로운 기능을 의미심장하게 제공할 수 있을 것이다. 버너스리가 이야기하는 에이전트들은 링크된 데이터의 웹에서 메타데이터에 대한 정보를 갖고 의미를 이해해 필요한 일을 처리하는 정도의 낮은 수준이다.

W3C는 2000년 URI, Unicode, XML, RDF(S) 기반의 시맨틱 웹 표준 아키텍처를 제시했으며, 시맨틱 웹 표준 아키텍처에는 데이터 질의 체계와 규칙기반 논리 추론 체계가 누락되어 있었다. 2004년 RDF(S) 및 OWL 표준화 이후, W3C는 2008년 새로운 아키텍처를 수정 제시했다. W3C는 시맨틱 웹 서비스를 위한 <그림 3>과 같은 구조를 정의했다.



column_img_343.jpg

웹3.0에서는 사용자가 단순히 콘텐츠를 제공하는 것을 넘어서 별도의 장치가 다시 정보를 가공하게 된다. 이와 같은 추가적인 정보 가공 장치를 시맨틱 웹 에이전트라고 한다. 시맨틱 웹 에이전트는 이용자의 상황과 의도를 이해하고 자립적인 판단에 의해 처리하는 프로그램으로 인터넷상의 정보를 자동 수집해 DB화를 수행한다.



시맨틱 웹과 온톨로지


시맨틱 웹서비스에서는 정보를 기계가 처리할 수 있는 형태로 표현하고 온톨로지(아리스토텔레스가 주장한 존재론) 개념을 사용해 어떤 주제를 다양한 표현 방식으로 연결하고 이를 기반으로 검색할 수 있도록 한다.

스탠포드대학교 인공지능 연구실의 톰 그루버의 ‘온톨로지란 무엇인가’라는 논문을 보면, 온톨로지를 개념화의 명세서(specification of a conceptualization)라고 정의한다. 그는 ‘온톨로지’란 단어는 AI에 관한 토론에서 많은 논쟁을 낳고 있으며, 철학에서 오래 전부터 사용된 단어로서 ‘존재의 주체를 가리킨다’라고 했다. 여기서의 온톨로지는 지식과 앎에 관한 인식론과 혼용되고 있다. 그래서 지식의 공유라는 문맥상에서 온톨로지란 용어를 개념화의 명세서로 사용하고 있다.

따라서 온톨로지는 에이전트나 에이전트의 커뮤니티를 위해 존재할 수 있는 개념과 관계를 기술한 것으로 정의되고 있다. 이 정의에서는 온톨로지를 ‘개념과 정의’의 세트 형태로 사용한다. 하지만 철학에서 사용하는 의미와는 분명히 다르다. 중요한 것은 온톨로지가 무엇을 위한 것인가이며, 지식의 공유와 재사용을 가능하게 할 목적으로 온톨로지들은 설계됐다는 점이다. 온톨로지는 클래스들의 분류학적 계층구조와 동일시될 수 있으며, 온톨로지는 이러한 형식에 제한될 필요는 없다.

온톨로지는 예를 들면 <그림 4>와 같이, 하나의 책(Book)을 나타낼 때 작가와 타이틀 등을 구성요소로서 연관 지어 각 객체 간에 관계를 생성할 수 있다.
>온톨로지는 일반성 수준(Generality level)이 낮은 것에서 높은 순으로 다음 네 가지로 구분될 수 있으며, 추가적으로 두 가지 다른 형태를 제시할 수 있다.

- 영역 온톨로지(Domain ontology) : 전자, 의학, 기계, 디지털 영역과 같이 특정 영역에만 통용되는 지식을 표현한 온톨로지다.
- 메타데이터 온톨로지(Metadata ontology) : 온라인 정보의 내용을 기술하기 위한 어휘를 제공하는 온톨로지를 지칭한다.
- 일반 온톨로지(Generic or common sense ontology) : 시간, 공간, 상태, 사건 등과 같은 사물의 기본적 관념과 개념을 제공하는 세상에 대한 일반 지식을 포함하는 온톨로지이며, 결과적으로 이 형태의 온톨로지는 여러 영역에 공통으로 적용될 수 있다.
- 표처럼 특정 영역을 대상으로 하지 않으며, 무엇을 표현해야 하는지 언급하지 않고 표현개체(representational entities)를 제공하는 온톨로지다.



column_img_344.jpg

column_img_345.jpg

추가적인 두 가지 온톨로지는 방법 온톨로지(Method ontology)와 과업 온톨로지(Task ontology)다. 전자는 특정 문제해결 방법(Problem Solving Methods)에 제한된 용어(terms)를 제공하고, 후자는 특정 과업에 제한되는 용어를 제공한다.

온톨로지를 표현하는 데 있어서 XML 형식의 언어 형태는 삼항관계(ternary relationship), 상호배제관계(XOR : exclusive OR), 클래스들의 조합 관계 등을 표현하는 데 한계가 있다. 그러므로 이를 해결하기 위해 온톨로지의 그래픽 표기법을 이용해 조직 모델과 프로세스 모델의 온톨로지를 통합할 수 있다. 조직 모델과 프로세스 모델에서 같은 이름을 가지는 자원(Resource), 부서(Organization Unit), 역량(Competence), 규칙(Rule) 클래스의 온톨로지 표현은 <그림 5>와 같이 나타낼 수 있다.



FOAF


웹이 발전하면서 기존의 일반적인 웹서비스에서는 제공하지 않았던 브라우징 방식에 소셜 네트워크 정보를 추가해 네트워크상의 다양한 관계를 탐색할 수 있게 됐고, 이를 위해 FOAF, XFN, 마이크로포맷 등의 많은 기술이 사용됐다. 지금부터는 이 가운데 하나인 FOAF를 살펴본다.

FOAF는 시맨틱 웹 기술을 적용해 관계성을 확장하는 대표적인 방법으로 ‘친구의 친구’라는 의미를 지닌다. FOAF는 어떠한 사람들을 나타낼 때, 그 사람들의 액티비티들을 비롯해 다른 사람 및 객체들과의 관계도 모두 포함한다. 또한 온톨로지 개념이 적용된 기계가 읽을 수 있는 포맷으로 제공된다. 따라서 중앙 집권적 데이터베이스를 사용하지 않아도 소셜 네트워크를 위한 서비스를 제공할 수 있다



column_img_346.jpg

FOAF는 친구를 매개체로 친구의 친구를 찾아 관계를 연결하는 방법을 사용하는 일종의 소셜 네트워크 서비스로, RDF (Resource Description Framework)와 OWL(Web Ontology Language)로 정의된 자기 명세서 작성 어휘다. 명세서는 자신의 이름 및 이메일 주소와 같은 개인 신상 정보와 함께 친구들의 목록을 포함하며 FOAF로 작성한 개인 정보는 XML과 RDF로 기술되므로 각종 소프트웨어에 의해 자동 처리가 가능하다. FOAF는 ‘사람들이 서로 아는 친구 관계를 사용하면 몇 단계만을 거쳐 한 나라 국민의 대부분을 알 수 있다’라는 아이디어를 이용해 전체 구성원을 엮는다. 대표적인 예로 페이스북, 트위터, 구글 플러스, Sixdegrees 사이트 등이 있다.



column_img_347.jpg

FOAF는 1촌 관계만을 보여주고 관계를 형성하는 매우 단순한 형태에서 시작했지만 현재는 페이스북처럼 개인의 정보를 잘게 나눠 세밀한 속성으로 구분하고 이를 바탕으로 분석·연결해주는 관계 엮음 서비스로까지 진화했다. 실제로 페이스북을 보면 개인이 올린 콘텐츠를 분석해 데이터화시켜 관련된 사람들을 정말 잘 찾아준다.

FOAF 프로파일의 예를 살펴보자. <리스트 1>의 프로파일에 존재하는 사람 ‘Gregory Kim’의 이메일 주소와 홈페이지 주소 등이 그 사람을 묘사하는 각각의 리소스로 사용되고 있다. 이와 같은 각각의 리소스들은 RDF를 사용해 표현되고 이 프로파일을 통해 사람 ‘Gregory Kim’의 주된 관심은 Wikimedia에 있고 Jessica Capshaw를 알고 있음을 확인할 수 있다.



column_img_349.jpg

Greg Kim’이라는 사람이 example-small.jpeg라는 사진을 가지고 있거나 어떤 연관된 관계임을 알려주기 위해서는 <리스트 2>와 같이 작성할 수 있다. 이러한 방법을 확장하면 다양한 관계를 체계적으로 기술해 카탈로그와 같은 큰 데이터 수집 및 표현이 가능해진다.



column_img_350.jpg

RDF와 OWL


RDF(Resource Description Framework)는 트리플 구조를 가지는 시맨틱 웹 표준 데이터 모델로 2004년 개선 및 표준화됐다. RDF 데이터 모델은 그래프 구조의 연결된 데이터(linked data)를 표현하기에 적합한 모델이며, 초기 표준은 XML 문법이 기반이었다.

RDF는 웹 구별자(Uniform Resource Identifier)를 이용해 사물을 구별한다. 이를 위해 RDF는 리소스 대상을 어떠한 특성과 특성 값으로 나타낸다. 따라서 단순한 구문이 값을 가지는 노드 그래프 형태로 표현될 수 있다.



column_img_351.jpg

DF는 그래프를 레코딩하고 교환하기 위해 RDF/XML이라는 XML 기반 문법을 제공한다. <그림 8>의 그래프에 해당하는 RDF/XML 표현은 <리스트 3>과 같다.



column_img_352.jpg

동일한 리소스에 대해 다양한 특성 값을 나타내기 위해서는 <그림 9>와 같은 RDF/XML을 사용한다.



column_img_353.jpg

column_img_354.jpg

OWL은 어떤 사물을 온톨로지를 통해 표현하기 위한 언어다. OWL은 시맨틱적으로 특성을 표현할 수 있으며, 시맨틱 웹을 위한 RDF/XML 기반 표현을 가능하게 해준다. 이 언어는 미국 DARPA의 DAML(DARPA Agent Markup Language)과 유럽의 OIL(Ontology Inference Layer)을 통합해 2000년에 표준화가 시작됐다. 그 노력의 결과로 첫 표준(recommendation)은 2004년 발표됐고, 이어서 OWL2 표준이 2009년 말 소개됐다. OWL2는 세 가지 프로파일을 정의하고 지원한다.

- OWL2 EL : 클래스 혹은 속성이 대단히 많은 응용에 적합하다. EL의 제약 조건과 공리만을 사용하면, 많은 수의 클래스와 속성을 가진 온톨로지에 대해 다항시간 내에 결정이 가능하다.
- OWL2 QL : 인스턴스가 많은, A-Box 추론 성능이 중요한 응용에서 권고한다. 기존의 RDB와 결합해 사용 가능한 장점을 가진다. QL 질의는 모두 SQL로 변환 가능하지만, 표현력이 낮은 단점이 있다.
- OWL2 RL : 상대적으로 표현력 손실이 적으면서 대용량 처리가 필요할 때 사용된다. 온톨로지의 일관성 점검과 포함관계 추론이 가능하며, 동시에 규칙기반 추론을 적용할 수 있는 장점을 보유하고 있다.



column_img_355.jpg

모바일 기기가 PC급 성능으로 발전해 나가고 각종 임베디드 기기가 주위에 존재하면서, 많은 정보와 정확한 정보를 사용하는 환경이 마련됐다. 이러한 환경에서 우리는 다양한 정보가 가공된 서비스를 사용할 수 있게 됐고, 대표적인 것이 시맨틱 웹서비스다. 지금까지 이러한 시맨틱 웹서비스와 최근 관심이 높아진 FOAF를 간략하게 살펴봤다. 이 글을 계기로 시맨틱 웹은 이제 더 이상 미래의 기술이 아니며, 이미 우리 주위에 존재하게 됐음을 다시 한 번 기억하도록 하자.