토큰화
- 주어진 코퍼스에서 토큰이라 불리는 단위로 나누는 작업
- 보통 의미있는 단위로 토큰을 정의
단어 토큰화
- 토큰의 기준 : 단어
- 단어 단위 외에도 단어구, 의미를 갖는 문자열로도 간주
- ex) ‘가방을’을 하나의 단어로 간주한 후 토큰화
- 정제 작업을 수행했다고 하더라도 해결되지 않음
- 오히려 제대로 되지 않는 경우도 생김
토큰화 주의사항
- 토큰화 진행 시 토큰화 기준을 재고해야 하는 상황 발생 가능
- 이 경우 토큰화 도구 직접 설계 과정을 거칠 수 있음
- 토크나이징 라이브러리 잘 활용해야함
- 특수문자를 단순 제외를 하면 안됨
- 마침표 : 문장의 끝을 알려주는 구두점. 함부로 제거하면 안됨
- 단어 자체에 구두점을 가지고 있는 경우
- 날짜, 시간, 가격 등
- 줄임말(영어 ‘, .)의 경우에도 함부로 제거하면 안됨
- EX)A’s, T.N.T
문장 토큰화
- 토큰의 단위 : 문장
- 문장 분류라고도 함
- 미정제된 코퍼스의 경우 문장 단위로 구분할 때 필요한 과정
문장 토큰화 기준
- 직관적으로 생각하면 ?, ., !가 될 수 있음
- 하지만 꼭 그런 것만은 아님
- 예를들어 문장에 Ph.D.가 들어가있는 경우 마침표가 문장의 끝을 나타내는 기호가 아님
- 이 경우 마침표가 문장의 끝의 기준이 된다면 문장 토큰화가 제대로 안됨
한국어에서의 토큰화
- 영어의 경우 아주 일부의 예외처리만 한 후 띄어쓰기 기준으로 단어 토큰화 가능
- 한국어는 어절을 기준으로 토큰화할 시 부정확해지는 정도가 영어보다 큼
- 조사의 존재
- 조사의 존재로 서로 다른 단어로 분류될 수 있음
- 조사를 제거해줘야함
- 조사의 존재
- 영어에 비해 띄어쓰기가 어려움
- 띄어쓰기가 잘 지켜지는 경우가 많지 않다
- 형태소를 기준으로 토큰화를 해줘야함
품사태깅
- 품사에 따라 의미가 달라지는 경우 존재
from nltk.tag import pos_tag #nltk에서 품사 태깅 from konlpy.tag import Okt from konlpy.tag import Kkma #konlpy에서 품사 태깅