KOMORAN 2.0은 1.0과 마찬가지로 자소 단위, 확률 기반의 형태소 분석기 입니다. 속도, 성능, 사전 관리 측면에서 기존 형태소 분석기와 차별되는 특징은 아래와 같습니다. 또한 기존 형태소 분석기와 달리 여러 어절을 하나의 품사로 분석 가능함으로써 형태소 분석기의 적용 도메인에 따라 공백이 포함된 고유명사(영화 제목, 음식점명, 노래 제목 등)를 더 정확하게 분석 할 수 있습니다.
- 속도
● 자소 단위 TRIE 사전 구성으로 사전 재탐색 횟수를 최소화하여 사전 탐색 속도 향상
● 내부 연산시 자료형을 정수로 치환하여 처리함으로써 연산 속도 향상
● Hash 기반의 Viterbi 알고리즘을 이용하여 분석 후보 탐색 속도 향상
- 성능
● 한국어에서 나타나는 불규칙을 학습 코퍼스 내에서 자동으로 추출하여 불규칙 어절에 대한 분석 정확률 향상
● TRIE 및 압축된 사전 정보를 사용하여 메모리 사용률 최소화 (50MB 이하에서도 동작)
- 사전 관리
● 사용자 사전을 추가하여 신조어, 고유명사 등의 분석 가능
● 기분석 사전을 적용하여 정확률 및 분석 속도 향상 가능
- 고유명사 분석(사용자 사전 적용)
● 기존 어절 단위 형태소 분석기와는 달리 복수 어절 단위 형태소 분석이 가능함으로써 사용자 도메인에 맞는 유연한 결과 제공
◆ 사용자 사전 등록 내용
바람과 함께 사라지다/NNP
운명처럼 널 사랑해/NNP
◆ 입력 문장
바람과 함께 사라지다랑 운명처렁 널 사랑해 중에 뭐가 더 재밌어?
◆ 분석 결과
바람과 함께 사라지다/NNP+랑/JKB
운명처럼 널 사랑해/NNP
중/NNB+에/JKB
뭐/NP+가/JKS
더/MAG
재밌/VA+어/EF+?/SF
//압축해제된 data file(models.zip)의 경로를 지정하여 객체 생성
Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");
List<List<Pair<String,String>>> result = komoran.analyze("안녕하세요? 좋은 아침입니다.");
for (List<Pair<String, String>> eojeolResult : result) {
for (Pair<String, String> wordMorph : eojeolResult) {
System.out.println(wordMorph);
}
System.out.println();
}
위 소스를 실행한 결과는 아래와 같습니다.
Pair [first=안녕, second=NNG]
Pair [first=하, second=XSV]
Pair [first=시, second=EP]
Pair [first=어요, second=EF]
Pair [first=?, second=SF]
Pair [first=좋, second=VA]
Pair [first=은, second=ETM]
Pair [first=아침, second=NNG]
Pair [first=이, second=VCP]
Pair [first=ㅂ니다, second=EF]
Pair [first=., second=SF]
기분석 사전은 아래와 같이 setFWDic(“기분석 사전 파일명”)을 이용하여 적용 가능합니다.
Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");
//기분석 사전 적용
komoran.setFWDic("fwd.user");
Komoran komoran = new Komoran("D:\\4_Shineware\\05_KOMORAN_2.0\\models");
//기분석 사전 적용
komoran.setUserDic("dic.user");
현재 베타버전이므로 안정성에 문제가 있을 수 있습니다. 사용하시다가 문제점이 생기면 연락부탁드립니다.
=========================[2014-07-26 추가]=========================
분석 중 에러가 발생하는 치명적인 오류를 발견하여, 소스 수정 후 komoran-2.0.1-beta.jar 버전으로 변경하였습니다. 기존의 komoran-2.0-beta.jar를 사용하시는 분은 신규 버전으로 업데이트 하셔서 사용하시기 바랍니다.
(소중한 피드백 주신 강재용님께 진심으로 감사드립니다!)
=========================[2014-07-27 추가]=========================
공백이 여러개 포함된 경우에 에러를 발생시키는 오류를 발견하여, 소스 수정 후 komoran-2.0.2-beta.jar 버전으로 변경하였습니다.
(소중한 피드백 주신 origoni 님께 감사드립니다!)
=========================[2014-07-29 추가]=========================
사용자 사전 포맷이 잘못되어 있던 오류를 발견하여, 소스 수정 후 komoran-2.0.3-beta.jar 버전으로 변경하였습니다. (나옹님 감사드립니다)
=========================[2014-08-05 추가]=========================
기타 버그 및 안정화 작업을 진행하여, 소스 수정 후 komoran-2.0.4-beta-e.jar 버전으로 변경하였습니다.
'Legacy > Library' 카테고리의 다른 글
KOMORAN ver 2.1.1 (자바 한국어 형태소 분석기) (10) | 2014.08.18 |
---|---|
KOMORAN ver 2.1 (자바 한국어 형태소 분석기) (18) | 2014.08.11 |
KOMORAN 2.0 beta (7) | 2014.07.21 |
KOMORAN ver 1.12 (자바 한글 형태소 분석기) (29) | 2013.06.19 |
KOMORAN ver 1.1 (자바 한글 형태소 분석기) (10) | 2013.06.08 |