새소식

부스트캠프 AI Tech 4기

[NLP 데이터 제작] 2. 자연어처리 데이터의 특성

  • -

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

데이터의 종류

워드넷, 시소러스 : 단어간의 관계를 나타낸 것

온톨로지, 지식그래프 : 지식을 표상하기 위한 체계에 따라서 각각 어휘들을 연결해 놓은 것 혹은 어휘들의 의미를 분석해 놓은 것

 

 

인공지능 기술의 발전

1950년대 규칙기반 → 1990년대 통계 기반(단어 기반/문장 기반) → 2000년대 기계학습 기반 (지도학습/비지도학습/강화학습)

기술 자체는 변화했어도 과제(Task)와 데이터는 여전히 같다.

 

 

언어 모델 평가를 위한 종합적인 벤치마크 등장

이전에는 특정 과제만을 해결할 수 있는 데이터들이 존재하였지만

PLM이 개발된 이후에는 과제를 하나하나 해결하는 것이 아니라 언어모델이라는 것이 가지고 있는 종합적인 언어 능력을 평가하기 위해 벤치마크 데이터와 모델이 등장하게 되었다.

 

 

 


 

데이터 관련 용어 정리

텍스트 text

주석, 번역, 서문 및 부록 따위에 대한 본문이나 원문.

[언어] 문장보다 더 큰 문법 단위. 문장이 모여서 이루어진 한 덩어리의 글을 이룬다.

 

말뭉치 corpus, plural corpora

corpus 는 단수, corpora 는 복수

말뭉치(이상섭, 1988) : 어떤 기준으로든 한 덩어리로 볼 수 있는 말의 뭉치(한 저작자의 저작 전부, 특정분야 저작 전체)

텍스트 아카이브 text archive vs 말뭉치 corpus(seleted, structured, designed)

 

데이터 data

[정보 통신] 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보.

말뭉치 데이터 corpus data : 말뭉치 자체

말뭉치의 데이터 data from corpus : 용례 색인 결과, 연어 추출 결과, 통계 분석 결과

 

주석

주석 : tag, label, annotation

 

형태소 분석기 ← 왜 형태소 주석기라고 하지 않는가?

형태소의 주석을 다는 것은 분석을 하는것과 다른게 없다라고 생각

형태소 분석기의 기능은 실질적으로 2가지가 있을 수 있다.

  1. 형태소 단위로 문장을 분리해주는 Segmentation 기능
  2. Segmentation 을 하고 난 뒤에 분할된 문자열에다가 형태소 tag NNG 라던지 VV 라던지 VA 이런 것을 붙여주는 작업을 하는 기능

 

언어학의 연구 분야

음성이나 음운은 자연어 text 에서 다루는 대상은 아니다.

단어나 구, 절, 문장, 텍스트 이런 것들이 앞으로 text 처리를 할 때 사용되는 개념들이다.

 

 

텍스트 데이터의 기본 단위

영어 말뭉치의 계량 단위 : 단어(=띄어쓰기 단위) / 문장 또는 발화

한국어 말뭉치의 계량 단위 : 어절(=띄어쓰기 단위) / 문장 또는 발화

 

한국어의 “단어” : 9품사로 분석됨(명사, 수사, 대명사, 동사, 형용사, 관형사, 부사, 조사, 감탄사)

이 중 “조사”는 체언(명사, 수사, 대명사)와 붙어서 사용되기 때문에 띄어쓰기 단위와 단어의 단위가 일치하지 않는다.

또한, “어미”는 하나의 품사로 인정되지 않으며 형태 단위이므로 독립된 단어가 아니다.

 

품사 : 단어를 문법적 성질의 공통성에 따라 몇 갈래로 묶어 놓은 것

품사 분류의 기준 : 의미(뜻, meaning), 기능(구실, function), 형식(꼴, form)

 

품사중에서 동사와 형용사를 제외하고는 형태가 그대로 유지가 되고 동사와 형용사는 활용을하면서 형태가 바뀐다.

 

 

타입 type & 토큰 token

토큰화 tokenization > 표제어 추출 lemmatization / 품사 주석 POS(part of speech) tagging

토큰 : 언어를 다루는 가장 작은 기본 단위, 단어 word, 형태소 morpheme, 서브워드 subword

타입 : 토큰의 대표 형태

 

 

“이 사람은 내가 알던 사람이 아니다”

  • 토큰화 : 이 사람 은 내 가 알 더 ㄴ 사람 이 아니 다
  • 표제어 추출 : 이, 사람, 나, 알다, 아니다
  • 품사 주석 : 이/MM 사람/NNG+은/JX 나/NP+가/JKS 알/VV+더/EP+ㄴ/ETM 사람/NNG+이/JKS 아니/VA+다/EF
  • 토큰 수 : 12개, 타입 수 : 10개

 

N-gram

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

 

  • 글자수 bi-gram
    흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 : 흔+들, 들+리, 리+는, 는+꽃, 꽃+들, …
  • 형태소 bi-gram
    흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 : 흔들리+는, 는+꽃, 꽃+들, 들+속, 속+에서, …
  • 어절 bi-gram
    흔들리는 꽃들 속에서 네 샴푸향이 느껴진거야 : 흔들리는+꽃들, 꽃들+속에서, 속에서+네, …

 

표상 representation

대표로 삼을 만큼 상징적인 것.

표상-하다 [001] [동사] […을] 추상적이거나 드러나지 아니한 것을 구체적인 형상으로 드러내어 나타내다.

 

자연어처리 분야에서 표현으로 번역하기도 하나, 자연어를 컴퓨터가 이해할 수 있는 기법으로 표시한다는 차워에서 표상이 더 적합

표시를 통해 재현 과정을 통해 나타내는 작업

 

사전학습모델(PLM, pretrained language model), word2vec 등등

 

 


 

자연어처리 데이터 형식

HTML 

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

 

 

XML 

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

 

 

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

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

 

CSV (comma-seperated values)

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

 

TSV (tab-seperated values)

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

 

 


 

공개 데이터

경진대회 공개 데이터

국가 주도 공공 데이터

오픈소스 + 벤치마크

728x90
Contents