Java 실행파일 하나로 완성을 하긴 했지만 실제 바이너리트리로 되어 있던 사전 파일에서 추출해서 품사별DB 내에 음절별DB로 분리해서 저장을 했고 추가로 단어에 대한 설명이 필요할 경우를 대비해 Extra 영역까지 할당을 해놓았다.
쓸데없이 품사정보를 개개의 단어마다 정보를 넣어두었는데 그렇게 할 필요를 못느낀게 사실이지만 일단 넣어두도록 하자. (용량이 상당히 늘어났다. 1메가가 채 되지 않던 파일이 7메가가 되었으니…내일 바로 수정을 할 수도 있을거 같다.ㅡㅡ;)
아래와 같은 품사를 DB화 하였다.
adjective 형용사
adverb 부사
article 관형사
eomi 어미
interjection 감탄사
noun 명사
numeral 수사
postword 조사
prefix 접두사
pronoun 대명사
suffix 접미사
verb 동사
이 DB를 만드는데 가장 애로사항이였던 부분은 바로 사전파일에서 품사별로 추출하는 스크립트의 문제였는데(예전에 내가 만든..), 특히나 명사가 정확히 음절별로 분리가 안되어 있었다. 실제 이 문제는 상당히 중요한 버그였는데 버클리DB로 만들면서 이걸 발견해 약간의 노가다가 있었지만 정규식과 디버깅으로 눈으로 확인해 가면서 DB수정을 하였다.
일단 DB를 만들기 위한 Java파일은 엉망인 누더기 코드로 작성 되었지만 사전검색하는 인터페이스는 좀 신경써서 하도록 하자! (사실 나중에 공개 사전 프로젝트를 한다면 이 코드가 쓰일지도 모르겠다. 그 전까지는 그냥 이렇게 유지하자!)
전에 만들때 사전의 무결성을 전혀 의심하지 않았는데 그 부분이 이번 일에서 가장 많은 시간을 잡아먹은 것이 되어 버렸다. 역시나 어느 레벨에서는 사람의 눈으로 꼭 확인해야될 부분이 있는거 같다는 생각이 든다.
Lucene KoreanAnalyzer : 14만 한국어 사전 파일 완성 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.