티스토리 툴바

   Semantic Web Lab.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
복잡계 네트워크 ( Complex network )

복잡계 네트워크 과학(Complex network science)에 대한 개략적인 정리를 해봤다.
뭔가 시맨틱 웹, Linked data, 온라인 소셜 네트워크 등.. 우리 연구실에서 도입할 만한게 있는지 알아보기 위해 공부를 시작 했는데 끝없는 미로에 빠져버렸다. 더 깊은 미로에 빠지기 전에 일단 이쯤에서 멈추고 정리한다. 나중에 뭔가 좋은 아이디어가 생각나겠지..



Tag : complex network, 복잡계


Measuring User Influence in Twitter: The Million Follower Fallacy
Cha, M., Haddadi, H., Benevenuto, F., & Gummadi, K. P.
Main Author: Meeyoung Cha(2010)

Summary by Sohn Jongsoo (mis026@korea.ac.kr) at 2011.09.29


1. 논문의 핵심 내용 :
트위터에서 많은 팔로워를 거느리고 있는 사용자에 대한 영향력을 분석함
팔로워가 많다고 해서 더 큰 영향력을 지니고 있는 것은 아님

2. 논문의 도메인 :
컴퓨터과학/소셜네트워크, 사회학, 물리학/복잡계네트워크, 서비스사이언스

3. 배경, 동기 :
사회학 분야에서 어떤 유명 인사의 영향력에 대한 연구는 오래전부터 이뤄져왔다. 전통적인 영향력 측정은 투표에서의 득표나 패션의 영향력 등을 분석했다. 근래에 들어서는(Modern view) 사람사이의 관계나 네트워크에 초점을 맞췄다.
그러나 그 연구들과 지금은 이미 많은 시간의 차이가 있으며 실증적 데이터가 존재하지 않아서 충분히 검증하기 어려웠다.
트위터에서는 오픈 API 등을 통해 소셜 네트워크와 일련의 데이터를 제공하므로 실증적 데이터를 가지고 분석할 수 있게 되었다. 따라서 (실증적 검증이 가능해졌으므로) 일반적으로 팔로워가 많으면 더 큰 영향력을 가진다고 알려져 있는데 이를 검증하려했다.

(pdf 파일에서 계속)


논문 원본 링크: http://an.kaist.ac.kr/~mycha/papers.html


Linked data 활용을 위한 간단한 sparQL 정리와 Dbpedia에서의 예제

손 종 수 (mis026@korea.ac.kr)


0.
들어가며
본 자료는 글을 쓰는 본인이 경험적으로 체득한 것을 정리한 것으로써 교과서적 정리와는 근본적으로 다르다. 따라서 sparQL과 Linked data를 빠르게 접하고 체험하기에는 적합할지 모르나 이론적 원리를 이해함에 있어서는 부족함이 있다. 또한 설명하는 부분에서 필자 스스로에게 이해가 쉬운 어휘와 표현을 사용하고 있으므로 추후 sparQL의 스펙문서와 Linked data 관련 논문들을 찾아 읽어서 부족한 부분을 채우시길 부탁 드린다.

1. SparQL Overview
sparQL은 크게 PREFIX, {SELECT, ASK, DESCRIBE, CONSTRUCT}, WHERE로 구성된다.

PREFIX는 일반 데이터베이스에서 데이터베이스 선택과 비슷한 의미로써 일반적으로 사용할 데이터 셑을 지정할 때 사용한다.

SELECT는 탐색할 대상을 지정할 때 사용하며 변수를 사용할 수 있다. 변수는 '?변수'의 형식으로 사용하며 전체를 탐색할 때는 ' * '을 사용한다.

WHERE는 조건절이다. 중괄호로 묶어 여러 줄을 사용할 수 있다.

그 외에 ORDER BY 등 질의의 마지막 부분에 정렬순서 등을 지정할 수 있다.

2. 간단한 예제

PREFIX : <http://abbs.purl.org/music#>

SELECT ?instrument

WHERE {        :andrew :playInstrument ?intrument .    }


