자연어처리(NLP)에서 토크나이징(Tokenizing)이란 데이터를 처리하기 위해서 최소한의 의미를 기반으로 토큰(Token)을 뽑는 것을 말한다. 형태소(Morpheme)는 언어에서 의미를 가지는 가장 작은 단위이기 때문에 토크나이징을 한다는 것은 사실 형태소를 기반으로 쪼개는 경우가 가장 많고, 결국 필드에서 형태소 분석는 토크나이징(자연어처리에 한함)과 유사한 의미로 사용된다. 그리고 형태소 분석(Morphological analysis)은 품사 기준으로 데이터를 분석하기 때문에 품사 태깅(part-of-speech tagging, POS tagging)과 거의 동의어(토크나이징 = 품사태깅 = 형태소 분석)로 사용한다. 실제로 필드에서 형태소 분석이란 대부분 단어를 품사 기준으로 분리하고 품사로 ..
자모의 정의 자모(子母, 字母)또는 낱자는 문자 체계의 한 요소로서 한글에서는 모음인 ㅏ나 ㅗ, ㄱ,ㅎ 따위를 일컫는다. 알파벳 체계에서도 위와 같은 특징이 존재하고 있으며 구어 형태로 쓰이는 모든 언어에서 자모는 음성학과 연관된다. 위키피디아 - 자모 자모 분리 자모를 분리하기 위해서는 jamo 라는 패키지를 설치하여 진행한다. github.com/JDongian/python-jamo JDongian/python-jamo Hangul syllable decomposition and synthesis using jamo. - JDongian/python-jamo github.com 위 깃허브는 자모 패키지를 만든 분의 깃헙이고, 패키지가 어떻게 처리가 되는 것인지 대충 알고리즘을 파악하면 좋을 것 같다...
오늘부터 티스토리(Tistory)의 데이터를 크롤링(Crawling)을 한 후, 추후 이 데이터를 기반으로 데이터를 분류(Classification), 회귀(Regression) 분석 등에 활용할 예정이다. 다양한 언어에서 데이터를 수집할 수 있지만, 필자는 자바(Java)언어가 베이스이기 때문에 데이터 수집과 전처리 단계에서는 자바를 활용할 예정이고, 데이터 분석은 파이썬(Python)과 R등을 이용해서 분석을 할 예정이다. 물론, TF-IDF나 나이브베이즈(Naive Bayes)같은 경우는 자바로도 충분히 쉽게 코딩하여 만들 수 있기 때문에 직접 코딩을 하면서 알고리즘을 설명하는 시간도 가질 예정이다. 티스토리 API 이해 우선 티스토리의 데이터를 크롤링하기에 앞서, 티스토리에서 제공하는 API를 이..
자바(Java)를 이용해서, 문자의 숫자, 영문, 한글등을 체크하는 방법은 다양하게 많이 존재한다. index 값을 체크하여 문자를 알아내는 고전적인 방식과 정규표현식을 사용해서 체크하는 방법, 그리고 라이브러리를 사용하여 간단하게 체크하는 방법등 여러가지 방식들이 존재한다. 이 포스팅에서는 3가지의 방식을 사용해보고, 각각의 장단점을 정리해보도록 한다. 1. String Index 기법 일단 고전적인 방법으로는 String index값을 이용해서, 한글자 한글자를 읽은 후 index 값이 무엇인지 확인해서 리턴하는 방식이다. 이 방식은 가장 확실하지만, 소스가 지저분해 보일 수 있다. 그리고, 그만큼 강력하다 Low Level의 메소드를 직접 만드는 방법이기 때문에 부가적인 작업(ex: 형태소 분석)들..