본문 바로가기
웹지능화서비스

온톨로지(존재론)로 인공지능의 기초를 다진다

by 누피짱 2008. 4. 25.

아리스토텔레스부터 연구된 온톨로지

아리스토텔레스는 '갈래(category), 은유(metaphor), 주어(subject)'와 같은 많은 용어를 개념화시키고 정의내렸다. 이것이 오늘날 컴퓨터 분야에서 사용하는 온톨로지(ontology, 존재론)로 연결된다. 컴퓨터에서 온톨로지는 존재론으로 번역되는데, 컴퓨터에서 사용하는 각종 개념에 대한 설명 또는 정의라고 볼 수 있다. 철학에서 사용하는 존재론을 컴퓨터에서 사용하는 이유는 무엇일까? 뇌가 우주의 축소판이고, 컴퓨터가 뇌의 축소판이기 때문이다.

일반 분야의 온톨로지와 컴퓨터 분야에서 사용하는 온톨로지가 다른 점이 있다면 기계가 이해할 수 있느냐 없느냐 하는 차이다. 인공지능 분야에서 오래 전부터 논의되던 온톨로지가 시맨틱웹 분야에서 새삼 중요한 부분으로 떠오른 이유는 기계들이 낱말의 뜻을 이해할 수 있는 웹으로 설계되는 것이 시맨틱웹이기 때문이다. 사람은 어떤 개념을 쉽게 이해할 수 있지만 기계가 이를 이해하기란 쉽지 않다. 따라서 기계가 이해할 수 있도록 매우 구체적으로 개념을 설명하고 관계를 표현하는 기술이 필요한데, 이것이 온톨로지 기술에 의해 이루어지는 것이다.

온톨로지가 일종의 사전이고 기계가 이 사전의 의미를 파악하는 것이 핵심이므로 온톨로지는 필연적으로 인공지능 기술에 의지할 수밖에 없다. 현재 컴퓨터 분야의 인공지능과 인공지능 프로그램은 '근대적 의미론의 창시자'로 부르는 독일 철학자인 고트롭 프레게(Gottlob Frege, 1848~1925)가 개발한 술어 논리(predicate logic) 체계에 크게 의지한다. 이후 알란 튜링(Alan Turing, 1912-1954)과 존 맥카시(John McCarthy, 1927~)에 의해 계승된 인공지능은 지속적인 연구를 통해 시맨틱웹 개발의 핵심으로 떠올랐다. 맥카시는 1956년 다트머스 대학의 학술회의에서 인공지능(AI = Artificial Intelligence)이라는 말을 처음 사용하면서 컴퓨터 분야의 본격적인 인공지능 연구를 이끌었다.


온톨로지는 존재의 개념에 대한 뜻과 각 개념 사이의 관계를 설명한 명세서다.

시맨틱웹에서 사용하는 온톨로지의 정의는 다양한데 그루버(Thomas R. Gruber)가 말한 '공유된 개념화(shared conceptualization)에 대해 정형화되고 명시적으로 정의된 명세서(formal and explicit specification)'를 주로 사용한다. 즉 어떤 낱말에 대한 뜻(개념)과 각 낱말 사이의 관계를 잘 설명한 것이 온톨로지다.

우리가 사용하는 각종 언어와 용어는 선대 조상들이 쓰던 낱말을 빌리고 있다. 그런데 이들 낱말에 대한 의미가 받아들이는 사람마다 다르다면 문제가 발생한다. '사과'라고 말했는데 A지방 사람은 '먹는' 사과로 이해하고, B지방 사람은 '미안하다'는 뜻의 사과로 이해할 경우 통신에 혼란이 온다. 그래서 낱말에 대한 정의는 매우 중요하다.

온톨로지는 낱말에 대한 정의와 개념을 명확하게 해주는 학문이다. 컴퓨터에서는 컴퓨터를 구성하는 각종 요소에 대한 개념을 명확하게 해주는 학문을 온톨로지 공학이라고 부른다. 예를 들어 '워드'나 '바이트'라는 낱말에 대한 명확한 개념 정립이 되지 않는다면 어떤 시스템에서는 1바이트가 워드(word)의 단위가 되고, 다른 시스템에서는 2바이트나 4바이트가 워드의 단위로 사용될 것이다. 이 경우 각기 다른 시스템에서 사용하는 '워드'라는 낱말의 관련성을 찾아내고 각 낱말에 대한 설명이나 개념을 이해할 때 컴퓨터끼리 상대방 컴퓨터의 워드 단위를 이해하고 통신할 수 있게 된다. 만약 4바이트를 사용하는 A 시스템이 B도 4바이트일 것이라 생각하고 작업을 한다면 엉망이 될 수밖에 없다. 컴퓨터에서 온톨로지는 이런 일을 하는 기술이다.