위 문장은 <http://abbs.purl.org/music#>이라는 데이터 셑에서 instrument를 찾을건데 앤드류(주어)가 'playInstrument'라는 술어를 갖는 어떤 목적어 instrument를 찾겠다는 것이다.

WHERE절에서 한 문장의 끝은 마침표( . )로 구분한다.


3. 조금 더 복잡한 예제

PREFIX : <http://aabs.purl.org/ont/journal#>
SELECT ?notes

WHERE {

    ?e a :JournalEntry .

    ?e :notes ?notes .

    ?e :date ?date .

}

ORDER BY ?date

LIMIT 5

OFFSET 150

SELECT절 – ?notes를 출력할 것이다.

WHERE절 –
a는 rdfs:type의 약자이다. 즉, ?e a :JournalEntry는 rdfs:type이 JournalEntry인 어떤 변수 e를 찾는다라는 뜻이다.
?e :notes ?notes 는 ?e의 notes를 가져와서 ?notes로 사용하겠다라는 뜻이다.

?e :date ?date 는 ?e의 date를 가져와서 ?date로 사용하겠다라는 뜻이다.

notes 와 date를 가져와서 사용하겠다는 것은 달리 말해 notes와 date가 있는 데이터를 가져와서 사용하겠다는 것과 같다. 따라서 세 줄을 합쳐서 생각하면 모든 JournalEntry 타입을 갖는 데이터를 가져오는데(?e라는 변수로 통칭) 그 중에서 notes와 date 라는 항목을 결과집합으로 쓰겠다는 것이다.

ORDER BY 이하 절 – ORDER BY는 정렬순서이고 LIMIT은 출력 결과 개수 제한, OFFSET은 결과가 만들어 지기 전에 150개가 넘는 결과를 받아오면 그 순간 결과를 받지 않겠다는 것이다.


4. Dbpedia의 Linked data

Dbpedia는 wikipedia의 자료들에 의미적 주석을 달아서 다른 웹 사이트나 프로그램에서 사용할 수 있도록 가공하여 제공해주는 사이트이다. Linked data 분야에서 Dbpedia는 중요한 역할을 수행하고 있으며 상대적으로 많은 양의 자료를 가지고 있어 활용성이 높다.

<Dbpedia 홈페이지 – http://www.dbpedia.org>

Dbpedia에서 제공하는 자료/자원은 고유의 웹 페이지 주소를 가지며 고유의 URI 또한 가진다. 늘 웹 페이지 주소와 URI 주소가 같은 자료를 보여주지는 않으나 Dbpedia에서는 URI주소를 찾아 들어가면 다음 그림과 같은 웹 페이지를 출력해준다. 아래 그림은 The_Beatles의 URI를 웹 브라우저의 주소창에 입력하고 찾아갔을 때의 화면이다.


<Dbpedia에서 제공하는 The_Beatles의 URI와 웹 페이지>

그리고 위 웹 페이지의 가장 하단을 보면 아래 그림과 같이 데이터 포맷을 선택해서 출력하거나 다운받을 수 있다.

<Dbpedia의 다양한 데이터 포맷>

Dbpedia에서는 Dbpedia의 모든 자료에 대해 검색할 수 있는 웹 기반 sparQL Endpoint를 제공하고 있다. Dbpedia의 sparQL Endpoint의 주소는 http://dbpedia.org/sparql 이다.


5. Dbpedia에서의 실전 예제 (1)

http://dbpedia.org/sparql 에 들어가서 일단 아래 질의를 입력한 후 'Run Query'를 클릭해보도록 하자.

SELECT ?uri ?name ?page ?nick
WHERE{

   ?uri a foaf:Person ;

   foaf:name ?name;

   foaf:page ?page;

   foaf:nick ?nick.

}
LIMIT 100

Dbpedia에서는 기본적으로 PREFIX가 많이 되어있으므로 쓰지 않아도 된다.

첫 번째 줄에서 ?uri, ?name, ?page, ?nick은 이 네 개의 항목을 가져오겠다는 것이다.

