2021-11-16 내용 추가(labeling 1:N 관계) , 마무리 수정
Relation Data를 제작하는 tool중의 하나인 Tagtog를 소개할려 한다.
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 |