본문 바로가기
Archive/TIL

[NLP] 텍스트 전처리

by 다람이도토리 2022. 4. 18.
19기 풀잎스쿨에 참여하게 되어,
개인적으로 풀잎을 사전 학습하며 정리한 내용을 담아 가려고 합니다.

텍스트 전처리

참고자료

[1] https://wikidocs.net/21694

단어 토큰화

토큰화란? 주어진 코퍼스에서 토큰이라는 단위로 글을 나누는 작업을 토큰화라 한다.

기본적인 토큰화는, 구두점을 지우고 특수문자를 전부 제거하는 cleaning으로 충분하다.
하지만 몇 가지 문제를 고려해야 한다.

(영어일 경우)
1. '를 어떻게 처리할까? (ex - Don't , George's,  It's ... 이런거를 어떻게 다 구분할까?)
2. 모든 구두점과 특수 문자를 제외해서는 안되다. (ex state-of-the-art 이런거를, 제외한다고? ㄹㅇㅋㅋ)

(햔국어일 경우)
1. 형태소 이슈 : 한국어는 띄어쓰기만으로는 구분할 수 없다.
  예시) 다람이가 책을 읽었다 -> '다람이가', '책을', '읽었다.' (X)
                                      -> '다람이', '-가', '책', '-을', '읽-', '-었-', '-다' (O)
2. 한국어를 정확하게 띄어쓰기 할 수 있을리가 없다.

정제 / 정규화

정제는, 노이즈 데이터를 제거하는 단계를 의미한다.
ex) 대소 문자의 통합, 불필요한 단어의 제거

불필요한 단어의 제거는 등장 빈도가 적거나, 길이가 짧은 단어(ex - 영어 2글자는 it, by, of등 주로 불용어가 해당될 것)

어간 추출(Stemming)과 표제어 추출(Lemmatization)

어간 추출과 표제어 추출은, 형태만 다르지만, 본질적으로 같은 단어를 하나의 단어로 일반화 시키는 작업이 된다.
-> 코퍼스의 복잡성을 줄일 수 있다!

표제어 추출 : 기본 사전형 단어의 추출(ex - am ,are, is -> be)
어간 추출 : 

단순히 어간 추출을 그대로 사용할 경우, 일괄적인 규칙을 사용해 사전에 없는 단어를 뱉을 경우가 존재한다.

'Archive > TIL' 카테고리의 다른 글

[NLP] Syntax Analysis / Language Model.  (0) 2022.05.03
[TIL] 품사 태깅 알고리즘들.  (0) 2022.04.23
[TIL] ROC Curve 복습  (0) 2022.03.22
[TIL] curl 읽기  (0) 2022.03.17
[TIL] 0313_ Python으로 request get/post하기  (0) 2022.03.13