Lucene KoreanAnalyzer : 유니코드기반 음절정보 테이블 완성

Python 스크립트로 간단하게 유니코드기반 음절정보 테이블을 완성했다.

일단 완성형 한글의 order에 맞춰서 테이블이 구현되어 있어 테이블의 순서에 따른 완성형 한글 코드를 기반으로 같은 음절을 표현하는 유니코드 한글 테이블을 만든 후 이걸 ‘{유니코드 한글:음절정보}’ 형식의 사전형식으로 저장을 했다.

그 뒤에 ‘가~힝’ 사이에 있는 모든 유니코드들(0xac00 ~ 0xd79d)을 순환해 가면서 위에서 만든 사전에 조회를 해가면서 정보를 추출해 테이블을 만들어 주었다.

뭐 몇가지 테이트 해보니 정확하게 만들어진거 같았지만 원본 테이블 자체에 오류가 있었다. 그러니까 ‘가~힐’까지밖에 정보가 없었던 것이다. 그래서 일일이 조사해서 비트연산하고 해서 ‘힘, 힙, 힛, 힝’에 대한 음절정보를 추가해서 다시 제너레이트 해주었다. (완전한 테이블이 되었넹…^^;)

그래서 기존 테이블 크기 6238개의 정보가 11166개의 유니코드 테이블로 뻥튀기 되었다. (거의 두배로…ㅡㅡ;)

이제 음소단위로 분리하는 모듈과 사전파일을 집어넣을 버클리 DB에 대한 인터페이스만 고민하면 실제 준비는 다 끝나리라 본다.

움…. 필요할지 모르니 오류 수정된 완성형 테이블 정보와 유니코드로 컨버팅 하는 Python 스크립트를 첨부한다.(강승식 교수님의 박사논문에 첨부된 음절정보테이블을 참고한 테이블이다.)

XfPkzL38tg.py

CC BY-NC 4.0 Lucene KoreanAnalyzer : 유니코드기반 음절정보 테이블 완성 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.