Help:데이터에 대해 알아봅시다

This page is a translated version of the page Help:About data and the translation is 88% complete.
Outdated translations are marked like this.

위키데이터란 사람과 기계가 이용 및 편집할 수 있는 우리 모두의 지식 베이스이며, 위키백과로 유명한 위키미디어 재단에서 운영하는 프로젝트이기도 합니다. 위키미디어 재단에서 운영하는 위키데이터는 같은 곳에서 운영하는 다른 프로젝트인 위키백과나 위키낱말사전 등에서 각각 백과사전과 낱말사전을 추구하는 것과 비슷하게 구조화된 데이터(Structured Data)의 저장소를 추구하고 있습니다.

이 문서에선 구조화된 데이터가 무엇인지 알아 볼 것입니다. 여러분께서 구조화된 데이터가 무엇을 의미하는 것인지 잘 알고 계신다면 바로 다른 곳의 데이터와 연결하기 단락으로 건너뛰어 위키데이터에 저장된 데이터를 이용하는 방법 및 데이터를 기부하는 방법만 읽으셔도 괜찮습니다.

위키데이터 개념 잡기

구조화된 데이터란 데이터셋에 존재하는 다른 데이터들을 이용하여 어떤 개념이 가진 관계들을 표현한 데이터를 의미합니다.

그런데 여기서 '데이터'란 무엇일까요? 그리고 왜 구조화된 데이터에 특히 신경써야 할까요?

데이터가 무엇인지 알아보기

여러분은 '빅데이터', '실험 데이터', '공공 데이터', '메타데이터' 같은 용어들을 위키데이터에 오시기 전에도 한번은 보셨을 것입니다.

의미가 약간씩 다른 용어들이지만 이 용어들은 우리 주변의 세계를 좀 더 이해할 수 있는 '데이터'란 개념을 공통적으로 가지고 있습니다.

정보과학DIKW 피라미드상에선 '데이터'를 가공함으로써 '정보'가 만들어 집니다. 즉, '데이터'는 '정보'의 재료라고 할 수 있습니다.

이렇게 데이터는 정보의 재료란 결론을 이끌 수 있는 까닭은 데이터를 "어떤 개념"들에 대한 "값"들의 집합으로 단순화할 수 있기 때문입니다. 이때 "값"은 숫자일 수도 있고 치수 등의 양적인 것, 해설 등의 질적인 것일 수도 있습니다. 따라서 우린 '고추장'의 '색깔' 값은 "빨간색"이며 '에베레스트 산'의 '높이' 값은 "8,848 m"이고 '대한민국'에서 '가장 높은 곳' 값은 "한라산"이라 할 수 있는 것입니다.

한편 '정보'란 '데이터'와 동일한 개념이 아닌, '데이터'를 모아 분석해 놓은 결과물입니다. 이해를 돕기 위해 1915이란 데이터를 놓고 봅시다. 이 데이터는 지리산의 높이를 의미하지만 그 높이가 1915 피트인지, 1915 미터인지, 1915 척인지 알 수 없을 정도로 의미가 다소 부족합니다. 이때 '높이에 쓰는 표준 단위'를 알고 있으면 비로소 "지리산은 높이가 1915 미터이다."란 정보를 얻을 수 있으며 추가로 '대한민국에 있는 다른 산들의 높이'도 알고 있으면 "지리산은 높이가 1915 미터로 대한민국에서 두 번째로 높은 산이다."란 정보도 얻어 낼 수 있게 됩니다. 나중에 더 자세히 알려드리겠지만, 이런 과정은 데이터가 구조화되어 있을 때 어떤 사실을 추론하기 쉽게끔 만들어 줍니다.

어디에 데이터가 있을까요?

데이터는 금융·생물학적·사회적 데이터 등등의 여러 형태로서 우리 주변에 널려 있습니다. 사실 이 문서에도(!) 이 문서에 쓰인 단어의 총 개수, 이 문서가 만들어진 때, 이 문서가 마지막으로 수정된 때, 이 문서에서 다루는 주제, 이 문서의 조회수, 이 문서를 읽을 수 있도록 번역된 언어 등등을 나타내는 데이터들이 존재합니다.

