형태소분석기

오랫동안 끌어왔던 한국어 사전 인터페이스를 완료 했다. 동적으로 커넥션 관리(품사별로 음절 길이에 따른)를 하게끔 제작을 했고 말이 많았던 Hash, Trie모듈을 이용한 메모리 로딩은 잠시 미루기로 했다. Eclipse로 그려본 사전쪽 클래스 구조다. (품사 음절별 사전 객체는 무조건 하나만 생성된다. 그리고 그 사전객체의 커넥션은 접속을 끊기전에는 계속 연결시켜 놓았다.(색인시 종종 쓰기보다는 매우 자주 사용되기 때문이다.)) 그리고 제공 [...]

Continue reading about Lucene KoreanAnalyzer : 사전 인터페이스 및 음절정보테이블 룩업 메서드 제작 완료

고감자 on 8월 15th, 2006

오늘 고작 사전써치 인터페이스를 만들었다. 1. 각 사전마다 커넥션은 하나 (싱글톤 패턴) 2. 각 품사 사전 싱글톤 객체를 통해서 사전에 접근할 수 있다.(각 사전파일의 메모리 로딩 여부가 저장되어 있다. <- 나중에 구현할 예정) 3. 품사 사전에 대한 쿼리 정보를 잘못 입력했을 경우를 대비한 예외처리 기능들 4. 그리고 테스트 모듈들 별 기능에 대한 구현은 없었지만 나름대로 [...]

Continue reading about Lucene KoreanAnalyzer : 사전써치 인터페이스

Java 실행파일 하나로 완성을 하긴 했지만 실제 바이너리트리로 되어 있던 사전 파일에서 추출해서 품사별DB 내에 음절별DB로 분리해서 저장을 했고 추가로 단어에 대한 설명이 필요할 경우를 대비해 Extra 영역까지 할당을 해놓았다. 쓸데없이 품사정보를 개개의 단어마다 정보를 넣어두었는데 그렇게 할 필요를 못느낀게 사실이지만 일단 넣어두도록 하자. (용량이 상당히 늘어났다. 1메가가 채 되지 않던 파일이 7메가가 되었으니…내일 바로 [...]

Continue reading about Lucene KoreanAnalyzer : 14만 한국어 사전 파일 완성

유니코드 한글 자소 분리모듈에 대한 설명을 conv2님의 도움을 받아서 분석을 하고 음소분리정보테이블을 추가해서 Jaso클래스를 만들었다. 그런데 이뿐만 아니라 음소에서 음절로 만들어지는 메서드가 있어야함을 느껴서(실제 빈번하게 쓰인다.) 만들고자 했는데 전에 포스팅한 유니코드 생성 원리 포스팅에 쓴 함수를 적용하기 위해서는 음소정보를 이용한 인덱스 번호 추출이 필요했다. 한 글자의 유니코드 값 계산 법 = 0xAC00(유니코드 한글 시작점) + [...]

Continue reading about Lucene KoreanAnalyzer : 음소 <-> 음절 클래스 제작

Python 스크립트로 간단하게 유니코드기반 음절정보 테이블을 완성했다. 일단 완성형 한글의 order에 맞춰서 테이블이 구현되어 있어 테이블의 순서에 따른 완성형 한글 코드를 기반으로 같은 음절을 표현하는 유니코드 한글 테이블을 만든 후 이걸 ‘{유니코드 한글:음절정보}’ 형식의 사전형식으로 저장을 했다. 그 뒤에 ‘가~힝’ 사이에 있는 모든 유니코드들(0xac00 ~ 0xd79d)을 순환해 가면서 위에서 만든 사전에 조회를 해가면서 정보를 추출해 [...]

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