Google Entity Knowledge Graph API - 1. Reconcile 시도해보기

Lempickaa·2025년 7월 22일

Step1. BigQuery에서 reconcile 할 데이터 세트 생성

Google Cloud Platform에서 제공하는 BigQuery 페이지로 이동한다. 버킷이 이미 생성된 상태라면, 데이터 추가 버튼을 클릭한다.

이런 화면이 뜰 텐데, 우측 메뉴에서 Local File을 클릭한다. 비슷한 메뉴가 한번 더 뜨면, 똑같이 Local File을 클릭하면 된다. 그러면 아래와 같은 창이 뜬다.

소스 부분에서 로컬에 있는, 변환하고자 하는 csv 형식 테이블 파일을 하나 올린다.

대상 위치 부분으로 넘어가서, 데이터 세트를 클릭하면 '새 데이터세트 만들기'라는 창이 뜰 텐데, 이거를 클릭한다.

다른 메뉴는 건드릴 필요 없고 데이터세트 ID만 본인이 원하는대로 설정하면 된다. 데이터세트 만들기를 클릭하면 이전 설정 화면으로 넘어간다.


다시 대상 위치 설정 부분으로 와서, 데이터 세트 부분에는 방금 생성한 데이터세트를 설정해주고, 테이블 칸에는 본인이 원하는 테이블명을 입력한다.

고급 옵션은 우선 그대로 두고, 테이블 만들기를 클릭해준다. 그러면 아래 사진과 같이, 본인이 정한 데이터세트명 하단에 테이블이 생성된 것을 확인할 수 있다.

Step 2. Enterprise Knowledge Graph API 사용하기

다시 구글 클라우드 플랫폼 홈에 들어와서, 상단 검색창에 Enterprise Knowledge Graph를 입력한다. 그러면 Enterprise Knowledge Graph, Enterprise Knowledge Graph API가 보일텐데, 우선 Enterprise Knowledge Graph API를 클릭한다.

아래 사진은 내가 이미 설정을 해둔 상태라 그렇지만, 처음에는 사용하기 버튼이 있었다. 사용하기 버튼을 클릭해주면 된다.

Step 3. Schema Mapping File 등록

이번에는 Enterprise Knowledge Graph API 말고, Enterprise Knowledge Graph로 들어간다.

이런 화면이 뜰 것인데, 여기서 '스키마 매핑'을 클릭한다. 그러면 아래와 같은 화면이 뜬다.

본인이 Reconcile 할 데이터의 엔티티의 종류에 따라 선택하면 된다. 나는 영국 하원의원 목록 데이터를 사용했으므로, 인물을 선택하였다. 하단의 Create A Mapping 을 클릭하면 아래와 같은 편집 창이 뜬다.

본인이 미리 정의한 온톨로지가 있거나, 수정이 필요하다면 위의 창에서 직접 작성해도 된다. 수정이 완료되면 '다른 이름으로 저장' 버튼을 클릭한다. 그러면 아래의 창이 나타나게 될 것이다.

파일 이름은 본인이 원하는대로 작성하고, GCS 스토리지 위치 - 찾아보기를 클릭한다. 그러면 버킷 목록이 나타날 것이다. 만일 버킷 목록에 아무것도 뜨지 않는다면 위에 + 버튼을 클릭해 새로 버킷을 생성해준다.

버킷까지 설정이 완료되면 저장버튼을 누른다. 앞서 정의한 스키마 파일명과 버킷 이름은 어딘가에 메모해두면 좋다.

Step 4. reconcile 작업 실행하기

다시 Enterprise Knowledge Graph 홈 화면으로 돌아와서, 이번에는 작업을 클릭한다. 그러면 아래와 같은 화면이 뜰 것이다.

여기서 상단의 '작업 실행' 버튼을 클릭한다. 그러면 화면 우측에 아래와 같은 설정 팝업이 뜬다.

항목 유형 선택 창에서는, 앞서 자신이 정의한 스키마 맵핑 파일의 유형으로 선택한다.

데이터 소스 추가 창에서는 Step 1에서 자신이 저장한 데이터세트를 선택해준다. 스키마 맵핑 경로에는 Step 3에서 생성한 스키마 맵핑 파일의 Google Storage 경로를 입력하는데, 앞서 생성한 버킷의 이름/파일명으로 작성하면 된다.

BigQuery 데이터 대상은 reconcile된 결과가 저장될 데이터세트 경로를 의미한다. 마찬가지로 Step 1에서 생성한 데이터세트를 선택하면 된다.

고급 설정 부분은 선택적인 사항을 조정하는 부분으로, 해당사항이 없다면 그냥 넘어가도 된다.

마지막으로 완료 버튼을 누르면 되는데...

EKG API는 유료 서비스로, 무료 이용을 제공하긴 한다. 하지만 오직 한번만 Reconcile 실행 기회를 제공하므로, 완료 버튼 옆에 뭔가 경고 문구가 뜬다면 일단 완료 버튼을 누르지 말고 보류하도록 하자...

완료 버튼을 누르면 홈 화면에 이렇게 작업 대기열이 생긴다. 작업이 대기중인데 작업 취소를 누르면 그대로 Reconcile 실행 기회가 날아가 버리니, 오류가 생긴 경우에만 취소 버튼을 누르도록 하자..

참고로 reconcile에 시간이 꽤 걸린다. 진행 상황에 에러가 뜬게 아니라면 일단 가만 두는게 좋다.


참고

  • Hands-on Entity resolution (Michael Shearer, 2024)
profile
무책임한 정보 추구

0개의 댓글