# (2강) 자연어의 전처리

> 데이터 전처리에 대해서

## 1. 자연어 전처리

* 원시데이터를 기계학습 모델이 학습하는데 적합하게 만드는 프로세스
* 학습에 사용될 데이터를 수집&가공하는 모든 프로세스

*Task의 성능을 가장확실하게 올릴 수 있는 방법이다.*

### 1.1. 자연어처리의 단계

1. Task설계
2. 필요데이터 수집
3. 통계학적 분석
   * Token 개수 -> 아웃라이어 제거
   * 빈도 확인 -> 사전 (dictionary) 정의
4. 전처리
   * 개행문자 제거, 특수문자 제거, 제목 제거 등등
5. Tagging
6. Tokenizing
   * 어절
   * 형태소
   * WordPiece
7. 모델설계
8. 모델 구현
9. 성능 평가
10. 완료

### 1.2. Python String 관련 함수

![](https://3944465397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjcKlzGhHYe2bvmxTwS%2F-Mk_Pk9Z5cs1-7j4Y4zs%2F-Mk_RnW-r-NZFoZQhVCq%2Fimage.png?alt=media\&token=01efc0a0-a4cb-4dea-97c4-44387def88f5)

![](https://3944465397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjcKlzGhHYe2bvmxTwS%2F-Mk_RqgceN04oX-Xzdy0%2F-Mk_RxnZ1VlaqEHCYYhd%2Fimage.png?alt=media\&token=3c8e7bb4-5025-4a87-bafb-00e753bb74f4)

![](https://3944465397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjcKlzGhHYe2bvmxTwS%2F-Mk_RqgceN04oX-Xzdy0%2F-Mk_S-6kyIhRLnY_tyNo%2Fimage.png?alt=media\&token=69c65de4-f6a7-453f-88aa-d20da3b214ce)

![](https://3944465397-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MjcKlzGhHYe2bvmxTwS%2F-Mk_RqgceN04oX-Xzdy0%2F-Mk_S2rWNkaKSdJMJB8x%2Fimage.png?alt=media\&token=4ea01fc9-4cb5-4e06-90df-c3987bd1c83d)

## 2. 한국어 토큰화

* **토큰화 (Tokenizing)**
  * 주어진 데이터를 토큰이라 불리는 단위로 나누는 작업
  * 토큰이 되는 기준은 다를 수 있음 (어절, 단어, 형태소, 음절, 자소 등)
* **문장 토큰화 (Sentence Tokenizing)**
  * 문장 분리
* **단어 토큰화 (Word Tokenizing)**
  * 구두점 분리, 단어 분리
  * "Hello, World!" -> "Hello", ",", "World","!"

한국어의 경우 어절의 의미를 가지는 최소 단위인 **형태소**로 분리\
ex) 안녕하세요 -> 안녕/NNG, 하/XSA, 세/EP, 요/EC

## 관련코드 Link

{% embed url="<https://drive.google.com/file/d/1hSVmqiDtJgaBmv4Ah928w2q6FLsen1wc/view?usp=sharing>" %}

{% embed url="<https://drive.google.com/file/d/1hRux6xzu16y0NuwTfckGesRCQPUTC8vu/view?usp=sharing>" %}
