ISO 표준에서 온톨로지 추출하기

ISO/IEC 5259-2 데이터 품질 표준 사례 연구

발행일: 2025년 11월 1일 | 리서치: 페블러스 데이터 커뮤니케이션 팀 | 읽는 시간: 약 20분

📖 아티클 개요

ISO/IEC 5259-2는 AI/ML 시스템의 데이터 품질을 평가하는 국제 표준입니다. 이 아티클에서는 이 표준 문서에서 OWL 온톨로지를 추출하는 전 과정을 다룹니다.

🎯 학습 목표

  • 표준 문서 → 온톨로지 변환 이해
  • 3가지 방법론 비교 (수동/LLM/하이브리드)
  • SPARQL 쿼리 실습
  • 온톨로지 시각화 및 활용

🛠 실습 도구

  • OWL/RDF (온톨로지 언어)
  • SPARQL (쿼리 언어)
  • Cytoscape.js (시각화)
  • Claude Code / Protégé

왜 표준 문서를 온톨로지로 변환하는가?

문제 상황

전 세계에는 수천 개의 ISO, IEEE, W3C 표준 문서가 존재합니다. 하지만 대부분 PDF 형식의 자연어 텍스트로만 제공되어 다음과 같은 한계가 있습니다:

❌ 기계 가독성 낮음

검색 엔진이나 AI가 내용을 정확히 이해하기 어려움

❌ 재사용성 낮음

다른 시스템과 통합이 어려움

❌ 추론 불가능

"데이터 정확성이 0.9 이하라면?" 같은 논리적 추론 불가

❌ 버전 관리 어려움

표준 개정 시 변경사항 추적 복잡

해결책: 온톨로지

개념(Classes) + 관계(Properties) + 추론 규칙(Axioms) = 온톨로지

특정 도메인의 지식을 형식화하여 기계가 이해하고 추론할 수 있게 만드는 구조

온톨로지 변환의 장점

✅ 기계 이해 가능

RDF/OWL 형식으로 컴퓨터가 의미를 파악

✅ SPARQL 쿼리

"모든 고유 품질 특성을 찾아라" 같은 질의 가능

✅ 추론 엔진 활용

규칙 기반 자동 검증 및 추론

✅ 상호운용성

다른 온톨로지와 연결 (Linked Data)

예시: ISO 5259-2 변환

Before (PDF 텍스트)

"정확성(Accuracy)은 데이터가 실제 개체를 정확히 표현하는 정도를 나타내는 고유 데이터 품질 특성입니다."

"Accuracy is an inherent data quality characteristic that refers to the degree to which data correctly represents the real-world entity."

After (OWL 온톨로지)

<owl:Class rdf:about="Accuracy">
  <rdfs:subClassOf
    rdf:resource="InherentCharacteristic"/>
  <rdfs:label xml:lang="ko">정확성</rdfs:label>
  <rdfs:label xml:lang="en">Accuracy</rdfs:label>
  <rdfs:comment>
    데이터 항목이 올바른 데이터 값 또는
    레이블을 가지는 정도
  </rdfs:comment>
</owl:Class>

Graph (그래프 표현)

DataQuality Characteristic Inherent Characteristic Accuracy 정확성 subClassOf subClassOf

Before (PDF 텍스트)

"완전성(Completeness)은 필요한 모든 데이터가 존재하는 정도를 나타내는 고유 데이터 품질 특성입니다."

"Completeness is an inherent data quality characteristic that refers to the degree to which all required data is present."

After (OWL 온톨로지)

<owl:Class rdf:about="Completeness">
  <rdfs:subClassOf
    rdf:resource="InherentCharacteristic"/>
  <rdfs:label xml:lang="ko">완전성</rdfs:label>
  <rdfs:label xml:lang="en">Completeness</rdfs:label>
  <rdfs:comment>
    데이터가 모든 예상 속성에 대한
    값을 가지는 정도
  </rdfs:comment>
</owl:Class>

Graph (그래프 표현)

DataQuality Characteristic Inherent Characteristic Completeness 완전성 subClassOf subClassOf

Before (PDF 텍스트)

"가용성(Availability)은 권한 있는 사용자가 데이터셋을 검색할 수 있는 정도를 나타내는 시스템 의존 데이터 품질 특성입니다."

