Skip to content

텍스트 어노테이션 도구 비교: 오픈소스와 유료 NLP 도구

Potato, INCEpTION, Prodigy, Label Studio, doccano, brat, Argilla를 NER, 관계, 상호참조, 분류 기준으로 비교합니다. 라이선스, 가격, 일치도 지표를 정리했습니다.

텍스트 어노테이션 도구는 어노테이터에게 문서를 보여 주고 그들이 표시한 것을 기록합니다. 텍스트 전체에 붙이는 레이블, 개체명처럼 강조한 스팬, 스팬 사이의 연결이 그 대상입니다. Potato, INCEpTION, doccano, Label Studio Community Edition은 무료로 직접 호스팅할 수 있고, 모두 개체명 인식과 관계를 다룹니다. 차이는 상호참조, 지식 베이스 연결, 그리고 유료 플랜 없이 어노테이터 간 일치도를 측정할 수 있는지에서 납니다. Prodigy는 유료 선택지입니다. brat과 Argilla는 더 이상 기능을 추가하지 않습니다.

텍스트 작업은 대개 세 가지 형태 중 하나입니다. 문서 분류는 문서 전체에 레이블을 붙입니다. 개체명 인식과 다른 스팬 작업은 텍스트의 일부를 표시합니다. 관계 추출상호참조 해결은 스팬끼리 연결합니다. 이 페이지의 도구는 모두 스팬을 다루며, 가장 크게 갈리는 부분은 연결입니다.

이 페이지는 텍스트만 다룹니다. 모든 데이터 유형을 한 페이지에서 비교한 내용은 AI 주석 도구 비교에 있습니다.

비교해 볼 만한 텍스트 어노테이션 도구는?

도구라이선스가격적합한 경우
PotatoGPL-3.0무료항목마다 여러 어노테이터가 붙고 일치도를 보고해야 하는 연구
INCEpTIONApache-2.0무료지식 베이스 연결이 필요한 언어학적 어노테이션
Prodigy독점390달러, 또는 좌석당 490달러(최소 5좌석)모델을 루프에 넣은 스크립트형 어노테이션을 원하는 spaCy 사용자
Label StudioApache-2.0 (Community Edition)무료. Starter 플랜은 월 99달러, 사용자 추가마다 49달러텍스트를 이미지, 오디오, 비디오와 함께 어노테이션하는 팀
doccanoMIT무료NER이나 분류 프로젝트를 빠르게 시작하기
bratMIT무료이미 brat으로 어노테이션한 코퍼스를 읽거나 확장하기
ArgillaApache-2.0무료Hugging Face 생태계의 피드백·선호 데이터

기능 비교

PotatoINCEpTIONProdigyLabel Studiodoccano
문서 분류
스팬(NER)
스팬 간 관계예 (span_link)예 (Relations 태그)예, 프로젝트 옵션
일치도 지표예, 무료예, 무료예, 유료 제품에 포함유료 플랜만없음
모델·LLM 제안13가지 엔드포인트추천기, 실험적 LLM 지원spacy-llmML 백엔드외부 API를 통한 자동 레이블링
자체 호스팅

텍스트 레이블의 일치도

같은 개체를 표시한 두 어노테이터가 정확히 같은 경계를 잡는 일은 드뭅니다. 레이블을 토큰 단위로 비교하는 지표는 경계 차이를 모두 레이블에 대한 불일치로 셉니다. 그래서 도구가 스팬 일치도를 어떻게 계산하는지는 일치도를 보고하는지 여부만큼 중요합니다.

  • Potato는 BIO 태그에 대한 토큰 수준 κ, 완전 일치와 부분 일치 기준의 스팬 F1, 단위화(unitizing) 형태의 Krippendorff α, Mathet 외 (2015)의 γ를 보고합니다. 뒤의 두 지표는 스팬의 이름뿐 아니라 어디서 시작하고 끝나는지도 평가합니다. 스팬 일치도 측정을 참고하세요.
  • INCEpTION은 Cohen κ, Fleiss κ, Krippendorff α를 계산하고, 불일치를 정리하는 큐레이션 화면이 있습니다.
  • Prodigy는 Krippendorff α와 Gwet AC2, 판정용 review 레시피를 제공합니다.
  • Label Studio는 일치도를 유료 플랜에만 둡니다. Enterprise 판에 나열된 지표는 완전 일치, 수치 차이, IoU, 스팬 겹침입니다.
  • doccano에는 일치도 지표가 없습니다.

