그래프 데이터 모델을 활용한
크라우드 소싱 기반의 장소 정보 구축을 위한 시스템 설계 및 구현
System Design and Implementation for Building a Place Information based on Crowdsourcing Utilizing the Graph Data Model
이재은*·노건일**·장한메***·유기윤****
Lee, Jae-Eun · Rho, Gon-Il · Jang, Han-Me · Yu, Kiy-Un
초 록
최근 모바일 환경의 보급에 따른 위치기반서비스의 발달로 POI 정보의 중요성이 더욱 부각되 고 있다. 따라서 빠르게 변화하는 장소들의 정보를 반영하기 위해서는 POI의 최신성과 정확성 이 담보되어야 한다. 본 연구에서는 POI 정보의 효율적인 구축을 위해 다수의 사용자가 정보를 구축하는 크라우드 소싱 기반의 장소 정보 구축 시스템을 제안한다. 또한 POI 정보를 넘어서서 영역 형태의 정보를 포함하는 장소 정보의 개념을 제시하고, 장소 정보의 구축을 위해 그래프 데이터 모델을 활용하였다. 그리고 그래프 데이터 모델과 크라우드 소싱을 활용한 시스템을 설 계하고, 이를 실제로 구현하였다. 그 결과 단순 POI로부터 영역 형태를 포함하는 장소의 개념 의 클러스터링이 가능하였고, 크라우드 소싱을 통해 정보의 구축 및 갱신이 가능하였다.
주요어 장소 정보, 그래프 데이터 모델, 크라우드소싱, 시스템 설계
ABSTRACT
The development of LBS(location-based services) due to the widespread mobile
* 서울대학교 건설환경공학부 박사과정(전자우편: [email protected]), 주저자.
** 서울대학교 건설환경공학부 박사과정(전자우편: [email protected]), 공동저자.
*** 서울대학교 건설환경공학부 석·박통합과정(전자우편: [email protected]), 공동저자.
**** 서울대학교 건설환경공학부 정교수(전자우편: [email protected]), 교신저자 .
1. 서 론
최근 모바일 환경에서 위치기반서비스의 적 용 범위가 점차 넓어지면서 POI(Point Of Interest) 데이터의 중요성 또한 확대되고 있다.
POI는 지리정보를 구성하는 가장 기본적인 정 보 중 하나로서, 많은 지리정보시스템이 이를 기반으로 제공되고 있다. 최근에는 POI를 활용 한 지도 검색이나 내비게이션뿐만 아니라 SNS, 소셜미디어 등 다양한 서비스에서 장소 정보를 활용하는 사례가 나타나고 있고, 병원이나 주 차장 등 특별한 종류의 장소 정보만을 모아 서 비스하는 사례도 증가하고 있다. 이러한 서비스 들이 원활히 제공되려면 POI의 높은 정확도와 최신성이 담보되어야 한다.
국세청에서 국회에 제출한 ‘지난 10년 동안 개 인사업자 창업/폐업 현황’ 자료에 따르면, 우리
나라의 경우 2004~2013년의 개인사업자의 창 업은 949만개, 폐업은 793만개로 알려져 있다.
이처럼 사회 전 분야에서 창업과 폐업이 빈번 하게 발생한다는 것은 POI 수시 갱신의 필요성 이 커지고 있다는 것으로 볼 수 있다. 현재 POI 의 구축 방법은 크게 현장조사를 통해 데이터 를 취득하는 실사취득방법과 웹, 문헌 등의 참 고자료들을 활용하여 데이터를 취득하는 내업 취득방법으로 구분할 수 있다(오성호, 2006).
실사취득방법은 POI 데이터 구축 대상 지역을 선정하고 조사 범위, 일정, 인원 등을 고려하여 실사 계획을 수립한 후, 현장 조사를 수행하는 방법을 말한다. 내업취득방법은 명칭, 주소, 기 타 부가정보가 수록된 참조자료로부터 POI 정 보를 얻는 방법으로, 참조자료로는 전화번호 부와 웹 크롤링 등을 이용한다. 실사취득방법 은 가장 정확하게 POI 데이터를 취득할 수 있
environment highlights the importance of POI(point of interest) information. The accurate and up-to-date POI has to be ensured to reflect the information of rapidly changing places. For the efficient construction of POI, here we propose the novel construction system for the place information. This system is based on crowd-sourcing in which a great number of users participate. In addition, we utilize the graph data model to build the new concept of the place information covering the wide areas extending from the specific point. Moreover, the implementation of the new system applying the graph data model and crowd-sourcing is realized in this paper. That is, this study suggests the whole new concept of the place information and shows the clustering and the renewal of the place information through crowd-sourcing.
KEYWORDS place information, graph data model, crowdsourcing, system design
는 방법이지만, POI 데이터는 방대한 양으로 전 국토에 걸쳐 분포하며 빠른 주기로 변화하기 때문에 실제 지도 포털 및 내비게이션 업체들 이 전국 각지에 많은 인원과 차량을 배정하여 상시 조사를 해야 한다는 문제가 있다. 이 과정 에서 비용, 시간의 문제가 발생하게 된다. 내업 취득방법은 비교적 적은 비용으로 POI 정보를 구축할 수 있다. 하지만 참조 데이터들 간의 포 맷이나 표준이 불일치하는 경우가 많고, 다양 한 기관에 분산되어 있기 때문에 데이터 통합 의 어려움이 있다(Rodrigues, 2010; Alves et al., 2011). 또한 참조 데이터 역시 최신성의 문 제와 관련하여 빠르게 변화하는 실세계 정보를 반영하지 못한다는 문제가 있고, 참조자료를 위치 정보로 변환하는 과정에서 위치 오차 등 의 문제가 발생되기 때문에 데이터의 검수 과정 이 필수적으로 요구된다는 단점들이 있다.
보다 효율적인 정보 구축을 위해서는 소수
의 주체가 아닌 다수의 주체가 함께 정보를 만 들어야 한다. 공간정보 분야에서도 집단 지성 (collective intelligence)이나 크라우드 소싱 (crowdsourcing)에 의한 정보 구축 방법에 대 해 논의가 계속되고 있다. Goodchild(2007)는 다양한 시민 참여를 통해 구축된 공간정보를 VGI(Volunteered Geographic Information) 라고 명명하고, 전 세계 사용자들이 자발적으 로 공간정보 데이터를 취득하고 구축할 수 있 는 가능성을 제시하였다. 크라우드 소싱을 활 용한 정보 구축의 장점과 단점은 모두 입력되 는 정보가 매우 다양하다는 데 있다. 서로 다 양한 시각의 정보를 종합하여 높은 품질의 결과를 생산할 수도 있지만, 다양한 정보가 입력되는 만큼 정보의 품질을 관리하기 어렵 다는 문제가 존재한다. 기존의 POI 정보 구 축 방법과 크라우드 소싱 방법의 장·단점은
<표 1>과 같다.
항목 실사취득 방법 내업취득 방법 크라우드소싱
구축 비용 많은 인력과 차량을 필요로 하기 때문에 많은 비용이 발생
참조 데이터를 활용하기 때문에 적은 비용으로 정보 구축 가능
사용자의 참여로 정보 구축이 이루어지기 때문에 적은 비용으로 정보 구축 가능
정확성
실제 인력이 투입되기 때문에 가장 정확한 정보를
얻을 수 있음
참조자료의 불완전함, 데이터 포맷의 문제 등 때문에 정확성
을 담보하기가 어려움
명확한 검수 과정을 거친 것보다는 정확성이 떨어지지만,
사용자가 많이 참여할수록 정확성이 높아짐
최신성
갱신 주기를 빠르게 가져가는 데 한계가 있어 최신성을
담보하기 어려움
참조자료에 의존도가 높기 때문에, 참조자료가 최신성이
담보되지 않으면 마찬가지로 최신성을 확보하기 어려움
많은 사용자가 참여한다는 전제 하에, 최신의 정보들이
반영될 수 있음
<표 1> POI 구축 방법 별 장·단점
이러한 문제점은 현재 POI 데이터 모델(W3C POI Working Group)이 정형화되어 있고, 정 보와 정보 간의 유연한 연결 및 확장에 대한 부분이 결여되어 있기 때문에 더욱 부각된다.
본 연구에서는 이러한 POI의 확정성을 확보하 기 위해 그래프 기반 데이터 모델을 활용하였 고, 이를 위해 OrientDB를 사용하였다.
또한 잘 구축된 POI일지라도 온라인상에서의 전화번호부 역할을 할 수 있을 뿐, 주관적인 정 보나 사회적인 정보 등에 대한 내용은 부족하 다. 최근에는 POI 검색 결과에 해당 POI와 관 련된 블로그 등을 연결해 주는 서비스를 제공 하고 있지만, 이와 같은 정보들이 사용자가 얻 고자 하는 “장소”의 정보라고 보기는 어렵다.
예를 들어 “강남역” 이라는 POI는 실제로는 지 하철 2호선의 강남역을 지칭할 뿐이지만, 사용 자들은 지하철 2호선의 강남역과 그 일대를 포 함하는 주변 장소에 대한 개념으로서 “강남역”
이라는 명칭을 사용한다. 본 연구에서는 단순 POI 정보로부터 한 단계 나아간 장소 정보라 는 개념을 제시하고, 그래프 데이터 모델을 활 용한 크라우드 소싱 기반의 장소 정보 구축을 위한 시스템을 설계하고 구현하였다.
2. POI 데이터 모델과 크라우드 소싱
시스템 설계 및 구현을 위해서는 먼저 장소 정보 구축의 뼈대가 되는 POI 데이터를 어떠 한 데이터 모델을 사용해서 구축할 것인지에 대해 결정해야 한다. 또한 장소 정보의 효율적 구축을 위해서는 소수가 아닌 다수 주체의 정 보 구축 방법이 필요하다. 제2장에서는 현재
의 POI 데이터 모델과 본 연구에서 사용한 그 래프 데이터 모델에 대한 관련 연구를 분석하 고, 공간정보 분야의 크라우드 소싱 방법에 대 해 분석하였다.
2.1. 현재의 POI 데이터 모델
장소 정보의 뼈대가 되는 POI 정보에 대 한 데이터 모델은 현재 W3C(World Wide Web Consortium)아래 존재하는 W3C POI Working Group(W3C POI core, 2016)에서 제시하고 있다.
POI에 대해서 W3C POI Working Group 에서는 정보가 있는 위치 또는 위치에 대한 정 보라고 정의한다. 그들에 따르면 POI는 다양 한 언어로 이름을 가진 건물의 3차원 모델이 거나, 개방 및 패쇄 시간에 대한 정보, 그리고 단순하게는 좌표 정보과 그 식별자라고도 할 수 있다.
POI 데이터는 본래 다양한 전송 메커니즘 에 의해 독자적인 포맷으로 교환되어 왔는데, W3C POI Working Group은 이를 유연하면 서도 경량의 확장 가능한 표준화된 구문으로 정의하고 있다. 그들이 정의하고 있는 데이터 모델 UML은 [그림 1]과 같다.
W3C POI Working Group은 본 연구에서 제안하고자 하는 POI 장소를 포함하는 장소 (Place)정보에 대한 개략적인 정의도 하고 있 다. 그들은 장소를 표현하기 위해 POI의 위치 속성으로 선 또는 영역 형태의 데이터도 포함 시킬 수 있도록 해 놓았다.
국내에서는 TTA(Telecommunication
Technology Association, 한국정보통신기술협 회)에서 W3C POI Core를 받아들여 관심지점 모델을 지정하고, 이를 국내 표준으로 사용하고 있다. 그러나 W3C 모델과 TTA 모델은 POI 정 보 구축보다는 XML 기반의 모델로 표현 및 교 환에 중점을 둔 모델이라고 할 수 있다.
따라서 별도의 장소 정보에 대한 정의를 내 리고, 이를 구축하기 위한 데이터 모델을 찾는 것이 중요하다.
2.2. 크라우드 소싱을 활용한 POI 구축 방법
POI 데이터는 최신성과 정확성이 보장되지 않으면 데이터로서의 가치가 크게 떨어진다.
최신성은 데이터 갱신 주기에 따라 가장 최근 형태로 갱신이 되고 있는지에 대한 내용이고, 정확성은 실세계에 존재하는 데이터와 제공되 고 있는 데이터가 얼마나 일치하는지에 대한 내용이다. 그런데 현재의 POI 구축 방법에 따
[그림 1] 산림의 기하학적 정보 추출 과정 [그림 1] 산림의 기하학적 정보 추출 과정
[그림 1] POI 데이터 모델 UML
라 최신성과 정확성을 확보하려면, 너무 많은 비용과 인력을 소모할 수밖에 없다. 또한 본 연구에서 제시하고자 하는 장소 정보의 구축 을 위해서는 다수의 사용자들로부터 정보가 입력되는 것이 효과적이다. 최근 공간정보 분 야에서도 크라우드 소싱 방법을 접목한 다양 한 주체로부터 정보를 입력받거나, 대중들에 의해 생산된 정보를 활용하는 연구가 활발하 게 진행되고 있다.
Alves 등(2011)은 POI 군집으로 공간을 설 정하고 위키피디아에 등록된 정보를 활용해 그 공간에 관한 사람들의 인식 정보를 추출하 였다. Zhou 등(2013)은 사회관계망 서비스인 Weibo의 체크인 데이터를 기존의 POI 데이터 베이스를 갱신하는 데 활용했고, 유효한 실험 결과를 보여주었다. Chuang 등(2016)은 크롤 링, 정보 추출, 정보 검색 기법 등을 활용하여 웹으로부터 이름, 주소 등의 정보를 추출해 자 동으로 POI를 구축하는 연구를 진행하였다.
이처럼 크라우드 소싱에 관한 연구들은 풍 부한 속성 정보를 추가하고 의미론적 특성을 부여하기 위해서 대중들이 생산하는 정보를 활용하는 방식으로 활발하게 진행되었다.
2.3. 그래프 데이터 모델
기존의 POI 데이터 모델의 단점과 한계를 극복하고, 크라우드 소싱에 의한 정보 생산이 가능하게 하려면 보다 유연한 데이터 모델이 필요하다. 본 연구에서는 그래프 기반 데이터 모델을 사용하여 장소 정보 구축의 효율성을 높이고자 하였다.
지금까지 POI 데이터를 포함하는 많은 데이 터를 보다 효율적으로 관리하고자 하는 필요 로부터 여러 데이터베이스 관련 기술들이 등 장해 왔다.
최근 실시간 웹 어플리케이션과 빅데이 터 환경에서 관계형 데이터베이스들이 갖 는 제약과 한계를 극복하기 위해 Not only SQL(NoSQL)이라는 구호 아래 많은 종류의 데이터베이스들이 등장하고 있다. 이들은 데 이터 모델의 관점에서 크게 키-값, 컬럼, 문 서, 그래프 등으로 구분된다. 이밖에 두 가지 이상의 모델을 지원하는 멀티 모델 데이터베 이스도 존재한다.
본 연구에서 사용한 그래프 데이터베이스는 노드와 엣지로 구성되는 그래프 구조의 데이 터 모델을 기반으로 한 NoSQL 데이터베이스 의 일종이다. 여기에서 노드는 객체를, 엣지는 객체 간의 관계를 나타낸다. 노드와 엣지는 라 벨을 통해 서로 구분되며, 각각 키-값으로 이 루어진 다양한 속성정보를 가질 수 있다. 경 우에 따라서는 엣지에 방향성을 부여할 수도 있다. 그래프 데이터베이스는 관계형 데이터 베이스에 비해 높은 연결성을 가진 데이터 처 리 능력, 그래프 모델 기반의 유연한 데이터 모델링, 그래프 탐색을 통한 높은 지역적 읽 기 성능 등의 장점을 갖는다(Pokorný, 2015).
Neo4J, OrientDB, Titan 등이 대표적이다.
3. 장소 정보 구축 시스템 설계
장소는 특정 영역의 명칭에 관한 사회적인 합의의 산물이다. 소유권을 중심으로 한 사회
적인 계약에 의해 건물, 상점 등의 물리적인 장소가 생기기도 하고 공동체 구성원들의 인 식이 중첩되어 ‘~거리’, ‘~역 앞’ 등의 인지적 장소가 만들어 지기도 한다.
지역 정보의 일종인 장소 정보는 해당 지역 에서 생활하는 사람들의 경험과 지식이 가장 정확한 원천이므로, 대중들의 집단 지성을 통 해 구축되어야 한다. 집단 지성을 활용하는 정보시스템의 대표적인 사례는 위키위키이다.
위키백과를 비롯해 여러 위키위키 서비스들 은 다양한 분야의 지식 정보를 성공적으로 구 축해 왔으며, 그 유용함을 인정받고 있다. 실 제로 위키백과에는 일부 장소 정보들이 구축 된 사례를 쉽게 찾아볼 수 있다. 뿐만 아니라 위키매피아(Wikimapia)나 오픈스트리트맵 (Openstreetmap) 등 실제로 공간정보 분야 의 위키위키 서비스를 표방하고 있는 서비스 들도 있다. 하지만 장소 정보는 다른 지식 정 보와 구분되는 공간성과 모호함이라는 특성 을 갖고 있으며, 위에 언급된 공간정보 분야의 위키위키 서비스들은 주로 지도 데이터 구축 에 초점을 맞추고 있는 서비스이기 때문에 장 소 정보를 위한 집단 지성 시스템을 별도로 설 계할 필요가 있다.
집단 지성을 활용한 장소 정보 구축 시스템 은 본질적으로 데이터의 통합을 다루게 되며,
정확도를 담보할 수 없는 다수의 입력 데이터 를 종합하여 장소 정보를 구축할 수 있어야 한다. 시스템의 전체적인 프로세스는 [그림 2]
와 같다.
3.1. 데이터 입력 및 전처리
장소 정보를 구축하기 위해 필요한 정보는 위치, 명칭, 카테고리, 시간, 연락처 등 다양하 다. 그 중 명칭과 위치는 한 장소를 유일한 것 으로 식별하기 위해서 필수적인 정보이다. 본 연구에서는 문제 영역을 단순화하기 위해 입력 데이터를 명칭과 위치로 제한한다. 시스템은 사용자에게 자신이 알고 있는 장소의 명칭과 위치를 입력하게 하고, 이 과정에서 데이터 전 [그림 2] 장소 정보 구축 시스템 프로세스
<표 2> 장소정보 입력 데이터
이름 변수명 타입 설명
명칭 name String 장소의 명칭 경도 latitude Double 장소의
위치값 중 경도
위도 longitude Double 장소의 위치값 중 위도
위치 정확도
location
-Accuracy Double 장소의 위치값의 정확도. 단위는 m
처리 모듈은 입력된 데이터의 위치정확도를 측 정해 <표 2>와 같이 입력 데이터를 구성한다.
위치정확도는 사용자가 입력한 위치와 실제 위치 사이에 발생한 오차의 크기를 확률적으 로 계산한 값이다. 데이터 입력 과정에서 사용 자는 지도를 움직여 화면 중심의 핀을 원하는 위치에 놓음으로써 위치값을 입력하게 된다.
이때 사용자가 현재 보고 있는 전체 지도 영 역 안에 진짜 위치가 포함될 확률이 정규 분 포를 따르고, 화면 내의 전체 지도 영역에 내 접하는 원을 3의 확률 영역이라고 가정한다.
이는 약 99.7%의 확률로 사용자가 현재 보고 있는 지도 안에 참값인 위치가 존재한다는 의 미이다. 여기에서 위치오차 영역을 약 68%의 확률 범위인 1의 확률 영역으로 정의하고, 위 치정확도는 위치오차 영역의 반지름의 크기로 정의한다. 단위는 미터(m)로 통일한다.
이렇게 입력된 데이터는 각각 하나의 장소에 대한 조각에 해당한다. 이 조각들로부터 유효 한 장소 정보를 구축하기 위해서는 서로 같은 장소를 가리키는 조각들을 찾아 중복을 제거 하고 통합해야 한다.
[그림 3] 측정된 위치오차값의 예시
측정된 위치오차값의 예시는 [그림 3]과 같 다. [그림 3]에서 각각의 위치오차값은 좌측의 경우 132.64m, 우측의 경우 16.55m로 나타 났다.
3.2. 위치 오차를 고려한 데이터 통합
장소는 명칭과 위치의 쌍으로 식별된다. 같 은 장소를 의미하는 데이터를 분류하려면 서 로 같은 명칭과 위치를 갖는 데이터를 찾아 야 한다. 그런데 장소의 위치값은 데이터 자체 에서 오차와 모호함을 갖는다. 여기서 말하 는 오차란 3.1절에서 정의한 위치정확도와 같
이 실제 위치와 시스템상에서의 입력된 위치 의 차이를 의미한다. 또한 모호함이란 장소의 위치를 점 형태로 나타낼 수 없는 경우에 발생 하는 문제를 의미한다. 예를 들어 “강남”이라 고 하면 의미적으로는 보통 지하철 2호선 강 남역 주변의 일대를 말하지만, 이런 영역 또는 선 형태의 위치는 점으로 표현할 수 없어 모호 함이 발생하게 된다. 주로 복합쇼핑몰, 테마거 리 등의 장소에서 이러한 모호함이 발생한다 ([그림 4]).
위치의 오차와 모호함을 고려하여 같은 장 소를 의미하는 데이터를 분류하는 프로세스 는 다음과 같다.
a. 명칭이 일치하는 데이터끼리의 분류 b. 분류된 데이터를 대상으로 위치 차원에 서 밀도 기반 클러스터링
c. 각 군집을 하나의 장소 정보로 정의 먼저 a에서는 동일한 명칭이 동일한 장소를 의미하는 필요조건이라고 정의한다. 이때, 명 칭의 오차는 고려하지 않는다. 이 부분은 다 음 절에서 다루도록 한다. 밀도 기반 클러스터 링은 가장 널리 사용되는 군집화 방법인 거리 기반 클러스터링(ex: k-means 등)에 비해 임
[그림 4] 위치의 모호함 bound = map.visibleRegion.bound
verticalDistance = distance(bound.north, bound.south)
horizonDistance = distance(bound.west, bound.east)
diameter = min(verticalDistance, horizonDistance)
locationAccuracy = diameter / 3.0
의의 형태를 갖는 군집을 탐색하는 데 유리하 다. 장소의 영역은 앞서 언급한 것과 같이 선 이나 영역의 형태 등 다양한 형태로 존재할 수 있으므로, 밀도 기반 클러스터링은 적합한 클러스터링 방법이 될 수 있다. 장소의 형태 뿐만 아니라 장소의 크기와 정확도를 함께 고 려하여, 본 연구에서는 밀도기반 클러스터링 방법 중 김호숙 등(2002)의 연구에서 제시한 DBSCAN에 가중치를 적용한 알고리즘을 활 용한다.
DBSCAN의 파라미터 중 이웃탐색반경(eps) 에는 각 점의 위치정확도 값을 대입한다. 위치 정확도 값이 낮은, 즉 실제 위치와의 차이가 낮다고 판단되는 점은 더 작은 범위에서 군집 을 탐색하고, 그 반대의 경우는 더 넓은 범위 에서 군집을 탐색하게 한다. 나머지 파라미터 인 최소이웃수는 2로 한다.
3.3. 명칭 오차를 고려한 데이터 통합
이번 절에서는 명칭의 오차를 해소하는 방법 에 대해 다루고자 한다. 명칭 오차는 주로 오 타로 인해 발생하거나 별칭 등(스타벅스 >> 스 벅 등)으로 장소의 명칭이 두 개 이상일 경우 발생할 수 있다. 명칭 오차는 앞서 다뤄진 위 치 오차와는 달리 군집 알고리즘 등으로 쉽게 해결될 수 있는 문제가 아니다. 명칭의 오차를 해결하기 위해서는 집단 지성을 활용하는 메 커니즘을 설계해야 한다.
명칭 오차 해결을 위한 프로세스는 다음과 같다.
a. 위치 오차를 처리하여 임시 저장한 각 장
소 군집을 기준으로 지정
b. 중심점 간의 거리를 기준으로 가장 가까 운 n개의 이웃 장소 군집 탐색
c. 기준 장소의 명칭과 나머지 이웃 장소 명칭 간의 텍스트 유사도 계산
d. 텍스트 유사도가 높은 순으로 연관 장 소로 저장
e. 연관 장소 병합 도구의 제공 및 집단 지 성에 의한 지속적 통합
즉, 3.2절에서의 프로세스를 통해 위치 오 차가 처리된 군집을 기준으로 지정한 후, 인 접한 장소 군집에서 텍스트 유사도 계산을 통해 장소들 간의 연관 관계를 파악하고 연 관 장소로 저장한다. 그 후 사용자들이 쓸 수 있는 연관 장소 병합 도구를 제공하고, 지 속적인 사용자 참여에 의해 연관 장소를 계 속해서 늘려 나간다.
3.4. 그래프 모델을 활용한 장소 데이터 모델 설계
장소 정보 데이터 모델은 위치와 속성 및 관 계의 측면에서 유연하고 확장 가능해야 한다.
대중들의 참여가 계속되는 한 구축된 장소 정 보는 계속해서 갱신될 수 있다. 위치 정보는 변경, 분할, 병합될 수 있어야 하고 다양한 속 성 정보가 추가, 수정, 삭제될 수 있어야 한 다. 또한 장소와 장소 간의 인접, 포함 등의 관 계를 표현할 수 있어야 한다.
그래프 데이터베이스의 데이터 모델은 관계형 데이터 모델에 비해 연결성을 가진 데이터를 모 델링하는 데 유리하고, 높은 수준의 유연함을
갖는다. 이러한 장점을 살려 [그림 5]와 같이 장 소 데이터의 논리적 모델을 설계할 수 있다.
[그림 5]에서 Point는 크라우드 소싱을 통 해 입력된 단일 데이터이고, Place는 각 Point 데이터로부터 추론된 장소 정보이다.
하나 혹은 여러 개의 Point가 하나의 Place 에 연결될 수 있다. 문제 영역을 단순화시 키기 위해 장소 정보에 포함될 수 있는 많 은 속성 중 가장 기본 요건인 명칭(name) 과 위치(latitude, longitude)만을 포함시켰 다. 추가로, 입력 데이터인 Point는 정확도 (location_accuracy) 속성을 갖는다.
4. 시스템 프로토 타입 구현
앞선 절에서 언급된 내용을 바탕으로, 제4 장에서는 집단지성을 활용한 장소정보 구축 시스템의 프로토 타입을 구현했다. 또한 웹 서비스 부분은 JVM 기반의 웹 프레임워크 인 Play framework 2.4와 그래프 데이터 베이스인 OrientDB 2.1을 활용해 Restful 웹서비스를 구현했다. 그리고 클라이언트 부
분은 Android 모바일 앱 클라이언트를 구 현했다. 마지막으로 시스템 아키텍쳐는 [그 림 6]과 같다
구현된 안드로이드 클라이언트의 데이터 입 력 화면은 [그림 7]과 같다.
사용자는 지도를 움직여 원하는 위치를 선택 할 수 있다. 화면 중앙의 원은 위치오차 영역을 시각적으로 나타낸다. 최초에는 모바일 기기의 GPS 위치정확도를 이용해 위치오차 영역을 계 산한 뒤, 이를 바탕으로 지도의 중심점과 축척 수준을 결정해 보여 준다.
이후 사용자가 지도를 움직일 경우 현재 보 고 있는 화면을 기준으로 위치오차 영역을 재 계산하여 위치와 함께 저장한다.
[그림 5] 데이터 모델
[그림 6] 시스템 아키텍쳐
원하는 위치로 지도를 움직이고, 화면 상단 의 입력창에 명칭을 입력한 뒤 우측 상단의 완료 버튼을 누르면 데이터 입력 과정이 완료 된다([그림 8]). 입력된 데이터는 인터넷으로 연결된 웹서비스를 통해 데이터베이스에 저장 되고, 다시 웹서비스 내의 장소 정보 구축 모 듈은 입력된 데이터를 반영해 장소 정보를 구 축하거나 갱신한다.
명칭과 위치를 기준으로 같은 장소로 분 류되어 군집을 이룬 입력값들은 하나의 장 소로 저장되어 표현된다. [그림 9]는 “강남 역”이라는 키워드를 검색하여 나타난 화면 이다. 각각의 핀들은 강남역이라는 키워드 를 가지고 있는 Point들을 의미하고, 화면 에서 원 안의 영역이 군집화 된 “강남역” 영 [그림 7] 데이터 입력 화면
[그림 8] 장소 이름 입력 [그림 9] 강남역의 장소 영역
역의 범위이다.
[그림 10]은 “여의도 벚꽃축제”라는 키워드 가 가지고 있는 영역의 범위이다. 마찬가지로 각각의 핀은 “여의도 벚꽃축제”라는 키워드를 가지고 있는 Point들이고, 원 안의 영역이 “여 의도 벚꽃축제”라는 키워드의 영역이다.
이처럼 구현된 시스템을 통해 장소 정보를 직접 입력 및 표현할 수 있었고, 입력된 Point 들의 명칭과 이름을 기준으로 장소가 군집화 되는 것을 확인할 수 있었다.
5. 결론
본 연구에서는 그래프 데이터 모델을 활용한 크라우드 소싱 기반의 장소 정보 구축을 위한
시스템을 설계하고, 이를 실제로 구현하고자 하였다. 먼저 장소 정보 구축을 위해서 POI 정보를 선과 영역의 형태로 확장하고, 이를 장 소의 개념을 정의하였다. 장소 정보는 POI 정 보에 비해 유연하고 확장 가능한 데이터 모델 이 필요하다. 이를 위해 기존 데이터 모델에 비해 확장성과 유연성 면에서 뛰어난 그래프 데이터 모델을 활용하였다.
또한 보다 의미 있는 장소 정보 구축을 위 해 소수의 주체가 아닌 다수의 주체가 정보를 구축하고 갱신해 나가는 크라우드 소싱 방법 을 적용하여 시스템을 구현하였다. 제안된 방 법의 결과를 분석해 본 결과, 기존의 POI 정 보 구축 방법에 비해 최신성과 정확성, 데이터 의 호환성 등의 측면이 향상되었다는 사실을 확인할 수 있었다. 먼저 최신성의 경우, 다수 의 사용자가 참여함으로써 장소 정보에 대한 최신성을 확보할 수 있었다. 다음으로 정확성 의 경우, 기존의 실사구축방법 등과 같이 명 확한 검수 과정을 거친 것보다는 정확성이 떨 어지지만, 기타 크라우드 소싱의 사례(위키피 디아 등)에서 볼 수 있듯이 다수 사용자의 참 여에 의해 충분히 공신력 있는 정보를 생산할 수 있을 것으로 보인다. 데이터의 호환성은 본 연구에서 제안하고 구현한 시스템의 활용도에 있어서 중요한 요소이다. 본 연구에서 제안한 방법에서는 기존 표준을 준수하고 있지는 않 지만, 표준 데이터의 형식으로 데이터를 내보 낼 수는 있으며 확장성을 확보하여 미리 정의 되지 않은 다양한 속성정보들을 포함시킬 수 있다는 장점이 있다.
본 연구에서 나타내고자 한 군집화의 경우, [그림 10] 여의도 벚꽃축제의 장소 영역
구현된 프로토타입을 통해 실제 사용자가 입 력한 포인트 데이터들이 명칭과 위치에 따라 군집화되어 나타나는 것을 확인해 볼 수 있 었다. 다만, 현재의 시스템에서는 명칭이 완전 히 동일한 포인트들만이 군집을 이루게 되는 데, “강남”이라는 명칭에 “강남역”이라는 명칭 이 포함될 수 있도록 장소 간의 계층성을 포 함하는 데이터 모델로의 확장이 필요해 보인 다. 또한 본 연구에서는 군집화에서 정보의 명 칭과 위치만을 사용하였는데, 기타 속성 정보 들까지도 포함하는 군집화가 가능하다면 보다 의미 있는 장소 정보 구축이 가능할 것이라고 생각된다.
명칭 유사도의 계산에 대한 부분, 제안한 시 스템 프로토타입의 성능을 정량적으로 평가 하는 부분 등은 추후 연구에서 해결해 나가야 할 부분이다.
감사의 글
본 연구는 국토교통부 국토공간정보연구사업 의 연구비지원(15CHUD-C061156-05)에 의 해 수행되었습니다.
【참고문헌】
≐김호숙, 임현숙, 용환승 (2002), 공간 데 이터 마이닝에서 가중치를 고려한 클러스터 링 알고리즘의 설계와 구현, 한국지능정보 시스템학회논문지, 한국지능정보시스템학 회, 제8권, 제2호, pp.177-187
≐오성호 (2006), 인프라 21세미나–우리나 라 POI 구축현황 및 향후 추진 방향, 국토 2006년 1월호, 국토연구원, pp.152-157.
≐Alves, A. O., Rodrigues, F., and Pereira, F. C (2011), Tagging Space from Information Extraction and Popularity of Points of Interest, Ambient Intelligence, Volume 7040 of the series Lecture Notes in Computer Science, pp.115-125.
≐Chuang, H. M., Chang, C. H., Kao, T. Y., Cheng, C. T., Huang, Y. Y., and Cheong, K. P. (2016). Enabling maps/location searches on mobile devices: constructing a POI database via focused crawling and information extraction, International Journal of Geographical Information Science, Vol. 30, No. 7, pp.1-21.
≐Goodchild, M. F (2007), Citizens as sensors: the world of volunteered geography, GeoJournal, Vol. 69, No.
4, pp.211-221.
≐Ichien, S., Kaji, K., and Kawaguchi, N. (2014), Proposal of a platform integrating POI information. In Mobile Computing and Ubiquitous Networking (ICMU), 2014 Seventh International Conference on IEEE,
pp.123-128.
≐K isilev ich, S., Mansmann, F., and Keim, D. (2010), P-DBSCAN: a density based clustering algorithm for exploration a nd a na lysis of attractive areas using collections of geo-tagged photos, In Proceedings of the 1st international conference and exhibition on computing for geospatial research & application, ACM, pp.1-10.
≐Pokorný, J. (2015), Graph Databases:
T he i r Powe r a nd L i m it at ion s, Computer Information Systems and Industrial Management, Volume 9339 of the series Lecture Notes in Computer Science, pp.58-69.
≐Rodrigues, F. (2010), POI Mining and Generation, Master's thesis, Faculty of Sciences and Technology, University of Coimbra, Portugal
≐W3c POI core (2016), https://www.
w3.org/2010/POI/documents/Core/
core-20111216.html
≐Zhou, M., Wang, M., and Hu, Q.
(2013), A POI data update approach based on Weibo check-in data, 2013 21st International Conference on Geoinformatics, IEEE, pp.1-4.