세 번째 줄에서 ?uri a foaf:Person; 은 foaf:Person이라는 type을 가진 모든 항목을 ?uri라는 변수로 사용하겠다는 명령이다. (a == rdfs:typeOf)

네 번째 줄에서 foaf:name ?name 은 ?uri로 선택된 항목의 foaf:name을 ?name이라는 변수에 넣겠다는 명령이다.

다섯 번째 줄과 여섯 번째 줄도 같은 의미이다. 그리고 마지막 줄에서 LIMIT 100은 최대 100개 가져오겠다는 명령이다.

요약하자면, foaf:Person이라는 타입을 가진 모든 자원에서 foaf:name, foaf:page, foaf:nick의 데이터를 각각 ?name, ?page, ?nick이라는 변수에 넣어서 출력하겠다는 것이다.

다음 그림은 위 질의에 대한 결과화면이다. 결과화면은 html로 출력 선택을 하여 웹 페이지 형식으로 보이며 xml, RDF/XML, JSON 등 다양한 형태로 전송 받을 수 있다.



<예제 질의를 실행한 결과 화면>



6. Dbpedia에서의 실전 예제 (2)


위 예제와 유사한 예제를 하나만 더 해보도록 한다. 일단 예제 질의를 보기 전에 다음 화면을 먼저 확인해보자.

<Dbpedia에서 Terry_Holbrook의 정보>

위 화면은 Terry_Holbrook 이라는 축구 심판의 URI 주소와 Dbpedia의 자료 화면이다. 이 화면에서 보면 dbpprop:countryofbirth 와 같은 형식의 다양한 속성명을 확인할 수 있다. 우리는 이 자료를 통해 '사람 클래스'를 Dbpedia에서 어떻게 표현해주는지 알 수 있다. 따라서 이를 활용하여 질의를 만들어 볼 수 있다.

다음 예제는 Dbpedia의 자료들 중에서 사람이름, 태어난 나라, 직업만을 골라서 출력해주는 예제이다.


SELECT ?name ?birth ?role
WHERE{

   ?x a foaf:Person ;

   dbpprop:fullname ?name;

   dbpprop:countryofbirth ?birth;

   dbpprop:role ?role.

}
LIMIT 100

첫 번째 줄은 ?name, ?birth, ?role을 출력하겠다는 것이다.

세 번째 줄은 foaf:Person이라는 타입을 가진 모든 항목 ?x를 설정한다.
네 번째 줄은 그 ?x의 dbpprop:fullname 속성에 해당하는 데이터를 ?name으로 지정한다.
다섯 번째와 여섯 번째 줄은 네 번째 줄과 동일하다.

세미콜론은 4~6번줄 모두 주어가 ?x 이기 때문에 문장의 끝이 아님을 구분하기 위해서이다. 위 예제를 개념적으로 다시 설명하면..

(주어 - ?x) + (술어 - dbpprop:fullname) + (목적어 - ?name)
(주어 - ?x) + (술어 - dbpprop:countryofbirth) + (목적어 - ?birth)
(주어 - ?x) + (술어 - dbpprop:role) + (목적어 - ?role)

이 세 문장을 묶어서

(주어 - ?x) +
[
   { (술어 - dbpprop:fullname) + (목적어 - ?name) }

   { (술어 - dbpprop:countryofbirth) + (목적어 - ?birth) }

   { (술어 - dbpprop:role) + (목적어 - ?role) }

]

이렇게 만들었다고 생각하면 간단하다. 다음 화면은 결과화면이다.

<결과 화면>

위 결과를 보면 이름, 태어난 나라, 직업이 출력된걸 확인할 수 있다. 그럼 이제 태어난 곳이 England 인 사람의 이름과 직업만을 출력하고 싶다면 어떻게 하면 될까? 답은 FILTER를 사용하면 된다. 아래 예제 질의를 보자.


SELECT ?name ?birth ?role
WHERE{

?x a foaf:Person ;

dbpprop:fullname ?name;

dbpprop:countryofbirth ?birth;

dbpprop:role ?role.


FILTER regex(?birth, "land$").

FILTER regex(?birth, "^Eng").
FILTER regex(?birth, "England").

}
LIMIT 100

