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

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

계속 읽기

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

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

계속 읽기

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

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

계속 읽기

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

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

계속 읽기

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

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

계속 읽기

Lucene 공개 한국어 형태소 분석기 개발 시작의 변

여러분과(?) 논의한 결과 여러 문제를 없애기 위해서는 기존에 내가 가지고 있던 C기반의 형태소 분석기 보다는 Lucene의 기반이 되는 Java언어로 만들기가 확장성 측면에서 좋을거 같다는 의견에 동의를 하고 자바기반 공개 한국어 형태소 분석기 개발을 시작하려 한다. 일단 Analyzer분석을 틈틈히 하고 있고, 테스트도 간간히 해보면서 기존의 Lucene이 가지고 있는 Tokenizer나 Filter의 특성을 파악하고 있는 중이다. 조금 보니까….쩝 […]

계속 읽기

형태소 분석기 개발의 전환점이 될거 같은 문서 획득

저번 대학원 임해창 교수님 수업시간에 논문관련해서 이런저런 이야기 해보다가 형태소 분석기를 개발해보는것이 어떠겠느냐 하는 말씀을 하시는걸 들었는데 그 와중에 문서 하나 보네주신다고 읽어보라고 하셨다. 그래서 어제 그 문서를 받았다. 우와~! 형태소 분석에 관한 문서는 모조리 다 읽었다고 생각했는데 대학원 연구실에 이런 보물이 숨어 있을줄 꿈에도 생각못했다. 개발하다가 모든 한국어 불규칙 처리에 관한 한국어 문법책을 찾아보러 […]

계속 읽기