Reddit

Mapademic — a map of 8.4M researchers that finds the shortest chain of coauthors between any two people

Mapademic: 840만 연구자를 공동 저자 관계로 배치하고 최단 연결 경로를 찾는 지도

Mapademic은 OpenAlex의 840만 연구자와 공동 저자 관계 3억 6,600만 건을 지도에 배치하고, 두 연구자 사이의 최단 공동 저자 경로를 브라우저에서 찾습니다. 정적 파일만으로 작동하며 이름이 합쳐진 연구자 프로필을 우회하는 휴리스틱도 적용합니다.

에디터 노트

840만 명의 배치와 3억 6,600만 건의 그래프를 정적 파일로 제공하고 필요한 연결 목록만 브라우저가 읽는 구조가 이 프로젝트의 실질적인 기술 기여입니다. 특히 병합 의심 링크를 제외한 경로도 탐색하되 한 단계까지만 우회하도록 제한해 검색 결과와 이름 혼동 완화를 함께 다룹니다. 이름 혼동은 완전히 해결되지 않습니다. 제작자도 4.5%라는 의심 링크 비율과 함께 휴리스틱이 오탐과 누락을 낳는다고 밝힙니다. 댓글에서 제안한 동명이인 배지와 사용자 확인 방식은 개선 아이디어이며 아직 구현된 기능으로 볼 근거는 없습니다. 또한 15편 기준과 2026년 9월 스냅샷, 기관별 후보 최대 50명이라는 조건이 검색 결과의 범위를 정합니다. 지도에서 찾지 못한 연구자가 곧 관계망에 없다는 뜻은 아닙니다.

AI 요약

OpenAlex 연구자 840만 명을 공동 저자 관계에 따라 배치한 대화형 지도입니다. 연구자 검색과 분야별 군집 탐색뿐 아니라 두 연구자 사이의 최단 공동 저자 경로를 찾는 Connect 기능을 제공합니다. 경로 검색은 서버에 요청하지 않고 브라우저에서 실행합니다.

데이터와 그래프

Mapademic은 OpenAlex의 2026년 9월 23일 스냅샷을 사용합니다. 저작물이 15편 이상인 연구자 가운데 사람으로 분류된 8,396,458명을 뽑았습니다. 공동 저자 연결은 저자 수가 50명 이하인 학술 저작물에서 만들며, 한 저작물에 저자가 지나치게 많을 때 생기는 방대한 연결을 제외합니다. 반복 공동 작업에는 가중치를 주고, 저작물마다 연결에 기여하는 점수는 나눠 계산합니다. 최종 그래프에는 연구자 간 연결 366,027,181건이 들어갑니다.

이전 데이터에서는 데이터셋이나 소프트웨어 같은 대량 등록물이 학술 저작물처럼 계산되는 문제가 있었습니다. 예를 들어 한 저자 레코드에 190만 건의 저작물이 잡히고 특정 연결의 가중치가 447,612에 이르렀습니다. 새 파이프라인은 이런 유형을 빼고 사람이 아닌 레코드도 제거합니다. 논문 수가 15편에 못 미치는 연구자는 지도에서 빠집니다.

배치와 시각화

연구자 위치는 GPU에서 ForceAtlas2로 계산했습니다. NVIDIA A100에서 Barnes-Hut 근사(theta 0.5)를 적용해 1,000회 반복하고, 중단 후 이어서 실행하도록 체크포인트를 저장합니다. 커뮤니티는 같은 작업에서 Leiden 알고리즘으로 찾았습니다. 모듈성은 0.8034이며 군집은 약 21만 6천 개입니다. 이 가운데 1,000명 이상인 37개 군집에 연구자의 97.2%가 포함됩니다.

좌표는 중앙값을 기준으로 옮긴 뒤 asinh 변환으로 단위 정사각형 안에 압축합니다. 작은 연결 성분에 속한 약 20만 7천 명은 원래 위치에 두면 가장자리의 고리처럼 보이므로 배경 점으로 다시 흩뿌립니다. 큰 군집은 중심을 바깥쪽으로 1.6배 확장해 인접 분야 사이를 벌립니다. 군집 중심이 지도 중심을 기준으로 놓인 각도에 따라 색조를 정해 가까운 군집은 비슷한 색을 띱니다. 1,000명 미만 군집은 회색으로 표시합니다.

