티스토리 뷰

개인적으로 매일 아침 9시에 어떤 사이트에 새글이 올라왔는지를  보여주는 원페이지 목록 메일을 받게 된다.

 

이 메일은 수십개의 하이퍼링크들이 그 안에 존재하고 있고, 사용자가 목록의 타이틀을 보다 호기심이 생기는 타이틀이 있으면 그 타이틀을 클릭하여 원문이 있는 사이트로 이동을 하게 된다.

이 글에서는 이러한 하이퍼링크를 얘기하는게 아니라 그 이면의 구조화된 데이터를 통해 정보를 획득하고 가공하는 과정을 살펴보려고 한다.

지난 글에서 RDF 데이터를 HTML에 임베딩하기 위해 RDFa를 사용한다고 했었다.

사실 각각의 하이퍼링크를 따라 웹페이지를 열어보면 그 안에 RDFa로 구조화시킨 정보들이 존재한다.

 

우선 데보션의 메일 2일치분을 수집하여 그 안에 있는 하이퍼링크 목록을 추출한다.

목록이 준비되면 RDFa로 구조화된 정보를 추출하면 된다.

이 목록 중 하나에서 추출한 구조화된 정보는 아래와 같다.

 

<https://zdnet.co.kr/view/?no=20220426114206> ns3:published_time "2022-04-30T07:00:01+09:00"@ko ;
    ns3:section "홈&모바일"@ko ;
    ns4:author "조민규 기자"@ko ;
    ns4:image "https://image.zdnet.co.kr/2022/04/29/2565028efc5622f300adf5e48ff269c5.jpg"@ko ;
    ns4:item_id "20220426114206"@ko ;
    ns2:author "조민규 기자"@ko ;
    ns2:availability "true"@ko ;
    ns2:category "헬스케어"@ko ;
    ns2:category2 ""@ko ;
    ns2:content_id "20220426114206"@ko ;
    ns2:modified_time ""@ko ;
    ns2:playtime ""@ko ;
    ns2:published_time "2022-04-30T07:00:01+09:00"@ko ;
    ns2:publisher "지디넷코리아"@ko ;
    ns2:title "코로나19 격리해제 후에도 후유증 지속…조기 관리 필요"@ko ;
    ns5:app_id "337858479574561"@ko ;
    ns5:pages "187539567939502"@ko ;
    ns1:description "[사진설명] 자생한방병원 의료진이 코로나 후유증 환자에게 침을 놓고 있다.코로나19가 감소세로 전환된 가운데 격리해제 후 후유증(Long COVID)을 겪는 확진자 사례가 ..."@ko ;
    ns1:image "https://image.zdnet.co.kr/2022/04/29/2565028efc5622f300adf5e48ff269c5.jpg"@ko ;
    ns1:site "https://zdnet.co.kr/view/?no=20220426114206"@ko ;
    ns1:title "코로나19 격리해제 후에도 후유증 지속…조기 관리 필요"@ko ;
    ns1:type "article"@ko ;
    ns1:url "https://zdnet.co.kr/view/?no=20220426114206"@ko .

대부분이 이와 유사하나 각 사이트마다 서로 다른 어휘를 사용하고 있는 경우도 있다.

따라서 약간의 추론을 통해 필요한 정보를 정제하고 새로운 정보를 만들어주면 데이터의 활용가치가 좀 더 올라가게 된다.

이 글에서는 약간의 추론을 통해 아래와 같은 정보를 추출하였다.

<https://zdnet.co.kr/view/?no=20220426114206>
	rdf:type	ns1:article ;
	rdfs:label	"코로나19 격리해제 후에도 후유증 지속…조기 관리 필요"@ko ;
	ns3:section	joy:홈&모바일 ;
	ns3:category	joy:헬스케어 ;
	ns3:author	joy:조민규_기자 ;
	ns3:published_time	"2022-04-30T07:00:01+09:00" ;
	ns3:origin	joy:지디넷코리아 .

모든 목록에 대해 위와 같은 과정을 거쳐 데이터 준비가 끝나게 되면

간단하지만 뭔가를 얻을 수 있는 지식그래프가 만들어 진 것이다.

이를 트리플 스토어에 저장하고 한번 살펴보도록 하겠다.

