Legacy/Library
KOMORAN ver 1.1 (자바 한글 형태소 분석기)
komoran 1.2(예정)
검색 엔진을 위한 색인기 추가
기존 어절 단위 형태소 분석기 외에 문장 단위 형태소 분석기 추가
komoran 1.1
-core library
-required library
-required data files
고유 명사 약 50만 단어 추가.
- 웹으로 수집 가능한 고유명사 추가
- 한글 위키피디아에 수록된 단어 목록 추가
기타 불규칙 변환 관련된 버그 수정.
사전 추가에 따라 최소 1G 이상의 메모리를 필요로 합니다. (-Xmx1G)
사용법은 1.0 버전 참조.
komoran 1.0
http://shineware.tistory.com/entry/KOMORAN-10
'Legacy > Library' 카테고리의 다른 글
KOMORAN 2.0 beta (7) | 2014.07.21 |
---|---|
KOMORAN ver 1.12 (자바 한글 형태소 분석기) (29) | 2013.06.19 |
KOMORAN ver 1.1 (자바 한글 형태소 분석기) (10) | 2013.06.08 |
KOMORAN ver 1.0 (자바 한글 형태소 분석기) (17) | 2013.05.18 |
KOMORAN ver 0.6 (자바 한글 형태소 분석기) (6) | 2013.04.02 |
KOMORAN ver 0.5 (자바 한글 형태소 분석기) (13) | 2013.03.19 |
Tag
'Legacy/Library'의 다른글
- 이전글KOMORAN ver 1.0 (자바 한글 형태소 분석기)
- 현재글KOMORAN ver 1.1 (자바 한글 형태소 분석기)
- 다음글KOMORAN ver 1.12 (자바 한글 형태소 분석기)
관련글
-
Keith Kim 2013.06.13 01:52
맥 Snow Leopard에서 콘솔에서는 한글이 다 깨져나오는군요. 왜 그런지는 모르겠습니다. 이클립스에서 돌려보니 한글이 바르게 나오긴 합니다만 결과가 1.0버전 페이지에 있는것과 다릅니다. 다음은 1.1에서의 결과입니다:
답글
Pair [first=안녕하세요, second=NNP]
Pair [first=?, second=SF]
Pair [first=좋, second=VA]
Pair [first=은, second=ETM]
Pair [first=아침, second=NNG]
Pair [first=이, second=VCP]
Pair [first=ㅂ니다, second=EC]
Pair [first=., second=SF]
그리고 작은것들이지만:
- 이 페이지에 있는 data.zip은 1.0버전의 샘플 코드에서는 datas/ 디렉토리를 사용합니다.
- 샘플코드를 돌리기위해서는 다음의 import를 명시해야 하는데 풀 샘플코드가 올라왔으면 좋겠군요.
import java.util.List;
import kr.co.shineware.nlp.komoran.core.MorphologyAnalyzer;
import kr.co.shineware.util.common.model.Pair;-
1. 한글 깨짐 현상
콘솔에서 따로 테스트는 실행해보지 않았습니다만, 기본적으로 UTF-8로 인코딩이 되어 있습니다. 한글이 깨지는건 아마 인코딩 문제이지 않을까 싶네요.
2, 1.0 버전과 1.1 버전의 결과 차이
1.1 버전에는 위키피디아에 있는 사전을 추가하였습니다. "안녕하세요"라는 한국 TV 프로그램명이 있는 관계로 고유 명사로 태깅 된 것 같습니다. 추후에 어떤 식으로 반영할지에 대해서 업데이트 하겠습니다 ^^;;
3. 그 외 작은 것들
정말 감사드립니다. 제가 이클립스만 사용하다 보니 생각이 많이 짧았네요. 말씀하신대로 예제의 샘플코드와 폴더 이름을 동일하게 하여 다른 분들의 혼동을 미연에 방지하겠습니다^^
진심으로 감사드립니다~ 앞으로도 지적 부탁드립니다~! ㅎㅎ
-
-
origin.R 2013.06.17 20:03
이렇게 유용한 라이브러리를 만들어주셔서 정말 감사합니다.
답글
저는 KOMORAN을 웹 컨텐츠를 분석하는데 사용하고 있습니다.
아주 잘 사용하고 있습니다.
한가지 궁금한 점이 있는데요,
MorphologyAnalyzer::analyze 메소드의 리턴 타입이
List<List<Pair<String,String>>> 인데요,
여기서, 리스트를 두 개를 쓰신 이유는 n-best 를 표현하려고 하신건가요? -
origin.R 2013.06.17 20:55
로딩 중에 런타임 에러가 생기는 경우가 있습니다.
답글
5~6번 돌릴 때 한번 씩 생기고 있구요, 에러가 발생하지 않을 경우엔, 정상적인 결과가 나옵니다.
(참고로, 저는 맥(마운틴라이언)을 쓰고 있으며, 이클립스(주노)에서 작업하고 있습니다. 인코딩은 utf-8로 세팅해놓은 상태입니다.)
다음은, 에러가 생기는 샘플 코드입니다.
import java.util.List;
import kr.co.shineware.nlp.komoran.core.MorphologyAnalyzer;
import kr.co.shineware.util.common.model.Pair;
import java.io.*;
public class exam {
public static void main(String[] args) {
System.out.println("Start");
MorphologyAnalyzer analyzer = new MorphologyAnalyzer("data/");
System.out.println("Done");
}
}
이 소스코드를 여러번 실행시키다 보면, 런타임 에러가 발생합니다.
(대략 10번 정도 실행시켜 보시면 에러를 만나실 수 있을겁니다.)
콜 스택은 다음과 같이 나옵니다.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3462)
at java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3269)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1787)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1348)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:70)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:77)
at kr.co.shineware.util.ds.trie.TrieNode.load(TrieNode.java:62)
at kr.co.shineware.util.ds.trie.TrieDictionary.load(TrieDictionary.java:113)
at kr.shineware.nlp.komoran.model.Observation.load(Observation.java:91)
at kr.shineware.nlp.komoran.model.Observation.<init>(Observation.java:28)
at kr.co.shineware.nlp.komoran.core.MorphologyAnalyzer.<init>(MorphologyAnalyzer.java:40)
at exam.main(exam.java:9)
또 사용해보다가 궁금한 점이 생기면 말씀드리겠습니다.
유용한 라이브러리 만들어 주셔서 정말 감사합니다!! -
-
kim 2017.02.22 17:41
안녕하세요. komoran으로 많은 도움 주셔서 감사합니다.
답글
질문이 있는데요.
grammar.in이나 dic.word에 보면 품사 뒤의 숫자는 어떻게 얻으신 것인지 알 수 있을까요?
탄로 NNG:10
앞당겨야 앞당기/VV 어야/EC:1
VV SS:9,VV:1,
감사합니다.