"Availability is a system-dependent data quality characteristic that refers to the degree to which datasets can be retrieved by authorized users."

After (OWL 온톨로지)

<owl:Class rdf:about="Availability">
  <rdfs:subClassOf
    rdf:resource="SystemDependentCharacteristic"/>
  <rdfs:label xml:lang="ko">가용성</rdfs:label>
  <rdfs:label xml:lang="en">Availability</rdfs:label>
  <rdfs:comment>
    권한 있는 사용자가 데이터셋을
    검색할 수 있는 정도
  </rdfs:comment>
</owl:Class>

Graph (그래프 표현)

DataQuality Characteristic SystemDependent Characteristic Availability 가용성 subClassOf subClassOf

ISO/IEC 5259-2 데이터 품질 표준 소개

정식 명칭

ISO/IEC 5259-2:2024

발행 기관

ISO/IEC JTC 1/SC 42

(Artificial Intelligence)

주제

AI/ML 데이터 품질

핵심 내용

ISO 5259-2는 24개 데이터 품질 특성(Data Quality Characteristics)과 각각의 측정 방법(Measures)을 정의합니다.

품질 특성 분류 (4개 카테고리)

🔵 고유 특성 (Inherent) - 9개

데이터 자체의 내재적 품질

정확성 (Accuracy) 완전성 (Completeness) 일관성 (Consistency) 신뢰성 (Credibility) 최신성 (Currentness) 정밀성 (Precision) 추적가능성 (Traceability) 이해가능성 (Understandability) 균형성 (Balance)

🟣 시스템 의존 특성 (System-Dependent) - 5개

시스템 환경에 따라 달라지는 품질

접근성 (Accessibility) 준수성 (Compliance) 효율성 (Efficiency) 이식성 (Portability) 복구가능성 (Recoverability)

🟢 하이브리드 특성 (Hybrid) - 1개

고유 + 시스템 의존 특성 혼합

가용성 (Availability)

🟠 추가 특성 (Additional) - 9개

특정 도메인에서 중요한 추가 품질

감사가능성 (Auditability) 다양성 (Diversity) 효과성 (Effectiveness) 식별가능성 (Identifiability) 관련성 (Relevance) 대표성 (Representativeness) 유사성 (Similarity) 적시성 (Timeliness) (기타)

측정 항목 예시

특성 측정 ID 측정 이름 수식
Accuracy DQM-01 Syntactic accuracy correct / total
Completeness DQM-03 Data completeness non-null / total
Consistency DQM-05 Referential integrity valid_refs / total_refs

온톨로지 설계 과정

OWL과 RDF의 차이

📋

OWL (Ontology)

온톨로지 스키마 - 지식의 구조와 규칙을 정의

  • 클래스 정의: Accuracy, Completeness 등 30+ 클래스
  • 관계 정의: hasCharacteristic, measuredBy 등
  • 제약 조건: 계층 구조, 규칙
예시: "Accuracy는 InherentCharacteristic의 subClass이다"
📄 iso5259-2-ontology.owl (434 lines)
📊

RDF (Instances)

온톨로지 인스턴스 - 실제 데이터 예제

  • 데이터셋 예제: CustomerDataset
  • 측정값: 정확성 0.95, 완전성 0.88
  • 평가 결과: 품질 점수, 상태
예시: "CustomerDataset의 정확성 측정값은 0.95이다"
📄 iso5259-2-instances.rdf (404 lines, 21 instances)

💡 비유로 이해하기

🏗️
OWL = 건물 설계도

어떤 방이 있고, 어떻게 연결되는지 정의

🏠
RDF = 실제 건물

각 방에 무엇이 있는지 구체적 데이터

온톨로지 구조

클래스 계층 (30+ Classes)

owl:Thing
│
├── DataQualityModel
├── DataQualityCharacteristic
│   ├── InherentCharacteristic
│   │   ├── Accuracy (정확성)
│   │   ├── Completeness (완전성)
│   │   ├── Consistency (일관성)
│   │   └── ... (6개 더)
│   ├── SystemDependentCharacteristic
│   │   ├── Accessibility (접근성)
│   │   └── ... (4개 더)
│   ├── HybridCharacteristic
│   │   └── Availability (가용성)
│   └── AdditionalCharacteristic
│       └── ... (9개)
├── DataQualityMeasure
├── MeasurementFunction
└── TargetData