일반적인 내용은 어노테이터 간 일치도 설명을 참고하세요.

도구별 자세한 내용

INCEpTION

INCEpTION은 TU Darmstadt에서 만든 WebAnno의 후속 도구로, 언어학 작업에서는 가장 가까운 비교 대상입니다. 관계 레이어, 상호참조용 체인 레이어, 문서 단위 어노테이션, 그리고 어노테이션을 Wikidata나 DBpedia 같은 지식 베이스 항목에 연결하는 개념 피처를 갖추고 있습니다. 지식 베이스 연결에서는 Potato보다 앞서 있습니다. 추천기가 어노테이션을 제안하며 능동 학습이 내장되어 있습니다. Java 애플리케이션이라 이 페이지의 다른 도구보다 배포에 손이 더 갑니다. 시스템은 Eckart de Castilho 외 (EMNLP 2024)에 설명되어 있습니다.

Prodigy

Explosion의 Prodigy는 모델을 루프에 넣은 어노테이션을 중심으로 만들어졌고, spaCy와의 결합은 여기 있는 어떤 도구보다 긴밀합니다. 분류, 스팬, rel.manual 레시피를 통한 관계, coref.manual을 통한 상호참조를 다루며, spacy-llm으로 LLM을 씁니다. 작업은 Python 레시피로 정의합니다. 이 페이지에서 유일한 유료 도구입니다.

Label Studio

Label Studio의 텍스트 지원은 이미지, 오디오, 비디오, 시계열도 다루는 도구의 일부입니다. Relations 태그로 레이블이 붙은 영역을 연결합니다. Community Edition은 무료 오픈소스입니다. 일치도, 정답 데이터 대조 검토, 품질 대시보드는 유료 플랜에 있으며, 가장 저렴한 것은 월 99달러의 Starter입니다.

doccano

doccano는 텍스트용으로 가장 빨리 준비할 수 있는 도구입니다. 프로젝트 유형은 문서 분류, 시퀀스 레이블링, 시퀀스-투-시퀀스, 의도 감지와 슬롯 채우기, 음성-텍스트 변환입니다. 시퀀스 레이블링 프로젝트에서는 겹치는 스팬과 관계를 허용할 수 있습니다. 상호참조나 이벤트 어노테이션은 없고, 일치도 지표도 없습니다.

brat

많은 NLP 코퍼스가 brat으로 만들어졌고, 그 standoff 형식은 개체, n항 이벤트, 이항 관계, 동치 집합, 속성, 정규화를 담습니다. 마지막 릴리스는 2012년 11월의 v1.3이고, master의 마지막 커밋은 2021년 10월입니다. 독립 실행 서버는 Python의 cgi 모듈을 불러오는데, 이 모듈은 Python 3.13에서 제거되었습니다. 그래서 현재 Python에서는 별도 조치 없이 실행되지 않습니다. brat 코퍼스를 읽을 가치는 여전히 있습니다. 새 프로젝트를 brat으로 시작할 이유는 찾기 어렵습니다.

Argilla

Argilla는 언어 모델용 피드백·선호 데이터에 집중하며 Hugging Face Datasets와 연동됩니다. 텍스트 분류, 토큰 분류, 생성 텍스트 평가를 지원합니다. 저장소에는 이제 원래 개발자들이 다른 프로젝트로 옮겼고, 앞으로는 버그 수정과 패치는 내지만 새 기능은 추가하지 않는다고 적혀 있습니다.

연구용 시스템

ACL 시스템 데모로 발표된 어노테이션 시스템도 여럿 있습니다. Thresh는 요약, 단순화, 기계 번역 같은 세밀한 텍스트 평가 작업을 YAML로 설정합니다. GATE Teamware 2는 어노테이터 교육과 품질 점검이 포함된 문서 분류를 다룹니다.

