Python 스크립트로 간단하게 유니코드기반 음절정보 테이블을 완성했다.
일단 완성형 한글의 order에 맞춰서 테이블이 구현되어 있어 테이블의 순서에 따른 완성형 한글 코드를 기반으로 같은 음절을 표현하는 유니코드 한글 테이블을 만든 후 이걸 ‘{유니코드 한글:음절정보}’ 형식의 사전형식으로 저장을 했다.
그 뒤에 ‘가~힝’ 사이에 있는 모든 유니코드들(0xac00 ~ 0xd79d)을 순환해 가면서 위에서 만든 사전에 조회를 해가면서 정보를 추출해 테이블을 만들어 주었다.
뭐 몇가지 테이트 해보니 정확하게 만들어진거 같았지만 원본 테이블 자체에 오류가 있었다. 그러니까 ‘가~힐’까지밖에 정보가 없었던 것이다. 그래서 일일이 조사해서 비트연산하고 해서 ‘힘, 힙, 힛, 힝’에 대한 음절정보를 추가해서 다시 제너레이트 해주었다. (완전한 테이블이 되었넹…^^;)
그래서 기존 테이블 크기 6238개의 정보가 11166개의 유니코드 테이블로 뻥튀기 되었다. (거의 두배로…ㅡㅡ;)
이제 음소단위로 분리하는 모듈과 사전파일을 집어넣을 버클리 DB에 대한 인터페이스만 고민하면 실제 준비는 다 끝나리라 본다.
움…. 필요할지 모르니 오류 수정된 완성형 테이블 정보와 유니코드로 컨버팅 하는 Python 스크립트를 첨부한다.(강승식 교수님의 박사논문에 첨부된 음절정보테이블을 참고한 테이블이다.)
Lucene KoreanAnalyzer : 유니코드기반 음절정보 테이블 완성 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.