다른 예로 '아버지'라는 낱말을 설명할 때 '남자, 기혼자, 결혼해 아이를 낳은 남자.'라는 뜻 설명이 필요할 것이고, 이때 사용하는 '남자' '결혼' '아이'와 '아버지'라는 낱말의 구조와 상호 관계를 설명해둔 내용이 온톨로지인 것이다.

만약 아버지를 '아이가 있는 남자'로만 설명하고 아이와의 관계만 설명해둔다면 컴퓨터는 아버지에서 '기혼'을 추론하지 못할 것이고 기혼자를 위한 추천 상품을 내놓지 못할 것이다. 또한 '남자, 기혼자'라고만 설명을 해두었다면 아이를 위한 추천상품을 제시하지 못할 것이다. 하지만 '남자, 기혼, 결혼해 아이를 낳은 남자.'로 뜻을 잘 설명해놓았다면 인공지능 프로그램은 '아버지'의 속성을 가진 고객에게 기혼 남성들이 자주 찾는 상품과 아이를 위한 상품을 추천 상품으로 제시할 것이다. 때문에 아버지라는 존재에 대한 개념을 정확하게 정의하는 일과 다른 낱말과의 관계를 제대로 설명하는 존재론이 필요한 것이다. 개념에 대한 명세서가 없다면 인공지능을 활용한 전자상거래는 발전할 수 없는 것이다. 기본적으로 비트, 워드, 필드, 레코드와 같이 컴퓨터에서 사용하는 기본 낱말의 정의부터 시작하겠지만 궁극적으로 우주의 모든 개념에 대한 정의와 이들의 관계를 정리해야 할 것이다.


시맨틱웹에서 온톨로지는 컴퓨터에서 사용하는 개념의 뜻과 관계를 나타내는 기술이다.

시맨틱웹에서 온톨로지라는 분야는 컴퓨터에서 사용하는 모든 개념, 낱말에 대한 뜻과 관계를 정의하는 일 또는 이에 필요한 기술을 말한다. 온톨로지가 잘 이루어질수록 인공지능은 발달하고 기계가 자동으로 처리할 수 있는 일은 많아진다. 또한 각종 자료는 재활용될 수 있다. '아버지'라는 존재에 대한 개념을 정확하게 정의내렸다면 '남자' '아이'라는 존재를 재활용할 수 있는 것이다. 물론 모든 개념 즉, 낱말을 사람이 일일이 다 정의할 수 없기 때문에 계층분류(taxonomy)와 추론규칙(inference rule)과 같은 방법을 사용해 객체의 클래스(class)를 정의하고 다른 클래스와의 관계(relationship)를 정의한다. '아버지'라는 낱말은 '남자' 안에 포함되는 개념이므로 남자에게만 적용되는 작업을 해야 한다. 반면 '결혼'은 '남자'와 '여자' 모두에게 포함되는 개념이므로 남자에게만 해당되는 작업을 해서는 안 된다. 이런 것을 스스로 판단하고 행동하는 것이 인공지능 프로그램이 하는 일이며, 다른 기계들과 통신을 하는 심부름꾼(agent) 프로그램이 하는 일이다.

예를 들어 쇼핑몰 길잡이 프로그램이 영화 사이트에 접속해 온톨로지(존재론) 명세표를 보니 고객 A의 속성으로 '아버지'가 있다. 이 경우 쇼핑몰 심부름꾼 프로그램은 '아버지'로부터 '남자'에게만 적용되는 물건을 팔아야 한다는 사실을 추론할 수 있기 때문에 남성용 화장품을 추천상품으로 제시할 수 있다. 여성용 화장품이나 생리대를 추천한다면 이는 문제가 있는 것이다. 하지만 의외로 이런 간단한 개념조차 추측하고 판단하는 일은 결코 쉽지 않다. '아버지'라는 말에서 '결혼'이라는 낱말의 관계는 파악했지만 결혼과 관련된 상품은 남녀 모두에게 팔 수 있는 상품이다. 더구나 결혼 전과 결혼 식 전후, 결혼 후 10년 후 남자가 필요로 하는 상품은 모두 다른데, 단지 '결혼'이라는 낱말 하나로 프로그램이 적절한 상품을 추천하는 일은 쉽지 않다. 온라인 서점 프로그램이 아버지에서 '남자, 결혼, 아이'와의 관계를 파악해내고 '아이를 위한 동화'나 '아내를 위한 요리책'을 추천하는 하는 얼핏 보면 쉬워보이지만 그리 만만한 일이 아닌 것이다. 이런 이유로 온톨로지를 가장 적극적으로 도입하고 있는 쪽은 알맹이산업 쪽보다는 고객에 대한 인공지능 대응이 필요한 전자상거래 분야다. 로제타넷의 PIP(Partner Interface Process)나 로제타넷비즈니스사전(RNBD), 로제타넷기술사전(RNTD) 등이 컴퓨터가 처리할 수 있는 형식으로 개념을 설명한 온톨로지의 예로 제시될 수 있다.