하지만 이런 데이터들을 별도로 기록하고 구조화하지 않는다면 데이터가 존재하지 않는 것과 별반 다르지 않습니다. 또한 제대로된 구조를 갖추지 못한 데이터는 정보로 가공하지 못하는 단순한 데이터 쪼가리에 불과합니다.

따라서 여러분은 데이터를 '조직'함으로써 일정한 기준에 맞추어 분류하면서도 서로 혼동될 만한 개념들은 구분되도록 분류해야 합니다. 이렇게 조직 및 분류 과정까지 거친 데이터를 두고 위키데이터에선 '구조화된 데이터'라고 부릅니다.

 
위키데이터에선 입력 창을 통해 항목에 데이터를 입력해야 한다는 특징이 있습니다

어디에 구조가 있을까요?

웹은 '구조'로 가득 차 있습니다. 웹 문서의 기본 구조를 규정해 놓은 HTML이란 마크업 언어가 있는데, 대부분의 웹 사이트가 바로 이 HTML로 만들어졌습니다.

마크업 언어는 위의 HTML처럼 문서 내용을 나타내기 위해 쓰이기도 하지만, 검색 엔진이나 봇이 문서 내용을 쉽게 "이해"하고 적절한 처리를 할 수 있도록 돕기 위한 용도로도 쓰입니다. HTML에서 <title> 태그가 기계에게 문서 이름을 알려주기 위한 용도로서 쓰이는 것이 대표적인 예입니다.

위와 같이 HTML이 웹 문서를 나타내기 위한 구조 등을 제공하는 것처럼 위키데이터는 위키백과 등의 위키미디어 프로젝트에 저장되어 있는 정보들을 위한 데이터 구조를 미디어위키와 Wikibase 확장 기능을 통해 제공하고 있습니다. 여기서 미디어위키는 다른 위키미디어 프로젝트에서도 사용하고 있는 위키 엔진이며, Wikibase 확장 기능은 수많은 구조화된 데이터를 미디어위키에서 다룰 수 있도록 설계된 확장 기능이기도 하지만 친근한 입력 창을 통해 사용자가 데이터를 입력하거나 편집할 수 있게끔 함으로써 위키백과 등의 문서의 표나 목록에 데이터 구조를 직접 넣어 줘야 한다거나 별도의 마크업 언어나 문법을 배워야만 데이터 구조를 입력할 수 있는 불편 등을 없앤 확장 기능이기도 합니다.

여기서 사용자가 위키데이터에 저장한 데이터는 위키백과 등을 비롯한 모든 웹 사이트에서 최신 정보를 담은 목록이나 표 또는 구조화된 문서들을 자동적으로 만들어내기 위해 위키데이터의 사용권을 준수하는 수준에서 사용될 수 있습니다.

표 1
산에 관한 데이터
산 이름 속성
Mount Everest height 8,848 m
K2 hauteur 8,611 m
Kanchenjunga height 8,586 m
Lhotse height 27940 ft

데이터 구조의 중요성

데이터 구조가 왜 중요한 것인지 알아보기 위해 세계에서 첫 번째부터 네 번째까지 높은 산에 관한 데이터를 적은 표 1을 봅시다. 이때 몰입도를 위해 아래 문단까지 읽기 전엔 궁금한 사항이 있더라도 검색은 잠시 미뤄두시기 바랍니다. 만약 여러분이 "세계에서 두 번째로 높은 산의 높이"처럼 정보의 한 부분을 알고 싶다면 주어진 표에서 "두 번째로 높은 산"을 찾은 다음 "높이" 값을 알아내야 합니다. 그런데 이 표에서 "높이" 속성을 가진 산은 3개 뿐이며, 그나마도 그 중 2개의 산만이 "미터" 단위를 쓰고 있습니다. 여러분은 "피트" 단위를 "미터" 단위로 환산하는 방법을 아시나요? 또한 "hauteur"의 뜻은 아시나요? 이처럼 "hauteur"의 뜻을 잘 모르거나 "피트" 단위에 익숙하지 않은 사람들 및 컴퓨터 프로그램 같은 기계들은 이 표만 가지고서는 "세계에서 두 번째로 높은 산의 높이"를 제대로 구할 수 없습니다.