Object Properties (7개)

  • hasCharacteristic - 모델이 포함하는 품질 특성
  • measuredBy - 특성을 측정하는 방법
  • usesFunction - 측정에 사용되는 함수
  • appliesTo - 측정이 적용되는 데이터
  • hasRequirement - 데이터 품질 요구사항
  • relatesTo - 특성 간 연관 관계
  • hasSubCharacteristic - 특성 계층 관계

Data Properties (7개)

  • measureID - 측정 항목 ID (예: "DQM-01")
  • measureName - 측정 항목 이름
  • measureDescription - 설명
  • measurementFormula - 측정 수식
  • measurementResult - 측정 결과값
  • threshold - 임계값
  • standardReference - 표준 참조
📋

OWL 코드 예시

<!-- Accuracy 클래스 정의 -->
<owl:Class rdf:about="&iso5259;Accuracy">
    <rdfs:subClassOf rdf:resource="&iso5259;InherentCharacteristic"/>
    <rdfs:label xml:lang="en">Accuracy</rdfs:label>
    <rdfs:label xml:lang="ko">정확성</rdfs:label>
    <rdfs:comment xml:lang="en">
        The degree to which data correctly represents
        the real-world entity or event.
    </rdfs:comment>
    <iso5259:standardReference>
        ISO/IEC 5259-2:2024, Section 6.2.1
    </iso5259:standardReference>
</owl:Class>

<!-- measuredBy 속성 정의 -->
<owl:ObjectProperty rdf:about="&iso5259;measuredBy">
    <rdfs:domain rdf:resource="&iso5259;DataQualityCharacteristic"/>
    <rdfs:range rdf:resource="&iso5259;DataQualityMeasure"/>
    <rdfs:label xml:lang="ko">측정 방법</rdfs:label>
</owl:ObjectProperty>
📊

RDF 코드 예시

<!-- Syntactic Accuracy 측정 지표 인스턴스 -->
<owl:NamedIndividual rdf:about="&iso5259;DQM_01">
    <rdf:type rdf:resource="&iso5259;DataQualityMeasure"/>
    <rdfs:label xml:lang="en">Syntactic Accuracy</rdfs:label>
    <rdfs:label xml:lang="ko">구문적 정확성</rdfs:label>
    <iso5259:measureID>DQM-01</iso5259:measureID>
    <iso5259:measureName xml:lang="en">Syntactic accuracy</iso5259:measureName>
    <iso5259:measureName xml:lang="ko">구문적 정확성</iso5259:measureName>
    <iso5259:measures rdf:resource="&iso5259;Accuracy"/>
    <iso5259:usesFunction rdf:resource="&iso5259;MF_02"/>
    <rdfs:comment xml:lang="en">
        Ratio of data values that are syntactically correct
        compared to the total number of data values
    </rdfs:comment>
</owl:NamedIndividual>

<!-- Measurement Function 인스턴스 -->
<owl:NamedIndividual rdf:about="&iso5259;MF_02">
    <rdf:type rdf:resource="&iso5259;MeasurementFunction"/>
    <rdfs:label xml:lang="en">Percentage Measurement Function</rdfs:label>
    <rdfs:label xml:lang="ko">백분율 측정 함수</rdfs:label>
    <iso5259:measurementFormula>(X / Y) * 100</iso5259:measurementFormula>
</owl:NamedIndividual>

온톨로지 시각화

Cytoscape.js를 사용한 인터랙티브 그래프입니다. 노드를 클릭하거나 드래그하여 탐색할 수 있습니다.

필터

레이아웃

SPARQL 쿼리 실습

🔍

SPARQL이란?

SPARQL (SPARQL Protocol and RDF Query Language)은 시맨틱 웹의 표준 쿼리 언어입니다. RDF 데이터베이스에서 지식을 조회하고 조작할 수 있습니다.

📅 역사

  • 2008년: W3C 표준 승인 (SPARQL 1.0)
  • 2013년: SPARQL 1.1 권고안
  • 2024년: 현재까지 활발히 사용 중

🌐 현황

  • Wikidata: 100억+ 트리플
  • DBpedia: Wikipedia 지식 그래프
  • 생명과학: UniProt, ChEMBL

📝 쿼리 예제

