연구/형태소 분석 7

Github 꼬꼬마 repository is in private.

꼬꼬마 저작권이 학교에 있기에 마음대로 코드를 공유하거나 하면 안될 것 같다.아직까지는 별 문제가 없었지만, 향후에는 문제가 될 여지가 있기에 private으로 전환했다.이를 위해서 매달 7,000원을 지불하기로 큰 결심을 했다. 이전에 아래와 같은 큰 개선 항목들을 도출했었다.일정은 없고 러프하게 항목만 도출하였는데, 3번에 대해서만 JFlex를 이용해서 automata를 직접 작성해서 만드는 것으로 개선을 1차적으로 완료했다. 1) 사전 관리를 위한 새로운 프로젝트 생성2) 사전 Compile & Loading 통합3) Tokenizer 성능 개선 (품질 및 속도)4) 확률 모델 처리 모듈 오류 수정5) Lucene Wrapper 개발6) Socialization 기존 성능의 문제가 확률 모델에서 오..

다시 살아나는 꼬꼬마

마지막 블로그가 무려 6년 전이다. 학교 졸업 후 꼬꼬마에 대한 개발을 거의 하지 않고 있긴 했지만, 졸업 직전까지 수행한 작업으로 인해서 나름 꼬꼬마의 성능은 많이 향상 되었다.현재 버젼은 최근 마지막 배포 버젼(2011)에 비해서는 확률 모델 개선, 속도 개선 (무려 300배 가량 향상)이 되었다. 하지만 아직도 해야할 일들이 많다. 1) 사전 관리를 위한 새로운 프로젝트 생성아무래도 사전 기반이다보니 사전에 대한 의존성이 큰데, 신조어를 추가해주지 못하다 보니 성능이 떨어지는 부분들이 계속 발견된다. 이를 개선할 수 있도록 사전 관련 프로젝트를 하나 추가해서 독립적으로 개선해 나갈 생각이다. 2) 사전 Compile & Loading 통합꼬꼬마는 사전을 기반으로 후보 탐색을 하기에 사전의 성능에 따..

한글 형태소 분석기 개선 계획

처음으로 형태소 분석기를 만들어보고 개선한지 대략 2년 정도 된 것 같다. 단순 사전을 바탕으로 개발을 해오던 것이 이제는 나름 다양한 기술들을 적용시켰다. 여전히 즉흥적이고, 수작업을 요하는 작업들이 많이 있지만, 다양한 업그레이드 거친 것 같다. 사전 기반 형태소 태깅 동적 프로그래밍 적용 비트 기반 오퍼레이션으로 성능 개선 사전 정리 및 사전의확장성 개선 다른 방법들은 논문을 보고 구현해보면 되는 것들이었는데, 사전을 정비하는 것은 개인이 하기에 너무 힘든 일이고 쏟은 노력이 정말 눈물날 정도였던 것 같다. 일일이 수만 단어들을 보면서 눈 침침해지면서 단일 명사인지 복합명사인지 구분하고 태그 정보도 수정하고, 어휘가 단일 태그를 갖지 않도록 하고 참 많은 노력을 했다. 그러면서 국어에 대한 이해도 ..

형태소 분석기 0.9.1 배포 및 라이센싱

형태소 분석기에 대한 다양한 문의가 오고, 몇몇 분들이 라이센스에 대한 문의를 해주셔서 이를 정리하고자 한다. 정리하면서 몇 가지 이상한 분석 결과를 만들어내는 것들을 수정해서 재배포 한다. 1. Korean Morpheme Analyzer V0.9.1 by therocks. 이전 버젼들은 모두 삭제해서 지금 올라가는 것을 사용하는 것을 권장한다. * 수정된 점 1) 부정확한 띄어쓰기 추가 개선 '검색서비스를' 과 같은 문장을 처리할 때, 속도를 향상시키기 위해서 앞부분에서 적당히 검색결과가 나오면 띄어쓰기 처리를 해주고 다음 문자열들을 처리하도록 하였는데, 검색(명사)+서(조사)+[ ]+비(명사) 가 되는 순간 잘라버려서 서비스가 정상적으로 추출되지 않는 문제가 있었는데, 이를 5글자 이후에 처리하도록..

형태소 분석기 데모

형태소 분석기 코드를 정리해서 간단히 데모가 동작하도록 설치했다. 그와 동시에 코드를 다시 한번 훑어봤는데, 역시나 정리해야할 것들이 너무나 많다. 몇몇 경험적 지식(heuristic)을 적용했는데, 정규화된 형태로 코드에 적용되어 있지 않다. 한번 구조를 바꾸면 해야할 일이 너무 많기 때문에 쉽게 손대고 있진 못하지만, 어쨌든 단순 선후 조건이 아닌 어휘의 위치 정보를 반영할 수 있는 형태로 적용해야겠다. Shallow Parsing을 적용하면 결과가 더 좋아질 것 같은데, 수집해야할 정보와 변경해야할 코드가 너무 많아 쉽사리 손대지 못하겠다. ㅠ.ㅜ 사전 정보를 많이 모아놨으나, 정리해서 올리지 못하니 모으나 마나이다. 꼭 잘 정리해서 올려야겠지만, 당장 코가 석자라 여유가 없긴하다. 그래도 일단 사..

Java로 구현한 형태소 분석기 beta

구현한 형태소 분석기를 공개하고자 맘 먹은지 한참이 됐지만, 여러가지 이유로 공개를 미뤄왔었다. 과연 이걸 사용할 사람이 있을것인가? 테스트가 미진한데, 결과는 제대로 나올 것인가? 성능이 나올 것인가? 위의 세 가지가 나에게 공개에 대해서 확답을 주지 못했다. 사실 1번은 별 문제되진 않았지만, 2,3 번 때문에 계속 고민하고 있었다. 사실 사전 정비와 같이 추가로 계획하고 있던 일들을 마치고 공개하고자 했지만, 계속해서 미루고 있어서 이를 해결하고, 고민도 마무리가 되고 공개하는건 불가능해보인다. 그래서 문제가 있고, 아직 고민하고 있지만, 일단은 소스를 간단히 정리해서 공개한다. 사전자료가 이곳 저곳에서 긁어모은 것이라 출처도 일정치 않고, 주요 정보들이 아니라 말뭉치만 있으니 그리 문제되진 않을 ..

공개된 형태소 분석기가 필요하다!

상당히 오래 전부터 형태소 분석기를 구현하고 있었다. 초기에는 단지 문서에 대한 색인어를 추출하기 위해서 색인어 추출기를 만들었었는데, 그러다 보니 형태소 분석기가 필요하다는 생각이 들어 많은 시행착오 끝에 이를 구현했다. 사실 프로토 타입으로 구문 분석에도 적용하여 Opinion Mining에도 사용해 봤다. 아직은 국내에서 적용되는 Opinion Mining이나 구문 분석보다는 형태소 분석기가 더 어렵고 필요한 기술이라 생각이 든다. 물론 많은 자연어 처리 연구실에서 훌륭한 프로그램을 만들었지만, "공개"되어 사용할 수 있는 것은 없다. 물론 소스 수준에서 공개되어 필요에 따라 소스도 수정할 수 있는 것을 말한다. 실재로 Opinion Mining이나 구문 분석을 해보니 논문에 있는 내용을 적용하는 ..