인상적이긴 하지만 아직 뭔지 잘 모르겠다. 각각의 정보들이 하나의 노드로 나타나고 각 정보들간의 관계가 선으로 나타나고 있다. 이미지상으로는 캡쳐를 하지 않아 현재 보이는 바로는 크게 3개의 클러스터가 생성되어 있고 각각의 클러스터도 형태가 제각각임을 볼 수 있다. 대략적인  데이터의 구조와 형태만 파악이 가능한 수준이다. 여기서 무언가의 정보를 획득하려면 다른 작업들이 필요로 한다.

 

여기서 잠깐 지식그래프가 이렇게 ‘그래프를 보여주는 것만이 전부가 아니다’라는 점은 미리 밝히고 넘어가야겠다.

그래프 형태로 포현이 되기 때문에 위와 같은 그래프 형태의 결과물이 나오는 것이지 이게 지식그래프라도 생각하면 큰 오산이 될 수 있다.

지식그래프는 나중에 글을 쓰면서 이야기할 계획이지만 그래프 형태의 지식베이스이다. 우리가 주목해야 할 것은 지식이다. 이 지식은 데이터로 구성되고, 이 데이터는 RDF 데이터 모델로 구성이 된다. 데이터들이 어떻게 표현되고 상호 연결되어 하나의 지식을 이루어 가는지를 살펴봐야 한다.

 

다시 본론으로 돌아와서 위의 이미지 상으로는 거대한 2개의 은하수가 보인다. 아마 ZDnet과 블로터 인것으로 보여진다.

블로터미디어에 올라온 글들이 1뎁스로 펼쳐지고 그 글들의 저자와 섹션, 카테고리들이 다음 뎁스로 펼쳐지고 있다.

 

 

반면에 위와 같이 지디넷코리아는 뭔가 서로 얽힌게 많이 있는 모양새로 보여진다.

이를 좀 더 확대해보면

지디넷코리아에 올라온 글들은 홈&모바일 이라는 카테고리의 글들이 많이 올라온 것으로 보인다.

 

그럼 수집한 이틀치의 목록 중에서 2건 이상의 글을 기자가 누가 있는지와 어떤 섹션들에 글을 썼는지 궁금해졌다.

그래서 구성된 지식그래프안에 질의를 하여 확인해보았다.

최경미 기자와 이도원 기자가 7건의 기사를 썼다는 것을 알수 있고, 그 중 최경미 기자가 다양한 섹션에 글을 썼다는 것도 알 수 있게 된다.

 

이번에는 어떤 태그들을 기사에 달았는지 살펴보았다. 웹페이지의 기사들이 태그 속성을 통해 달아두었던 태그 목록과 그 빈도수를 통해 추출한 정보는 아래와 같다.

이 글에서 사용하고 있는 글 목록은 5월 3일과 4일 이틀치인데 그 시점 전에 피파온라인4에 대한 뭔가 이벤트가 있었던 것인지 4개의 글이 관련된 태그의 글이 작성된 것으로 보여진다.

 

이상으로 간단한 예시와 데이터 이지만 데이터가 서로 연결되면 유용한 정보들을 활용할 수 있다는 것을 심플하게 설명해보았다.

좀더 응용을 하면 공통 카테고리 혹은 섹션의 글들을 기자들이 누구인지 클러스터링을 한다거나 시간 흐름에 따른 기사와 그 기사들의 키워드 흐름이 어떻게 되는지 살펴본다거나 하는 다양한 응용이 가능할 것으로 보여진다.

 

이 글에서의 핵심은 구조화된 데이터를 웹상에서 어떻게 활용하고 응용을 할 수 있는지를 나타내었다.

그 중심에 RDF 형태의 데이터가 데이터 모델로서 자리 잡고 있고,   알게 모르게 우리가 사용하고 있는 웹상에서 유통되고 쓰여지고 있다는 것이다.

이를 어떻게 사용할 수 있는지 그리고 어떠한 인사이트를 얻을 수 있는지는 바라보는 사람에 따라 다르게 다가올 것이라고 생각된다.

 

끝.

 

'J:::SemanticWeb' 카테고리의 다른 글

J_14. 온톨로지 언어  (0) 2022.05.06
J_13. 시맨틱 웹과 온톨로지  (0) 2022.02.27
J_12. 지식표현과 온톨로지  (0) 2022.02.07
J_11. RDF 1.1 Primer  (0) 2014.11.26
J_10. SPARQL Endpoint 상태  (0) 2013.12.27
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함