Author
:> JungHwan Yun
:> Master Student in Data-Science
:> Seoul National University of Science & Technology(SeoulTech)
:> E-mail : junghwan.yun@seoultech.ac.kr
INTRO
- 네트워크 분석 툴인 Gephi에서 시계열 분석을 위한 데이터 형식을 만드는 전처리를 진행합니다.
- 생성된 데이터를 기반으로 Gephi 실습에 활용합니다.
- Dynamic Network in Gephi : Link
TASK
- DATA : Web of Science의 1960~2017년까지의 “Artificial Intelligence”에 관한 논문 정보
- ToDo : 논문의 Author Keyword를 이용하여 Year정보가 포함된 Keyword co-occurance network의 Edge-list와 Node-list를 만드세요
- 입력데이터 내에서 1990~2016년까지의 데이터만을 이용합니다.
- 기존에 만들었던 Edgelist만드는 함수를 기반으로 작성하시면 됩니다
알고리즘 구현방식
function : extract.year()
1. 데이터를 입력받는다
2. Start Year과 End Year를 입력받는다.
3. 1년에 해당하는 데이터를 추출한다.
4. function2와 function3 혹은 function4를 수행한다.
5. 결과를 반환한다.
function2 : node.maker()
1. 데이터를 입력받는다
2. 등장한 키워드의 Frequency Table을 만든다.
3. 결과를 리턴한다.
function3 : edge.maker()
1. 데이터를 입력받는다
2. 저자 키워드 리스트를 받아서 2개씩 Pair를 생성해준다(Combination 연산을 진행한다)
3. Combination 연산의 결과를 세로로 배치한다 'Source'와 'Target'형태로 만들어 준다
4. Source와 Target을 합산하여 Weight를 산출한다
5. 결과를 리턴한다.
function4 : node.edge.maker()
1. 데이터를 입력받는다
2. 저자 키워드 리스트를 받아서 2개씩 Pair를 생성해준다(Combination 연산을 진행한다)
3. Combination 연산의 결과를 세로로 배치한다 'Source'와 'Target'형태로 만들어 준다
4. 생성된 Pair들 속의 모든 키워드 들의 Frequency Table을 만든다.(= Nodelist)
5. Source와 Target을 합산하여 Weight를 산출한다 (= Edgelist)
6. 결과를 리턴한다.
중점 사항
1. 코드를 최대한 모듈화 할 수 있도록 코드를 작성해주세요.
2. 큰 규모의 함수를 돌리는 상황에서는 시작시간과 종료시간을 체크할 수 있도록 코드를 작성해 주세요.
3. 혹시 기존의 패키지와 함수들을 사용한다면 사용버전을 꼭 명시해주세요
4. function2에서의 Nodelist 생성방법은 Pair를 고려하지 않고 1번의 키워드만 카운트 된다
ex) {A,B,C} -> A:1, B:1, C:1
5. function4에서의 Nodelist 생성방법은 Pair를 고려하고 중복된 키워드가 카운트 된다.
ex) {A,B,C} -> A-B, A-C, B-C -> A:2, B:2, C:2
참고 파일
- Input : “0_InputTable_AI.csv”
- Output : “4_1_timeslot_node” , “4_1_timeslot_edge”