2. 시맨틱 웹 웹에 존재하는 무한한 데이터를 처리하는데 한계 데이터를 쉽고 친숙하게 표현 웹을 통해 문서를 잘 교환할 수 있는 방법 데이터는 특정 어플리케이션에 의해서만 처리되고 보관됨 시맨틱 웹 (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 Ontology Language) 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), 트리의 깊이의 수가 한정된 개수를 가진다