ISO 5259-2 온톨로지에서 모든 데이터 품질 특성을 조회하는 SPARQL 쿼리입니다.

PREFIX iso5259: <http://pebblous.ai/ontology/iso5259-2#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT ?characteristic ?labelKo ?labelEn
WHERE {
  ?characteristic rdf:type owl:Class .
  ?characteristic rdfs:subClassOf iso5259:DataQualityCharacteristic .
  ?characteristic rdfs:label ?labelKo .
  ?characteristic rdfs:label ?labelEn .

  FILTER (lang(?labelKo) = "ko")
  FILTER (lang(?labelEn) = "en")
}
ORDER BY ?labelKo

인터랙티브 쿼리 실습

아래 예제 쿼리를 선택하여 다양한 SPARQL 패턴을 학습하고, 직접 실행해보세요.

💡 쿼리 해설

목적: 온톨로지에 정의된 모든 데이터 품질 특성(Quality Characteristic)을 조회합니다.

동작 원리:

  • owl:Class 타입인 모든 클래스를 찾습니다
  • DataQualityCharacteristic의 하위 클래스만 필터링합니다
  • • 한글(ko)과 영문(en) 레이블을 동시에 조회합니다
  • • 한글 레이블 기준으로 정렬합니다

예상 결과: Accuracy(정확성), Completeness(완전성), Consistency(일관성) 등 24개 품질 특성

방법론 비교: 수동 vs LLM vs 하이브리드

🔧

수동 추출

Protégé 사용

작업 시간: 8-12시간
정확도: ⭐⭐⭐⭐⭐
확장성: ⭐⭐
전문성: ⭐⭐⭐⭐⭐

장점:

  • ✓ 최고 정확도
  • ✓ 완벽한 일관성
  • ✓ Reasoner 검증

단점:

  • ✗ 시간 소모
  • ✗ 높은 전문성 요구
🤖

LLM 기반

Claude/GPT-4

작업 시간: 1-2시간
정확도: ⭐⭐⭐⭐
확장성: ⭐⭐⭐⭐⭐
전문성: ⭐⭐⭐

장점:

  • ✓ 빠른 속도
  • ✓ 낮은 진입장벽
  • ✓ 높은 확장성

단점:

  • ✗ 100% 정확성 보장 어려움
  • ✗ 검증 필수

하이브리드

LLM + Protégé ⭐ 추천

작업 시간: 3-4시간
정확도: ⭐⭐⭐⭐⭐
확장성: ⭐⭐⭐⭐
전문성: ⭐⭐⭐⭐

장점:

  • ✓ 최적 효율 (시간 + 품질)
  • ✓ LLM 속도 + 인간 정밀도
  • ✓ 유연한 조정

프로세스:

  • 1. LLM으로 초안 생성 (1h)
  • 2. Protégé 검증 (2h)
  • 3. 반복 개선 (1h)

본 프로젝트 적용 사례

이 프로젝트에서는 하이브리드 방법론을 사용했습니다:

Phase 1 (30분)

Claude Code로 ISO 5259-2 PDF 읽기 → OWL 코드 자동 생성

Phase 2 (2시간)

구조 검증, SPARQL 쿼리 작성, 시각화 도구 조사

Phase 3 (1.5시간)

문서화 및 인터랙티브 HTML 작성

✅ 결과: 총 4시간 만에 프로덕션 품질 온톨로지 완성

리소스 다운로드

이 프로젝트에서 생성한 모든 파일을 다운로드할 수 있습니다.

📄

OWL 온톨로지

ISO/IEC 5259-2 전체 온톨로지 (30+ 클래스)

📥 iso5259-2-ontology.owl
🗄️

RDF 인스턴스 데이터

측정 항목 및 예제 데이터

📥 iso5259-2-instances.rdf
🔍

SPARQL 쿼리 예제

7개 SPARQL 쿼리 + 웹 예제

📥 다운로드
📊

방법론 비교 문서

수동/LLM/하이브리드 상세 비교

📥 다운로드
📈

시각화 도구 가이드

WebVOWL, Cytoscape.js 등 비교

📥 다운로드
📝

전체 아티클 (마크다운)

완전한 보고서 초안

📥 다운로드
📑

PDF 보고서

전체 아티클 PDF 형식

참고 자료