Zotero metadata를 정확하게 관리하는 방법

Zotero metadata를 정확하게 관리하는 방법

Zotero가 검색해온 정보는 항상 정확할까?

언제나 그렇지만, 항상이란 것은 없다.

Zotero가 관리하는 metadata도 항상 정확한 것은 아니다. 물론, 정확하단 것을 어떻게 정의하는가에 따라 조금은 달라질 수 있겠지만 말이다.

최근 논문을 작성하면서 Zotero가 검색해온 metadata들에 오류가 일부 포함되어 있단 걸 알게됐다. 가령 예를들면 다음과 같은 오류들이 포함될 수 있다.

  • Zotero는 ArXiv 논문의 최신 revision 시점을 metadata의 Date로 사용한다. 그러나 보통 논문에서는 처음 publish된 시점을 사용하는 편이 더 바람직하다.
  • ArXiv 논문의 Archive ID가 누락되는 일이 빈번하다. 이 경우 DOI 정보가 있더라도, reference 항목에는 해당 DOI를 출력하지 않는 결과로 이어진다.
  • 일부 conference paper의 경우, Conference Name 혹은 Proceedings Title 중 일부가 누락된다. 이 때도 동일하게 reference 항목에 이들 정보를 출력하지 않는 결과로 이어진다.