온톨로지는 정보의 이해와 재활용에 도움이 된다.

예를 들면 온라인쇼핑몰에서 사용하는 '의자, 냉장고, 책'에 대한 명세표를 온톨로지로 보자. 각 개념은 상하 포함관계를 가지므로 책은 다시 '갈래, 제목, 출간일, 저자, 가격, 출판사, 쪽' 등으로, 여기에서 '출판사'는 다시 '주소, 바코드, 대표, 설립일' 등으로 분화될 수 있다. 요즘은 온라인서점의 '이 책을 구입한 분이 구입한 다른 책', 검색엔진의 '이 낱말과 관련해 추천하는 검색어' 등의 서비스를 볼 수 있는데, 이런 서비스가 바로 정보의 단위를 분석하고 재조합해서 이루어지는 서비스다. 과거에는 A라는 책 하나의 설명에 목적을 두었는데 이제는 A를 구성하는 '독자'라는 정보 단위를 분석해 A '독자'인 '갑'이 B책의 '독자'임을 인식하고, '을'에게 같은 A책의 독자인 '갑'이 읽은 B책까지 추천하는 것이다.


** 검색엔진의 추천어, 온라인서점의 '다른 사람이 구입한 책' 등은 정보 요소를 분해, 재조합함으로써 이루어진다.


온톨로지에서는 개념을 얼마나 잘 정의하느냐고 중요하지만 이렇게 설명한 내용이 다른 시스템에서도 똑 같이 이해되도록 하는 것이 중요하다. A 시스템에서 구축한 온톨로지가 B 시스템에서 다른 의미로 받아들여진다면 A와 B 시스템 사이의 자동화는 물 건너 가는 셈이다. 따라서 전세계적으로 사용이 가능한 온톨로지 구축과 이를 통한 인공지능 처리 기술에 시맨틱웹 관계자들이 주력을 삼고 노력하고 있는 것이다.
온톨로지가 공통적으로 구축된다고 해서 모든 사람에게 통일된 관점을 제공하는 것이 아니다. 오히려 같은 뜻을 통해 의사소통의 오해를 줄이고 불필요한 자원 낭비를 막을 뿐이다. 따라서 온톨로지가 태그처럼 점차 지구 곳곳이 공동으로 묶인다해서 관점까지 획일화된다고 걱정할 필요는 없다. 우리가 컴퓨터를 위한 웹을 만드는 이유는 컴퓨터가 우리의 일을 대신함으로써 우리는 좀더 다양하고 창의력 있는 생각에 전념하기 위해서지 컴퓨터에게 사고까지 맡기기 위함이 아니다. 이는 유명 출판사의 사전을 모두가 구입해 쓴다고 해서 관점이 획일화되는 것이 아니라 오히려 유명사전의 질이 좋아지고, 두꺼워지고, 이런 사전을 자주 찾아보는 사람일수록 지식과 관점이 풍부해지는 사실로 비유할 수 있다.

현재 온톨로지 구축은 매우 더디게 진행되고 있다. 이는 온톨로지용 언어인 OWL이 2004년에 겨우 W3C에서 제정된 것으로 알 수 있다. 실질적으로 온톨로지를 응용한 시맨틱웹 구현은 이제 겨우 시작단계에 불과하며 갈 길이 멀다. 현재 온톨로지의 활용 분야로 지식관리(Knowledge Management, 지식경영)와 인터넷 상거래(Web Commerce)가 주요 분야로 지목되고 있으며, 실제로 지식관리와 전자상거래 분야에서 온톨로지의 활용을 활발하게 연구하고 있다.

현재 시맨틱웹 분야에서 진행되고 있는 것은 RDF를 이용한 RSS 기술이나 꼬리표, XML을 이용한 응용 프로그램, Ajax 기술 정도로 매우 저차원적인 응용에 그치고 있다. 물론 그 저차원적인 응용마저도 혁명적인 변화를 가져오고 있다는 사실을 볼 때 온톨로지가 제대로 구현된 시맨틱웹의 위력은 더욱 클 것임을 쉽게 이해할 수 있다.

댓글