목록자연어처리 (3)
초보 개발자의 일기
노트북 설정을 다시 해야할 일이 있어 한창 여러가지를 테스트해보던 중에 Konlpy에서 이런 오류가 발생했다. from konlpy.tag import Okt okt = Okt() text = '환경 설정 중입니다. 노트북에 설치해야 할 게 너무 많네요' print(*okt.pos(text),sep='\n') SystemError: java.nio.file.InvalidPathException: Illegal char at index 55: C:\ProgramData\Anaconda3\Lib\site-packages\konlpy\java\* 사실 이 오류를 지난번에도 겪었기 때문에 아무렇지 않게... 저 경로로 들어가서 jvm.py를 열어 에스테리스크(* : 이하 별표)를 지웠다. 별표는 총 2개이다. ..
Cleaning and Normalization 코퍼스에서 용도에 맞게 토큰을 분류하는 작업이 앞서 포스팅 했던 '토큰화'이고, 토큰화 작업 전 후에는 데이터를 용도에 맞게 정리해주는 일이 함께한다. 정제는 코퍼스로부터 노이즈 데이터를 제거하는 것이고, 정규화는 표현방법이 다른 단어들을 통합시켜 같은 단어로 만들어 준다. '정규 분포'라는 단어와 '가우시안 분포'라는 단어가 있다. 이 둘은 같은 의미를 갖고 있으면서 표기가 다른다. KOR과 Korea 또한 표기가 다르지만 여전히 같은 의미를 지니고 있다. 정규화를 거치게 되면 둘 중 하나를 찾아도 함께 찾을 수 있게 된다. 영어권에서 대, 소문자를 통합하면 단어의 개수를 줄일 수 있다. 'Tea'와 'tea'가 있다. 이 둘은 다른 언어로 받아들여지는데..
Tokenizition 토큰(Token)이란 보통 화폐 대신에 유통되는 주조물 등을 말한다. 지금은 사용하지 않지만 버스 승차 시 사용했던 버스 토큰이나, 아직까지 사용되고 있는 지하철 토큰 등이 있다. 화폐의 경우 구겨지거나, 찢어지거나, 낙서가 되어 있어도 그 화폐의 가치는 변하지 않는다. 즉, 고유값을 가지고 있다. 그 고유값을 일정 모양의 주조물로 옮겨놓은 것을 토큰이라고 하는 것이다. (이것은 스스로 이해를 쉽게 하기 위해 생각해낸 예시이다.) 자연어처리에서의 토큰 또한 비슷한 개념이라고 생각하면 될 것 같다. 주어진 문장이나 큰 글에서 토큰(Token)이라 불리는 단위로 나누는 작업을 토큰화(Tokenization)라고 하며, 의미있는 부분을 토큰으로 정의한다. 다만 여기에서 의미있는 '부분'..