지도는 미리 만든 래스터 타일과 JSON 색인으로 제공되며 MapLibre GL JS 기반의 바닐라 JavaScript 뷰어가 브라우저에서 렌더링합니다. 기본 타일은 줌 10까지 준비하고, 줌 8부터는 인용 수에 따라 크기를 조정한 연구자 점도 그립니다. 검색은 이름 840만 건을 접두어별 JSON 파일에서 찾습니다. 연구자 상세 정보는 OpenAlex API에서 불러옵니다. 밝기, 대비, 채도, 라벨 밀도와 점 렌더링 방식도 조정할 수 있습니다.

Connect와 이름 혼동 처리

Connect는 공동 저자 그래프를 압축해 정적 파일로 배포합니다. 연구자는 지도 위치를 따르는 Z-order 순서로 번호를 받고, 각 연구자의 공동 저자 목록은 varint 간격값으로 저장합니다. 브라우저는 필요한 목록만 HTTP Range 요청으로 읽으며 양방향 BFS를 수행합니다. 전체 그래프를 내려받지 않아도 되고, 경로의 각 단계에는 두 연구자가 공유한 논문을 표시합니다. 난도가 높은 경로 검색은 약 1~4초가 걸린다고 설명합니다. 무작위 연구자 쌍 40개에서 Python 검색 결과와 경로 길이가 일치했다고 보고합니다.

OpenAlex가 동명이인을 한 프로필로 합치면 그 프로필이 서로 다른 분야를 잇는 다리처럼 작동해 최단 경로를 왜곡할 수 있습니다. Mapademic은 흔한 이름을 가진 프로필이 공동 저자 연결의 대부분을 이루지 않는 분야와 연결된 경우를 의심 링크로 표시합니다. 이런 링크는 전체의 약 4.5%입니다. 경로에 의심 링크가 있으면 이를 제외한 경로를 다시 찾고, 한 단계 더 긴 경로까지 허용합니다. 대체 경로가 없으면 해당 단계를 표시합니다. 제작자는 이 규칙이 휴리스틱이라 실제 연결을 표시하거나 잘못 표시할 수 있다고 밝힙니다.

기관에서 연구자로 이어지는 검색도 제공하지만 후보는 OpenAlex가 최근 소속으로 제공하는 기관별 최대 50명의 연구자 가운데 지도에 포함된 사람으로 제한됩니다. 최근 소속은 출판 기록에서 가져오며 현재 재직 여부를 검증하지 않습니다. 후보가 없다고 해당 기관에 연결된 연구자가 없다는 뜻은 아닙니다. 지도에 없는 저성과 연구자와 저자 50명을 초과한 논문의 연결도 검색 대상에서 빠집니다.

배포와 실행

사이트는 GitHub Pages와 Cloudflare R2의 정적 파일로 운영하며 Connect에도 백엔드가 필요하지 않습니다. 제작자는 2026년 9월 릴리스 데이터가 약 6.93GB이며 Cloudflare R2 무료 구간에 들어간다고 설명합니다. 이름 상세 정보와 논문 조회에 쓸 OpenAlex API 키는 선택 사항입니다. 키를 입력하면 사이트 호스트의 쿠키에 30일간 저장되며, OpenAlex 요청에는 Authorization 헤더로 전달됩니다. 공유 링크에는 키가 들어가지 않습니다. 다만 페이지 스크립트가 읽어야 하므로 쿠키는 HttpOnly가 아닙니다.

저장소에는 스냅샷 추출부터 그래프 생성, GPU 배치, 타일·검색 색인 생성과 경로 데이터 내보내기까지 단계별 파이프라인이 포함됩니다. 전체 스냅샷 처리에는 릴리스당 약 40GB의 여유 디스크 공간이 필요하고, 배치 단계에는 CUDA와 RAPIDS cuGraph가 필요합니다. MIT 라이선스로 공개됐으며 연구자·저작물 데이터는 OpenAlex의 CC0 자료를 사용합니다.

