-
부스트캠프 ai tech 2기 15주차 학습 정리 노트Boostcamp AI Tech 2기 2021. 11. 13. 21:24
강의 복습
1강 데이터 제작의 A to Z
데이터 구축 과정 :
1. 원시 데이터 선정 및 확보 : 저작권, 태스크 적합성
2. 구축 및 가공 프로세스 확립 : 구축 및 검수 절차, 작업자 선정
3. 구축 및 가공 지침 작성 : 플랫폼 소통 및 작업자 교육
4. 데이터 구축 및 가공 : 파일럿, 작업자 관리
5. 데이터 검수 : 품질 평가 기준, 데이터 규격과 내용
데이터 설계 :
- 규모 선정에 필요한 정보 : 확보 가능한 원시 데이터의 규모, 주석 작업 시간
- 구분(split) 방식 : 데이터별 비율과 기준 정하기 (랜덤 vs 특정 조건)
데이터 수집-가공 설계 :
1. 원시 데이터 수집 방식 : 전산화, 스크래핑, 작업자 작성, 모델 생성
2. 작업자 선정 : 주석 작업의 난이도와 구축 규모에 맞는 작업자 선정 및 작업 관리
3. 구축 및 검수 설계 : 구축 작업의 난이도와 구축 규모, 태스크 특성에 맞는 구축 및 검수 방식(전문가, IAA) 설계
4. 데이터 구축 및 가공 :
- 파일럿 : 설계 시 발견하지 못한 이슈 발굴 및 해결, 가이드라인 보완 및 개정, 작업자 선정
- 본 구축 : 작업 일정 관리, 작업자 관리, 중간 검수를 통한 데이터 품질 관리
5. 데이터 검수 및 분석 :
- 전문가 평가 및 분석 : 샘플링 검사, 가이드라인 적합도 분석
- 자동 평가 및 분석 : 데이터 형식, 레이블별 분포 파악, 일괄 수정 사항 반영
2강 자연어 처리 데이터 기초
인공지능 모델 개발을 위한 데이터
언어 모델 평가를 위한 종합적인 벤치마크 등장 :
GLUE(자연어 이해, 2018) -> Super GLUE(고난도 자연어 이해, 2019) -> KILT(지식기반 자연어 이해, 2020) -> GEM(자연어 생성, 2021)
벤치마크의 구성 : 과제, 평가 지표, 데이터(train, valid, test), 베이스라인, 리더보드
데이터 관련 용어 정리
텍스트 (text) :
주석, 번역, 서문 및 부록 따위에 대한 본문이나 원문. 문장보다 더 큰 문법 단위로, 문장이 모여서 이루어진 한 덩어리의 글을 이른다.
말뭉치 (corpus, plural corpora) :
어떤 기준으로든 한 덩어리로 볼 수 있는 말의 뭉치(한 저작자의 저작 전부, 특정 분야 저작 전체)
데이터 (data) :
컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보.
말뭉치의 데이터 data from corpus: 용례 색인 결과, 연어 추출 결과, 통계 분석 결과
품사 : 단어를 문법적 성질의 공통성에 따라 몇 갈래로 묶어 놓은 것
품사 분류의 기준 : 의미(뜻, meaning), 기능(구실, function), 형식(꼴, form)
한국어의 "단어" : 9품사(명사, 수사, 대명사, 동사, 형용사, 관형사, 부사, 조사, 감탄사)로 분류된다.
토큰 (token) : 언어를 다루는 가장 작은 기본 단위. ex) 단어 word, 형태소 morpheme, 서브 워드 subword
타입 : 토큰의 대표 형태
TTR (type/token ratio) : 말뭉치 크기와 반비례
N-gram : 연속된 N개의 단위. 입력된 단위는 글자, 형태소, 단어, 어절 등으로 사용자가 지정할 수 있음.
표상 (representation) :
대표로 삼을 만큼 상징적인 것. 표시를 통해 재현 과정을 통해 나타내는 작업이다. ex) 사전학습모델(PLM, pretrained langage model), word2vec...
자연어처리 데이터의 형식
HTML(Hypertext Markup Language) :
우리가 보는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 하는 마크업 언어. 보통 웹페이지를 크롤링한 자료는 HTML 형식으로 되어 있다. 파싱 라이브러리(beautifulsoup 등)을 통해 태그를 제외한 순수한 텍스트만 추출하여 사용한다.
XML(EXtensible Markup Language) :
사람과 기계가 동시에 읽기 편한 구조. 다른 특수한 목적을 갖는 마크업 언어를 만드는 데 사용하도록 권장하는 다목적 마크업 언어. <> 안에 태그 정보를 부여히며, 여는 태그 < >와 닫는 태그 </ >로 구성된다. HTML은 태그가 지정되어 있으나 XML은 사용자가 임의로 지정하여 사용할 수 있다.
JSON(JavaScript Object Notation) & JSONL(JavaScript Object Notation Lines) :
속성-값 쌍(attributevalue pairs andarray data types (or any other serializable value))또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷. 기본 자료형으론 수, 문자열, 불린, 배열, 객체, null이 있다. JSONL은 JSON을 한 줄(Line)로 만든 것이다.
CSV(comma-separatedvalues) :
몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일
TSV(tab-separated values) :
몇 가지 필드를 탭(\t)으로 구분한 텍스트 데이터 및 텍스트 파일
3강 자연어처리 데이터 소개 1
국내 언어 데이터의 구축 프로젝트
21세기 세종 계획 :
‘21세기 세종계획’은 1997년에 그 계획이 수립되었고 이듬해인 1998년부터 2007년까지 10년 동안 시행된 한국의 국어 정보화 중장기 발전 계획이다. 총 2억 어절의 자료 구축, 공개 XML 형식, 언어정보나눔터 누리집을 통해 배포하다 중단 후 DVD로만 배포
모두의 말뭉치 :
인공지능의 한국어 처리 능력 향상에 필수적인 한국어 학습 자료 공개 플랫폼. ‘21세기 세종계획’에 비해 일상 대화, 메신저, 웹 문서 등 구어체 자료의 비중을 높였다. 다층위 주석 말뭉치를 포함한다. (형태, 구문, 어휘 의미, 의미역, 개체명, 상호 참조 등)
엑소브레인 :
내 몸 바깥에 있는 인공두뇌라는 뜻으로, 21세기 세종 계획에서 개발된 주석 말뭉치의 체계를 확장하고 추가하여 TTA표준안 마련하였다. (형태, 구문, 개체명)
AI 허브 :
AI 기술 및 제품·서비스 개발에 필요한 AI인프라 (AI데이터, AISWAPI, 컴퓨팅 자원)를 지원하는 누구나 활용하고 참여하는 AI 통합 플랫폼.
데이터별로 데이터 설명서, 구축 활용 가이드를 제공하며 JSON, 엑셀 등 다양한 형식의 데이터를 제공한다. 실제 산업계 수요 조사를 반영하여 다양한 TASK를 수행할 수 있는 자원을 구축하고 있다.
민간 주도 데이터셋
KLUE : 한국어 이해 능력 평가를 위한 벤치마크
- 뉴스 헤드라인 분류
- 문장 유사도 비교
- 자연어 추론
- 개체명 인식
- 관계 추출
- 형태소 및 의존 구문 분석
- 기계 독해 이해
- 대화 상태 추적
KorQuAD 1.0 & 2.0 :
KorQuAD 2.0은 KorQuAD 1.0에서 질문답변 20,000+ 쌍을 포함하여 총 100,000+ 쌍으로 구성된 한국어 기계 독해 (Machine Reading Comprehension) 데이터셋이다. 스탠포드 대학교에서 공개한 SQuAD를 벤치마킹하였다.
KorNLU :
영어로 된 자연어 추론 (NLI, Natural language inference) 및 문장 의미 유사도(STS, semantic textual similarity) 데이터셋을 기계 번역하여 공개하였다.
4강 자연어처리 데이터 소개 2
질의응답 QuestionAnswering
SQuAD : 위키피디아 데이터를 기반으로 제작한 기계 독해 및 질의응답 데이터
기계 번역 MachineTranslation
WMT 데이터셋 :
2014년부터 시행된 기계 번역 학회에서 공개한 데이터셋. 다국어 번역 데이터이며, 두 언어 간의 병렬 말뭉치로 구성된다. 뉴스, 바이오, 멀티 모달 데이터 등이 제공된다.
평가용 데이터 : 1,500개의 영어 문장을 다른 언어로 번역 + 1,500개의 문장은 다른 언어에서 영어 문장으로 번역
훈련용 데이터 : 기존에 존재하는 병렬 말뭉치와 단일 언어 말뭉치를 제공
요약 TextSummarization
CNN/DailyMail :
추상 요약 말뭉치. 기사에 대하여 사람이 직접 작성한 요약문이 짝을 이루고 있다. 학습 데이터 286,817쌍, 검증 데이터 13,368쌍, 평가 데이터 11,487쌍으로 구성된다.
대화 Dialogue
Wizard-of-Oz :
WoZ 방식으로 수집된 데이터셋이며 대화 상태 추적 데이터와 유사한 형태로 이루어진다.
*Woz 방식 : 대화 수집 방식의 하나로, 참여자가 대화 시스템을 통해 대화를 하고 있다고 생각하게 한 뒤 실제로는 실제 사람이 참여자의 발화에 맞추어 응답을 제시하고 대화를 이끌어나가면서 대화를 수집하는 방식
UDC (UbuntuDialogueCorpus) :
우분투 플랫폼 포럼의 대화를 수집한 데이터. 100만 개의 멀티 턴 대화로 구성돼있으며, 700만 개 이상의 발화와 1억 개의 단어를 포함되어 있다. 또한 특별한 레이블이 주석되어 있지 않음. 대화 상태 추적과 블로그 등에서 보이는 비구조적 상호작용의 특성을 모두 가지고 있다.
5강 원시 데이터의 수집과 가공
원시 데이터
원시 데이터 :
과제를 해결하기 위해 특정 도메인, 장르, 주제 등에 대하여 조건에 맞춰 수집하였으나, 주석 단계를 거치지 않은 상태의 데이터.
원하는 형태로 가공하기 이전의 데이터로 목적에 맞는 전처리 과정을 거쳐 가공이 되어야 활용할 수 있음.
원시 텍스트 데이터의 종류 :
- 문어 : 신문기사, 소설, 수필, 논문, 잡지, 보고서 등
- 구어(음성 파일을 텍스트로 전사) : 일상 대화, 연설, 강연. *준구어 : 방송 대본, 영화 대본 등
- 웹 : SNS, 커뮤니티 게시판, 메신저 대화, 블로그, 이메일 등
원시 텍스트 데이터의 메타 정보 :
텍스트 외에 텍스트를 설명하는 정보. 텍스트 ID, 이름, 저장 정보, 매체 정보, 주석 정보, 출처, 형태/구문 분석 정보 등을 사전에 정해진 양식에 맞춰 기록한다.
원시 데이터 수집 시 고려 사항
획득 가능성 :
획득이 불가능하거나 통제 불가능한 주기를 가지고 있다면 원시 데이터의 정책에 의존하게 되므로 바람직하지 않다. 획득이 용이하더라도 서비스 활용 측면에서 데이터를 활용하기 위해 가공 처리에 많은 비용이 드는 데이터는 선정하기 어렵다. 직접 산출이 어려운 경우 획득 난이도 측면에서 트래픽량과 저장 처리 장치의 용량 등을 고려 대상, 획득 대상의 대안이 필요하다.
데이터 균형과 다양성 :
개체의 다양성 , 목적 및 상황의 다양성 , 시간별, 종류별, 사람별, 지역별 다양성
신뢰성 :
데이터의 품질이 신뢰할 수 있는지 검토한다.
법 제도 준수 :
개인정보 및 사생활 보호가 필요한 항목 획득 시, 개인정보보호법 등에 따라 적절한 법적, 기술적 절차를 거친 데이터를 활용하며, 그렇지 않은 데이터는 정제 과정에서 처리될 수 있도록 한다.
저작권 :
원시 데이터에 주석 작업을 하는 경우, 결과물은 2차적 저작물로 간주되며 라이센스는 원시 데이터를 따름
원시 데이터 전처리 및 가공
추출 대상 확인 :
- 메타 정보
- 주석 대상 텍스트 : 주석 대상 표현 포함 텍스트 여부, 텍스트 길이 범위
정제 대상 확인 :
- 숫자, 외국어, 기호, 이모지
- 띄어쓰기, 맞춤법, 오탈자
- 개인정보
- 문장 분리불필요 요소 제거 및 변환 :
- 개인정보 비식별화
- 비윤리적 표현 정제
주석(annotation, labeling) :
원시 데이터를 가공하여 원하는 정보를 부착하는 작업. 텍스트를 단순히 분류하여(긍부정, 주제) 해당 분류를 텍스트에 삽입하거나 개체명, 관계 정보 등의 정보를 문자열에 직접 주석할 수 있다.
6강 데이터 구축 작업 설계
데이터 주석 유형
분류 :
문장 또는 텍스트에 대한 분류 레이블 주석하는 유형. 구축 난이도는 일반적으로 낮은 편이다. ex) 감성 분석, 주제 분류, 자연어 추론 등
특정 범위(span) 주석 :
텍스트의 일부를 선택하여 특정한 레이블을 주석하는 유형. ex) 개체명, 형태 분석 등
대상 간 관계 주석 :
대상 간 관계를 주석하는 유형. 두 단계에 걸쳐 구축해야 하므로 구축 난이도는 높은 편이다. ex) 관계 추출, 개체명 연결, 구문 분석 등
번역 :
주어진 텍스트에 대한 텍스트 또는 발화를 생성하는 유형. ex) 대화문, 번역, 요약 등
복합 유형 :
앞선 유형의 데이터 구축 방식을 복합적으로 사용하여 다양한 정보를 주석하는 유형. ex) 질의응답, 슬롯필링 대화 등
데이터 검수
가이드라인 정합성 : 각 주석 절차 및 주석 내용이 가이드라인에 부합하는지 확인
데이터 형식 : 메타 정보, 레이블, 텍스트 내용 등의 형식이 맞는지 확인
통계 정보 : 메타 정보 및 레이블의 분포, 문장 길이, 단위 별 규모 확인
모델 성능 확인 : 모델 학습을 통해 결과값 확인
오류 원인 분석 :
- 구축 방법 측면 : 모델·데이터의 대상 선정, 수집, 정제, 라벨링 등의 통제 미흡으로 인하여 구축 절차, 구조, 학습모델 측면의 다양한 오류 데이터 생성
- 가이드라인 측면 : 구축 가이드라인의 불완전성, 미준수로 인하여 작업자간 서로 상이하게 작업을 수행하거나 데이터 간 일관성 위배
- 데이터셋 측면 : 데이터셋 설계의 부족, 구문 정확성 위배, 데이터 구축 중복 등
- 학습모델 측면 : 학습모델에 적합한 데이터 구축이 수행되지 않았거나, 잘못된 학습모델 선정으로 데이터 구축 방향이 잘못된 경우
7강 데이터 구축 가이드라인 작성 기초
가이드라인 작성 시 유의 사항 :
- 가이드라인의 유형별 특성을 이해하고 그에 알맞는 정보를 작성한다.
- 작업자의 작업 이해도를 고려하여 작성한다.
- 작업자에게 공개해야 하는 필수 정보와 부가적인 정보가 무엇인지 사전에 고려한다.
- 가이드라인 구성 요소의 배치를 어떻게 할지 고민한다. 작업자의 가독성을 고려한다.
8강 관계 추출 과제의 이해
관계 추출 관련 과제의 이해
개체명(Entity) 인식 - NER, Named Entity Recognition :
개체명이란 인명, 지명, 기관명 등과 같은 고유명사나 명사구를 의미한다. 개체명 인식 태스크는 문장을 분석 대상으로 삼아서 문장에 출현한 개체명의 경계를 인식하고, 각 개체명에 해당하는 태그를 주석한다.
관계(Relation) 추출 - RE, Relation Extract :
관계 추출은 문장에서 나타난 개체명 쌍(Entity Pair)의 관계(Relation)를 판별하는 태스크. 개체명 쌍은 관계의 주체(Subject)와 대상(Object)으로 구성된다.
개체명 연결 - EL, EntityLiking :
개체명을 인식(Named Entity Recognition)하고 모호성을 해소(Named Entity Disambiguation)하는 과제를 결합한 것. 텍스트에서 추출된 개체명을 지식 베이스(knowledgebase)와 연결하여 모호성을 해소한다.
10강 관계 추출 데이터 구축 실습
과제 정의 시 고려할 요소 :
- 과제의 목적
- 데이터 구축 규모
- 원시 데이터
- 데이터의 주석 체계
- 데이터 주석 도구
- 데이터의 형식
- 데이터 검수
- 데이터 평가
과제의 목적 :
관계 추출(Relataion Extraction)이란 문장에 등장하는 두 개체 간의 관계를 주석하는 것이다. 관계 추출의 대상이 되는 개체명을 인식하고, 각 개체가 주체(subject)인지 대상(object)을 파악한 뒤 그 둘 간의 관계를 주석한다. 주체와 대상, 관계로 이루어진 트리플(triplet)을 완성한다. -> 특정한 도메인에 맞추어 관계 분류(Class) 목록을 확장하고, 확장된 관계를 주석한 데이터를 만든다.
데이터 주석 도구 :
주석 단계 세분화 후, 주석 도구를 결정한다. 트리플(Triplet) 형태의 주석이 가능한 도구 선정 필요하다.
데이터 검수 :
- 데이터 형식의 정확도
- 관계 레이블의 정확도
- 관계 추출 정확도
가이드라인 작성 :
- 작업 목적
- 작업 도구 사용법
- 작업 대상 문장과 아닌 문장 구분 기준
- 레이블별 주석 기준
과제 수행 과정 및 결과
이번 과제는 관계 추출용 데이터를 직접 제작하는 것이다. 2주간의 기간 동안 진행되어 현재 절반 정도를 달려왔는데, 데이터 제작이 생각보다 쉽지 않음을 느끼고 있는 중이다. 사람의 손을 많이 타는 작업이고, 세부적인 룰을 지정해야 조원들과 일관된 데이터를 제작할 수 있다. 남은 1주 동안 더욱 신경을 써 좋은 데이터를 만들어봐야겠다.
피어 세션
이번 주 피어 세션 시간엔 주로 데이터 제작 대회와 최종 프로젝트의 방향성에 대한 이야기를 나누었다.
학습 회고
이제 3번째 대회도 막을 내렸다. 가장 규모가 컸고 어려웠던 3번째 대회를 2등이라는 좋은 성적으로 마무리를 해서 무척이나 기뻤다. 이제 마지막 대회인 모델 최적화와 최종 프로젝트가 남아있고, 다음 주까지 이력서를 제출해야 한다. 얼마 남지 않은 이번 주말은 다가오는 날들을 잘 준비하는 데에 사용해봐야겠다.
'Boostcamp AI Tech 2기' 카테고리의 다른 글
부스트캠프 ai tech 2기 P-stage + 최종 프로젝트 정리 (0) 2021.12.31 부스트캠프 ai tech 2기 12주차 학습 정리 노트 (2) 2021.10.22 부스트캠프 ai tech 2기 11주차 학습 정리 노트 (0) 2021.10.15 부스트캠프 ai tech 2기 9주차 학습 정리 노트 (0) 2021.10.01 부스트캠프 ai tech 2기 8주차 학습 정리 노트 (0) 2021.09.24