I. Data 수집 관련

* collected In Neo4j 3.5 database

그래프 데이터베이스 관리 시스템. 그래프 저장 처리기능을 갖춤. 활용을 위해서는 HTTP 엔드포인트를 사용하거나 바이너리 볼트 프로토콜을 사용. Cypher Query Language사용. Cypher언어 공부필요

* The data analyzed in study :  https://www.lens.org/, https://docs.api.lens.org

여기서 API 통해 데이터 수집 가능. 검색된 메타 데이터를 사용해 구성함. Lens API PubMed, Crossref, Microsoft Academic, Core, Pubmed Central 에서 제공.

42개의 biomedicine 저널의 3백만개의dataè 1980~2020 범위 -> 160만개의 data 사용.

* The data generated during study : scalingscience.ai 

저널 작성자가 실제로 원하는 토픽에 대한 결과를 있게끔 만들어둔 웹페이지.

현재 어떤 토픽을 입력해도 Database Timeout 이라며 분석이 되지 않음.

 

II. Code확인 관련

conducted using node2vec, custom code

*Link : https://github.com/jameswweis/delphi    

approach on a sample set of data via an Jupyter Notebook provided in a Docker container

전반적이면서 간단한 분석 예시 notebook 폴더에서 확인가능. 폴더는 scalingscience.ai 웹페이지를 만들기위한 프론트엔트 파일들이며, 실제 모델에 사용된 분석 코드가 없음. 시범용으로 올려뒀다는 Dataset, 모델과 파라미터값들은 전송 기한이 만료되어 받을 없음.

시각화 application : Node.js npm 사용해 Google Firebase 배포되도록 구성되어 제공. 필요한 종속성은 해당 버전의 번호와 함께 package.json 나열되며, 분석할 메트릭과 설명은 config.json에서 찾을 있음

----->연구를 진행한다면 분석 모델의 실제 코드에 대한 참고를 없어 모델 코드를 완전히 새롭게 만들어야함. 기존의 논문에 적용된 모델과 데이터를 받을 없기때문에 성능 비교또한 불가능.. (한다면 논문에 기재된 정확도를 기준으로 해야하겠지만 같은 데이터셋으로 비교할 없기때문에 의미가 없어보임 그러나 사용할 데이터 수집 저장 전반적인 연구의 '흐름' 대해서는 도움을 받을 있음.

 

III. Analyze 관련

Dataset)

Data Lens API에서 가져오기 때문에 이미 명확하다고 있으나, 추가적으로 명확하게끔 하는 기법 도입. 가령 node 저자라면, Microsoft Academic ID ORCID id 등으로 hash. 이러한 해시맵을 사용해 중복 ID 없는지 모든 저자의 노드를 식별하고 병합함. , 모든 edge 대해 인용된 논문이 인용한 논문 전에 발행된게 맞는지 재확인함. 모든 저널의 노드에 대해 중복이나 복제가 존재하지 않는지 확인함.

Graph)

Heterogeneous knowledge graph network. 그래프에서 논문은 노드로, 인용은 노드 사이의 directed edges 표현됨. 저널과 연도는 노드로 표시되며, 발행 장소와 발행 연도는 edges 표현. 저자도 노드로 표현. 추가적인 entity-level 메타데이터들은 corresponding node 저장됨.

Metric)

Biotechnology knowledge graph를 사용해 기계학습 파이프라인의 기능으로 사용하는 출판, 저자 매트릭의 시계열을 계산함. 메트릭은 1)논문 수준 메트릭, 2)저자 수준 메트릭, , 3)저널 수준 메트릭, 4)네트워크 수준 메트릭의 4가지 기본 범주로 나뉨. 각 메트릭에 대해 그래프의 구조를 사용하여 원하는 값을 계산하는 알고리즘 구현. (일반적으로 사용되는 메트릭과, 강조 표시된 작업에서 사용된 기능에서 수집된 메트릭을 통해 구현함)

1)    논문 수준. : 각 논문에 대해 1980~2020 사이 출판된 데이터세트의 논문에서 인용한 논문 수를 계산. 이 계산을 이용해 각 논문의 다른 인용 기반 속성을 계산함. (총 논문 수, 총 인용 수, 연간 인용 수 등)

