기관 정보의 의미적 연계를 위한 지식모델 설계와 지식그래프 구축
Copyright ⓒ 2024 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
기관 정보는 데이터의 생산, 관리, 활용의 중심이 되며, 데이터의 출처와 책임을 나타내는 핵심적인 접근점이다. 대표적으로, 정부와 공공기관은 공공데이터를 개방함으로써 데이터 생태계에서 중요한 역할을 한다. 현재 정부는 행정표준코드의 기관코드를 통해 기관 정보를 관리하고 있으나, 다양한 출처에서 생성되는 기관 정보와의 연계에는 한계가 있다. 특히 웹상에 존재하는 데이터의 경우, 기관명의 표기가 일관되지 않거나 기관 사이의 관계 정보가 부재하여 기관 정보를 일관되게 표현하고 연계하기 어려운 실정이다. 이를 개선하기 위해 본 연구는 지식그래프 기반의 관리 방안을 제시한다. 한국의 기관 정보를 의미적으로 표현할 수 있는 지식모델을 설계하고 기관 지식그래프 구축방안을 소개한다. 구축한 기관 지식그래프는 기관명 표기의 다양성과 기관 사이의 복잡한 관계를 효과적으로 표현할 수 있고, 알리오와 정부24 데이터 연계 사례를 통해 활용성을 확인한다.
Abstract
Organizational information is crucial for data management as it serves as a key access point for data provenance and accountability. Administrative standard codes are used to manage organizational information, but linking data from diverse sources remains challenging. This study proposes a knowledge graph-based approach to address inconsistent representation of organizational names and relationships in web-based data. A knowledge model for semantically representing Korean organizational information is designed, and an organizational knowledge graph is constructed. The organization knowledge graph effectively expresses diverse organizational name notations and inter-organizational relationships. Its applicability is demonstrated by linking data from ALIO and Government 24 systems. The results show that the organizational knowledge graph enhances data interoperability across various sources and facilitates data integration centered on organizational information.
Keywords:
Organization Code, Administration Standard Code, Knowledge Graph, Organization Ontology, Organization Knowledge Graph키워드:
기관코드, 행정표준코드, 지식그래프, 기관 지식모델, 기관 지식그래프Ⅰ. 서 론
정보의 중요성이 강조되면서 데이터의 활용 범위가 크게 확대되고 있다. 정부에서 공개하는 행정정보, 공공데이터뿐 아니라 웹상에 존재하는 데이터를 활용하여 데이터 기반의 의사결정과 서비스가 증가하고 있다. 최근 이슈되는 거대언어모델(Large Language Model; LLM) 또한 수많은 데이터를 수집하고 학습시킨 것으로, 데이터는 현대사회에서 중요한 역할을 하고 있다. 정부는 공공데이터의 제공 및 이용 활성화에 관한 법률[1], 데이터기반행정 활성화에 관한 법률[2]을 기반으로 기관이 보유한 데이터의 개방과 연계를 지원한다. 각 기관은 데이터 생성, 관리, 활용의 중심적인 역할을 수행하므로 기관 정보는 데이터 관리기관, 제공기관 등 데이터를 식별하기 위한 주요 정보로 사용된다.
하지만, 다양한 출처에서 생성되는 데이터는 다양한 시스템과 환경에 존재하므로, 서로 다른 형식과 의미를 갖고 있어 활용이 어렵다. 데이터 상호운용성은 서로 다른 환경의 데이터를 효과적으로 교환하고 사용할 수 있는 능력으로 다양한 플랫폼, 형식, 메타데이터 사이의 데이터 연계와 통합이 포함된다[3]. 데이터 연계를 위한 선행 작업으로 데이터 출처와 같은 메타데이터를 기준으로 공통 키를 찾는 작업이 수행된다. 그러나, 현재 웹상에 존재하는 데이터는 기관 정보를 상세한 수준에서 파악하기가 쉽지 않다. 기관명은 다양한 데이터에서 사용되지만, 일관적으로 표현하고 연계하는 것이 어려운 실정이다. 기관명과 같이 문자열(label) 중심의 데이터 연계는 한계가 있기 때문이다. 데이터 관리환경에 따라 표기 불일치, 부정확성에 대한 문제가 발생한다[4].
문자열이 아닌 코드화된 식별체계를 사용하면 정확성과 일관성을 확보할 수 있다. 코드는 고유하게 부여되므로 서로 다른 시스템 환경에도 식별이 가능하고, 데이터를 체계적으로 활용할 수 있어 상호운용성을 높일 수 있다. 대표적인 예시로, 연구자의 고유 식별자인 ORCID(Open Researcher and Contributor ID)와 디지털 객체 식별자인 DOI(Digital Object Identifier)가 있다[5]-[7]. ORCID는 동일 저자명을 고유하게 식별하는 역할을 하며, 연구자의 출판물, 데이터를 등록하고 관리할 수 있다. DOI는 논문, 데이터, 소프트웨어 등 디지털 객체를 식별하는 역할을 하고, 객체에 접근할 수 있는 영구적인 링크를 제공하여 인용과 출처를 관리할 수 있다. 한국의 경우, 행정기관 사이의 원활한 정보 이용을 위해 행정업무에 필요한 코드를 체계화한 행정표준코드를 사용한다. 행정표준코드는 240종의 코드가 존재하며 행정표준코드관리시스템(code.go.kr)에서 데이터를 제공하고 있다. 많이 이용되는 코드는 기관, 법정동, 직급, 도로명, 건축물용도 순으로 안내되고 있다. 이용자가 가장 많이 사용하는 기관코드는 행정기관, 교육기관, 공공기관, 입법/사법/헌법기관, 금융기관, 국군조직 등의 기관을 표현한 고유한 7자리 코드다. 기관코드 데이터는 기관코드와 기관명을 포함한 다양한 속성 정보를 함께 제공한다. 기관코드는 행정정보의 공동이용을 위한 중요한 기반이지만, 외부 데이터는 기관코드가 아닌 기관명만 존재하는 경우가 많다. 식별자 역할을 하는 기관코드와 달리 기관명은 중복되거나 약어를 사용하므로 고유한 기관을 식별하기 어렵다.
따라서, 본 연구는 다양한 출처의 기관 정보를 연계하기 위해서 지식그래프 기반의 관리방안을 제안한다. 논문의 구성은 다음과 같다. 2장은 코드체계를 활용한 연구와 지식그래프에 대한 선행연구를 조사하고, 3장은 연구의 대상과 연구방법을 설명한다. 4장은 한국의 기관 정보를 표현하기 위한 지식모델을 설계하고 기관코드 데이터를 지식그래프로 구축한다. 5장은 응용사례를 통해 기관 지식그래프의 확장성과 활용 가능성을 검증한다. 응용사례는 공공기관 경영정보 시스템 알리오와 정부24 데이터를 사용해 검증한다. 6장은 연구의 시사점과 한계점을 서술한다. 7장은 연구 결과를 요약하고 향후 연구 방향을 소개한다.
Ⅱ. 관련 연구
데이터 관리와 상호운용성 관점에서 식별체계 기반의 데이터 연계를 위한 연구는 중요하다. 먼저, 식별자는 데이터를 관리하기 위한 핵심적인 역할을 한다. PID(Persistent Identifier)는 영구 식별자를 뜻하며, DOI, ORCID와 같은 영구 식별자는 물리적 또는 디지털 객체를 고유하게 식별하여 데이터의 접근성, 재사용성을 향상시킨다[5],[7],[8]. Paskin[5]은 디지털 객체를 지속적으로 식별하기 위해 DOI 시스템이 어떻게 사용되는지 설명한다. DOI 시스템은 확장 가능한 메타데이터 모델을 사용하여 DOI와 설명 요소를 연관시킨다. 이는 출판된 논문의 가시성과 인용 가능성을 높이고, 데이터와 그림에도 사용할 수 있다. Andrea et al.[6]은 연구 평가와 데이터 공유 활동 연구에 ORCID를 사용해 연구자 개별의 이름 모호성 문제를 해결하기 방안을 제안한다. Haak et al.[7]은 연구 평가를 위한 ORCID 활용을 위한 연구를 진행했으며, 연구원과 논문 사이의 관계를 관리하기 위한 방안으로 ORCID와 DOI를 사용한 엔드포인트의 중요성을 말한다. ORCID, DOI와 같은 전역적인 식별자는 웹을 통해 지속적으로 접근 가능한 환경을 지원하고 내용 협상(content negotiation)을 사용한다.
반면, 웹상의 영구 식별자가 아닌 특정 목적에 의해 사용되는 코드는 국제표준도서번호(International Standard Book Number; ISBN), 국가 코드(ISO 3166) 등이 존재한다. 한국의 경우, 행정표준코드를 통해 행정업무에 필요한 코드를 체계화하고 있다. 대표적으로 기관코드, 법정동코드, 행정동코드, 도로명코드 등이 있으며 데이터의 통합과 관리에서 핵심적인 역할을 한다. Kang[9]은 기관코드를 시맨틱 웹 온톨로지와 결합하여 동일 기관의 이전 명칭을 같은 개체로 식별하는 방법을 연구하였다. 특히, 기록물 관리의 출처정보를 위해 기관코드를 사용하여 기관 정보의 일관된 관리와 접근성을 높였다. Kim[4]은 행정표준코드의 기관코드를 활용하여 공공데이터의 품질을 개선하는 방안을 제시한다. 이 연구는 기관코드의 ‘전체 기관명’과 공공데이터 기관명의 일치율을 계산하여 품질을 평가하였다. ‘카돌릭대’와 ‘가톨릭대학교’처럼 의미는 같지만 표기법이 다른 경우를 처리하기 위해 의미적으로 동일한 개체로 인식할 수 있는 연구의 필요성을 강조하고 있다.
의미적으로 데이터를 연계하기 위한 방안으로 지식그래프와 같은 시맨틱 기술을 활용할 수 있다. 지식 그래프는 웹상의 개체를 고유한 URI 식별자로 표현하고, 개체 사이의 관계와 속성을 그래프 형식으로 나타낸다[10]. 대표적으로 위키데이터(Wikidata)는 위키백과의 데이터를 의미적으로 저장하고 관리하기 위한 지식그래프로, 동일 개체에 대한 식별체계를 구축하여 관리한다[11]-[13]. Seidlmayer et al.[14]은 ORCID 데이터베이스를 활용하여 위키데이터의 저자와 논문 관계를 보완하는 방법을 제시했다. 이를 통해 12,000개 이상의 저자-논문 관계를 추가했으며 다른 도메인에도 적용할 수 있는 데이터 강화 방식을 보여주었다. Amante et al.[15]은 포르투갈의 기관 정보의 품질과 일관성을 보장하기 위해 URI 식별자(PTCRIS_OrgID)를 부여하여 데이터 상호연계를 가능하게 하는 방법을 연구하였다. Kim[16]은 행정구역 정보를 표현하는 온톨로지를 개발하고 이를 기반으로 공공데이터 연계를 위한 지식그래프 구축 방법을 제안하였다. Lee et al.[17]은 링크드 데이터에서 인물 정보 연계 범위를 확장하는 방안을 제시하였다.
지식그래프는 표준화된 어휘를 사용해 데이터를 표현한다. 기관 정보를 효과적으로 관리하기 위해 다음과 같은 온톨로지 어휘가 사용될 수 있다. Schema.org[18]는 웹상의 데이터를 구조화하기 위해 Google이 제안한 어휘로, 다양한 도메인에 대한 클래스와 속성을 제공한다. 기관을 표현하는 Organization 클래스가 존재하며 학교, 기업, 비영리기관 등을 표현할 수 있다. Organization Ontology[19]는 조직 사이의 관계를 표현하기 위한 표준 어휘다. 이 어휘는 조직의 구조, 역할 등을 정의하여 조직의 기본 정보와 기능적 관계를 표현할 수 있다. vCard[20]는 전자 명함을 표현하기 위한 어휘다. 개인 또는 조직의 정보를 저장하고 교환하기 위해 사용된다. 이름, 주소, 직함, 연락처 등의 정보를 일관성 있게 표현할 수 있어 기관과 소속 직원의 현황을 관리하는 데 도움이 된다. 이러한 온톨로지 어휘는 지식그래프를 구성할 때 개체와 관계를 명확히 정의하고, 데이터의 의미적 연계를 지원한다. 온톨로지 어휘를 사용하면 다양한 출처의 데이터를 통합하고 상호운용성을 높일 수 있다.
본 연구는 선행연구를 기반으로 한국의 행정표준코드와 지식그래프를 결합하여 기관 정보의 일관된 표현과 데이터 상호운용성을 향상시키는 방안을 모색하고자 한다.
Ⅲ. 연구방법
본 연구는 크게 2가지 과정으로 진행하며 그림1과 같다. 먼저, 한국의 기관 지식그래프를 위한 데이터 수집과 지식모델 설계를 수행한다. 1) 기관코드 데이터는 행정표준코드관리시스템을 통해 파일데이터(탭으로 구분된 TXT)를 제공한다. 2024년 1월을 기준, 수집한 기관코드 데이터는 총 437,774개의 기관정보가 포함되어있다. 2) 데이터의 컬럼정보와 구조를 분석하여 한국의 기관 정보를 표현할 수 있는 지식모델을 설계한다. 지식모델은 기관 정보와 관계를 표현하기 위해 기존 어휘인 Dublin Core[21], Schema.org를 기반으로 설계하고, 기관코드의 유형은 SKOS(Simple Knowledge Organization System)를 사용한다. SKOS는 skos:broader, skos:narrower와 같은 속성을 통해 개념 사이의 체계를 표현할 수 있다[22]. 설계한 모델은 KOOR(Korea Organization Ontology) 어휘로 정의한다. 3) 수집한 기관코드 데이터의 각 기관은 개체(Entity)로 간주되며, 기관코드를 활용한 고유한 URI를 부여한다. 예를 들어, 행정안전부(1741000)는 웹상에서 식별하기 위해 ‘http://data.datahub.kr/id/organization/1741000’으로 표현한다. 또한, 개체 사이의 관계를 표현하기 위해 KOOR 어휘의 클래스와 속성을 부여하여 수집한 데이터를 주어-술어-목적어와 같은 트리플 구조의 RDF 데이터로 변환한다. 이때, 데이터 변환은 파이썬의 rdflib 라이브러리를 사용한다.
기관 지식그래프를 구축한 뒤, 활용성을 검증하기 위해 응용사례를 소개한다(그림 1의 응용사례(Application)). 데이터 강화(enrichment)란 기존 데이터에 추가적인 정보를 연결하여 데이터의 의미와 활용성을 높이는 것이다[23]. 공공기관 경영정보 시스템인 알리오(alio.go.kr)는 공공기관의 상급기관에 대한 정보와 함께 일반적인 현황 정보를 제공한다. 알리오의 데이터에 기관 지식모델을 적용해 RDF 데이터로 변환한 뒤, 기관 지식그래프와 연계하면 각 공공기관의 하위조직, 차수, 서열, 이전기관코드 등 기관 지식그래프에 존재하는 정보를 추가할 수 있다. 다른 예시로, 정부24의 정부조직도(gov.kr/portal/orgInfo)는 중앙행정기관과 지방자치단체의 소속기관, 유관기관 목록을 웹사이트에 공개하고 있다. 마찬가지로, 정부24의 데이터를 기관 지식모델을 사용하여 RDF 데이터로 변환하여 기관 지식그래프를 연계하면 추가 정보를 강화할 수 있다.
Ⅳ. 한국 기관을 위한 지식모델과 지식그래프
4-1 행정표준코드의 기관코드
행정표준코드의 기관코드는 기관명, 차수, 유형, 주소 등 해당 기관의 정보와 차상위/차하위 코드체계를 활용해 기관 사이의 관계 정보를 제공한다. 행정표준코드의 관리시스템은 정부조직관리정보시스템(중앙행정기관), 지방인사정보시스템(지방자치단체), 행정정보공동이용시스템(공공기관 및 민간기관)을 통해 운영되고 있다. 각 시스템에 등록된 기관코드는 행정표준코드관리시스템의 데이터베이스에 반영되어 관리된다. 기관코드 데이터의 주요 정보는 3가지로 구분할 수 있다. 첫째, 기관의 소재와 연락처 정보를 제공한다. 기관의 기관명, 우편번호, 행정동코드, 소재지코드, 나머지주소, 지번, 전화번호, 팩스번호 컬럼을 통해 기관의 위치와 연락처를 식별할 수 있다. 이때, 기관의 기관명은 ‘전체기관명’과 ‘최하위 기관명’을 제공한다. ‘전체기관명’은 기관명과 본부명, 하위부서명 전부를 포함한 기관 전체 명칭(예: 행정안전부 디지털정부국 디지털정부기반과)을 나타내고, ‘최하위 기관명’은 전체기관명 중 가장 하위 차수의 기관명, 부서명(예: 디지털정부기반과)을 나타낸다.
둘째, 기관의 유형 정보를 제공한다. 기관의 유형은 행정안전부에서 발표한 ‘행정기관의 코드표준화 추진지침 전문’에 따라 구분한다. ‘행정기관’, ‘입법/사법/헌법기관’, ‘교육기관’, ‘공공기관’, ‘금융기관’, ‘국군조직’ 유형 하위로 대분류, 중분류, 소분류 코드가 존재한다. 셋째, 기관 사이의 관계를 제공한다. 기관코드는 기관 사이의 계층 관계를 ‘소속기관 차수’를 통해 표현한다. 차수는 0부터 4까지의 값을 가지며 ‘0’은 부, 과, 팀 등의 부서 수준을 의미하고, ‘1-4’는 기관 수준의 차수를 의미한다. 이러한 체계를 통해 기관코드는 조직 내 부서 수준부터 여러 단계의 소속기관까지의 관계를 관리할 수 있다. 또한, 기관코드는 각 기관의 차수, 서열, 소속기관차수, 차상위기관코드, 최상위기관코드, 대표기관코드, 이전기관코드 컬럼을 통해 기관 사이의 관계 정보를 제공한다.
4-2 지식모델 설계
한국의 기관 지식모델(Korea Organization Ontology, KOOR)은 Schema.org를 기반으로 한국의 기관 특성을 반영해 설계한다. schema:Organization 클래스는 학교, 기업, NGO, 단체 등의 조직을 표현하고, 이름(name), 식별자(identifier), 설명(description), 메인페이지(mainEntityOfPage)와 같은 기본적인 속성이 존재한다. 기관의 특성을 나타내는 속성은 부서(department), 상위기관(parentOrganization), 하위기관(subOrganization), 구성원(member), 설립날짜(foundingDate), 폐지날짜(dissolutionDate)를 포함한 59개가 존재한다. 기관 지식모델은 schema:Organization의 속성 중 재사용할 수 있는 어휘를 검토하고, 해당 어휘로 표현이 불가능한 정보는 기관 지식모델에서 정의한다. 그림 2는 기관 지식모델의 주요 클래스와 속성을 나타낸 다이어그램이다. 기관 지식모델의 클래스와 속성은 “koor:” 접두사(prefix)를 의미하고, “::”은 속성 값의 범위(range)인 클래스를 표현한다. 기관 지식모델의 주요 클래스는 koor:Organization과 koor:OrganizationCode로 구성된다. koor:Organization 클래스는 기관의 기본적인 정보와 기관 사이의 관계를 나타낸다. 예를 들어, "::Organization" 아래의 koor:department 속성 값의 범위는 koor:Organization 클래스다. 이는 한 기관의 부서도 그 자체로 기관으로 취급됨을 의미한다.
기관의 이름, 설명과 같은 기본 속성은 schema:Organization의 속성을 상속받는다. 예를 들어, '행정안전부'라는 기관명은 schema:name으로 표현된다. 한편, 한국 기관의 특성을 반영하는 속성들은 KOOR 어휘에서 새롭게 정의한다. 기관의 서열은 koor:ranking, 차수는 koor:degree, 소속기관 차수는 koor:affiliatedDegree로 표현한다. 기관의 대표 또는 기관장은 koor:headOf, 기관의 존폐여부는 koor:existence로 정의한다.
기관 지식모델은 기관 관계에 대한 속성의 정의역(Domain)과 공역(Range)을 모두 koor:Organization으로 정의한다. 이는 관계의 주체와 대상이 모두 기관임을 의미한다. 예를 들어, ‘기획재정부 koor:subOrganization 국세청’으로 표현할 수 있으며, 국세청이 기획재정부의 하위기관임을 나타낸다. 이때, 기관 사이의 관계는 계층적으로 구성할 수 있다. 기관코드 데이터는 '소속기관 차수'를 통해 부서 수준과 기관 수준의 관계를 구분한다. 예를 들어, 소속기관 차수가 ‘0’인 경우 부서 수준을 의미하므로 ‘상위기관 koor:department 부서’로 표현하고, ‘1’인 경우 기관 수준이므로 ‘상위기관 koor:subOrganization 하위기관’으로 표현한다. 기관의 대표기관(koor:representativeOrganization)과 이전기관(koor: previousOrganization)은 기존 어휘에서 재사용할 수 있는 적절한 속성이 없으므로, 기관 지식모델에서 새롭게 정의한다. 정의한 속성들은 기관의 대표성과 변경이력을 표현할 수 있다.
한편, 코드 기반의 관리체계를 지식모델로 표현하기 위해 기관코드는 별도의 클래스로 정의한다. 기관코드는 koor: OragnizationCode 클래스로 표현하여 코드의 이력 정보와 관계를 쉽게 탐색하고 업데이트할 수 있다. 기관코드 사이의 계층 관계는 koor:parentOrganizationCode, koor:subOrganizationCode 속성을 통해 파악할 수 있다. 또한, 최상위기관코드, 차상위기관코드와 같은 정보는 koor:transitiveParentOrganizationCode 속성을 통해 전이적(transitive)으로 상위코드를 추론하고 최상위기관코드를 명시적으로 표현할 수 있다.
기관 유형은 분류체계를 표현할 수 있도록 SKOS 어휘를 재사용한다. 기관코드 데이터는 6가지 유형(행정기관, 입법/사법/헌법기관, 교육기관, 공공기관, 금융기관, 국군조직)으로 기관을 구분한다. 6가지 유형은 koor:organizationType으로 나타내고, 유형의 세부적인 범주를 대분류(koor: topLevelCategory), 중분류(koor:midLevelCategory), 소분류(koor:lowLevelCategory)로 구분한다. 각 유형은 개념(skos:Concept)으로 표현하고, 개념의 집합이 되는 분류체계는 skos:ConceptScheme 클래스로 표현한다. skos: ConceptScheme은 개념체계를 의미하는 클래스로, 서로 관련된 개념들의 집합을 체계적으로 구성하고 개념 사이의 관계를 정의하는 역할을 한다. 즉, 기관 유형에 대한 분류체계가 하나의 skos:ConceptScheme으로 표현되고, 각 유형은 skos:Concept이 된다. 기관 유형 분류체계에서 최상위 개념(skos:topConcept)은 행정기관, 공공기관, 교육기관, 입법/사법/헌법기관, 국군조직으로 정의하고 모든 유형은 skos: Concept으로 표현한다. 유형 사이의 관계는 narrower와 broader로 정의하여 상하위 개념을 표현한다. 예를 들어, 교육기관의 세부 유형으로 고등학교가 있다면, skos:narrower 속성을 사용하여 ‘교육기관 skos:narrower 고등학교’로 표현할 수 있다.
4-3 기관 지식그래프 구축
기관 지식그래프 구축은 데이터를 지식모델을 기반으로 주어-술어-목적어의 관계로 표현하고, 웹상에서 개체를 고유하게 식별하고 관리하기 위해 URI(Uniform Resource Identifier)를 활용한다. 기관코드 데이터는 전체기관명, 대표기관코드, 차수, 서열, 전화번호, 폐지구분을 포함한 24개의 속성 정보를 제공한다. 표 1은 기관코드 데이터를 표현하기 위해 각 항목을 기관 지식모델의 속성과 매핑하여 정의한 것이다. 기관(koor:Organization)이 갖는 속성과 기관코드(koor:OrganizationCode)가 갖는 속성을 구분하고, 속성의 공역과 정의역을 고려하여 표현한다. 표 1의 속성 중 정의역이 ‘-’로 표시된 것은 별도의 정의역을 설정하지 않은 것으로, 값의 형식을 자유롭게 표현할 수 있는 속성이다.
네임스페이스(namespace)는 URI를 기반으로 용어와 개념의 고유성을 보장하는 체계로, 해당 도메인 내에서 기관 정보에 관련된 용어와 개체들만 모아서 관리할 수 있다. 기관 지식그래프의 네임스페이스는 "{domain}/def/organization/로 정의하여 기관 관련 어휘를 식별할 수 있도록 한다. 예를 들어, koor:Organization 클래스는 "{domain}/def/organization/Organization"으로 정의한다.
주요 클래스의 인스턴스 URI 체계는 다음과 같다. 기관 클래스(koor:Organization)는 기관코드의 존재 여부에 따라 두 가지 패턴을 적용한다. 기관코드가 존재하는 경우 기관코드 값을 URI에 그대로 반영한다(예:{domain}/id/organization/{기관코드}). 반면 기관코드가 없는 경우, 기관명에 MD5 해시 함수를 적용하여 URI를 구성한다(예:{domain}/id/organization/{md5(기관명)}). 기관코드(koor:OrganizationCode) URI 구조는 "{domain}/id/organization-code/{기관코드}", 기관 유형(skos:Concept) URI 구조는 "{domain}/id/organization-category/{기관유형코드}"로 설계한다.
기관코드 데이터는 CSV로 제공되므로, 데이터 전처리와 RDF 변환은 파이썬 라이브러리인 pandas와 rdflib을 사용한다. 각 데이터에 어휘를 매핑하고 고유한 URI를 부여하여 변환한 결과, 총 9,904,346개의 트리플로 구축되었다.
Ⅴ. 응용사례
5-1 기관코드 연계
기관 지식그래프는 외부 데이터와 연계를 위한 참조데이터로 사용될 수 있다. 독립적으로 운영되는 시스템에 있는 데이터 또는 공공데이터로 개방되는 데이터는 출처마다 데이터 구조가 다르기 때문에 일관성 있는 데이터가 필요하다. 지식그래프는 웹상의 URI를 기준으로 연계가 가능하므로 운영 시스템과 관계없이 데이터 상호운용성을 지원한다.
응용사례로 알리오(공공기관 경영정보 시스템), 정부24의 기관데이터를 기관 지식그래프를 활용하는 방안을 소개한다. 알리오와 정부24 데이터는 기관코드 정보없이 기관명만 존재하므로, 행정표준코드의 기관코드를 연계하는 작업이 필요하다. 기관코드 매핑 작업은 다음과 같다. 외부 데이터(예: 알리오, 정부24)의 기관명 집합은 O로 정의하고, 기관코드의 ‘전체기관명’ 집합은 M으로 정의한다. 기관코드의 ‘전체기관명’은 차상위기관과 최상위기관명이 모두 조합된 형태이지만, 외부 데이터의 기관명은 일반적으로 상위기관명을 병기하지 않는다. 기관명 매핑의 정확도를 높이기 위해 O의 각 기관(oᵢ)에 대해 전체기관명(full_name)을 조합하여 생성하고, 기관명(lowest_name)을 최하위 기관명으로 사용한다. 이때, 전체기관명은 ‘상위기관/주무부처 + 기관명’ 형태로 조합한다. 연계 과정은 두 단계로 구성된다. 첫째, 매핑 과정에서 외부 데이터의 각 기관(oᵢ)에 대해 두 가지 유사도 점수를 계산한다. (1) oᵢ의 전체기관명(full_name)과 M의 전체기관명 목록 중 유사도가 높은 최대값(Fᵢ), (2) oᵢ의 기관명(lowest_name)과 M의 전체기관명 목록 중 유사도가 높은 최대값(Lᵢ)을 계산하여 Fᵢ와 Lᵢ 중 더 높은 유사도 점수를 선택한다. 높은 유사도 점수를 가진 M의 전체기관명을 해당 외부 기관명(oᵢ)과 연계한다. 이때, 유사도 점수는 파이썬의 difflib 라이브러리를 사용하며, 유사도 계산에 사용된 difflib.get_close_matches 함수는 게슈탈트 패턴 매칭(Gestalt pattern matching) 알고리즘을 활용해 계산된다.
해당 수식은 외부 데이터의 기관명을 기관코드의 전체기관명 중 가장 유사한 것과 매칭시키며, 다양한 형태의 기관명에 대응할 수 있다. 또한, 검증을 위해 평균 유사도 점수와 정밀도(precision), 재현율(recall), F1 점수를 계산해 평가한다. 검증 작업이 끝난 데이터는 기관 지식모델을 적용해 지식그래프로 구축한다.
5-2 알리오
알리오는 공공기관에 대한 데이터로, 17개의 속성 정보(기관명, 기관유형, 설립일, 설립목적, 기관연혁, 기관장 등)를 파일데이터(XLSX) 형태로 제공한다. 알리오 데이터의 총 356건의 기관명과 기관코드의 전체기관명 매핑 결과는 표 2와 같다. 매핑된 기관명 사이의 평균 유사도 점수는 96.73, 정밀도는 0.96, 재현율은 0.99, F1 점수는 0.98이다.
정확하게 매핑되지 않은 16개의 오류 값을 분석한 결과, 주요 오류 유형은 다음과 같다.
⦁ 영문명을 한글로 표기한 경우: 영문과 한글 기관명의 혼용으로 발생하는 오류다. 예를 들어, ‘한전KPS(주)’가 정답값인 ‘한전케이피에스주식회사’로 정확히 매칭되지 않는 경우가 이에 해당한다.
⦁ 약어와 전체기관명 사이의 오류: 기관의 약어와 전체 기관명 사이의 불일치로 인해 발생하는 오류다. ‘국가녹색기술연구소’이 정답값인 ‘한국과학기술연구원부설국가녹색기술연구소’의 경우가 이에 해당한다.
위와 같은 오류 유형의 값을 검토한 뒤 정제하여 기관코드를 부여해 지식그래프로 변환한다. 지식그래프 변환 결과 총 2,894개의 트리플로 변환했다.
5-3 정부24
정부24는 정부의 민원서비스와 각 기관의 주요 정보를 제공하는 웹사이트다. 중앙행정기관의 부, 처, 청, 위원회와 지방자치단체에 대한 정보를 제공한다. 각 기관의 상세정보를 함께 제공하므로, 기관의 기관장, 홈페이지, 주소, 대표전화, 소속기관, 유관기관에 대한 정보를 제공한다. 정부 24는 별도의 파일데이터를 제공하지 않아 웹 크롤링을 통해 총 1,560건을 수집했다.
정부24의 기관명과 기관코드의 전체기관명 매핑 결과는 표 3과 같다. 매핑된 기관명 사이의 평균 유사도 점수는 97.05, 정밀도는 0.96, 재현율은 0.99, F1 점수는 0.97이다.
정확하게 매핑되지 않은 144개의 오류 값을 분석한 결과, 대표적인 오류 유형은 다음과 같다.
⦁ 기관코드 폐지 오류: 과거에 존재했으나 현재는 폐지되거나 변경된 기관코드로 인해 발생하는 오류다. ‘광주광역시 공무원교육원’은 폐지되어 현존하는 기관명에 존재하지 않아 ‘대구광역시 공무원교육원’으로 잘못 예측한 경우다.
⦁ 유사 기관명 오류: 기관명이 유사하여 잘못 매칭된 경우다. ‘재단법인국제원산지정보원’을 ‘한국원산지정보원’으로 잘못 예측하였다.
⦁ 상위기관 정보 부재의 오류: 외부 데이터와 기관코드 데이터의 상이한 계층구조로 인해 발생하는 오류다. 예를 들어, ‘해양경찰청 동해해양경찰서’의 경우, 정답값이 ‘해양경찰청 동해지방해양경찰청 동해해양경찰서’지만, 기관코드 데이터가 더 세부적인 계층 구조를 가지고 있어 ‘해양경찰청 동해지방해양경찰청’으로 잘못 예측하였다.
오류 값을 검토하여 정제한 뒤, 정부24 데이터에 매핑한 기관코드를 활용해 지식그래프로 변환한다. 기관 지식모델을 사용하여 변환한 결과, 총 6,240개의 트리플로 변환했다.
5-4 SPARQL 질의
응용사례의 활용성을 분석하기 위해 2개의 SPARQL 질의문을 사용한다. 표 4는 특정 기관(보건복지부)의 하위기관의 수량을 구하는 질의문과 결과다. Graph1은 정부24 데이터만 존재하는 지식그래프이고, Graph2는 정부24 데이터에 기관 지식그래프를 강화한 지식그래프다. Graph1의 질의결과는 41개, Graph2의 결과는 50개다. 지식그래프의 강화를 통해 기관 사이의 연계점이 증가하여 하위기관 정보가 추가된 것을 확인할 수 있다.
표 5는 하나의 기관코드에 다양한 기관명을 추출하기 위한 질의문이다. 쿼리 결과는 하나의 기관에 다양한 기관명이 연계된 것을 보여준다. Graph3은 알리오 데이터만 존재하는 지식그래프이고, Graph4는 알리오 데이터에 기관 지식그래프를 강화한 지식그래프다. Graph3은 URI(“http://data.datahub.kr/id/organization/B551881”)를 기준으로 알리오에만 존재하는 기관명(한전KPS(주))을 출력한 반면, Graph4는 "한전케이피에스주식회사"가 추가되었다. 강화한 지식그래프는 URI를 통해 개체를 식별하기 때문에, 서로 다른 기관명을 사용하더라도 고유한 URI를 기준으로 동일한 개체로 표현할 수 있다.
Ⅵ. 토 론
본 연구에서 제안한 기관 지식모델과 기관 지식그래프는 데이터 표준화를 통해 기관 정보를 효율적으로 관리할 수 있는 방안을 제안한다. 일반적인 데이터의 기관명은 약어 또는 변경여부에 따라 다양한 명칭을 고려해야 한다. 예를 들어, ‘과학기술정보통신부’ 관련 데이터 검색 시 사용자는 ‘과기정통부(약어)’, ‘미래창조과학부(이전 명칭)’ 등을 모두 고려해야 한다. 사용자가 약어와 이전 명칭을 모르는 경우, 데이터 검색은 시간 소모적인 작업이 된다. 반면, 지식그래프는 고유한 URI를 통해 기관을 식별할 수 있고, 하나의 문자열(label)이 아니라 여러 표기를 포괄할 수 있는 장점이 있다. 또한, 주어-술어-목적어로 기술된 트리플 데이터는 표준화된 형태로, 개체 사이의 관계를 반영할 수 있다. 기관 지식모델을 사용해 구축한 기관 지식그래프는 새로운 데이터를 쉽게 추가하고 관리할 수 있는 확장성을 제공한다. 예를 들어, 기관 지식그래프를 기관에 대한 기반 데이터로 활용하여 다양한 공공데이터의 연계성을 높일 수 있다.
특히, 본 연구에서 응용사례로 다룬 알리오와 정부24와 같은 공공기관 시스템에 대해 기관 지식그래프를 통한 개선 방안을 제시할 수 있다. 각 응용사례의 시스템은 독립적으로 운영되고 있어 데이터의 통합적 관리와 활용에 한계가 있다. 하지만, 기관 지식그래프를 활용하면 데이터의 일관성을 향상시킬 수 있고, 행정 서비스의 연계를 위한 통합이 가능하다. 또한, 기관 지식그래프에 포함된 기관 사이의 관계 정보를 활용하여 관련 기관의 정보를 연계해 제공할 수 있다. 이러한 개선 방안은 다른 공공기관 시스템에도 적용 가능한 모델로 데이터 통합을 위한 환경을 제공할 수 있다.
단, 본 연구는 기관명 연계를 위해 문자열 유사도 기반의 방법을 사용했다. 이 방법은 직관적이지만 동음이의어인 기관명, 약어나 별칭 처리의 한계가 존재한다. 이러한 한계점을 개선하기 위해 향후 연구는 개체명 인식(Named Entity Recognition), 지식그래프를 활용한 개체명 연결(Entity Linking), 지식그래프 임베딩(Knowledge Graph Embedding)과 같은 작업을 통해 기관명의 다양한 표현과 맥락을 고려하여 정확성을 높이고자 한다.
Ⅶ. 결 론
본 연구는 기관 중심의 데이터 상호운용성 향상을 위해 행정표준코드의 기관코드와 지식그래프를 활용한 관리 방안을 제시하였다. 연구 결과는 3가지로 정리할 수 있다. 첫째, 한국의 기관 정보를 포괄적으로 표현할 수 있는 지식모델인 기관 지식모델(Korea Organization Ontology, KOOR)을 설계하였다. 이 모델은 Schema.org의 Organization 클래스를 기반으로 하되, 한국 기관의 특성을 반영하였다. 기관 지식모델은 다양한 기관의 관계와 속성을 의미적으로 표현할 수 있도록 설계하여 기관 정보의 일관성과 상호운용성을 향상시킬수 있는 기반이 된다. 기관 지식모델의 주요 클래스는 기관(koor: Organization)과 기관코드(koor:OrganizationCode)로 구성된다. 또한, 기관의 유형 분류체계를 관리하기 위해 개념체계를 표현하는 SKOS 어휘를 재사용하였다.
둘째, 설계한 기관 지식모델을 사용하여 기관 데이터를 RDF 형식의 지식그래프로 구축하고, 지식그래프 기반 데이터 강화를 진행하였다. 각 기관에 부여된 URI는 웹상에서 기관을 고유하게 식별할 수 있게 하며, 서로 다른 시스템의 데이터와 연계성을 높일 수 있다. 기관 지식그래프 구축 결과, 총 437,774건의 기관코드 데이터를 9,904,346건의 트리플 데이터로 변환하였다. 구축된 기관 지식그래프는 기관명과 기관코드를 기준으로 외부 데이터와 연계할 수 있는 접점을 제공한다.
셋째, 기관 지식그래프의 응용사례를 통해 확장성과 활용 가능성을 검증하였다. 공공기관 경영정보 시스템인 알리오와 정부24 조직도 데이터를 기관 지식그래프와 연계하는 과정을 수행하였다. 이 과정에서 문자열 유사도를 기반으로 기관코드를 매핑하는 수식을 제안하고 검증하였다. 각 데이터를 지식그래프로 변환하고 기관 지식그래프를 사용해 강화한 결과, 기관명 표기의 다양성을 수용하고 기관 간 계층 관계를 더욱 풍부하게 표현할 수 있게 되었다. 이러한 응용사례는 기관 지식그래프가 다양한 출처의 기관 정보를 효과적으로 통합하고 연계할 수 있는 가능성을 보여준다.
Acknowledgments
이 논문은 2023년도 중앙대학교 CAU GRS 지원에 의하여 작성되었음.
References
- Ministry of the Interior and Safety. Act on Promotion of the Provision and Use of Public Data [Internet]. Available: https://www.law.go.kr%EB%B2%95%EB%A0%B9/%EA%B3%B5%EA%B3%B5%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98%EC%A0%9C%EA%B3%B5%EB%B0%8F%EC%9D%B4%EC%9A%A9%ED%99%9C%EC%84%B1%ED%99%94%EC%97%90%EA%B4%80%ED%95%9C%EB%B2%95%EB%A5%A0, .
- Ministry of the Interior and Safety. Act on the Promotion of Data-based Administration [Internet]. Available: https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B8%B0%EB%B0%98%ED%96%89%EC%A0%95%ED%99%9C%EC%84%B1%ED%99%94%EC%97%90%EA%B4%80%ED%95%9C%EB%B2%95%EB%A5%A0, .
- A. Kadadi, R. Agrawal, C. Nyamful, and R. Atiq, “Challenges of Data Integration and Interoperability in Big Data,” in Proceedings of 2014 IEEE International Conference on Big Data, Washington, DC, pp. 38-40, October 2014. [https://doi.org/10.1109/BigData.2014.7004486]
- H. Kim and H. Kim, “Method for Improving Public Data Quality Applying the Organization Code of Standard Code for Administration,” Journal of Digital Contents Society, Vol. 23, No. 3, pp. 481-488, March 2022. [https://doi.org/10.9728/dcs.2022.23.3.481]
- N. Paskin, Digital Object Identifier (DOI®) System, in Encyclopedia of Library and Information Sciences, 3rd ed. Boca Raton, FL: CRC Press, pp. 1586-1592, 2009. [https://doi.org/10.1081/E-ELIS3-120044418]
- S.-C. Andrea, R.-G. Nicolas, L. van Thed, and C. Rodrigo, “Exploring the Relevance of ORCID as a Source of Study of Data Sharing Activities at the Individual-Level: A Methodological Discussion,” Scientometrics, Vol. 126, No. 8, pp. 7149-7165, August 2021. [https://doi.org/10.1007/s11192-021-04043-5]
- L. L. Haak, A. Meadows, and J. Brown, “Using ORCID, DOI, and Other Open Identifiers in Research Evaluation,” Frontiers in Research Metrics and Analytics, Vol. 3, 28, October 2018. [https://doi.org/10.3389/frma.2018.00028]
- D. Agosti, L. Benichou, W. Addink, C. Arvanitidis, T. Catapano, G. Cochrane, ... and L. Penev, “Recommendations for Use of Annotations and Persistent Identifiers in Taxonomy and Biodiversity Publishing,” Research Ideas and Outcomes, Vol. 8, e97374, November 2022. [https://doi.org/10.3897/rio.8.e97374]
- H. M. Kang, “A Study on the Description of Archives Name by Controlled Access Point in Ontology,” Journal of the Korean Society for Information Management, Vol. 35, No. 3, pp. 147-164, September 2018. [https://doi.org/10.3743/KOSIM.2018.35.3.147]
- A. Hogan, E. Blomqvist, M. Cochez, C. D’amato, G. De Melo, C. Gutierrez, ... and A. Zimmermann, “Knowledge Graphs,” ACM Computing Surveys, Vol. 54, No. 4, 71, May 2022. [https://doi.org/10.1145/3447772]
- D. Vrandečić and M. Krötzsch, “Wikidata: A Free Collaborative Knowledgebase,” Communications of the ACM, Vol. 57, No. 10, pp. 78-85, October 2014. [https://doi.org/10.1145/2629489]
- T. Pellissier Tanon, D. Vrandečić, S. Schaffert, T. Steiner, and L. Pintscher, “From Freebase to Wikidata: The Great Migration,” in Proceedings of the 25th International Conference on World Wide Web (WWW ’16), Montréal, Canada, pp. 1419-1428, April 2016. [https://doi.org/10.1145/2872427.2874809]
- M. Färber, F. Bartscherer, C. Menne, and A. Rettinger, “Linked Data Quality of DBpedia, Freebase, OpenCyc, Wikidata, and YAGO,” Semantic Web, Vol. 9, No. 1, pp. 77-129, November 2017. [https://doi.org/10.3233/SW-170275]
- CEUR Workshop. ORCID for Wikidata - Data Enrichment for Scientometric Applications [Internet]. Available: https://ceur-ws.org/Vol-2773/paper-09.pdf, .
- M. J. Amante, J. Duarte, J. Godinho, S. Lopes, L. Quintano, and T. Segurado, “PTCRIS_OrgID - Portuguese Organisation Identifiers Authoritative System,” Procedia Computer Science, Vol. 106, pp. 138-145, 2017. [https://doi.org/10.1016/j.procs.2017.03.046]
- H. Kim, “Building Knowledge Graph of the Korea Administrative District for Interlinking Public Open Data,” Journal of the Korea Contents Association, Vol. 17, No. 12, pp. 1-10, December 2017. [https://doi.org/10.5392/JKCA.2017.17.12.001]
- S. Lee, Z. Park, and H. Lee, “Expanding the Scope of Identifying and Linking of Personal Information in Linked Data: Focusing on the Linked Data of National Library of Korea,” Journal of the Korean Society for Information Management, Vol. 34, No. 3, pp. 7-21, September 2017. [https://doi.org/10.3743/KOSIM.2017.34.3.007]
- R. V. Guha, D. Brickley, and S. Macbeth, “Schema.org: Evolution of Structured Data on the Web,” Communications of the ACM, Vol. 59, No. 2, pp. 44-51, February 2016. [https://doi.org/10.1145/2844544]
- W3C. The Organization Ontology [Internet]. Available: https://www.w3.org/TR/vocab-org/, .
- W3C. vCard Ontology - For Describing People and Organizations [Internet]. Available: https://www.w3.org/TR/vcard-rdf/, .
- DCMI. DCMI Metadata Terms [Internet]. Available: https://www.dublincore.org/specifications/dublin-core/dcmi-terms/, .
- W3C. SKOS Core Vocabulary Specification [Internet]. Available: https://www.w3.org/TR/swbp-skos-core-spec/, .
- T. Bloch, “Connecting Research on Semantic Enrichment of BIM - Review of Approaches, Methods and Possible Applications,” ITcon, Vol. 27, pp. 416-440, April 2022. [https://doi.org/10.36680/j.itcon.2022.020]
저자소개
2023년:중앙대학교 문헌정보학과 정보학 석사
2016년~2021년: 중앙대학교 문헌정보학과
2021년~2023년: 중앙대학교 문헌정보학과 정보학 석사
2023년~현 재: 중앙대학교 문헌정보학과 정보학 박사과정
※관심분야:지식그래프, 메타데이터, 공공데이터 등
2010년:아일랜드 국립대학교 (공학박사)
2004년~2009년: Digital Enterprise Research Institute, Ireland
2009년~2016년: 삼성전자
2017년~2019년: 한국과학기술정보연구원
2019년~현 재: 중앙대학교 문헌정보학과 교수
※관심분야:지식그래프, 인공지능, 데이터 사이언스 등