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 |