Reddit 반응

  • @QuanTradin — 공동 저자 경로가 흥미를 끄네요. 예전 지도교수님을 먼저 찾아보고 싶습니다. OpenAlex에서 이름이 같은 연구자 둘은 어떻게 구분하나요?
    • @marque- — 네, 현재는 그 문제를 제대로 처리하지 못하는 것 같습니다.
    • @QuanTradin — 어려운 문제죠. 공동 저자와 기관 정보를 함께 쓰면 동명이인 대부분을 나눌 수 있고, 나머지는 두 사람을 모두 보여주면서 누군가 프로필을 확인할 때까지 '동일인일 수 있음' 배지를 붙이면 됩니다.
    • @Otherwise-Jaguar72 — 좋은 해결책 같네요. 구현해 보겠습니다.
  • @Otherwise-Jaguar72 — 보통 동명이인은 OpenAlex가 별도 프로필을 주기 때문에 괜찮습니다. 더 까다로운 경우는 반대로 서로 다른 사람을 한 프로필에 합친 때입니다. Connect에 특히 영향을 줍니다. 흔한 이름을 가진 프로필이 본인이 거의 공동 작업하지 않는 분야와 연결될 때 병합 가능성이 있는 링크로 표시하도록 했습니다. 전체 링크의 약 4.5%입니다. Connect는 그 링크를 피하는 경로를 찾고, 최대 한 단계 더 긴 경로까지 허용합니다. 대체 경로가 없으면 이름 혼동 가능성이 있는 단계로 표시합니다. 휴리스틱이라 놓치는 경우와 실제 링크를 잘못 표시하는 경우가 있습니다.
  • @QuanTradin — 프로필이 거의 관여하지 않는 분야로 향하는 링크를 병합 징후로 보는 건 영리하네요. 4.5%는 예상보다 높습니다. 한 단계 더 긴 우회 경로를 허용하는 것도 적절해 보입니다. 사람들은 잘못된 경로보다 조금 긴 경로를 더 쉽게 받아들일 테니까요.
  • @okamzikprosim — 제가 함께 일하는 사람들을 데이터에서 찾지 못하는 이유가 있나요?
    • @Otherwise-Jaguar72 — 대부분 OpenAlex에 저작물이 15편 미만이기 때문일 겁니다. 지도에는 OpenAlex 기준 15편 이상인 연구자만 포함해 약 840만 명으로 제한했습니다. 저도 그 기준에 못 미칩니다. 데이터셋, 소프트웨어, 정오표는 15편에 포함하지 않고 논문, 프리프린트, 단행본 챕터 등은 포함합니다. 한 사람의 저작물이 여러 프로필로 나뉘어 어느 프로필도 15편에 못 미치거나 이름 표기가 다를 수도 있습니다. 논문에 나온 이름 그대로 검색하는 편이 좋습니다. 데이터는 OpenAlex의 2026년 9월 스냅샷이라 최근 논문도 반영되지 않았습니다.
    • @okamzikprosim — 그렇군요. 제 지도교수님은 공동 저자가 한 명이라도 있는 논문을 쓴 적이 없다는 사실도 알게 됐습니다. 제 분야에서는 조금 특이하지만 교수님 세부 분야에서는 흔한 일입니다.
  • @qualeramicontrasena — ä 같은 움라우트가 포함된 이름에 문제가 있을 수 있습니다. 제가 확인한 이름은 ä가 a로 바뀌었고 같은 이름이 여러 번 나타났으며 지도 구름에서 멀리 떨어져 있었습니다. 그래도 아주 재미있네요.
    • @Otherwise-Jaguar72 — 시험해 주셔서 감사합니다. 검색은 의도적으로 악센트를 무시하므로 Muller로 Müller도 찾습니다. 이름은 편의를 위해 OpenAlex 표기 그대로 보여줍니다. 반복된 이름은 OpenAlex가 한 사람을 여러 프로필로 나눈 경우가 많고 지도도 프로필을 그대로 사용합니다. 따로 떨어진 작은 프로필은 공동 저자가 적어 지도 가장자리로 밀려납니다.
  • @-striking-dot- — 연구자 관계를 탐색하기 좋네요. 연결선은 보이는데 인접한 두 점을 무엇이 연결하는지 어떻게 알 수 있나요? 예를 들어 논문 링크나 다른 메타데이터를 선에 표시하면 좋겠습니다.
    • @Otherwise-Jaguar72 — 이미 있습니다. 왼쪽 목록에서 각 연구자 이름 아래에 다음 연구자와 연결되는 논문이 나옵니다. 논문 제목을 누르면 전체 제목, 연도, 학술지와 논문 링크를 볼 수 있게 방금 바꿨습니다.