일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 최단경로
- dp
- 기술면접
- 이코테
- 그래프이론
- 주간회고
- 구현
- 백준
- Level2_PStage
- Level2
- 개인회고
- 그리디
- 다이나믹프로그래밍
- Level1
- mrc
- python3
- 백트랙킹
- 이진탐색
- 다시보기
- 단계별문제풀이
- 프로그래머스
- dfs
- 부스트캠프_AITech3기
- 파이썬 3
- 알고리즘_스터디
- 알고리즘스터디
- 정렬
- U_stage
- 부스트캠프_AITech_3기
- ODQA
- Today
- Total
국문과 유목민
[NLP] 자연어 기초 용어 정리 본문
용어 정리
NLP Task를 수행하면서, 용어적인 부분이 통일이 되지 않아 커뮤니케이션에 오류가 생긴다고 한다. 따라서 이러한 일들을 미연에 방지하기 위해 동료들 간 용어를 합의하는 과정이 필요하다고도 한다. 그러한 상황이 있을 수도 있고, 다시 정리도 할 겸 NLP관련 기초적인 용어와 정의를 간단하게 정리해보고자 한다.
자연어: 일상적으로 사용하고 있는 언어 그 자체
인공어: 여러 사람의 목적이나 의도에 따라 만든 언어 또는 컴퓨터 언어
자연어처리: 인공지능의 한 분야로 사람의 언어를 컴퓨터가 알아듣도록 처리하는 인터페이스 역할을 하는 것이다. 자연어 이해(NLU)와 자연어 생성(NLG)으로 구성된다. 자연어 처리의 최종 목표는 컴퓨터가 사람의 언어를 이해하고 여러 가지 문제를 수행할 수 있도록 하는 것
- 자연어 이해 (Natural Language Understanding): 형태분석, 구문분석, 문장 유사도 평가 등
- 자연어 생성 (Natural Language Generation): 문장 생성, 기계 번역, 추상 요약 등
텍스트(Text): 주석, 번역, 서문 및 부록 따위에 대한 본문이나 원문. 문장보다 더 큰 문법 단위로 문장이 모여서 이루어진 한 덩어리의 글을 의미
말뭉치(Corpus, plural corpora): 한 덩어리로 볼 수 있는 말의 뭉치(한 저작자의 저작 전부, 특정 분야 저작 전체) [텍스트 아카이브와는 다름]
- 텍스트 아카이브: 텍스트를 기준이나 조건없이 모아놓은 것
- 말뭉치: 선택되어, 정제되고 구조화된 언어 데이터
데이터(Data): 컴퓨터가 처리할 수 있는 문자, 숫자, 소리, 그림 따위의 형태로 된 정보이다. 말뭉치 데이터는 말뭉치 자체를 의미하고, 말뭉치의 데이터 data from corpus는 용례 색인 결과, 연어 추출 결과, 통계 분석 결과 등을 의미한다.
주석: 주석(tag, label, annotation), 주석하다(tagging, labeling)
형태소 분석기: 문장에서 형태소 별로 Parsing을 시켜주는 도구. 영어의 POS Tagger와 유사하다.
Q. 영어는 POS tagger라고 하는데, 한국어에서는 형태소 주석기가 아닌 형태소 분석기인 이유는?
A. 영어의 POS Tagger를 한국으로 가져올 때, 연구자들이 해당 tagger를 통해서 형태소 분석을 수행할 수 있을 것이라고 생각해 이름을 '형태소 분석기'라고 정했다고 한다.
언어학의 연구분야
언어학의 연구분야에 대한 용어는 알아두는 게 좋다. 텍스트 언어학이나 말뭉치 언어학은 정통적인 언어학연구분야는 아니다.
Token/POS
품사: 단어를 문법적 성질의 공통성에 따라 몇 갈래로 묶어 놓은 것을 의미한다. 품사 분류의 기준은 의미, 기능, 형식으로 나뉜다. (한국어는 5언 9품사로 정의되어 있다)
TTR: type/token ratio 라고 한다. 말뭉치 크기와 반비례
토큰: 언어를 다루는 가장 작은 기본 단위, 단어 word, 형태소 morpheme, 서브워드 subword
타입: 토큰의 대표 형태
토큰화: Tokenization. 주어진 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업이다.
영어 말뭉치와 한국어 말뭉치에서의 계량 단위는 다르다. 영어 말뭉치의 계량 단위는 단어/문장 또는 발화이고, 한국어 말뭉치의 계량 단위는 어절/문장 또는 발화로 영어와 한국어는 '단어'와 '어절'로 다른 계량 단위를 가진다.
그 이유는 한국어의 "단어"는 9품사로 분류되는데, (명사, 수사, 대명사, 동사, 형용사, 관형사, 부사, 조사, 감탄사) 이 중 "조사"는 체언과 붙어서 사용되기 때문에 띄어쓰기 단위와 단어의 단위가 일치하지 않는다. 따라서 영어와 한국어의 계량단위가 달라지게 되는 것이다.
표제어 추출: Lemmataization. 단어들로부터 표제어를 찾아가는 작업이다. am, are, is는 서로 다른 스펠링이지만 그 뿌리 단어는 be라고 볼 수 있기 때문에 단어들의 표제어는 be가 된다.
품사 태깅: POS tagging. 문장을 형태소 단위로 분리 한 후, 해당 형태소의 품사를 태깅하는 것을 의미한다.
N-gram: 연속된 N개의 단위를 N-gram이라고 한다. 입력된 단위는 글자, 형태소, 단어, 어절 등으로 사용자가 지정할 수 있다. 1개는 Uni-gram, 2개는 Bi-gram, 3개는 Tri-gram, 4개 이상 부터는 four, five, ...-gram이라고 한다.
표상: 대표로 삼을만큼 상징적인 것,. 자연어처리 분야에서 표현으로 번역하기도 하지만, 자연어를 컴퓨터가 이해할 수 있는 기법으로 표시한다는 차원에서 표상이 더 작합하다. 표시를 재현 과정을 통해 나타내는 작업이다. 사전학습모델(PLM), Word2Vec 등이 있다.
Data Type
HTML(Hypertext Markup Language): 우리가 보는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 하는 마크업 언어이다. 보통 웹페이즈를 크롤링한 자료는 HTML 형식으로 되어있다. 라이브러리를 통해 순수 텍스트만 추출해서 데이터를 뽑는다.
XML(Extensible Markup Language): 사람과 기계가 동시에 읽기 편한 구조로 되어 있다. <>안에 태그 정보를 부여하고, 여는 태그와 닫는 태그로 구성되어 있다. XML은 사용자가 임의로 태그를 지정해 사용할 수 있다.
JSON, JSONL: '속성-값' 쌍 또는 '키-값' 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. JOSNL은 JSON을 한 줄로 만든 것
CSV: 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 및 텍스트 파일
TSV: 몇 가지 필드를 탭으로 구분한 텍스트 데이터 및 텍스트 파일
쉼표를 활용해 분리를 하면 문장 내 쉼표 등이 잘려서 들어올 수 있다.
'IT 견문록 > 추가 학습 정리' 카테고리의 다른 글
[git]Git 심화 (ammend, reset, rebase) (0) | 2022.05.12 |
---|---|
[Excel] 셀 내 일부 텍스트만 글꼴색 변경(SUB, OBJ Entity 색 변환) (0) | 2022.04.20 |
[WandB] Huggingface 라이브러리에서 Sweep 사용하기 (0) | 2022.04.04 |
[NLP] Chatbot Summary (0) | 2022.04.01 |
[NLP] GPT 강의 정리 (Week 11) (0) | 2022.04.01 |