NLP Machine Learning Workflow
목차
- Step 1. NLP Machine Learning Workflow
해당 게시물은 참고자료를 참고하거나 변형하여 작성하였습니다.
Step 1. NLP Machine Learning Workflow
데이터를 수집하고 머신 러닝을 하는 과정을 크게 6가지로 나누면 아래 그림과 같다.
출처 : https://wikidocs.net/31947
1) 수집(Acquistion)
기계를 학습시키기 위해서는 데이터가 필요하다. NLP인 경우, 자연어 데이터를 말뭉치 혹은 코퍼스(Corpus) 라고 칭한다. 코퍼스의 의미는 조사나 연구 목적에 의하여 특정 도메인으로부터 수집된 텍스트 집합을 말한다.
e.g. txt 파일, csv 파일, xml 파일, 음성 데이터, 영화 리뷰 등등
2) 점검 및 탐색(Inspection and exploration)
데이터 수집 후에는 해당 데이터를 점검하고 탐색하는 단계이다. 여기서는 데이터의 구조, 노이즈 데이터, 기계에 적합하게 데이터를 어떻게 정제해야하는지를 파악해야 한다.
이 단계를 탐색적 데이터 분석(Exploratory Data Analysis, EDA) 단계 라고 칭하며, 이는 독립 변수, 종속 변수, 변수 유형, 변수의 데이터 타입들을 점검하며 데이터의 특징과 내재하는 구조적 관계를 알아내는 과정을 의미한다. 이 과정에서 시각화와 간단한 통계 테스트를 진행하기도 한다.
3) 전처리 및 정제
해당 과정이 가장 까다로운 단계이며 많은 과정을 포함하고 있는데, NLP라면 토큰화, 정제, 정규화, 불용어 제거 등의 단계를 포함한다. 매우 까다로운 전처리의 경우에는 전처리 과정에서 머신 러닝이 사용되기도 한다.
4) 모델링 및 훈련
머신 러닝에 대한 코드를 작성하는 단계인 모델링 단계에 들어간다. 적절한 머신 러닝을 알고리즘을 선택하여 모델링이 완료됐다면, 위 과정을 거친 데이터를 머신 러닝 알고리즘을 통해 기계에게 학습, 훈련(training) 시킨다. 훈련이 제대로 마치게 되었다면 기계는 우리가 원하는 task인 기계 번역, 음성 인식, 텍스트 분류 등의 자연어 처리 작업(NLP)를 수행하게 된다.
여기서는 모든 데이터를 기계에 학습시켜서는 안되고 데이터 중 일부는 테스트용으로 남겨두어야 한다. 그래야만 기계까 학습을 하고, 현재 성능이 얼마나 되는지를 측정할 수 있으며 과적합 현상을 막을 수 있다.
출처 : https://wikidocs.net/31947
검증용 데이터 : 현재 모델의 성능, 즉 기계가 훈련용 데이터로 얼마나 학습이 되었는지를 판단하는 용으로 사용되며 모델의 성능을 개선하는데 사용됨 테스트용 데이터 : 모델의 최종 성능을 평가하는 데이터로 모델의 성능을 수치화하여 평가하기 위해 사용
5) 평가
기계가 다 학습이 되었다면 테스트용 데이터로 성능을 평가하게 된다. 평가 방법은 기계가 예측한 데이터가 테스트용 데이터의 실제 정답과 얼마나 가까운지를 측정한다.
6) 배포
기계가 성공적으로 훈련이 된 것으로 판단된다면, 완성된 모델이 배포되는 단계가 된다. 그러나 완성된 모델에 대한 전체적인 피드백에 대해서 모델을 변경해야하는 상황이 온다면 다시 처음부터 돌아가거나 전 단계로 돌아가는 상황이 발생할 수 있다.
참고자료
https://wikidocs.net/21698 https://creativecommons.org/licenses/by-nc-sa/2.0/kr/