초록: 현대 측량 및 원격 탐사 기술의 발전과 향상으로 측량 및 원격 탐사 분야의 데이터가 급격히 증가했습니다. 대규모의 이기종 및 다양한 측량 데이터의 특성과 측량 및 원격 탐사 데이터의 느슨한 조직 구조로 인해 데이터로부터 정보와 지식을 효과적으로 얻기가 어렵습니다. 따라서 본 논문은 이기종 데이터 통합을 위해 온톨로지(ontology)를 사용하는 방법을 제안합니다. 대규모 측량 및 원격 탐사 데이터의 이기종적이고 분산된 동적 업데이트를 기반으로, 본 논문은 측량 및 원격 탐사 응용을 위한 지식 그래프를 구축합니다. 먼저, 데이터를 추출합니다. 둘째, 온톨로지 편집 도구인 프로테제(Protégé)를 사용하여 지식 그래프 스키마 계층을 구축합니다. 그런 다음, 관계형 데이터베이스를 사용하여 데이터를 저장하고, D2RQ 도구를 사용하여 스키마 계층의 온톨로지에서 데이터 계층으로 데이터를 매핑합니다. 이어서 D2RQ 도구를 사용하여 SPARQL 프로토콜 및 자원 기술 프레임워크 질의 언어(SPARQL) 엔드포인트 서비스를 사용하여 지식 그래프의 질의 및 추론과 같은 기능을 기술합니다. 그런 다음 그래프 데이터베이스를 사용하여 지식 그래프를 표시합니다. 마지막으로, 지식 그래프를 사용하여 측량 및 원격 탐사 분야 간의 상관관계를 설명합니다.
키워드: 지식 그래프; 측량; 원격 탐사; 지식 시각화
1. 서론
2012년 구글은 지능형 검색 엔진을 지원하기 위한 목적으로 지식 그래프의 개념을 공식적으로 제안했습니다 [1]. 지식 그래프가 공식적으로 제안된 후, 학계와 산업계에 빠르게 보급되었으며 지능형 검색, 개인화 추천, 정보 분석, 사기 방지 및 기타 분야에서 널리 사용되었습니다. 본질적으로 지식 그래프는 물리적 세계의 개체(개념)와 그들의 관계를 기호 형태로 기술하는 유방향 그래프 구조를 가진 시맨틱 네트워크이자 지식 베이스입니다. 지식 그래프는 삼중항(Entity1-Relation-Entity2)의 형태로 표현되며, 그래프의 노드는 개체나 개념을 나타내고, 엣지는 개체나 개념 간의 관계를 나타냅니다 [2].
지식 그래프는 지식 표현의 새로운 방법입니다. 본질적으로 시맨틱 웹은 지식 그래프의 초기 형태로, 객관적 세계의 개체와 개체 간의 관계를 설명하는 추상적 개념이며, 또한 개체, 속성, 관계로 구성된 네트워크화된 지식 베이스입니다. 지식 그래프는 추상적 물리적 세계에서의 개념, 개체 및 그들의 관계의 집합입니다 [3]. 지식 그래프는 전통적인 정보 검색 방법을 변화시켰습니다. 한편으로, 지식 그래프는 의미론적 및 속성을 설명합니다.
퍼지 문자열 매칭을 통해 개념에 대해 추론하기 위해 개념 간의 관계를 사용합니다. 반대로, 지식 그래프는 그리드 그래픽 정보 디스플레이 인터페이스를 통해 분류 및 배열의 구조화된 지식을 사용자에게 보여줍니다. 동시에, 지식 그래프는 불필요한 정보를 수동으로 필터링하는 문제를 해결하며, 이는 지능형 사회에 실질적인 의미를 가집니다 [4].
지식 그래프는 일반 지식 그래프와 도메인 지식 그래프로 나눌 수 있습니다. 측량 및 원격 탐사에서 사용되는 지식 그래프는 도메인 지식 그래프입니다. 현재까지 측량 및 원격 탐사를 위한 지식 그래프를 조사한 연구는 거의 없습니다. Wang 등은 원격 탐사 해석을 위한 지식 그래프 프레임워크를 제안했습니다 [5]. Xie 등은 원격 탐사 위성 분야에서 대규모 지식 그래프 구축을 위한 프레임워크를 설계했습니다 [6]. 지질 과학 지식 그래프도 사용되며 상세히 연구되었습니다. Xu 등은 지질 과학 그래프와 지질 과학 정보 그래프를 기반으로 지질 과학 그래프의 개념, 프레임워크, 이론 및 특성을 제안했습니다. Jiang은 지식 그래프 구축 과정을 제안하고 지리 지식 그래프의 핵심 기술을 탐구했습니다 [7]. Lu 등은 지리 지식 그래프와 관련된 주제에 대한 연구 진행 상황을 체계적으로 검토하고 현재 지질 과학 지식 그래프 구축의 주요 문제를 분석했습니다 [8]. 그러나 이러한 연구들은 모두 이론적으로 지식 그래프 구축을 논의하며, 지식 그래프를 구축하는 실제 예제를 제공하지는 않습니다. 이전 연구 경험을 바탕으로, 본 논문은 측량 및 원격 탐사를 위한 지식 그래프 구축 예제를 설명합니다.
이 지식 그래프의 구축은 측량 및 원격 탐사 사용자, 측량 및 원격 탐사 전문가, 그리고 측량 및 원격 탐사 소프트웨어 개발자에게 서비스를 제공할 수 있습니다. 사용자는 지식 그래프를 통해 지식을 시각화하고 지식 간의 관계를 더 쉽게 발견할 수 있습니다. 지식 그래프를 통한 검색은 사용자의 검색 효율성을 향상시킵니다. 원격 탐사 전문가는 지식 그래프의 추론 기능을 통해 측량 및 원격 탐사 분야에서 통찰력을 얻고 새로운 규칙을 발견합니다. 소프트웨어 개발자는 지식 그래프를 원격 탐사 제품 전자 상거래 플랫폼에 통합하여 검색 효율성을 향상시킬 뿐만 아니라 사용자에게 제품을 정확하게 추천할 수 있습니다. 측량 및 원격 탐사의 전문 분야는 사회 발전의 사다리입니다. 사회 지능의 발전과 함께, 지능형 측량 및 원격 탐사를 위한 전문 개발 기술을 연구하는 것은 중요합니다.
2. 지식 그래프 구축의 이론적 기초
측량 및 원격 탐사 분야의 지식 그래프 시스템 프레임워크는 주로 그 구축 모드 구조를 참조하며, 이는 측량 및 원격 탐사 분야에서 지식 그래프를 구축하는 과정을 설명합니다 (그림 1). 측량 및 원격 탐사 분야에서 지식 그래프를 구축하는 과정은 두 부분으로 나눌 수 있습니다: 스키마 계층 구축과 데이터 계층 구축.
스키마 계층은 데이터 계층 위에 구축되며, 데이터 계층의 사실적 표현은 온톨로지 라이브러리를 통해 표준화됩니다. 온톨로지는 구조화된 지식 베이스의 개념적 템플릿입니다. 온톨로지 라이브러리를 통해 구축된 지식 베이스는 강한 계층 구조와 낮은 중복성의 장점을 가집니다. 데이터 계층은 일련의 지식 개체 또는 개념으로 구성됩니다. 지식은 사실 단위로 저장되며, 데이터 계층은 삼중항(Entity 1-Relation-Entity 2) 또는 (Entity-Attribute-Attribute Value)의 형태로 지식을 표현합니다. 측량 및 원격 탐사 분야의 지식 그래프의 논리적 구조는 그림 2에 나와 있습니다.
스키마 계층 구축
지식 그래프의 응용 분야
↓
온톨로지 지식의 범위 결정
↓
온톨로지 구축
↓
온톨로지 저장
데이터 계층 구축
측량 및 원격 탐사 데이터
↓
개념 및 개체 획득
↓
관계 획득
↓
데이터 저장
지식 획득
↓
온톨로지 편집 도구 | 관계형 데이터베이스
↓
측량 및 원격 탐사 분야의 지식 그래프
그림 1. 측량 및 원격 탐사 분야의 지식 그래프 프레임워크.
온톨로지 계층
Owl:Thing
-하위클래스-
지식
-하위클래스-
장르
-개체-
-개체-
-개체-
-개체-
데이터 계층
측량
원격 탐사
...
공선 방정식
사진 측량
-관계-
-관계-
그림 2. 측량 및 원격 탐사 분야의 지식 그래프 논리적 구조.
2.1. 측량 및 원격 탐사 분야의 학문적 지식 그래프 스키마 설계
스키마 계층 구축 과정은 지식 그래프의 응용 도메인에서 시작하여 온톨로지의 지식 범위를 결정한 다음 온톨로지를 구축합니다. 온톨로지 구축은 패턴 계층 구축의 핵심 연결 고리입니다. 온톨로지는 공유된 개념적 모델의 명시적인 설명이며, 시맨틱 웹 페이지에 의미를 추가하고 개념 간의 관계를 설명하는 데 사용됩니다 [9]. 온톨로지는 지식 그래프의 패턴 계층, 개념적 모델 및 논리적 기반입니다. 측량 및 원격 탐사 분야의 지식 그래프의 스키마 계층은 온톨로지를 사용하여 지식의 저장 및 관리를 실현합니다. 온톨로지를 구축할 때, 우리는 주로 원격 탐사 교재의 주제어로부터 개념의 집합을 구축합니다. 관계는 주로 상위 및 하위 위치 간의 계층적 관계입니다. 개체 채우기는 주로 구조화된 데이터 소스에서 얻으며, 온톨로지 데이터베이스는 상향식 방식으로 채워집니다.
도메인 온톨로지는 특정 도메인(예: 원격 탐사, 기상학, 환경 등)의 개념과 개념 간의 관계를 설명하는 특화된 온톨로지입니다. 독특한 온톨로지의 한 종류인 측량 및 원격 탐사 도메인 온톨로지는 이 도메인에 속하는 개념과 개념 간의 관계를 명확하게 설명할 수 있습니다. 온톨로지 구축의 기본 원칙은 명확성, 객관성, 일관성, 최소 코딩 편차 및 최소 온톨로지 제약입니다.
온톨로지 구축은 7단계 방법을 사용합니다. 이 방법의 단계는 다음과 같습니다: (1) 온톨로지의 전문 분야와 범주를 결정합니다; (2) 기존 온톨로지 재사용 가능성을 검토합니다; (3) 온톨로지의 중요한 용어를 나열합니다; (4) 클래스 간의 계층적 관계를 정의합니다; (5) 클래스의 속성을 정의합니다; (6) 속성 간의 제약 조건을 정의합니다; (7) 인스턴스를 생성합니다 [10].
2.2. 측량 및 원격 탐사 분야의 지식 그래프 데이터 계층
2.2.1. 데이터 계층 관계 구조 설계
이 글에서는 데이터 계층을 구축하기 위해 데이터 추출 방법을 사용합니다. 관련 개체를 추출할 때, 먼저 측량 및 원격 탐사 분야의 개체 간 관계를 정의합니다. 개체 간의 관계는 주로 상하 관계와 비상하 관계입니다. 지식 그래프에서 비종속 관계에 대한 연구는 개체 속성과 개체 관계라는 두 가지 측면에 중점을 둡니다. 개체 속성의 비종속 관계는 주로 삼중항(개체-속성-속성값)에 사용되며, 여기서 속성은 해당 개체에 의존합니다. 각 속성에는 해당 속성값이 있습니다. 개체 관계의 정의에서는 항상 개체 간에 직접적 또는 간접적 관계가 있습니다. 개체 간의 관계 분석을 통해 사용되는 개체 간의 일반적인 관계가 정의됩니다. 개체 간의 관계는 주로 소속, 포함 등의 관계를 포함합니다. 이러한 관계는 측량 및 원격 탐사 분야의 개체들 사이에서 흔한 관계입니다.
2.2.2. 데이터 계층 구축
데이터 계층 구축 과정은 비구조화된 데이터를 기반으로 하며, 수동, 자동 또는 반자동 기술을 사용하여 데이터에서 지식을 추출하고 데이터베이스에 저장합니다. 데이터 획득은 데이터 계층 구축의 핵심 단계입니다. 지식 획득의 핵심은 비구조화 및 반구조화된 데이터 소스에서 개체, 관계, 속성과 같은 구조화된 정보의 지식 요소를 자동으로 얻는 방법입니다. 일반적으로 자동 또는 반자동 기계 학습 기술을 사용하여 개방된 다중 소스 데이터에서 지식 그래프에 대한 개체, 관계, 속성 및 기타 정보를 추출합니다 [11]. 지식 획득에는 개체, 관계, 속성 등의 추출이 포함됩니다. 개체 획득은 텍스트 데이터 집합에서 호출된 개체(지식 포인트, 유형 이름 등)를 자동으로 식별하는 과정입니다. 관계 추출은 기계 학습과 같은 방법을 사용하여 데이터 소스에서 개체 간의 의미론적 관계를 발견하는 과정입니다. 속성 추출은 데이터 소스에서 개체에 대한 속성 정보를 추출하는 과정입니다. 속성 추출과 관계 추출의 차이점은 개체의 속성 이름을 식별할 뿐만 아니라 개체의 속성값도 식별하는 것입니다. 따라서 대부분의 연구는 규칙 기반 추출에 기반합니다 [12].
3. 지식 그래프 구축
지식 그래프 구축은 이 글의 핵심 내용입니다. 여기에는 데이터 획득 및 저장, 온톨로지 구축 및 저장, 온톨로지와 데이터베이스 매핑, 지식 그래프의 질의 및 추론, 그리고 Neo4j에서의 지식 그래프 시각화 등 다섯 부분이 포함됩니다.
3.1. 데이터 획득 및 저장
3.1.1. 데이터 획득
이 글에서 사용된 데이터는 측량 및 원격 탐사 분야에서 가져왔습니다. 데이터 소스는 측량 [13] 및 원격 탐사 [14] 분야와 관련된 교과서입니다. 비구조화된 텍스트 데이터에서 반구조화된 테이블 데이터를 추출하기 위해 DeepDive (http://deepdive.stanford.edu/, 2021년 5월 6일 접속)가 사용되었습니다 [15]. DeepDive는 비구조화된 데이터에서 구조화된 데이터를 추출하고 일련의 데이터 처리 단계를 수행하여 지식 베이스를 구축하고 관계를 추출할 수 있습니다. 다양한 형식의 데이터 소스를 처리하는 데 매우 뛰어납니다.
DeepDive는 좋은 데이터베이스 지원을 가지고 있으며, PubMed 및 기타 데이터베이스 데이터 소스를 지원하고, 자연어로 처리된 데이터 소스입니다. DeepDive는 지식 베이스 시스템의 구축 과정을 표준화하는 프레임워크를 확립했으며, 사용자가 구축해야 할 지식 베이스에 따라 자신만의 추출기와 마커를 설계할 수 있도록 합니다. DeepDive의 관계 추출 과정은 그림 3에 나와 있습니다. DeepDive 기반 도메인 텍스트 지식 추출 방법은 다음 단계를 포함합니다 [16]:
(1) 데이터 처리. 먼저, 원본 코퍼스가 로드됩니다. 자연어 처리(NLP) 태그가 추가됩니다. 후보 관계 집합과 각 후보 관계의 희소 특징 표현이 추출됩니다.
(2) 데이터와 규칙에 대한 원격 감독, 그리고 다양한 전략을 사용하여 데이터 집합을 감독함으로써 기계 학습을 사용하여 모드의 가중치를 학습할 수 있습니다.
(3) 학습 및 추론: 모드 명세. 그런 다음, 모드의 고급 구성이 지정됩니다.
(4) 오류 분석 및 디버깅. 마지막으로, DeepDive의 태그, 오류 분석 및 디버깅 도구를 사용하는 방법을 보여줍니다.
알려진 관계가 있는
엔티티 쌍 데이터 테이블
↓
후보 엔티티 쌍에서 알려진
관계를 일치시킴
↓
알려진 변수 테이블
데이터 준비
↓
데이터베이스 가져오기
↓
텍스트 데이터 테이블
↓
NLP 처리
↓
규칙에 따라 일부
데이터를 표시
↓
텍스트 데이터 등의
POS/NER/의존성 구문 분석
↓
멘션 추출
↓
후보 엔티티 쌍
↓
엔티티 쌍 특징 추출
↓
데이터 집합: 엔티티 쌍 + 특징 + 레이블
↓
훈련 요소, 변수 신뢰도 얻기
그림 3. DeepDive의 관계 추출 과정 [15].
DeepDive 기반 도메인 지식 추출 과정:
(1) 실험 준비 (지식 추출 전 준비). 먼저, DeepDive는 관련된 입력, 중간 및 출력 데이터를 관계형 데이터베이스에 저장합니다. DeepDive는 Postgres, Greenplum, MySQL 등 많은 데이터베이스를 지원합니다. 이 실험에서 사용된 데이터베이스는 Postgres입니다.
(2) 데이터 처리. 이 부분은 네 단계로 나뉩니다: ① 원본 입력 데이터 로드. 먼저, 대상 데이터를 전자 텍스트 형식으로 변환합니다. 문서 ID와 문서 내용의 두 필드만 남깁니다. 정리된 데이터를 쉼표로 구분된 값(CSV) 형식 파일에 저장합니다. 그런 다음 원본 텍스트 데이터를 관련 데이터베이스로 가져옵니다. app.ddlog 파일에서 문서 저장의 데이터 형식을 설정합니다. articles 테이블에는 articles(id text, content text)라는 두 개의 텍스트 필드가 있습니다. 그런 다음, 원본 데이터의 압축 파일을 지정된 입력 폴더에 넣고 "DeepDive compile" 명령을 실행합니다. 그런 다음 "DeepDive do articles" 명령을 실행하여 원본 데이터를 관련 데이터베이스의 articles 테이블로 가져옵니다. 이때, 쿼리 명령을 실행하여 가져온 원본 데이터를 쿼리할 수 있습니다. ② NLP 마크업 추가. CoreNLP를 사용합니다.
자연어 처리 시스템을 사용하여 원본 데이터에 주석을 추가합니다. NLP의 단계는 다음과 같습니다: 먼저, 입력된 원본 기사를 문장으로 나눕니다. 문장은 단어로 나뉘고, 문장 내 단어의 품사 태그, 표준 형식, 의존성 분석 및 개체 인식 태그가 얻어집니다. NLP 후에는 일부 일반적으로 사용되는 개체(사람 이름, 장소 이름 등)가 표시될 수 있습니다. 또한 NLP로 처리된 데이터의 추가적인 개체 식별을 보장해야 합니다. 입력은 문장 테이블의 데이터입니다. 출력은 표시된 데이터입니다. 마지막으로, 최종 표시된 데이터를 데이터베이스의 sentences_new 테이블로 가져옵니다. ③ 후보 관계 멘션 추출. DeepDive는 사용자가 자신의 개체 또는 관계 추출기를 설계할 수 있도록 해당 입력 및 출력 인터페이스를 제안합니다. 일반적으로 SQL(Structured Query Language) 문이 데이터베이스에서 데이터를 추출하기 위한 입력 인터페이스로 사용됩니다; 출력은 데이터베이스의 해당 테이블입니다. 개체 인식 후 데이터에 대해 개체 추출을 수행한 다음 해당 데이터베이스 테이블 구조를 설정합니다. ④ 각 후보에 대한 특징 추출. 먼저, 특징 설명을 추출하고 func_feature 테이블에 특징을 저장합니다. 목적은 각 후보 쌍을 나타내기 위해 특정 속성이나 특성을 사용하는 것입니다. DeepDive에서 도메인에 의존하지 않는 특징을 정의하는 DDlib 라이브러리가 있어 특징을 자동으로 생성할 수 있습니다. DDlib 라이브러리에는 많은 사전도 있습니다. 이 사전에는 설명 및 관계의 올바른 분류와 관련된 단어가 포함되어 있으며, 일반적으로 도메인 및 특정 응용 프로그램과 결합됩니다. app.ddlog에서 extract_func_features 함수를 선언합니다. 이 함수의 입력에는 entity_mention 테이블의 두 개체 정보와 두 개체가 위치한 문장의 NLP 결과가 포함됩니다. 출력은 두 개체와 그 특성입니다.
(3) 데이터와 규칙을 이용한 원격 감독. 우리는 원격 감독을 사용하여 기계 학습 모델을 훈련시키기 위한 노이즈가 있는 레이블 집합을 제공할 것입니다. 일반적으로 설명 방법을 두 가지 기본 범주로 나눕니다: 원격 감독을 위한 보조 데이터로부터의 매핑과 원격 감독을 위한 휴리스틱 규칙 사용 [17]. 그러나 우리는 각 예제의 다중 레이블 문제를 해결하기 위해 간단한 다수결 투표 방법을 사용할 것입니다. 이 방법은 ddlog에서 구현될 수 있습니다. 이 방법에서는 먼저 레이블(모두 -1, 0 또는 1)을 합산합니다. 그런 다음 간단히 임계값을 설정하고 이 레이블을 결정 변수 테이블 has_spouse에 추가합니다. 또한 규칙으로 표시되지 않은 모든 배우자 후보가 이 테이블에 포함되지 않도록 해야 합니다. 다시 한 번 위 모든 것을 실행합니다.
(4) 학습 및 추론: 모델 명세. 우리는 DeepDive가 학습과 추론을 수행할 실제 모델을 지정해야 합니다. DeepDive는 모델의 매개변수(특징의 가중치 및 변수 간의 잠재적 연결)를 학습합니다. 그런 다음 학습된 모델에 대해 통계적 추론을 수행하여 관심 있는 각 변수가 참일 확률을 결정합니다. ① 예측 변수 지정. 실험에서 우리는 각 배우자 후보의 멘션을 예측할 변수를 가지고 있습니다. 즉, DeepDive가 각 언급된 배우자 후보에 대한 불리언 변수의 값을 예측하여 그 값이 올바른지 여부를 나타내도록 합니다. DeepDive는 이러한 변수의 값을 예측할 수 있을 뿐만 아니라 주변 확률, 즉 각 예측에 대한 DeepDive의 신뢰도도 예측할 수 있습니다. ② 특징 지정. 다음을 정의해야 합니다: 각 has_spouse 변수는 해당 spouse_candidate 행의 요소에 연결될 것입니다; 우리는 DeepDive가 원격으로 모니터링하는 데이터로부터 이러한 요소의 가중치를 이해하기를 바랍니다; 요소의 가중치는 모든 인스턴스의 특정 기능에 대해 동일해야 합니다. ③ 변수 간의 연결 지정. 학습 가중치 또는 주어진 가중치를 사용하여 예측 변수 간의 종속성을 지정할 수 있습니다. 실험에서는 고정(주어진) 가중치를 가진 두 개의 이러한 규칙을 지정합니다. 첫째, 비대칭 연결을 정의합니다. 즉, 모델이 문장에서 p1과 다른 사람 p2를 배우자 관계로 언급하는 것으로 간주하면, 그 반대도 고려해야 합니다.
모델은 모든 사람이 결혼의 징표를 언급하는 것에 대해 강하게 편향되어야 합니다. 대신, 이 작업에는 음수 가중치를 사용합니다. ④ 마지막으로, 지정된 모델을 사용하여 학습 및 추론을 수행하고자 합니다. 이는 데이터베이스의 데이터를 기반으로 모델을 구축하고, 가중치를 학습하고, 모델에서 변수의 예상 또는 주변 확률을 추론한 다음, 이를 다시 데이터베이스에 로드합니다. 이러한 방식으로 DeepDive에 의해 추론된 has_spouse 변수의 확률을 볼 수 있습니다.
(5) 오류 분석 및 디버깅. 실험 결과를 정확하게 분석하기 위해, 먼저 점수 또는 사용자 정의 쿼리 문장을 선언하고 훈련에 사용된 레이블된 데이터의 일부를 정의합니다. DeepDive는 이 점수를 사용하여 실험의 정확도를 추정합니다. 이러한 정의를 deepdive.conf에서 선언하고 deepdive.calibration.holdout_fraction을 0.25로 정의합니다. 테스트 세트는 레이블된 데이터의 75%이며, 테스트 세트는 실험 결과의 정확성을 검증하는 데 사용됩니다. 약 1400개의 레이블된 데이터와 약 1000개의 데이터가 테스트에 사용되었습니다. 그림 4의 왼쪽 그래프는 정답률 그래프입니다. 이상적인 조건에서 빨간색 곡선은 파란색 보정선에 가까워야 합니다. 그러나 이것은 사실이 아닙니다. 이는 테스트 데이터의 훈련 데이터의 희소성과 노이즈 때문일 수 있습니다. 그림 4의 중간 그래프는 테스트 세트의 예측 수 그래프입니다. 예측 수량 맵은 일반적으로 "U"자 모양을 나타냅니다. 그림 4의 오른쪽 그래프는 전체 데이터 세트의 예측 확률 수량 그래프입니다. 그중에서도 0.5-0.6 확률 구간에 속하는 예측 데이터는 아직 숨겨진 유형의 인스턴스가 일부 있으며, DeepDive의 특징이 이러한 인스턴스에 대해 불충분함을 나타냅니다. 확률이 (0, 0.1) 또는 (0.9, 1.0)에 속하지 않는 예측 데이터는 추출될 데이터입니다. 시스템의 품질을 향상시키는 중요한 지표는 위 데이터를 재추정하여 확률 구간 (0, 0.1) 또는 (0.9, 1.0)에 속하도록 하는 것입니다.
정확도
1
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
확률
정확도(테스트 세트)
예측 수
900
0
0
0.2
0.4
0.6
0.8
1
확률
예측(테스트 세트)
예측 수
3000
0
0
0.2
0.4
0.6
0.8
1
확률
예측(전체 세트)
그림 4. 테스트 세트 정답률 보정 플롯 (왼쪽), 테스트 세트 예측 플롯 (중간), 모든 데이터 세트에 대한 예측 플롯 (오른쪽).
3.1.2. 데이터 저장
지식 그래프의 데이터는 일반적으로 삼중항(triple) 형태로 표현되며, 개체 간의 관계나 개체와 속성값 간의 관계를 나타냅니다. 이 글에서는 관계형 데이터베이스 MySQL과 그래프 데이터베이스 Neo4j를 사용합니다. MySQL을 사용하는 목적은 데이터와 온톨로지 간의 매핑을 실현하고 기존 도구를 사용하여 데이터 쿼리 및 추론을 실현하는 것입니다. Neo4j를 사용하는 목적은 데이터를 업데이트하고 검색하는 것입니다. Neo4j는 쿼리 결과를 그래프 형태로 직접 표시하여 지식 시각화 기능을 실현할 수 있습니다. Neo4j는 일반 데이터베이스와 다른 로컬 저장 및 데이터 처리 기능을 가지고 있어 데이터의 높은 가독성과 무결성을 보장할 수 있습니다.
추출된 데이터는 "knowledge", "knowledge_to_genre", "genre"라는 세 개의 테이블로 처리 및 저장되어 MySQL 데이터베이스로 가져옵니다. E-R(개체-관계) 다이어그램은 아래와 같습니다 (그림 5).
knowledge
knowledge_id
knowledge_name
knowledge_property
인덱스
knowledge_to_genre
knowledge_id
genre_id
인덱스
genre
genre_id
genre_name
인덱스
그림 5. 데이터베이스에 저장된 데이터의 E-R 다이어그램.
"knowledge"라는 개체 테이블에서 각 지식 포인트는 번호가 매겨지고, "knowledge_id" 속성이 생성되며, 이 속성은 기본 키로 사용됩니다. "genre"라는 개체 테이블에서 각 카테고리는 번호가 매겨지고, "genre_id" 속성이 생성되며, 이 속성은 기본 키로 사용됩니다. "knowledge_to_genre"라는 관계 테이블에서 "genre_id"와 "knowledge_id" 속성은 "genre"와 "knowledge" 개체 테이블의 외래 키로 설정되어 장르와 지식 간의 관계를 만듭니다. 예를 들어, "공선 방정식"이라는 지식은 "측량" 분야에 속하며, "genre"는 "클래스"입니다. "genre" 클래스에는 "측량"과 "원격 탐사"라는 두 개의 개체가 있습니다. "genre"는 지식 노드가 속한 장르를 의미합니다. 지식 노드는 "측량" 장르 또는 "원격 탐사" 장르 중 하나에 속합니다.
3.2. 온톨로지 구축 및 저장
3.2.1. 온톨로지 구축
온톨로지를 구축하는 방법에는 상향식(top-down)과 하향식(bottom-up) 두 가지가 있습니다. 개방 도메인 지식 그래프의 온톨로지 구축은 일반적으로 하향식 방법을 사용하여 지식 그래프에서 개념, 개념 유형, 개념 간의 관계를 자동으로 추출합니다. 개방된 세계는 너무 복잡해서 상향식 방식으로 고려하기 어렵습니다. 세계가 변함에 따라 해당 개념도 계속 성장합니다. 대부분의 도메인 지식 그래프 온톨로지 구축은 상향식 접근 방식을 사용합니다. 한편으로, 도메인 지식 그래프의 개념과 범위는 개방 도메인 지식 그래프에 비해 고정되거나 제어 가능합니다. 다른 한편으로, 도메인 지식 그래프는 높은 정확도의 결과를 내야 합니다. 현재 도메인 지식 그래프는 음성 비서에서 널리 사용됩니다 [18]. 이러한 도메인 지식 그래프는 정확도를 보장하면서 대부분의 사용자 요구를 충족시킬 수 있습니다.
이 글은 상향식 접근 방식을 사용하여 온톨로지를 구축하며, 생성 도구는 온톨로지 편집 도구인 프로테제(Protégé, https://protege.stanford.edu, 2021년 5월 6일 접속)를 사용합니다 [19]. 구체적인 생성 과정은 다음과 같습니다. 첫째, 온톨로지 클래스와 지식 및 장르의 두 클래스를 생성합니다. 모든 클래스는 "Thing"의 하위 클래스이며, 모든 클래스는 상호 배타적이어야 합니다. 인스턴스는 두 클래스 중 하나만 될 수 있습니다. 둘째, 클래스 간의 관계(즉, 객체 속성)가 생성됩니다. 이 글에서는 객체 속성 "belong_to"를 생성했습니다("측량" 교과서에서 추출한 지식을 "측량" 클래스로 분류합니다. 이 지식과 "측량" 클래스 간의 관계를 "belong_to"로 정의합니다. 마찬가지로, "원격 탐사" 교과서에서 추출한 지식을 "원격 탐사" 클래스로 분류하고, 이 지식과 "원격 탐사" 클래스 간의 관계를 "belong_to"로 정의합니다). 이는 특정 지식 포인트가 특정 분야(유형)에 있음을 나타냅니다. 따라서 속성 "domain"은 "knowledge" 클래스로 정의되고, 속성 "range"는 "genre" 클래스로 정의됩니다. "Domain"은 속성이 속한 클래스를 나타냅니다. "Range"는 속성의 값 범위를 나타내며, 이 속성의 역을 "belong_to"로 정의합니다. 따라서 온톨로지는 지식 추론을 위한 추론 규칙을 설명합니다. 클래스, 객체 속성, 데이터 속성은 아래와 같습니다(그림 6). 예를 들어, 자원 기술 프레임워크(RDF) 데이터에서 "전자기파"라는 지식 포인트는 "원격 탐사" 클래스에 속합니다. 질의할 때, "전자기파"라는 지식 포인트는 "원격 탐사" 클래스에서도 찾을 수 있습니다. 마지막으로, 클래스 속성(데이터)
속성)이 생성되며 객체 속성과 유사합니다. 동시에 프로테제는 온톨로지의 구조를 보여주는 시각적 표시 기능도 가지고 있습니다. 온톨로지 구조는 아래와 같습니다(그림 7).
활성 온톨로지 x 개체 | 개체별 개체
클래스 | 객체 속성 | 데이터 클래스 | 객체 속성 | 데이터 속성
클래스 계층: owl:Thing
객체 속성 계층: owl:topObjectProperty
데이터 속성 계층: owl:topDataProperty
그림 6. 온톨로지 클래스(왼쪽), 객체 속성(중간), 데이터 속성(오른쪽)의 구축.
knowledge - - - owl:Thing - - - genre
그림 7. 온톨로지 구조의 시각적 표시.
3.2.2. 온톨로지 저장
이 글의 온톨로지 저장 모드는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. RDBMS의 원리는 온톨로지를 하나 이상의 테이블에 매핑한 다음, 수평 저장, 분해 저장, 수직 저장, 하이브리드 저장과 같은 매핑 모드에 따라 여러 모드로 나누는 것입니다. 관계형 데이터베이스의 저장 메커니즘과 데이터 관리 기능이 비교적 성숙했기 때문에, 관계형 데이터베이스 저장은 많은 저장 방법에서 널리 사용됩니다.
이 글에서는 RDF와 웹 온톨로지 언어(OWL)를 사용하여 온톨로지를 설명합니다 [20]. RDF는 모든 리소스 정보를 나타내는 데 사용되며 속성-속성값 모드를 통해 리소스를 설명합니다 [21]. OWL은 클래스 간의 관계, 집합 카디널리티의 제약, 동등 관계, 속성 유형 및 속성의 특성을 표현하는 데 사용됩니다 [22]. 다른 온톨로지 설명 언어와 비교하여 OWL은 더 나은 설명 능력과 더 많은 설명 어휘를 가지고 있습니다. 설명 어휘는 온톨로지의 추론 및 쿼리 기능을 확장합니다.
온톨로지는 온톨로지 편집 도구 프로테제를 사용하여 구축 및 저장됩니다. 이것은 온톨로지를 구축하고 운영할 수 있을 뿐만 아니라 생성된 온톨로지를 시각적으로 표시할 수 있습니다. 여기에는 온톨로지 개념 간의 계층적 관계 표시뿐만 아니라 온톨로지 개념적 개체, 개체 관계 및 개체 속성의 시각적 표시도 포함됩니다. 온톨로지가 온톨로지 설명 언어 OWL과 프로테제를 사용하여 생성되면 반자동 구축이 가능합니다. 프로테제는 또한 온톨로지의 계층적 관계를 기반으로 온톨로지에 대해 추론할 수 있으며, Jena의 쿼리 모드의 도움을 받아 RDF 및 OWL 언어로 온톨로지의 편집 작업을 실현할 수 있습니다 [23].
3.3. 온톨로지와 데이터베이스 매핑
관계형 데이터베이스의 구조화된 데이터를 RDF 형식 데이터로 변환하는 두 가지 표준이 W3C의 RDB2RDF 스튜디오에 의해 개발되었습니다. 이 과정은 D2RQ 도구에 의해 적용됩니다 [24].
첫 번째 표준은 직접 매핑으로, 데이터베이스의 테이블이 연관된 온톨로지의 클래스라는 규칙에 의해 정의됩니다. 예를 들어, MySQL에 저장된 데이터에는 3개의 테이블이 있습니다. 매핑 후, 온톨로지는 이전에 정의된 3개의 클래스 대신 2개의 클래스를 가집니다. 테이블의 열은 속성이고, 행은 인스턴스입니다. 테이블의 각 셀 내용은 텍스트입니다. 셀의 특정 열이 외래 키인 경우, 데이터베이스의 데이터를 정의된 온톨로지에 매핑할 수 없습니다. 이 경우, 직접 매핑의 단점이 표시됩니다. 이 결함에 대응하여 RDB2RDF 스튜디오는 R2RML을 제안하고 사용자가 매핑 규칙을 유연하게 편집하고 설정할 수 있도록 합니다. 이 매핑은 또한 RDF 데이터 모드에서 기존 관계형 데이터를 볼 수 있는 기능을 제공하며, 이는 고객이 선택한 구조와 대상 어휘를 매핑하여 표현됩니다. R2RML 매핑은 RDF 그래프이며 Turtle 구문으로 기록됩니다. R2RML은 다양한 유형의 매핑 구현을 지원합니다. 프로세서는 가상 SPARQL 프로토콜 및 자원 기술 프레임워크 쿼리 언어(SPARQL) 엔드포인트를 제공하거나, RDF 덤프를 생성하거나, 매핑된 관계형 데이터에 대한 링크 데이터 인터페이스를 제공할 수 있습니다 [25]. 구체적인 매핑 다이어그램은 아래와 같습니다 (그림 8).
온톨로지 계층
knowledge
-매핑-
owl:Thing
-매핑-
genre
데이터 계층
knowledge
knowledge_id
knowledge_name
knowledge_property
인덱스
knowledge_to_genre
knowledge_id
genre_id
인덱스
genre
genre_id
genre_name
인덱스
그림 8. 온톨로지에서 데이터베이스로의 매핑 개략도.
3.4. 쿼리 및 추론
이 글에서는 D2RQ를 사용하여 SPARQL 서비스 엔드포인트를 설정하고 브라우저에서 쿼리 작업을 사용하는 방법을 설명합니다. SPARQL 엔드포인트는 SPARQL 프로토콜을 준수하는 서비스를 제공합니다. 기본 또는 정의된 매핑 파일을 통해 RDF 데이터를 RDF 규칙으로 쿼리할 수 있습니다. 즉, 최종 쿼리를 완료하기 위해 D2RQ는 매핑 파일을 기반으로 SPARQL 쿼리를 SQL 문으로 변환한 다음 사용자에게 결과를 반환합니다 [26].
다음 단계가 실행됩니다: (1) D2R 서버를 시작합니다; (2) 브라우저에 들어가 SPARQL 엔드포인트를 시작합니다; (3) SPARQL 문을 입력하여 쿼리를 실행합니다. 동시에 Python 스크립트를 작성하여 작업을 쿼리할 수도 있습니다. Python의 타사 라이브러리 SPARQL Wrapper는 엔드포인트와 쉽게 상호 작용할 수 있습니다.
D2RQ를 사용하여 엔드포인트 서비스를 여는 데는 두 가지 단점이 있습니다: 엔드포인트를 통해 RDF 데이터를 네트워크에 직접 게시하는 것을 지원하지 않으며, 추론을 지원하지 않습니다. 이러한 문제를 해결하기 위해 Apache Jena의 Fuseki, Jena 및 튜플 데이터베이스(TDB)의 특정 구성 요소가 실험적으로 조사됩니다. Fuseki는 Apache Jena에서 제공하는 SPARQL 서버로, 주로 웹 응용 프로그램 또는 임베디드 서버로 실행됩니다. Jena는 자원 기술 프레임워크 스키마(RDFS)를 제공합니다. 단일 머신의 경우, 저장 계층 기술은 높은 RDF 저장 성능을 제공할 수 있습니다 [27]. 다음으로, 우리는 추론 규칙을 정의하고 지식 추론을 수행해야 합니다.
3.5. Neo4j에서 지식 그래프 시각화
문헌 [2]에 따르면, 지식 그래프는 기본적인 쿼리 및 추론 기능을 가지고 있습니다; 그러나 지식 그래프의 시각화 기능은 반영되지 않았습니다. 따라서 그래프 데이터베이스 Neo4j를 사용하여 지식 그래프를 시각화합니다 [28]. Neo4j는 지식 그래프의 좋은 시각화를 제공합니다. 구체적인 구현 과정 및 시각화는 아래와 같습니다. 지식 그래프를 생성하는 과정은 다음과 같습니다.
먼저, 테이블 데이터를 CSV 형식으로 변환합니다. 이 파일들은 Neo4j가 기본적으로 가져오기 디렉토리에서 파일을 열기 때문에 Neo4j의 가져오기 디렉토리로 이동됩니다. 데이터베이스를 시작한 후, Cypher 언어 [29]를 사용하여 데이터를 가져오고, 노드의 구성 모드가 생성됩니다 (k:knowledge {name: "absolute orientation"}). 이 문은 지식 레이블이 있는 노드를 생성하며, 이 노드에는 "absolute orientation"의 속성 값을 가진 이름 속성과 변수 이름 k가 있습니다. 구조화된 데이터 개체 데이터를 데이터베이스로 가져오기 위한 Cypher 문은 코드 1입니다. 코드 1의 결과는 그림 9에 나와 있습니다.
코드 1. Cypher 언어 기반 개체 데이터 가져오기
LOAD CSV WITH HEADERS FROM “file:///knowledge.csv" AS line MERGE (k:knowledge{id:line.knowledge_id, name:line.knowledge_name, genre:line.knowledge_genre})
종횡도 | 분석 | 항공 사진...
고도 | 분석 | 원격 감지 | 인접 지역
정확도 평가 | 능동 센서 | 가산 색상 보기...
그림 9. 시각화의 일부는 개체를 데이터베이스로 가져온 결과를 보여줍니다.
가져온 파일의 이름은 "knowledge.csv"이고, 레이블은 "knowledge"입니다. 속성과 속성값은 테이블의 행과 열 데이터에 해당합니다. 노드와 관계의 가져오기는 유사합니다. 구조화된 관계형 데이터를 데이터베이스로 가져오기 위한 Cypher 문은 코드 2입니다. 코드 1의 결과는 그림 10에 나와 있습니다.
코드 2. Cypher 언어 기반 관계형 데이터 가져오기
LOAD CSV WITH HEADERS FROM “file:///knowledge_to_genre.csv" AS line MATCH (from:knowledge{id:line.knowledge_id}),(to:genre{id:line.genre_id}) MERGE (from)-[r:belong_to{Relation:line.knowledge_to_genre}]->(to)
가져온 파일의 이름은 "knowledge_to_genre"입니다. 가져온 시각화의 부분 결과는 아래와 같습니다 (그림 11). 이 그림에서 두 개의 빨간색 노드, "측량"과 "원격 탐사"는 지식의 클래스를 나타내고, 파란색 노드는 지식을 나타냅니다.
[그림 10: 원격 감지(Remote Sensing)를 중심으로 여러 지식 노드들이 'belong to'(속하다) 관계로 연결된 그래프의 일부. 중앙의 붉은 노드가 'Remote Sensing'이고 주변의 파란 노드들이 'digital tape', 'Porro-K..', 'airborne push-br...', 'digital mosaicing' 등의 지식 항목들임.]
그림 10. 시각화의 일부는 관계를 데이터베이스로 가져온 결과를 보여줍니다.
[그림 11: 두 개의 붉은 중심 노드(아마도 'Surveying'과 'Remote Sensing')를 중심으로 수많은 파란색 지식 노드들이 방사형으로 연결된 전체 지식 그래프의 모습.]
그림 11. 측량 및 원격 탐사 분야의 지식 그래프 시각화의 일부.
데이터베이스는 1024개의 노드를 포함하며, 이는 "knowledge"와 "genre"라는 두 클래스의 노드에 속합니다. 지식 그래프의 노드는 지식 그래프의 주요 구성 요소이며, 주로 측량 및 원격 탐사의 지식입니다.
라이브러리는 또한 1295개의 관계를 포함하며, 이는 "knowledge" 클래스의 노드와 "genre" 클래스의 노드 간의 관계를 나타냅니다. 예를 들어, "belong_to"는 지식과 유형 간의 소속 관계입니다. 라이브러리는 또한 "knowledge" 노드의 "genre"와 "name"과 같은 속성 정보도 포함합니다. 데이터베이스 생성을 위한 특정 기본 정보는 아래와 같습니다 (그림 12).
데이터베이스 정보
노드 레이블
(1,024) genre knowledge
관계 유형
(1,295) belong_to
속성 키
Relation | genre | id | name
그림 12. 측량 및 원격 탐사 분야의 지식 그래프 지식 베이스 정보의 일부.
4. 지식 그래프의 응용 분석
지식 그래프의 응용 분석은 지식 그래프의 가치를 검증하는 중요한 수단입니다. 이 글은 스마트 캠퍼스 플랫폼에서 "도메인 관련성 분석"과 "측량 및 원격 탐사 분야의 지식 추론"이라는 두 가지 응용 시나리오로부터 지식 그래프의 응용 가치를 검증합니다.
4.1. 도메인 관련성 분석
많은 분야에서 다양한 정도의 상관관계가 있습니다. 예를 들어, 교육에서는 같은 전공의 다른 학문 간에 지식 조각이 관련된 공통 현상이 있습니다. Zhou 등은 학제 간 연관성 정도를 기반으로 과학적 지식 그래프를 구성하는 방법을 제안했으며, 이는 학생들이 학문 간의 관계를 신속하게 이해하는 데 도움을 주는 것을 목표로 합니다 [30]. 지식 그래프를 기반으로 한 관련성 분석은 학생들이 과목을 선택하고 교육 품질을 향상시키는 데 도움을 줄 수 있습니다.
최근 과학 기술의 발전으로 "스마트 캠퍼스 플랫폼"이 급속히 부상했습니다. 따라서 측량 및 원격 탐사 분야에서 지식 그래프는 스마트 캠퍼스 플랫폼의 맥락에서 활용될 수 있습니다. 동일한 지식이 여러 도메인에 존재하는 것으로 나타나 분야 간의 연관성을 강조합니다 (그림 13). 도메인 간의 연관성은 도메인 간의 공통 지식 수와 관련이 있습니다. 공통 지식의 수가 많을수록 분야 간의 연관성이 높아집니다. 이 연구에서 한 지식이 "측량"과 "원격 탐사" 모두에 속한다면, 그 지식은 두 분야 간의 공통 지식입니다. 두 분야 간의 공통 지식이 많을수록 분야 간의 연관성 정도가 높아집니다.
[그림 13: 두 개의 붉은 중심 노드('Surveying', 'Remote Sensing')가 있고, 일부 파란색 지식 노드들이 두 중심 노드 모두에 연결되어 있어 두 분야 간의 공통 지식을 시각적으로 보여주는 그래프.]
그림 13. 과목 간 관련성 표시.
도메인은 온톨로지의 클래스입니다. 이 연구에서 측량 및 원격 탐사 도메인은 각각 지식 그래프의 "Surveying" 및 "Remote Sensing" 클래스에 해당합니다. 모든 지식 중에서 일부 지식은 "Surveying" 클래스에 속하고, 일부 지식은 "Remote Sensing" 클래스에 속합니다. 일부 지식은 "Surveying" 클래스와 "Remote Sensing" 클래스 모두에 속합니다. 이것이 두 분야의 공통 지식입니다. 그리고 이 공통 지식이 두 분야 간의 연관성 정도를 결정합니다 (그림 13).
그림 (그림 13)은 "Surveying"과 "Remote Sensing" 노드뿐만 아니라 원격 탐사 및 측량 분야에 속하는 모든 지식을 포함하며, 클래스 노드와 지식 간의 "belong_to" 관계도 포함합니다. 지식 그래프는 1022개의 지식 포인트를 포함합니다. 두 학문 분야에서 공유되는 지식 포인트는 273개입니다. 그 반복률은 26.7%입니다. 관련성 정도에 따라 과목 선택 시 참고 자료로 사용할 수 있습니다. 만약 당신이 측량 및 원격 탐사와 관련 없는 분야의 학생이고 그 분야에 대한 일반적이고 포괄적인 이해를 원한다면, 시간과 비용을 절약하기 위해 사진 측량과 원격 탐사 원리 및 응용 두 과목만 선택할 수 있습니다. 이에 따라 이 분야의 전문 학생들은 그러한 학생들이 과목 간의 지식 내용의 포함 정도를 빠르게 이해하도록 돕고, 이미 공부한 과목과 인접한 과목을 빠르게 이해하도록 도와 학습 효율을 향상시킬 수 있습니다.
4.2. 측량 및 원격 탐사 분야의 지식 추론
지식 추론은 주로 알려진 지식을 기반으로 새로운 지식을 추론하거나 잘못된 지식을 구별하는 것입니다. 지식의 추론 기능은 지식 그래프의 두드러진 특징입니다. 전통적인 지식 추론에 비해,
지식 그래프 기반의 지식 추론은 더 유연하고 방법이 더 다양합니다. 많은 방법이 있지만, 이 글에서 사용된 방법은 주로 기술 논리의 추론에 기반하므로 주로 이 방법에 기반한 지식 추론을 소개합니다.
기술 논리 시스템은 주로 네 부분으로 나뉩니다: (1) 세 가지 기본 요소(개념, 관계, 개체); (2) 개념이 속한 공리 집합; (3) 개체의 단언 집합; (4) 추론 메커니즘. OWL DL (기술 논리) 언어를 지원하는 추론 도구에는 FaCT++, Racer, pellet 등이 있습니다 [31]. 기존 도구 외에도 규칙을 작성하여 지식을 추론할 수 있습니다.
이 지식 그래프에서 지식의 추론은 기술 논리의 추론 방법에 기반한 규칙을 작성하여 설명됩니다. 이 글은 주로 두 가지 유형의 추론, 즉 개체 추론과 관계 추론을 포함합니다. 개체 추론은 기존 개체와 관계를 기반으로 알려지지 않은 개체를 추론합니다 (예: 알려진 개체-관계-알려지지 않은 개체). 관계 추론은 기존 개체의 조건 하에서 규칙을 편집하여 하나 이상의 개체 간의 관계를 추론합니다 (예: 알려진 개체-알려지지 않은 관계-알려진 개체).
일반적으로, 누락된 지식은 지식 그래프에 내재되어 있습니다. 즉, 개체나 관계의 불완전성입니다. 우리는 측량 및 원격 탐사 분야의 지식 그래프를 적용하여 측량 및 원격 탐사 분야의 지식 그래프를 보완할 수 있습니다. 지식 그래프 완성은 지식을 습득하는 중요한 방법입니다. 지식 그래프 완성의 목표는 이러한 누락된 지식 항목을 찾아 지식 그래프에 추가하여 지식 그래프가 완전해지도록 하는 것입니다 [32]. 지식 그래프의 이름이 G이고, 기본 구성 요소에는 개체 집합 E = {e₁, e₂, ..., eᵢ} (i는 개체 수), 관계 집합 R = {r₁, r₂, ..., rⱼ} (j는 관계 수), 해당 삼중항 집합 T = {(eₘ, rₖ, eₙ)} (eₘ, eₙ ∈ E, rₖ ∈ R)가 포함됩니다. 지식 그래프의 개체 E와 관계 R의 수가 제한되어 있으므로, G에 없는 일부 개체와 관계가 있을 수 있습니다. 완성하려는 내용에 따라 지식 완성을 세 가지 하위 작업으로 나눌 수 있습니다: ① 부분 삼중항 T₁ = (?, rₖ, eₙ)이 주어졌을 때, 헤드 개체를 예측합니다. ② 부분 삼중항 T₂ = (eₘ, rₖ, ?)가 주어졌을 때, 테일 개체를 예측합니다. ③ 부분 삼중항 T₃ = (eₘ, ?, eₙ)이 주어졌을 때, 개체 간의 관계를 예측합니다. 개체와 관계가 원본 지식 그래프에 속하는지 여부에 따라, 지식 그래프 완성을 정적 지식 그래프 완성 및 동적 지식 그래프 완성으로 나눌 수 있습니다. 정적 지식 그래프 완성의 개체와 관계는 모두 원본 지식 그래프에 있습니다. 동적 지식 그래프 완성의 개체와 관계는 원본 지식 그래프에 없습니다. 지식 그래프 완성을 통해, 원본 지식 그래프의 개체와 관계 모음을 확장할 수 있습니다.
지식 그래프 완성은 지식 추론에서 가장 널리 사용되는 분야입니다. 마르코프 논리 네트워크(MLN), 관계 임베딩 변환(TransR), 캡슐 네트워크 기반 임베딩(CapsE), 계층적 주의를 가진 관계형 그래프 신경망(RGHAT)과 같은 다수의 지식 그래프 추론 알고리즘의 원래 의도는 지식 그래프 완성에 적용되는 것이었습니다. 위에서 언급한 모든 방법은 벡터 공간에서 추론하여 임의의 개체 간에 특정 관계가 있는지 여부를 결정한 다음, 지식 그래프 완성을 실현할 수 있습니다.
측량 및 원격 탐사 분야의 지식 그래프를 스마트 캠퍼스 플랫폼에 통합하면 학생들이 개체 간의 새로운 개체나 관계를 발견하는 데 도움이 될 수 있습니다. 예를 들어, 관계 추론은 Jena 도구를 기반으로 하며, 코드 3(SPARQL 언어 기반)에 나와 있습니다. 이 코드는 "rule"이라는 규칙을 정의하는데, 이는 "Remote Sensing"에 속하는 개체가 있으면, 이 개체는 "Geography"에도 속한다는 것을 의미합니다. (Remote Sensing-belong_to-Geography). 예를 들어: (Aberration-belong_to-Remote Sensing)을 알고 있다면, 이 코드에 따라 (Aberration-belong_to-Geography)라는 결과를 얻을 수 있습니다. 전체 추론 과정의 시각적 표시는 그림 14에 나와 있습니다.
코드 3. SPARQL 언어 기반 추론 규칙
@prefix: <http://www.kbdemo.com#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix xsd: <XML Schema>.
@prefix rdfs: <http://www.w3.org/2000/02/rdf-schema#>.
[rule:(?k:belong_to ?g)(?g:hasname ?n)(?n:genre_name 'Remote Sensing')->(?k rdf:type:Geography)]
[ruleInverse:(?k:belong_to ?g)->(?g:hasKnowledge ?k)]
[추론 전 지식 그래프 이미지]
+
[추론 규칙: Remote Sensing -> belong to -> Geogra...]
추론 결과
[추론 후 지식 그래프 이미지]
그림 14. 추론 과정의 시각적 표시.
5. 요약 및 전망
측량 및 원격 탐사 분야에서 원격 탐사 데이터의 신속한 획득, 효율적인 처리 및 효과적인 적용은 핵심 과제입니다. 그러나 축적된 방대한 양의 데이터와 이기종성, 분산성, 동적 업데이트 특성으로 인해 대규모 데이터 응용 서비스의 의미론적 통합, 상호 운용성 및 공유 플랫폼 구축을 실현하기 어렵습니다. 지식 그래프는 일종의 의미론적 네트워크이므로 계층적 상호 연결 및 의미 처리 기능이 그래픽 구조 형태로 실현될 수 있으며, 지식의 체계와 관련성을 보다 직관적으로 표시할 수 있습니다. 지식 그래프는 고립된 정보와 지식을 위한 더 나은 조직 및 관리 방법을 제공합니다. 실제 세계의 개체, 개념 및 개체와 개념 간의 관계를 구조화되고 의미 있는 형태로 설명하고 정보를 사람들이 이해하기 쉬운 형태로 조직합니다. 그 목적은 객관적인 세계를 잘 구조화된 지식 표현으로 표현하는 것입니다. 이는 차세대 인공 지능의 촉진제로 환영받고 있습니다. 이 글의 기여는 다음과 같습니다:
(1) 이기종적이고 분산되며 동적으로 업데이트되는 방대한 양의 데이터에서 효과적인 데이터를 신속하게 얻기 위해. 이 글은 측량 및 원격 탐사 분야의 주제 지식 그래프를 구성하는 방법을 제안합니다.
(2) 측량 및 원격 탐사 분야에서 지식 그래프의 응용 가치를 검증하기 위해. 이 글은 지식 그래프의 쿼리, 시각화 및 추론 기능에서 그 기능을 검증합니다.
연구에서 마주친 과제와 대책은 다음과 같습니다:
(1) 스키마 계층과 데이터 계층 간의 연결. 측량 및 원격 탐사 분야의 지식 그래프는 주로 두 부분으로 나뉩니다: 스키마
수준 구성 및 데이터 계층. 스키마 수준은 데이터 계층의 기초입니다. 온톨로지 라이브러리 표준 데이터 계층의 사실적 표현을 통해 온톨로지는 구조화된 지식 베이스의 개념적 템플릿입니다. 데이터 계층은 일련의 지식 개체 또는 개념으로 구성됩니다. 지식은 사실 단위로 저장됩니다. 데이터 계층은 삼중항(개체 1-관계-개체 2) 또는 (개체-속성-속성 값) 형태로 지식을 표현합니다. 두 수준에서 온톨로지와 데이터 간의 연관성을 실현하는 것은 지식 그래프를 구축하는 데 있어 주요 과제입니다. 이 글에서는 D2RQ 도구를 사용하여 온톨로지에서 데이터베이스로의 매핑을 실현합니다. D2RQ 도구는 관계형 데이터베이스의 구조화된 데이터를 RDF 형식의 데이터로 변환합니다. 이 매핑은 또한 고객이 선택한 구조와 대상 어휘를 매핑하여 표현되는 RDF 데이터 모델에 존재하는 기존 관계형 데이터를 볼 수 있는 기능을 제공합니다. R2RML 매핑 자체는 RDF 그래프이며 Turtle 구문으로 기록됩니다. R2RML은 다양한 유형의 매핑 구현을 지원합니다. 프로세서는 매핑된 관계형 데이터에 대해 가상 SPARQL 엔드포인트를 제공하거나 RDF 덤프를 생성하고 링크 데이터 인터페이스를 제공할 수 있습니다.
(2) 도메인 지식 그래프의 적용 및 실습. 이 글은 측량 및 원격 탐사 분야의 지식 그래프를 스마트 캠퍼스 플랫폼에 통합하는 적용 사례를 제시합니다. 스마트 캠퍼스 플랫폼에서의 도메인 지식 그래프의 지식 시각화 응용은 교사와 학생이 과목을 선택하는 데 도움을 줄 수 있습니다. 도메인 지식 그래프는 스마트 캠퍼스 플랫폼의 지식 추론에 적용되어 교사와 학생이 새로운 지식뿐만 아니라 지식 간의 새로운 관계를 발견하고 추론하는 데 도움을 줄 수 있습니다.
측량 및 원격 탐사 분야의 지식은 다양하고 복잡하며, 지식 그래프는 다음 영역에서 더 자세히 연구될 수 있습니다. 이 연구 분야의 데이터는 일반적으로 이미지이며, 이미지 데이터에서의 지식 인식 및 획득은 충분히 연구되지 않았습니다. 특히 이미지 데이터의 지식 그래프는 시간 차원이 부족합니다. 따라서 향후 연구에서는 지식 그래프에 시간 차원을 추가하는 방법과 지식 그래프의 응용에 시간 차원을 확장하는 방법을 조사해야 합니다. 위의 문제를 해결할 수 있다면, 측량 및 원격 탐사 분야의 지식 그래프는 더 큰 잠재적 응용 가치를 가질 것입니다:
(1) 측량 및 원격 탐사의 새로운 규칙 발견: 측량 및 원격 탐사 데이터의 지속적인 증가와 디지털 관리 및 활용 기술의 지속적인 개선은 과학 연구자들이 연구 작업을 수행하는 데 큰 편의를 제공했습니다. 측량 및 원격 탐사 지식 그래프는 방대한 양의 측량 및 원격 탐사 지식을 네트워크 구조로 연관시킴으로써 측량 및 원격 탐사 자원의 규칙적인 지식에 대한 통찰과 발견을 지원합니다. 연구자들은 측량 및 원격 탐사 데이터 분석을 통해 개발 과정 뒤에 숨겨진 다양한 지식과 규칙을 발견하여 관련 과학 연구 인력 및 과학 연구 정책 입안자에게 과학 연구 방향 및 정책 수립 기반을 제공할 수 있습니다.
(2) 측량 및 원격 탐사 분야의 지식 그래프 분석에 기계 학습 방법 적용: 기계 학습과 지식 그래프의 결합 개발 과정(복잡한 네트워크로서의 지식 그래프; 지식 그래프에 대한 그래프 마이닝 및 분석을 수행하는 전통적인 기계 학습 방법; 지식 그래프에서 딥 러닝 방법 및 그래프 신경망 방법의 추가 적용)에서 지식 그래프의 가치와 기능이 더욱 구체화되었습니다. 측량 및 원격 탐사 도메인 지식 그래프는 특별한 도메인 지식 그래프이며, 일반 지식 그래프의 분석 방법은 그래프를 마이닝하고 분석하는 데 사용되지만, 측량 및 원격 탐사 도메인 지식 그래프의 구조와 특성을 충분히 활용할 수 없습니다. 측량 및 원격 탐사 지식 그래프의 특정 구조적 특징 및 개체 속성에 대해,
특정 기계 학습 방법이나 심층 신경망 구조를 설계해야 합니다. 동시에, 다른 응용 시나리오에 대해, 알고리즘의 매개변수를 학습하기 위해 일반적으로 다른 목적 함수가 설계됩니다. 따라서 측량 및 원격 탐사 분야의 지식 그래프에 대한 기계 학습 및 딥 러닝 마이닝 방법에 대한 연구는 측량 및 원격 탐사 분야의 지식 그래프의 추가 분석 및 응용에 도움이 됩니다.
(3) 측량 및 원격 탐사 분야의 지식 그래프 서비스 플랫폼 구축: 측량 및 원격 탐사 분야의 지식 그래프 구축에서, 분산된 도구 문제로 인해 작업 효율성이 영향을 받습니다. 다음 연구 계획은 측량 및 원격 탐사 분야의 지식 그래프 서비스 플랫폼을 구축하여 도구와 서비스의 통합을 실현하는 것입니다. 데이터 소스 수준에서, 측량 및 원격 탐사 분야의 모든 종류의 개방 및 사용 가능한 데이터뿐만 아니라 각 수요 측에 고유한 데이터를 통합합니다. 측량 및 원격 탐사 데이터 획득, 데이터 저장, 온톨로지 구축, 그래프 구축 및 업데이트의 제공된 기능을 통해, 시간에 따라 업데이트될 수 있는 측량 및 원격 탐사 분야의 지식 그래프를 구축할 수 있습니다. 서비스 측면에서, 지식 쿼리, 지식 시각화 및 지식 추론과 같은 지식 서비스 알고리즘 및 모델 제공을 통해, 서비스 플랫폼은 다양한 역할에 대해 목표된 지식 서비스를 제공합니다.
핵심은 비정형 텍스트 데이터(교과서)를 구조화된 지식 네트워크(그래프)로 변환하는 것.
데이터 소스 확보: 측량 및 원격 탐사 분야의 교과서 텍스트를 원본 데이터로 사용합니다. 이는 컴퓨터가 바로 이해하기 어려운 '비정형 데이터'입니다.
지식 추출: DeepDive라는 도구를 사용하여 교과서 텍스트에서 중요한 개념(개체)과 그들 간의 관계를 자동으로 추출합니다.
[개체1: 사진측량] - [관계: ~의 한 분야] - [개체2: 원격 탐사] 와 같은 삼중항(Triple) 형태의 구조화된 데이터를 뽑아냅니다.데이터베이스 저장: 이렇게 추출한 구조화된 데이터를 MySQL과 같은 관계형 데이터베이스에 저장합니다. 논문에서는 knowledge(지식), genre(분야), 그리고 둘을 연결하는 knowledge_to_genre(지식-분야 관계)라는 3개의 테이블을 만들어 데이터를 정리했습니다 (그림 5 참조).
결과: 흩어져 있던 텍스트 정보가 체계적인 표(Table) 형태로 정리됩니다.
개념 정의: 지식 그래프에 어떤 종류의 데이터가 들어갈지 설계도(스키마 또는 온톨로지)를 만듭니다. 이는 지식의 규칙과 구조를 정의하는 과정입니다.
도구 사용: 프로테제(Protégé)라는 온톨로지 편집 도구를 사용합니다.
설계 내용:
속한다(belong_to).knowledge_id, knowledge_name 등의 속성을 가질 수 있습니다.결과: 지식 그래프가 따라야 할 규칙과 구조, 즉 '설계도'가 완성됩니다.
문제: 1단계에서 만든 데이터(MySQL 테이블)와 2단계에서 만든 설계도(온톨로지)는 아직 서로를 모르는 별개의 존재입니다. 이 둘을 연결해야 합니다.
도구 사용: D2RQ라는 도구를 사용하여 이 둘을 연결(매핑)합니다.
작업 내용: D2RQ는 "MySQL knowledge 테이블의 knowledge_name 열은 온톨로지의 '지식' 클래스가 갖는 이름 속성에 해당한다" 와 같은 연결 규칙을 생성합니다.
결과: 데이터베이스의 데이터가 온톨로지라는 의미 체계에 따라 해석될 수 있게 됩니다. 이제 컴퓨터는 데이터의 '의미'를 이해할 수 있습니다.
질의(Query): 이제 지식 그래프에 질문을 던질 수 있습니다. SPARQL이라는 표준 질의 언어를 사용하여 "원격 탐사 분야에 속하는 지식은 무엇인가?"와 같은 복잡한 질문을 할 수 있습니다. D2RQ가 이 질문을 받아 MySQL이 알아듣는 언어로 번역하여 답을 찾아줍니다.
추론(Reasoning): 기존에 없던 새로운 지식을 논리적으로 유추해냅니다. Apache Jena와 같은 도구를 사용하여 추론 규칙을 만듭니다.
어떤 지식이 원격 탐사에 속한다면, 그 지식은 지리학에도 속한다.결과: 단순한 데이터 검색을 넘어, 숨겨진 지식을 발견하고 그래프를 확장할 수 있게 됩니다.
필요성: 텍스트나 표 형태의 데이터는 관계를 한눈에 파악하기 어렵습니다. 이를 그래프 형태로 시각화해야 합니다.
도구 사용: Neo4j라는 그래프 데이터베이스를 사용합니다.
작업 내용:
최종 결과: 논문의 그림 11처럼, 어떤 지식이 어떤 분야에 속하고, 분야 간에 어떤 지식을 공유하는지 직관적으로 파악할 수 있는 상호 연결된 지식 네트워크가 시각적으로 완성됩니다.
요약하자면, 교과서 텍스트를 → DeepDive로 추출하여 MySQL에 저장하고 → Protégé로 설계도를 만든 후 → D2RQ로 둘을 연결하고 → SPARQL로 질문하고 추론하며 → 최종적으로 Neo4j에서 시각화하는 과정입니다.
근데 이게 한국어나 중국어에도 적용이 될라나 모르겠네요.