(2강) 자연어의 전처리
자연어 전처리
전처리란, 모델이 학습하는데 적합하도록 Data를 수집 및 가공하는 모든 프로세스를 의미한다. 기계 학습에서 가장 중요한 것은 Data이기 때문에, 전처리는 Task의 성능을 가장 확실하게 올릴 수 있는 방법이다.
자연어의 처리 단계를 살펴보면 다음과 같다.
- Task 설계
ex) 유튜브 라이브에서 악성 댓글을 필터링 해주세요.
- 필요 데이터 수집
ex) 유튜브 댓글 데이터 수집
- 통계학적 분석
- Token의 갯수 확인 및 아웃라이어 제거
- 빈도 확인 및 사전(Dictionary) 정의
- 전처리
- 개행문자, 특수문자, 공백, 중복 표현, 불용어 등 제거
- 띄어쓰기, 문장 분리 등 보정
- Tagging
ex) 악성 댓글인지 아닌지 판별하고 Tag를 부여
- Tokenizing
ex) 자연어를 어떤 단위로 살펴볼 것인가의 기준을 정함. (어절, 형태소, WordPiece 등)
위와 같이 자연어를 전처리하기 위해선, String관련 함수를 자유자재로 활용할 수 있어야 한다. 아래는 Python에서 자주 사용되는 함수와 메서드이다.
한국어 토큰화
토큰화란 주어진 Text Data를 Token으로 나누는 작업으로, Text를 어떤 단위로 나누어 의미를 전달할 것인지의 기준이 필요하다. 대표적으로 어절, 단어, 형태소, 음절, 자소 등의 단위가 존재하며 각 기준마다 특징이 존재한다. 토큰화은 Text의 의미를 파악하는 과정이기 때문에, 성능과 직결되는 매우 중요한 과정이다.
실습코드
Reference
Project
오늘의 목표 및 진척상황
- 실습 과제 수행
- 실습 Code 학습
- 정규표현식 학습
- Pre-trained Model로 Inference 수행
직면했던 문제와 학습한 내용
- 실습 과제 수행
강의에서 제공한 실습 과제를 수행했다. Competition에 대한 집중보다는, NLP의 기초부터 다지는 느낌이었다. 이 과제를 수행하기 위해 오랜만에 문제풀이를 하는 느낌을 받았다.
- 실습 Code 학습
다양한 전처리 기법이 담긴 Code를 실행해보고, 원리를 파악하고자 했다.
- Pre-trained Model Inference Submit
피어세션 간, 현재 우리가 사용하고 있는 Model이 Pre-train이 아니라는 얘기를 들었다. 이에, Pre-train Model로 변경하려고 했으나 구조를 이해하기 어려워 적용하지 못했다. BertConfig의 역할이 무엇인지 파악되지 않고, Model 객체 생성간 언제 이를 적용해야하는지 모르겠다.
추가로 진행 할 사항
- 강의 및 NLP 기초 학습 진행
- Hugging Face, Transformer Library 구조 이해를 위한 학습
'네이버 부스트캠프 AI Tech' 카테고리의 다른 글
| [P2] Day 54 (0) | 2021.04.26 |
|---|---|
| [P2] Day 53 (0) | 2021.04.26 |
| [P2] Day 51 (0) | 2021.04.26 |
| [P1] 이미지 분류 Wrap-up Report (0) | 2021.04.11 |
| [P1] Day 50 (0) | 2021.04.11 |
Uploaded by Notion2Tistory v1.1.0