2)    저자 수준 : 각 저자에 대해 이전예 계산한 논문 수준 메트릭을 집계해 관심 있는 추가 저자 수준 메트릭 도출. 저자의 h-index, 첫번째 논문의 출판 이후 연도, 총 논문 수, 인용 횟수 등이 포함됨.

3)    저널 수준 : 그 후 논문수준, 저자 수준 측정항목을 모두 사용해 각 저널에 대한 집계된 측정 항목 계산. 저널의 논문 수, 최대 인용 횟수와 같은 측정항목 포함. 각 저자에 대해 각 저널 수준 매트릭에 대해 해당 저자가 출판한 모든 저널의 최대값, 평균값, 최소값이 저자에게 다시 집계됨.

4)    네트워크 수준 : 위의 인용 및 문헌 기반 메트릭은 그래프의 구조와 관계의 다양성을 포착하기에 충분하지 않을 수 있음. 따라서 비지도 방식을 이용해, 해당 논문이 존재하는 각 연도에 대해 방향성 설정 및 80단계 랜덤 워크, node2vec알고리즘을 사용하는 로컬 인용 네트워크 구조를 기반으로 하는 각 논문에 대한 연속적인 특징 표현을 학습시킴.

위의 세부적인 내용은 아래의 테이블에서 확인 가능함.

 

 

Machine Learning)

위에서 나열된 metric을 입력data로 하는 기계학습 파이프라인 개발.

1-    네트워크 데이터베이스에서 데이터를 추출해 논문 수준으로 집계

2-    각 논문에 대해 출판 연도부터 출판 연도 5년후까지 최소 1번 이상 인용된 모든 논문에 대해 위에서 설명한 모든 메트릭을 계산함.

3-    저자 정보가 누락된 모든 논문을 제거해 약 150만개(원래 160만개였음)의 출판물을 남김

4-    영향력 있는논문 정의 : 출판 후 5년 후에 해당 연도의 전체 점수 중 상위 5%에 시간 환산된 pageRank 점수가 있는 경우

5-    추적할 특정 연도를 입력하면, 특정 연도로부터 5년 이후 까지의 모든 데이터를 불러와 훈련(75%) 및 테스트 데이터(25%)셋으로 분리. 이 때, 합성 소수 오버 샘플링을 적용해 균형 잡힌 훈련셋을 생성함.

6-    측정된 값을 직접적으로 비교할 수 있도록 계산된 메트릭에 대한 사전 처리를 수행함.

7-    Train data가 주어지면 가능한 모델 매개변수의 그리드에서, 훈련 데이터에 대한 교차검증을 수행해 최적화할 때 기계 학습 모델을 훈련함. 본 연구에서는 랜덤 포레스트 분류기를 사용함.(감소된 과적합 위험, 예측 분산의 잠재석 감소 및 비선형 관계를 캡쳐하는 능력 때문.)

8-    네트워크 수준 기능이 모델에 상당한 차원을 추가하기 때문에, 이러한 기능을 포함해 모델의 성능이 향상되거나 저하되는지의 여부를 검사하고 가장 성능이 좋은 모델을 선택

9-    보류 테스트 데이터에 대해 이전에 계산된 실제 영향 레이블과 영향 예측을 비교해 모델의 성능을 평가함.

 

->최종 모델 : 780만개 이상의 노드, 2 100만개 관계  38억개 계산된 매트릭

-> 과학 논문의 자금 조달 포트폴리오 구축을 지원하는 도구 개발. DELPHI(Dynamic Early-warning by Learning to Predict High Impact)

 

p.s. 분석방법요약

데이터수집/병합 -> 동적/이질적 그래프로 구조화 -> 다양한 정량적 매트릭 세트 그래프에서 계신 저장 -> 반복해 기계학습 파이프라인 매트릭 구조에서 차등패턴 학습 -> 결과확인(생명공학 연구의 가장 유망한 5% 분류기반 접근방식을 통해 채택(회귀기반 방법과 함께사용가능), 영향력 있는 연구에 대한 조기 경고 생성 모델), + 시간에 따른 논문 그래프의 저차원 표현을 결정하기위해 비지도학습 사용.

 

+ Recent posts