시맨틱 웹 웹에존재하는 무한한 데이터를 처리하는데 한계 데이터를 쉽고 친숙하게 표현 웹을 통해 문서를 잘 교환할 수 있는 방법 데이터는 특정 어플리케이션에 의해서만 처리되고 보관됨 시맨틱 웹 (W3C Semantic Web Activity) 사람뿐만 아니라 기계가 이해하고 처리할 수 있도록 웹 상에 존재하는 정보에 시맨틱이 부여된 웹 데이터의 공유와 재사용을 위한 포맷 제공 데이터들간의 연관성을 표현하는 방법 제공
3.
온톨로지 기계와 사람이공유할 수 있는 지식을 명세 자동 프로세스를 구현하기 위한 선행 작업 어노테이션을 위한 어휘 (vocabulary) 제공 정형화된 명세 (formal specification) 을 기계가 이해할 수 있도록 함 기존 구조적 (syntactic) 마크업에 시맨틱을 부여 프리젠테이션 ( 예 , 폰트 크기 , 색깔등 ) 을 위한 기존 마크업뿐만 아니라 시맨틱 컨텐츠 마크업 추가 표준에 기반한 온톨로지 언어 필요
4.
RDF 와 RDFS RDF : Resource Description Framework W3C Recommendation 그래프 기반으로 웹 자원을 표현할 수 있는 방법 제공 XML 표현 , 시맨틱 포함 메타데이터와 정보의 시맨틱을 기계가 이해할 수 있는 형태로 기술 RDFS : RDF Schema W3C Recommendation RDF 의 스키마 어휘를 추가 확장 Class, Property, type, subClassOf, subPropertyOf 등… 모델에 제약 조건 (constraint) 을 추가 ( 예 ) 8 x,y,z type(x,y) and subClassOf(y,z) ! type(x,z) 철수 사람 _:x rdf:type hasName 그래프의 Triple 표현 Subject _:x hasName Predicate rdf:type Object 사람 _:x 철수
5.
RDF(S) 의 문제RDF(S) 는 웹자원에 대한 관계 언어이며 또한 간단한 온톨로지 근본어휘 (primitive) 만을 제공 웹 자원에 대한 시맨틱을 기술하기에는 부족 Existence/cardinality 제약 조건이 없음 Transitive, inverse 또는 symmetrical 속성들이 없음 … 추론 (Reasoning) 을 지원하기 힘듬 RDF(S) 는 비표준 (Non-standard) 시맨틱을 지원하는데 이를 위한 기본적인 추론기가 없음 시맨틱 웹을 위한 새로운 온톨로지 언어가 필요
6.
OWL (Web OntologyLanguage) W3C Web Ontology 워킹 그룹에 의해 개발 W3C Recommendation 이전에 발표된 DAML+OIL 과 OIL 언어에 기반 OWL 의 기반 구문 : RDF Schema 확장 ( 웹과 호환 ) 온톨로지 근본어휘 : Frame 언어 ( 사람이 이해하기 쉬움 ) 시맨틱 : 기술 로직 (Description Logic) 기반 OWL 의 3 종류 OWL Full : OWL 구문 + RDF OWL DL : SHOIN (D) 기술 언어와 동일 OWL Lite : OWL DL 의 간단한 서브셋
7.
OWL(OWL DL) 의장점 기술로직 기반의 잘 정의된 (well-defined) 시맨틱 제공 결정가능성 (decidability), 계산복잡도 (complexity) 등의 정형화된 로직 프로퍼티들이 잘 정립 결정가능한 추론 알고리즘이 고안되어 있음 최악의 경우 SHOIN 는 NExpTime-complete [S. Tobie, 2000] SHOIN 에 대한 결정가능한 알고리즘을 제안 [I. Horrock, 2006] 여러 구현된 시스템이 존재 추론기 : FaCT, Pellet, Racer 등 편집기 : Protégé, OilEd 등
8.
기술 로직 (Description Logic) 로직 기반의 지식 표현을 위한 방법중의 하나 Semantic network 과 Frame 로직의 단점을 개선 개념 (Concept), 롤 (Role), 개체 (Individual) 를 사용해 도메인 기술 정형화된 시맨틱을 가짐 일차 로직 (First-order Logic) 의 일부분으로 결정 가능한 특징을 가짐 프레임 기반 시스템으로 확장 가능 ( 일차 로직의 일부분이 아님 ) 추론 서비스 제공 주요 추론 문제에 대해 결정 가능한 프로시저 제공 만족가능성 (satisfiability), 포함문제 (subsumption), 일관성 (consistency) 등
9.
기술 로직의 구성요소 개념 ( Concept : 단일 술어 / 하나의 자유 변수를 가지는 공식 ) 예 ) Person, Lawyer, HappyParent, (Student t Worker) 롤 ( Role : 이진 술어 / 두개의 자유 변수를 가지는 공식 ) 예 ) hasChild, loves, hasBrother hasDaughter 개체 (Individual : 상수 ) 예 ) CheolSu, YeongHui, Korea 연산자 복잡한 개념과 롤을 만들기 위해 위해 사용 만족가능성 / 포함문제가 결정 가능하면서 가능한 낮은 복잡도를 가지게 해야 함
10.
기술 로직 시맨틱시맨틱은 일차 로직 모델을 사용한다 해석 도메인 I 해석 함수 I 개체 i I 2 I CheolSu YeongHui 개념 C I µ I Student Worker Vehicle 롤 r I µ I £ I hasChild owns (Student u Worker)
11.
기술 로직의 종류 (1) ALC : 명제적으로 닫힌 ( propositionally closed ) 가장 작은 기술 로직 C, D ! A | 원자 개념 (atomic concept) > | 최상위 개념 (top concept) ? | 최하위 개념 (bottom concept) : A | 원자 부정 (atomic negation) C u D | 연언 (intersection) C t D | 선언 (disjunction) 8 R.C | 전체 정량자 (universal quantification) 9 R.C | 존재 정량자 (existential quantification) 예 ) 모든 자식이 변호사 또는 변호사인 아들을 가지는 사람 Person u 8 hasChild.(Lawyer t 9 hasChild.Lawyer)
12.
기술 로직의 종류 (2) S : ALC + transitive roles ( R + ) 문자의 추가는 연산자 추가를 통해 언어의 표현력이 확장됨을 의미 H : role hierarchy ( 예 , hasDaughter v hasChild) O : nominals/singleton classes ( 예 , {Korea}) I : inverse roles ( 예 , isChildOf = hasChild – ) N : number restrictions ( 예 , 2hasChild, 3hasChild) Q : qualified number restrictions ( 예 , 2hasChild.Lawyer) F : functional number restrictions ( 예 , 1hasMother) ALC + R + + role hierarchy ( H ) + inverse ( I ) + QNR ( Q ) = SHIQ SHIQ : OWL 의 기본이 되는 기술 로직 OWL DL ¼ SHIQ + nominals + XSD (i.e., SHOIQ (D)) OWL Lite ¼ SHIQ + functional restrictions + XSD (i.e., SHIF (D))
13.
지식 베이스 ( 온톨로지 ) TBox 는 “스키마” 공리 (axiom) 의 집합 (sentences) {Lawyer v Person, HappyParent ´ Person u 8 hasChild.(Lawyer t 9 hasChild.Lawyer)} ABox 는 “데이터” 공리의 집합 (ground facts) {HappyParent(CheolSu), hasChild(CheolSu, YeongHui)} 지식 베이스 (KB) = TBox + ABox = 온톨로지
14.
태블로우즈 추론 (1) 온톨로지 추론 기술 로직의 태블로우즈 ( Tableaux ) 추론 방법을 사용 지식 베이스 ( KB ) 만족가능성 문제 주요 온톨로지 추론 문제는 만족가능성 여부의 문제로 환원됨 예 ) KB K 에 관련해서 C v D iff K [ {x:(C u : D)} 가 만족가능하지 않음 태블로우즈 알고리즘 일반적인 기술로직 시스템에서 지식 베이스의 만족가능성 또는 일관성을 결정하기 위해 사용 KB 의 공리 (axiom) 와 일관성을 가지는 하나의 모델을 구하는 알고리즘 ABox 공리들 (ground facts) 로부터 시작 Tableaux 확장 룰 (expansion rules) 을 더 이상 확장할 것이 없을 때까지 모든 연산자에 적용해 하나의 모델 (Tableau) 을 완성 충돌 (crash) 이 나타나면 만족 가능하지 않으며 없으면 만족가능
15.
태블로우즈 추론 (2) KB = { HappyParent = Person u 8 hasChild.( 9 hasChild.Lawyer t Lawyer) , HappyParent (Cheolsu), hasChild(Cheolsu,YeongHui), : Lawyer(YeongHui)} Cheolsu YeongHui hasChild HappyParent Person 8 hasChild.(Lawyer t 9 hasChild.Lawyer) Lawyer 1 2 3 Crash ABox 에 대한 그래프 생성 HappyParent TBox 공리에서 u 에 대한 확장 룰 적용 8 hasChild 에서 8 에 대한 확장 룰 적용 t 의 확장 룰 적용 후 9 hasChild.Lawyer 에 대한 확장 룰 적용 5 : Lawyer 1 2 3 4 9 hasChild.Lawyer t Lawyer 9 hasChild.Lawyer ? Laywer hasChild 4 t 룰의 오른쪽에서 지식 베이스의 충돌 발생 : 일관성이 없음 (Inconsistent KB) 5
16.
태블로우즈 추론 (3) 기술로직의 연산자에 대한 태블로우즈 규칙 반복 적용 ( u , t , 8 , 9 등 현재 언어에서 지원하는 모든 연산자 ) 예 ) Student u Worker (CheolSu) ! Student(CheolSu) and Worker(CheolSu) 더 이상 적용할 규칙이 없거나 모순이 발생할 때까지 반복 적용 모순은 개념들간이 모순을 의미한다 ( 예 ) A(x) , : A(x) 어떤 룰은 결정적이지 않은 (nondeterministic) 특징을 가짐 이 경우 모든 경우를 탐색해야 함 예 ) t , 9 연산자 무한 루프의 경우 때문에 사이클 검사 ( 블로킹 ) 기능이 필요 예 ) { Person v 9 hasParent.Person, CheolSu:Person} Cheolsu ? hasParent Person 9 hasParent.Person Person ? Person hasParent BLOCK 9 hasParent.Person 9 hasParent.Person
17.
결정 프로시저 ( Decision Procedure ) 태블로우즈 알고리즘에서 룰을 적용한 후에 충돌 없는 그래프가 만들 어지는 것은 KB 의 만족가능성을 결정할 수 있는 것에 필요충분조건 사운드 (Sound) Tableaux 알고리즘을 적용해 완전히 확장된 그리고 충돌 없는 그래프가 만들어진다면 , KB 는 하나의 모델 (Tableau) 을 가질 수 있다 완전 (Complete) KB 에 대한 하나의 모델 (Tableau) 이 주어지면 , Tableaux 알고리즘을 적용해 완전히 확장된 그리고 충돌 없는 그래프를 만들 수 있다 중단 (Terminating) KB 의 모델 (Tableau) 에서 이름을 가지는 개체 , 트리의 외부차수 (out-degree), 트리의 깊이의 수가 한정된 개수를 가진다