네이버 부스트캠프/LEVEL-3

[부스트캠프][P-stage][WK15 / Day1] 데이터제작 Introduction

1. 강의 내용

자연어처리 데이터 기초 (한지윤님)

1) 인공지능 개발을 위한 데이터

데이터의 종류

인공지능 기술의 발전

벤치마크

 

2) 데이터 관련 용어 정리

텍스트 (text)

  • 주석, 번역, 서문 및 부록 따위에 대한 본문이나 원문
  • 『언어』문장보다 더 큰 문법 단위. 문장이 모여서 이루어진 한 덩어리의 글을 이른다.

말뭉치 (corpus, plural corpora)

  • 말뭉치(이상섭, 1988) : 어떤 기준으로든 한 덩어리로 볼 수 있는 말의 뭉치(한 저작자의 저작 전부, 특정 분야 저작 전체)
  • 텍스트 아카이브 text archive vs 말뭉치 corpus(selected, structured, designed)

데이터 (data)

  • 『정보·통신』컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보.
  • 말뭉치 데이터 corpus data: 말뭉치 자체
  • 말뭉치의 데이터 data from corpus: 용례 색인 결과, 연어 추출 결과, 통계 분석 결과

주석

  • 주석 : tag, label, annotation
  • 주석하다 : tag, label, annotate

언어학의 연구 분야

텍스트 데이터의 기본 단위

  • 영어 말뭉치의 계량 단위: 단어(= 띄어쓰기 단위) / 문장 또는 발화
  • 한국어 말뭉치의 계량 단위: 어절 (= 띄어쓰기 단위) / 문장 또는 발화
  • 품사 : 단어를 문법적 성질의 공통성에 따라 몇 갈래로 묶어 놓은 것
  • 품사 분류의 기준 : 의미(뜻, meaning), 기능(구실, function), 형식(꼴, form)
  • 한국어의 "단어" : 9품사로 분석됨 명사, 수사, 대명사, 동사, 형용사, 관형사, 부사, 조사, 감탄사
    • 이 중 "조사"는 체언(명사, 수사, 대명사)와 붙어서 사용되기 때문에 띄어쓰기 단위와 단어의 단위가 일치하지 않음! 또한, "어미"는 하나의 품사로 인정되지 않으며 형태 단위이므로 독립된 단어가 아님.

타입 (type) & 토큰 (token)

  • 토큰화 tokenization : 표제어 추출 (lemmatization) / 품사 주석 POS(part of speech) tagging
  • TTR : type/token ratio 말뭉치 크기와 반비례
  • 토큰 : 언어를 다루는 가장 작은 기본 단위, 단어 (word), 형태소 (morpheme), 서브워드 (subword)
  • 타입 : 토큰의 대표 형태

N-gram

연속된 N개의 단위. 입력된 단위는 글자, 형태소, 단어, 어절 등으로 사용자가 지정할 수 있음.

표상 (representation)

  • 대표로 삼을 만큼 상징적인 것.
  • 자연어처리 분야에서 표현으로 번역하기도 하나,$자연어를 컴퓨터가 이해할 수 있는 기법으로 표시한다는 차원에서 표상이 더 적합.
  • 표시를 통해 재현 과정을 통해 나타내는 작업
    • 사전학습모델(PLM, pretrained langage model), word2vec 등등

3) 자연어처리 데이터 형식

HTML (Hypertext Markup Language)

  • 우리가 보는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 하는 마크업 언어로, 보통 웹페이지를 크롤링한 자료는 HTML 형식으로 되어 있으며 파싱 라이브러리(beautifulsoup 등)을 통해 태그를 제외한 순수한 텍스트만 추출하여 사용함.

XML(EXtensible Markup Language)

  • 사람과 기계가 동시에 읽기 편한 구조로, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어.
  • <> 안에 태그 정보를 부여하며 여는 태그 <>와 닫는 태그 </>로 구성.
  • HTML과의 차이 : HTML은 태그가 지정되어 있으나 XML은 사용자가 임의로 지정하여 사용할 수 있음.

출처 : 세종 말뭉치

JSON(JavaScript Object Notation)과 JSONL(JavaScript Object Notation Lines)

  • 속성-값 쌍(attributevalue pairs and array data types (or any other serializable value)) 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
  • 기본 자료형 : 수, 문자열, 불린, 배열, 객체, null
  • JSONL은 JSON을 한 줄(Line)로 만든 것

CSV(comma-separatedLvalues)

  • 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일

TSV(tab-separated values)

  • 몇 가지 필드를 탭(\t)로 구분한 텍스트 데이터 및 텍스트 파일

4) 공개 데이터

  1. 경진대회 공개 데이터
  2. 국가 주도 공공 데이터
  3. 오픈소스 + benchmark

2. 피어세션 정리

  • 스몰톡 + 개별 계획
  • 강의 일정 및 내용 질의응답
  • 데이터 제작 스페셜 미션 계획
    • TagTog가입하기
    • 스프레드시트 옮기기
    • 라벨링
    • role분배는 강의를 듣고 내용 파악한 후에 진행
    • 작업 가이드라인 보면서 데이터셋 제작하기
  • 최종 프로젝트
    • 수요일까지 프로젝트 목표 또는 아이디어 가져와서 얘기 나누기
    • 수요일에 나름대로 정리한 후 목요일에 멘토님과 의견 나누기