2026년 8월과 9월에 각 프로젝트의 문서, 가격 페이지, 저장소에서 확인했습니다.

도구 사이에서 코퍼스 옮기기

버전 2.9부터 Potato는 brat standoff, doccano JSONL, Prodigy db-out 파일, CoNLL을 가져올 수 있어서, 이들 도구에서 시작한 프로젝트를 Potato에서 이어갈 수 있습니다. 기존 레이블은 사전 어노테이션으로 들어옵니다. brat의 관계와 이벤트는 가져오지 않고 가져오기 경고에 목록으로 표시합니다. 프로젝트 가져오기를 참고하세요.

반대 방향으로는 CoNLL-2003, CoNLL-U, Hugging Face 데이터셋, JSONL, CSV, Parquet으로 내보냅니다. ML용 어노테이션 내보내기를 참고하세요.

Potato의 개체·관계 작업

yaml
annotation_schemes:
  - annotation_type: span
    name: entities
    description: "Highlight each person, organization and location."
    labels: [PERSON, ORGANIZATION, LOCATION]
  - annotation_type: span_link
    name: relations
    description: "Link each person to the organization they work for."
    span_schema: entities
    link_types:
      - name: WORKS_FOR
        directed: true
        allowed_source_labels: [PERSON]
        allowed_target_labels: [ORGANIZATION]

span_linkentities 스키마의 스팬 사이에 유형이 있는 연결을 긋고, allowed_source_labels는 어노테이터가 잘못된 종류의 개체를 연결하지 못하게 합니다. 이벤트와 n항 관계는 관계·이벤트 추출에서, 체인은 상호참조 해결에서 다룹니다.

텍스트에서 Potato가 하지 않는 것

  • 지식 베이스 연결은 INCEpTION보다 단순합니다.
  • Prodigy 레시피처럼 어노테이터가 작업하는 동안 spaCy 모델을 갱신하지는 않습니다.
  • spaCy 내보내기 기능이 없습니다. CoNLL이나 JSONL에서 변환하세요.
  • brat에서 가져올 때 관계와 이벤트는 건너뜁니다.

자주 묻는 질문

가장 좋은 무료 텍스트 어노테이션 도구는 무엇인가요?

NER이나 분류 프로젝트 하나라면 doccano가 가장 손이 덜 갑니다. 개체를 지식 베이스에 연결하는 언어학적 어노테이션이라면 INCEpTION이 가장 완전합니다. 항목마다 여러 어노테이터가 붙고, 크라우드워커를 쓰고, 일치도를 보고해야 하는 연구라면 Potato가 유료 플랜 없이 이를 모두 갖추고 있습니다.

Prodigy의 오픈소스 대안이 있나요?

Potato, INCEpTION, doccano는 무료 오픈소스입니다. Prodigy가 Python 레시피를 쓰는 부분을 Potato는 YAML로 설정하고, Prodigy의 db-out 파일도 가져오므로 Prodigy에서 모은 어노테이션을 그대로 이어받습니다.

어노테이터 간 일치도를 보고하는 텍스트 어노테이션 도구는?

Potato와 INCEpTION은 무료 버전에서, Prodigy는 유료 제품에서 보고합니다. Label Studio는 일치도를 유료 플랜에만 두고, doccano에는 없습니다. 스팬 작업이라면 Krippendorff의 단위화 α나 γ처럼 지표가 경계 차이를 고려하는지 확인하세요.

brat은 아직 유지보수되나요?

아니요. 마지막 릴리스는 2012년 11월의 v1.3이고, 독립 실행 서버는 Python 3.13에서 별도 조치 없이 실행되지 않습니다. 버전 2.9부터 Potato는 brat 코퍼스를 가져오며, 기존 개체를 사전 어노테이션으로 이어받습니다.

무료 도구로 상호참조를 어노테이션할 수 있나요?

네. INCEpTION에는 상호참조용 체인 레이어가 있고, Potato에는 언급을 체인으로 묶는 coreference 스키마가 있습니다. doccano는 상호참조를 지원하지 않습니다.

더 읽어보기