Zotero는 처음 submitted된 시점이 아닌 최종 revision 시점을 기준으로 metadata의 `Date`를 입력한다. 이 논문은 v1의 23년 10월이 아니라 v4의 24년 3월로 기록된다. ([source](https://arxiv.org/abs/2310.06625))
Zotero는 처음 submitted된 시점이 아닌 최종 revision 시점을 기준으로 metadata의 Date를 입력한다. 이 논문은 v1의 23년 10월이 아니라 v4의 24년 3월로 기록된다. (source )
Conference Name이 빠져있는 사례.
Conference Name이 빠져있는 사례.

왜 이런 현상이 발생하지?

이처럼 부정확한 metadata는 PDF파일을 먼저 구하고 이걸 zotero 라이브러리에 drag and drop 하는 습관으로부터 발생한 것이라 판단된다. (그러니까 귀책사유는 나한테 있는 것이다.)

PDF를 입력하면 zotero는 다음과 같은 프로세스로 메타데이터를 찾고 library에 item을 추가한다.

How It Works
The Retrieve Metadata feature uses a Zotero web service to find item metadata. The Zotero client sends the first few pages of text from the PDF to the web service, which uses a variety of extraction algorithms and known metadata from Crossref, paired with DOI and ISBN lookups, to build a parent item for the PDF. The Zotero lookup service doesn’t require a Zotero account and doesn’t log any data about the content or results of searches.
Zotero documentation

정리하면, zotero는 첫 페이지를 잘라서 자신들이 운영하는 웹 서비스에 전달하는데, 해당 웹 서비스는 거기서부터 crossref와, DOI, 그리고 ISBN과 같은 정보들을 추출한다. 그리고 그걸 기반으로 전체 metadata를 검색해온다.

내부 동작이 이렇다보니, 편하긴 하지만 pdf 기반 metadata 추론은 항상 성공하는 것이 아니며, 잘못된 정보에 기반한 metadata 구성이 일어날 수도 있다. 그래서 zotero 측에서도 이 방식에 대해 약간의 주의사항을 공지하고 있다. (우회적으로 pdf 추출방식의 퀄리티가 떨어질 수 있음을 알리고 있다.)

Note: While this feature can greatly facilitate importing large existing libraries of PDFs, it is not the best way to add items to your library in general. Items and PDFs can be imported faster by using the Zotero Connector plugin in your browser from the article pages (not the PDFs) of publisher websites or most scholarly databases. This saves several steps versus downloading the PDF manually and adding it to Zotero. The item metadata will also often be higher quality. See Adding Items to Zotero for more info.
Zotero documentation

그렇다면 우린 어떻게 해야할까?

논문을 쓸 때가 되서 한번에 모든 문헌정보를 수동 검증하는 방법은 지양하는게 좋을 것 같다. 논문 내용을 채워넣는 것만으로도 우린 충분히 많은 시간을 빼앗기니까 말이다.

대신 평소에 미리미리 정확도 높은 방법을 사용하여 정확한 metadata를 가져오도록 하고, 여유가 된다면 수동으로 검토까지 해두면 좋을 것이라 생각된다.

그러면, 어떻게하면 좀 더 정확도 높은 metadata를 가져올 수 있는지 알아보자.

학술지가 공식 제공하는 bib 파일 활용법

가장 정확한 방식은 논문에서 공식적으로 제공하는 bib 파일로 import하는 것이다. 각 논문의 공식 페이지에는 Cite라는 버튼이 존재하는데, 이걸 눌러서 .bib 파일을 다운받을 수 있다. 우리는 이 파일을 통해 해당 항목을 zotero library로 import할 수 있다.

논문 페이지의 Cite 버튼
논문 페이지의 Cite 버튼

여러 방식 중 우리는 `Export citation to BibTeX`를 선택해준다.
여러 방식 중 우리는 Export citation to BibTeX를 선택해준다.

Cite 버튼을 누르면 .bib 파일이 다운로드 되는데, 그 파일을 열어보면 다음처럼 해당 출판사가 공식적으로 제공하는 metadata들이 담겨있음을 알 수 있다.

`.bib` 파일의 내부 구성 (그림 상 빨간색 박스는 다운로드된 파일의 이름임)
.bib 파일의 내부 구성 (그림 상 빨간색 박스는 다운로드된 파일의 이름임)

Zotero의 import 기능을 사용하여 .bib 파일을 import 해주면 library에 해당 논문이 추가된다.

메인 메뉴의 `File-import`를 눌러준다.
메인 메뉴의 File-import를 눌러준다.
이어서 `A file`을 선택해주고 다음으로 간다.
이어서 A file을 선택해주고 다음으로 간다.
다운받은 `.bib` 파일을 골라서 import 한다.
다운받은 .bib 파일을 골라서 import 한다.
`.bib`이 여러 논문을 담고 있다면 필요에 따라 zotero의 `collection`으로 구성할 수도 있겠지만, 우리는 1번을 눌러서 그냥 단일 논문을 하나의 item으로 가져오는 방식을 쓴다. 이어서 2번까지 눌러주자.
.bib이 여러 논문을 담고 있다면 필요에 따라 zotero의 collection으로 구성할 수도 있겠지만, 우리는 1번을 눌러서 그냥 단일 논문을 하나의 item으로 가져오는 방식을 쓴다. 이어서 2번까지 눌러주자.
그러면 library에 내가 다운받은 `.bib` 기반한 항목이 추가된 것을 볼 수 있다.
그러면 library에 내가 다운받은 .bib 기반한 항목이 추가된 것을 볼 수 있다.

이 방법의 장점은, 가장 정확하고 DOI가 없는 논문들(e.g., JMLR )도 zotero에 추가할 수 있다는 점이다.

DOI를 직접 입력해주는 방식

다음으로 정확한 방식은 DOI를 직접 입력하여 crossref로부터 정보를 가져오게 하는 방식일 것이다.

Zotero 상단을 보면 마법지팡이 모양의 아이콘이 있다. 이 항목은 DOI나 ISBN을 직접 입력함으로써 항목을 추가하는 기능을 제공한다. 아무래도 zotero 웹 서비스가 pdf 파일로부터 DOI 등의 정보를 추출하는 절차를 생략하고 정확한 정보를 직접 제공하기 때문에, 더욱 정확한 metadata를 검색해올 수 있다.

Zotero의 마법지팡이 아이콘
Zotero의 마법지팡이 아이콘

Zotero는 metadata 검색에 다음의 database들을 참고하고 있다.

To look up metadata, Zotero uses Library of Congress, WorldCat, and other catalogs for ISBNs, CrossRef and other registries for DOIs, NCBI PubMed for PubMed IDs, arXiv.org for arXiv IDs, and ADS for ADS Bibcodes.
Zotero documentation

그럼에도 수동으로 해야할 작업

이처럼 정확한 방법을 사용함에도, 우리가 수동으로 해줘야할 작업이 있다. 앞서 설명한대로 ArXiv는 최신 날짜를 기준으로 하니 수동으로 과거 날짜로 바꿔줘야 한다. 그리고 ArXiv ID는 자주 누락되니 이것도 확인하고 누락되었다면 수동으로 입력해준다.

마무리하며

지난 논문을 쓰면서 zotero의 metadata 검색의 헛점들을 발견했고, 그것들에 대한 대처를 정리해봤다. 물론, 평소에 수동으로 metadata를 일일이 직접 다 작성하면 제일 좋겠지만, 한 두편도 아니니 그게 쉽지 않고 그렇게한다면 zotero와 같은 관리툴을 사용하는 의미는 더더욱 없지 않나 싶다. (그리고 너무도 당연하지만, 내가 직접 입력할 때 생기는 오류가 더 많을 것이다.)

이번 포스팅에서 다룬 것처럼 평소에 정확도가 높은 방식으로 항목들을 추가해주고 관리하되, 논문 초안이 나온 다음 한 번만 더 눈으로 보면서 검정하는 절차를 통해 오류를 잡아내는 것이 가장 효율적인 참조문헌 관리방식이 아닐까 생각된다.

그러면 유용하게 활용해주시길…

Last updated on