주당 4시간을 절약해 준 논문 순위 매기기 엔진 구축 방법
요약
이 글은 방대한 논문 속에서 필요한 정보를 효율적으로 필터링하는 'Paper List'라는 엔진 구축 과정을 설명합니다. 단순히 키워드 검색이나 인용 횟수에 의존하지 않고, 사용자의 프로젝트 설명을 학습하여 관련성 점수(relevance score)로 논문을 순위화하는 방법을 제시합니다.
핵심 포인트
- 논문 필터링의 핵심은 단순 키워드 매칭이 아닌 '관련성 점수' 계산이다.
- 사용자의 프로젝트 설명을 학습하여 중요도를 판단하는 것이 효율적이다.
- 초기 버전은 arXiv 스크랩 후 임베딩과 코사인 유사도로 구현 가능했다.
고지: 저는 OpenNomos 생태계의 프로젝트인 Paper List에서 작업하고 있습니다.
매주 일요일마다 커피를 마시며 arXiv에 접속해 논문 제목들을 스크롤하며 몇 시간을 보내곤 했습니다. 지난주에는 47편의 논문이 있었습니다. 그중 읽을 만한 것은 3편 정도였습니다.
문제는 논문을 찾는 것이 아니라, 그것들을 필터링하는 것입니다. 키워드 검색은 너무 많은 노이즈를 반환합니다. 인용 횟수는 지연된 지표일 뿐입니다. 그리고 학회 명성만으로는 그 논문이 _당신_의 특정 프로젝트와 관련성이 있는지 알려주지 못합니다.
그래서 저는 Paper List를 만들었습니다.
작동 방식
Paper List는 단순히 키워드를 일치시키는 대신, 관련성 점수(relevance score)로 논문을 순위 매깁니다. 당신이 무엇을 작업하고 있는지 알려주면, 그것이 당신에게 중요한 것이 무엇인지 학습합니다.
첫 번째 버전은 매우 단순했습니다: arXiv를 스크랩하고, 임베딩(embeddings)을 제 프로젝트 설명과 비교하여 코사인 유사도(cosine similarity)로 정렬하는 Python 스크립트였습니다. 200줄의 코드였고, 보기에는 지저분했지만 작동했습니다.
제가 배운 것들
관련성 점수가 키워드 일치보다 우수합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기