(2강) 자연어의 전처리

💡
한국어에 특화된 전처리 기법에 대해 알아본다.

자연어 전처리

전처리란, 모델이 학습하는데 적합하도록 Data를 수집 및 가공하는 모든 프로세스를 의미한다. 기계 학습에서 가장 중요한 것은 Data이기 때문에, 전처리는 Task의 성능을 가장 확실하게 올릴 수 있는 방법이다.

자연어의 처리 단계를 살펴보면 다음과 같다.

  1. Task 설계

    ex) 유튜브 라이브에서 악성 댓글을 필터링 해주세요.

  1. 필요 데이터 수집

    ex) 유튜브 댓글 데이터 수집

  1. 통계학적 분석
    1. Token의 갯수 확인 및 아웃라이어 제거
    1. 빈도 확인 및 사전(Dictionary) 정의
  1. 전처리
    1. 개행문자, 특수문자, 공백, 중복 표현, 불용어 등 제거
    1. 띄어쓰기, 문장 분리 등 보정
  1. Tagging

    ex) 악성 댓글인지 아닌지 판별하고 Tag를 부여

  1. Tokenizing

    ex) 자연어를 어떤 단위로 살펴볼 것인가의 기준을 정함. (어절, 형태소, WordPiece 등)

위와 같이 자연어를 전처리하기 위해선, String관련 함수를 자유자재로 활용할 수 있어야 한다. 아래는 Python에서 자주 사용되는 함수와 메서드이다.

한국어 토큰화

토큰화란 주어진 Text Data를 Token으로 나누는 작업으로, Text를 어떤 단위로 나누어 의미를 전달할 것인지의 기준이 필요하다. 대표적으로 어절, 단어, 형태소, 음절, 자소 등의 단위가 존재하며 각 기준마다 특징이 존재한다. 토큰화은 Text의 의미를 파악하는 과정이기 때문에, 성능과 직결되는 매우 중요한 과정이다.

실습코드

한국어 전처리

한국어 토크나이징


Reference

HuggingFcae Tokenizer 1

HuggingFcae Tokenizer 2

HuggingFcae Tokenizer 3

HuggingFcae Tokenizer 4

KoNLPy


Project

오늘의 목표 및 진척상황

  • 실습 과제 수행
  • 실습 Code 학습
  • 정규표현식 학습
  • Pre-trained Model로 Inference 수행

직면했던 문제와 학습한 내용

  1. 실습 과제 수행

    강의에서 제공한 실습 과제를 수행했다. Competition에 대한 집중보다는, NLP의 기초부터 다지는 느낌이었다. 이 과제를 수행하기 위해 오랜만에 문제풀이를 하는 느낌을 받았다.

  1. 실습 Code 학습

    다양한 전처리 기법이 담긴 Code를 실행해보고, 원리를 파악하고자 했다.

  1. 정규표현식 학습

    미뤄왔던 정규표현식 공부를 시작했다. 학습에 큰 도움이 된 영상과 사이트에 대한 링크는 다음과 같다. 강의영상 Link Regexr Link

  1. 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

+ Recent posts