본문 바로가기

데이터제작

Tagtog

2021-11-16 내용 추가(labeling 1:N 관계)  ,  마무리 수정

 

Relation Data를 제작하는 tool중의 하나인 Tagtog를 소개할려 한다.

tagtog · AI-enabled Text Annotation Tool | PDF, Markdown, CSV, html, tweets, & many more Document types

 

tagtog · AI-enabled Text Annotation Tool | PDF, Markdown, CSV, html, tweets, & many more Document types

The Text Annotation Tool to Train AI. — Web Based & Multi User. Cloud & On-Premises. Secure. — Start Now for Free.

www.tagtog.net

Relation Data를 제작할 때 사용하는 tool이다.

 

회원가입을 해야 사용할 수 있다.

 

Projcet 생성

 

New Project를 클릭해주면 Project 하나를 생성 할 수 있다.

 

Entities 생성

 

Entity 생성규칙은 아래와 같이 한다고 한다.

[SUBJ/OBJ]-[TYPE]-[RELATION]

하지만, 필자는 글자 수 초과로 relation은 적지 않았다. 이게 무슨 문제가 될지는 모르겟다 . 

 

Entity를 생성하는것 보다 더 중요한 것은 Entity를 어떻게 정의하는가에 달려있는거 같다. bcaitech 2기의 같은 팀원들이 제작한 schema인데 멘토님의 comment로 entity를 더 세분화 할 필요가 있다고 받앗다.

 

Relations 생성

 

Relations를 생성하려면 predefined 된 relation 에 해당하는 sub,obj를 선택해서 생성을 해주면 됩니다.

Entity를 define이 well-defined 되지 않았기에 relation을 볼 때 혼동이 오는거 같습니다.

 

 

Documents 생성

documents 탭으로 들어가면 data를 upload 할 수 있다. 필자는 태양계핵 과 관련한 data를 사용하였다.

 

 

 

 

Relation을 만들고 싶은 Entity를 manualy 하게 drag하여 type을 설정하고 Add relation을 누르면 됩니다.  좀더 fine-grained 한 schema 정의가 필요하게 느껴진 순간이다. 필자가 오랫동안 고심했지만, 어떤 relation을 만들어야할지 막막했다. 데이터셋의 특징일 가능성도 있지만 , 별칭 관계말고는 찾지 못했다.

 

 

 

 

 

Confirm은 더 이상 수정되지 않도록 파일의 수정을 master 권한으로 금지하는 거 같다. 

 

Labeling

 

Project생성 -> Entities 생성- >Relations 생성 - > Documents 생성의 관계를 거치면 이를 json파일로 저장할 수 있다.

 

 

 

이런 식으로 저장을 할 수 있다. 이를 CSV로 만들려면 숙련된 코더가 이 json 파일을 parsing하는 코드를 짜야 한다.

 

Labeling을 할 때 필자는 처음에 한 개의 entity 에 대해 한개의 relation만 가능한 줄 알 았습니다. 그리고, 한개의 entity type만 설정이 가능한 줄 알았습니다. 

 

하지만, 1 :N 관계의 relation을 설정할 수 있고 , 여러 개의 entity type을 설정할 수 있습니다.

 

 

여기서 맨 처음 태양핵은 여러개의 entity type을 적용했습니다. 이게 시행착오를 해본 결과 , 하나의 entity 에 같은 entity type을 중복해서 적용할 수는 없습니다.  적용할 때 , 지정된 type을 다른 type으로 바꿔준 후   새로 type을 지정해줘야 합니다. 

 

 

 

마무리

 

  • 필자의 이 tool에 대한 개인적인 생각을 말하자면, 모든 labeling tool을 써본것은 아니지만, 이 정도면 무료 치고는 쓸만한 거 같다. 필자가 회사를 운영하는 입장이라면 , 개발자들을 시켜 tool을 새로 만들게 할거 같긴 하다.
  • labeling이라는 작업은 비전문가가 하면 절대 안될거 같다.     개발 전문가들만 훈련 시킬게 아니라 labelr들도 전문적으로 긴 기간동안 훈련 시켜야 양질의 data를 제작할 수 있다. labeler 들에게 다시 한번 감사를 느끼게 되엇다.
  • 현업의 전문가의 의견을 들은 결과 여러 케이스가 있습니다. 1. 툴을 자체 제작 , 2. 외주를 맡김(외주 회사는 툴을 자체 제작) ,3.오픈소스 활용 4. 클라우드 플랫폼(ex,GCP) 활용.

'데이터제작' 카테고리의 다른 글

Pilot Tagging  (0) 2021.11.19
TagTog Result  (0) 2021.11.16