만약 데이터를 적을 때 "높이" 속성과 "미터" 단위 등 하나의 기준으로 통일시켜 적었다면 여러분은 물론 기계까지도 "세계에서 두 번째로 높은 산의 높이"를 구하기 위한 정보와 그 답을 좀 더 쉽고 빠르게 구할 수 있었을 것입니다. 이것이 바로 데이터 구조가 왜 중요한지 보여주는 사례입니다. (이제 윗 문단의 질문에 대한 힌트를 알려 드리자면 1 피트는 1 미터보다 작으며, "hauteur"의 뜻은 옆의 단어에 걸린 링크를 눌러 직접 위키낱말사전에서 알아보세요.)

데이터를 모델링하기

위키데이터 및 유사한 사이트들은 보통 데이터 모델이란 것으로 구조화된 데이터들을 구축해 놓습니다. 여기서 데이터 모델이란 사람과 기계가 데이터를 읽으면서 그게 무슨 의미인지까지 알 수 있도록 해주는 것을 말합니다. 방금 전에 봤던 윗 단락의 예에서 봤듯이 기계한테 "높이"와 "hauteur"가 같은 개념이라고 확실히 알려주기 전까지는 기계가 아무리 뛰어난다 한들 여러분만큼 똑똑하진 않기 때문에 둘이 다른 개념이라고 판단할 것입니다.

표 2
산에 관한 데이터
산 이름 속성
Mount Everest continent Asia
K2 continent Asia
Kanchenjunga continent Asia
Lhotse continent Asia
 

데이터 모델은 데이터셋의 범위와 개념 체계, 시스템의 요구 사항 등에 따라 그 종류가 다양하긴 하지만 공통적으로는 시스템에서 지원할 수 있는 데이터의 유형들과 어떤 값들 간의 관계를 사람과 기계가 이해할 수 있도록 명세하게끔 되어 있습니다. 즉 "높이"와 "hauteur"을 동일한 개념을 가리키는 것으로 묶거나, "피트" 단위로 입력된 값을 "미터" 단위로 자동으로 환산되게끔 데이터 모델에다가 명세할 수 있습니다. 한편 위키데이터의 데이터 모델은 사용자가 새로운 데이터를 시스템에 추가하거나 시스템의 데이터를 편집할 수 있도록 되어 있으며, 후일에도 개발 과정에 따라 새로운 데이터 유형들을 시스템에 추가할 수 있게끔 되어 있습니다.

또한 데이터 모델은 기본적으로 인간이 쓰는 자연어 구조를 기계가 처리할 수 있는 것으로 바꿔주는 역할도 합니다. 이해를 돕기 위해 한국어로 쓰인 다음 문장을 봅시다.

"에베레스트 산은 지구에서 가장 높은 산이다."

이 문장은 위키백과 등에서 흔히 볼 수 있는 따로 구조화되지 않은 문장입니다.

위키데이터에선 위 문장과 같이 어떤 것에 대한 자세한 정보를 알려줄 땐 해당 항목의 자세한 속성을 알려주는 '서술'이란 개념을 통해 표현하게 됩니다. 이제 위 문장을 위키데이터의 '서술'로 나타내보면 다음과 같습니다.

Earth (Q2) (항목)highest point (P610) (속성)Mount Everest (Q513) (값)

또한 위키데이터에선 '에베레스트 산' 항목에 이것이 '산' 종류란 것을 나타내는 서술을 넣을 수도 있습니다.

Mount Everest (Q513) (항목)instance of (P31) (속성)mountain (Q8502) (값)

위키데이터의 항목들은 자신들을 다루는 문서들을 각각 하나씩 가지고 있으며 바로 위의 경우처럼 다른 항목의 서술로도 쓰일 수 있으므로, 서술을 통해 서로 연결할 수 있다고 볼 수 있습니다. 이런 항목 간의 연결은 기계도 읽을 수 있는 포맷을 사용하는 위키데이터의 특성과 결합하여 기계가 어떤 정보를 찾아내고 밝혀내기 위해 직접 항목 간에 새로운 관계를 맺거나 연결할 수 있게끔 해주기도 합니다. 이해를 돕기 위해 표 2를 봅시다. 이번엔 표 1에 봤던 산들이 위치한 대륙을 나타낸 데이터가 있으나, 표 1과는 달리 높이를 나타낸 데이터는 없습니다. 이때 표 1의 '산들의 높이' 데이터에 표 2의 '산들이 위치한 대륙' 데이터를 "연결"한다면 표 2가 없을 때보다 좀 더 수월하게 "아시아는 높은 산들의 고향이다" 같은 결론을 낼 수 있을 것입니다.