위 질의문을 보면 FILTER라는 조건이 붙은걸 볼 수 있다. FILTER는 결과로 받아온 데이터들을 걸러주는 역할을 한다. 예제 질의에는 FILTER 를 세 개 붙여 놓았다. 물론 한 개만 붙여도 되며 더 늘려도 괜찮다. sparQL의 정규표현식은 기본적으로 XML - XPATH의 정규식을 따른다고 한다. 따라서 FILTER에 정교한 필터링이 필요한 경우 XPATH의 정규표현식을 공부하면 된다.
첫 번째 FILTER 예제는 ?birth의 결과물 중에서 'land'로 끝나는 것을 선택하라는 것이다.
두 번째 FILTER 예제는 'Eng'로 시작하는 것을 선택하라는 것이다.

세 번째 FILTER 예제는 'England'와 일치하는 것을 선택하라는 것이다.

세 문장을 우리는 한 질의에 모두 넣었으므로 결과적으로 ?birth가 'England'인 사람만 출력이 될 것이다. 아래는 그 결과화면이다.


<결과 화면>

 

 

 

Tag : dbpedia, Linked Data, semantic web


Todolists 11.06.28
1. 왕청 논문 번역 (영문 -> 한글)
2. 내 논문 번역 (한글 -> 영문) *내가 번역기냐?!?!?!?!?!?!?!?!?!
3. Etrijournal 논문 재투고 (버전 바꾸기)
4. DWH 논문 투고
5. 파이썬 계획 실행
6. 졸업생 회비 정리 및 독촉
7. HMM 논문 아이디어 정리

* 굵은 글씨는 오늘 안에 끝내야함



Todolists 2011.06.21
1. 왕청 논문 번역 (영문 -> 한글)
2. 내 논문 번역 (한글 -> 영문) *내가 번역기냐?!?!?!?!?!?!?!?!?!
3. 내 자료구조 채점 (기말, 과제)
4. 운봉 - 교수님 자료구조, 확률통계 채점하라고 시키기
5. 파이썬 계획 실행
6. 졸업생 회비 정리 및 독촉
7. HMM 논문 아이디어 정리
8. 인터넷정보학회(제주) 포스터 만들기
9. DWH 논문 투고

* 굵은 글씨는 오늘 안에 끝내야함
* 이게 어떻게 박사과정의 일상업무인거지?
* 아 젠장 짜증


랩 미팅 - 2011.05.20

왕청
 - 논문에서 요약부분 'to users, to improve' 수정
 - 관련연구 보강 - 청
 - 맨마지막에 교수님이 보내주신 것 보내기 - 손
 - 초록은 교수님이 새로 씀 - 교수님
 - 결론, 현재와 과거형 시제를 맞추기 - 청
 - our experiment performed ~


 - 6월 제주도 학회 항공료 교수님이 부담해주심
 - 항공권 빨리 사라



랩세미나에서 나온 말

2011년 5월 11일(수) 세미나에서 나온 말 정리

HMM 발표 굿
종수 너는 독창적 아이디어 많아
형식적 모델을 제안한게 좋았고 앞으로 다양해져야함

짚고 넘어갈 점
- HMM이 Context awareness에 활용이 가능한지? 관련 논문이 있는지?
- 그런걸 알아보고 추진할 것

방학 계획
- ML / Algo.s / MIning 등 교과서적 내용을 심화하는 것도 좋을 것
- 계획을 세워봐라

도형
- 실험실 일은 잊고 아예 병을 뿌리 뽑은 후 연구실에 돌아오라

e-Commerce 논문 : 다른 곳에 재 투고
FOAF관리 논문 : 영문판으로 준비
DWH 논문 : 3.3.절 빼버리고 투고 준비


소셜 네트워크에서 각 노드의 부피/질량/인력 등에 대한 아이디어들

보호되어 있는 글입니다. 내용을 보실려면 비밀번호를 입력하세요.



2011.05.09(월) To do lists

2011년 6월 9일(월요일)

