개체명은 단어의 의미를 어느정도 파악하기 위해서 사용하는 방법으로 단어의 꼬리표를 다는 방법이다. 예를 들어, 홍길동이라는 것은 사람이름이고, 삼성전자는 기업이름이라고 한다면, 컴퓨터는 문서의 내용을 어느정도 이해할 수 있게 된다. 게다가 많은 개체명의 경우 복합 명사인 경우가 많은데 의미와 함께 단어를 복합명사로 추출하여, 강력한 분석용 단어를 추출할수도 있게 된다. 형태소 분석은 순수하게 의미가 있는 단어로 최대한 잘게잘게 나누기 때문에 문장의 뜻을 정확하게 알기 위해서는 분명 필요한 기능일 수 있으나, 데이터 분석에서 사용을 하게 되는 경우 너무 작은 단위의 단어는 feature만 늘어나게 되고, 문서간의 유사도 등을 비교하거나 검색에서 문서를 찾을 때에도 비효율적이 된다. 개체명 구현 코드 (Ko..
금칙어는 자연어 처리(NLP)에서 원치 않는 데이터를 제거하기 위한 방법중 가장 효과가 좋은 방법입니다. 형태소 분석으로 생성된 품사라든지, 개체명 사전에서 생성된 개체명이 마음에 들지 않을 경우 금칙어 사전을 만들어서 대응을 하는 것이죠. 품사 사전이나 개체명 사전에서 지우면 되는 것이 아니냐 할 수 있는데 사전이라는 것은 다양한 곳에서 활용이 될 수 있으며, 특정 서비스에서만 제거가 필요한 경우가 있을 수 있기 때문이고, 제대로 추출이 되었지만 필요가 없을 수도 있기 때문입니다. 금칙어 예제 소스 private Set STOP_KWD; public void action() { setStopKwd(); Komoran komoran = new Komoran(DEFAULT_MODEL.FULL); Strin..
코모란은 Java에서 사용하는 대표적인 오픈소스 형태소 분석기 중 하나이다. 사용하기가 매우 편리하고, 형태소 분석 성능 역시 뛰어나기 때문에 Java든 Python이든 많이 사용하고 있다. Pom.xml 우선 코모란을 설정하기 위해서 pom.xml 디펜던시(dependency)를 설정해야 하는데 코모란 디펜던시를 위해서 레파지토리도 추가해야 한다. Repository jitpack.io https://jitpack.io Dependency com.github.shin285 KOMORAN 3.3.4 위와 같이 pom.xml 설정이 완료되면, pom.xml을 업데이트하여, 디펜던시 jar 파일을 다운로드 한다. repository -> com -> github -> shin285 -> KOMORAN -> ..
자연어처리에 관련된 업무를 하기 위해서 가장 필요한 지식은 바로 품사에 대한 이해이다. 우리가 학창 시절에 공부를 했기 때문에 다들 품사가 무엇인지 어느정도 알고 있을테지만, 자연어처리를 더욱 잘 이해하기 위해서는 품사에 대한 이해를 학창 시절 이상으로 끌어올려야 한다. 게다가 자연어처리를 하는 대다수는 컴퓨터 공학을 전공한 이과생들이기 때문에 문과생들보다 품사에 대한 이해가 상대적으로 떨어질 수 있기에 자연어 처리를 할 때 사용하는 품사들의 종류가 무엇인지 조금 더 자세히 알아 볼 필요가 있다. 형태소 분석 품사를 붙이는 행위를 PoS(Part of Speech, 품사) Tagging이라고 한다. 형태소 분석은 의미있는 가장 작은 단위의 말(형태소)을 분석한다라는 뜻을 담고 있기에 Pos Tagging..