다른 곳의 데이터와 연결하기

위키데이터에서는 구조화된 데이터를 모으기도 하지만 링크 데이터(Linked data)란 것도 지원합니다. 링크 데이터란 구조화된 데이터가 서로 연결될 수 있도록 한 것을 뜻합니다.

이것은 여러분께서 위키데이터에 기여한 데이터가 위키미디어 이외의 인터넷 상 장소, 즉 다른 데이터셋, 데이터베이스, 데이터 정보원, 다른 프로젝트 등과 연결될 수도 있음을 뜻하기도 합니다. 실제로 위키데이터에 있는 데이터들은 구글 도서, 바티관 도서관, 뮤직브레인즈 같은 다양한 데이터셋 및 데이터베이스와 연결할 수 있게끔 해 두었습니다.

 
한 개의 속성-값 짝으로 이루어진 단순 서술의 예
 
한 개의 속성-값 짝과 여러 개의 한정자(qualifier), 하나의 각주(reference)로 이루어진 복합 서술의 예

또한 위키데이터에서 다른 사이트 및 데이터베이스의 연결을 허용하는 것처럼 다른 프로젝트에서도 위키데이터와 연결하거나 위키데이터의 데이터를 아래의 링크 데이터 원리에 따라 이용할 수 있습니다.

링크 데이터 원리

위키데이터는 링크 데이터 표준에 따라 고유 식별자와 통합 자원 식별자(URI)를 각 항목에 사용하고 있습니다.

위키데이터가 고유한 데이터 모델을 사용하긴 하지만 RDF란 링크 데이터에서 널리 쓰이는 표준 형식으로 위키데이터의 내용을 내보낼 수 있습니다. 위키데이터에서의 '서술'은 항목과 속성-값 짝으로 구성되어 있습니다. 링크 데이터 개념에 익숙하신 분들에겐 이 '항목-속성-값(Item-Property-Value)'가 RDF의 '주어-술어-목적어(Subject-Predicate-Object)'와 비슷하게 보이실 것입니다.

하지만 위키데이터의 서술에는 링크 데이터의 '주어-술어-목적어'를 넘어선 '한정자', '각주' 등이 있기 때문에 위키데이터 콘텐츠를 RDF 언어로 완전히 나타내려면 더 복잡해집니다. 이 문제에 대한 자세한 정보는 Introducing Wikidata to the Linked Data Web에서 다루고 있으니 관심 있으신 분은 참고하시기 바랍니다.

여러분의 데이터를 위키데이터에 기여하기

위키데이터에 여러분이 가진 데이터셋을 기여하시고 싶다면 Wikidata:Data collaborators에 여러분의 프로젝트를 양식에 맞춰 추가해주세요.

데이터 이용하기

위키데이터의 데이터들은 자유롭게 재사용할 수 있도록 크리에이티브 커먼즈 퍼블릭 도메인 기증 1.0 라이선스 하에 공개되고 있습니다. 즉 여러분은 별도의 이용 허락 없이도 상업적이든 비상업적이든 데이터를 복사, 수정, 배포하거나 여러분의 작업에다가 가져다 쓸 수 있습니다.

See Data access for details about the different ways to programmatically access Wikidata's data.

같이 보기

이 문서에서 다룬 내용과 관련된 문서들은 아래와 같습니다.

이 문서에서 다룬 것 외에 더 알고 싶으신 것이 있으신가요? 다음 문서들이 있습니다.

  • Project chat, for discussing all and any aspects of Wikidata
  • Wikidata:Glossary, the glossary of terms used in this and other Help pages
  • Help:FAQ, frequently asked questions asked and answered by the Wikidata community
  • Help:Contents, the Help portal featuring all the documentation available for Wikidata