청 + 학부학생 - 교수님 DB 강의자료 PPT로 만들기 (5월 내내 진행)
종수 - DHW 논문 그림 번호 맞추기, 레퍼런스 맞추기
종수 - 대만 학회에 제출한 논문 문의 메일 보내긱
종수 - 스승의날 모임 잡고 회비 정산(가능하면) + 회비를 장학금 기부 형식으로 변환 토의(우영형)
종수 - HMM 발표자료 만들기 및 발표 준비
종수 - 자연재해 논문 완성!!
운봉 - SNS 검색 프로그램 구현 시작 (계획표 짜기) (동근, 태성)

기타 참고 할 사항
교수님 6월 4일 미국으로 출국 예정
도형 이번주 제주도로 학술대회 참가 예정(불참시 종수가 대신)
자연재해 논문에 학부학생 투입 (재환, 영훈, 의종)


4월 19일 todo list
종수
- 지능형웹서비스 시험
- 재해발생정보 감지 논문 진도 빼기
- Lab works 개발 언어 및 설계
- 오토레포트 아이디어 정리해보기
- (내 스스로 독해져야한다!!!)

왕청
- 결론부분 다시 쓰기
- SCIE 후보군 정리
- 신규 논문 아이디어 정리하기

운봉
- 신규논문 아이디어 손으로 따라가서 검증할 것

도형
- 학술대회 낸 논문의 개발 수행 (Jena에서 막힌듯)
- mp3 메타데이터 논문의 영문화

학부생 졸프
- 동근, 태성 : 트위터 데이터 목록 받아와서 리스트로 뿌리기
- 의종, 영훈 : 지능형웹서비스와 궤를 같이 함
- 재환 : 늦게 시작함. 주제 미정


BLOG main image
Semantic web, Web service, Intelligent system, Ontology, Artificial Intelligence and me.
 Notice
About Me
 Category
분류 전체보기 (52)
SemanticWeb (5)
대학원라이프 (0)
WebService (3)
랩세미나 (10)
RFID/USN (1)
아이디어노트 (2)
TODO리스트 (12)
Web2.0 (2)
보고서와PPT (1)
ETC (12)
우리논문 (0)
My papers (1)
남의논문 (1)
연구일지 (0)
동향자료 (1)
기타 (0)
 TAGS
LAB seminar complex network 월화수목금금금 idea 논문 semantic web network management 복잡계 식약청 dbpedia 집단지성 Linked Data 랩세미나 C++ 관계형 데이터베이스 프로젝트 MVPP view selection co-work EBPA 제길 ASVMRT 데이터웨어하우스 랩 미팅 Lab meeting 배운봉정신차려 인공신경망 NM lab. 뷰선택 랩미팅 Algorithm artificial neural network collective intelligence Relational Database kfda Paper Work 오류역전파알고리즘 RDF Data warehouse Database
 Calendar
«   2012/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    
 Recent Entries
복잡계 네트워크 ( Complex network )
Measuring User Influence in Twitter: The..
Linked data 활용을 위한 간단한 sparQL 정..
Todolists 11.06.28
Todolists 2011.06.21
랩 미팅 - 2011.05.20
랩세미나에서 나온 말
소셜 네트워크에서 각 노드의 부피/질량/인.. (1)
2011.05.09(월) To do lists
4월 19일 todo list
 Recent Comments
전문가 시스템을 이..
모래쉼 - 2011
고맙습니다ㅋㅋ 잘..
misticlime - 2010
안녕하세요 research..
dannis - 2009
넵 ^_^
쟌나비 - 2009
쟌나비님 안녕하세요..
종수 - 2009
안녕하세요? 대학원..
쟌나비 - 2009
 Recent Trackbacks
 Archive
2011/11
2011/09
2011/07
2011/06
2011/05
 Link Site
Machine Learning & Data M..
Data Mining & Machine Lea..
Traffic Monitoring & Clas..
Bong su
IIS Lab in Korea Univ.
국내 최초 미디어아트 채널..
 Visitor Statistics
Total : 11,283
Today : 4
Yesterday : 20
rss