55from PyKomoran .type import Pair
66from PyKomoran .type import Token
77from PyKomoran .type import Pos
8+ from PyKomoran .type import DEFAULT_MODEL
89
910__all__ = ['Komoran' ]
1011
@@ -26,29 +27,31 @@ class Komoran:
2627 max_heap (int): JVM의 Max Heap Size (기본값: ``1024``, 단위: ``MB``)
2728
2829 Examples:
29- 기본 모델(FULL, LIGHT) 외에 사용자가 직접 생성한 모델이 존재하는 곳의 ``절대 경로`` 를 이용하여 Komoran 객체를 생성할 수 있습니다.
30+ 기본 모델( ``DEFAULT_MODEL['FULL']`` , ``DEFAULT_MODEL['LIGHT']`` ) 외에 사용자가 직접 생성한 모델이 위치하는
31+ ``절대 경로`` 를 이용하여 Komoran 객체를 생성할 수 있습니다.
3032
31- >>> # DEFAULT_MODEL.FULL 로 Komoran 객체를 생성합니다.
32- >>> komoran_full = Komoran()
33- >>> # DEFAULT_MODEL.LIGHT 로 Komoran 객체를 생성합니다.
34- >>> komoran_light = Komoran("./models_light" )
33+ >>> # 기본으로 제공하는 LIGHT 모델로 Komoran 객체를 생성합니다.
34+ >>> komoran = Komoran(DEFAULT_MODEL['LIGHT'] )
35+ >>> # 기본으로 제공하는 FULL 모델로 Komoran 객체를 생성합니다.
36+ >>> komoran = Komoran(DEFAULT_MODEL['FULL'] )
3537 >>> # 사용자가 미리 생성 모델로 Komoran 객체를 생성합니다.
36- >>> komoran_user = Komoran("/home/user /Komoran/Model")
38+ >>> komoran_user = Komoran("/some/where/path /Komoran/Model")
3739
3840 """
3941
40- def __init__ (self , model_path = "./models_full" , max_heap = 1024 ):
41- self . _base_path = os . path . dirname ( os . path . realpath ( __file__ ))
42- self . _model_path = os . path . abspath ( os . path . join ( self . _base_path , model_path ) )
42+ def __init__ (self , model_path , max_heap = 1024 ):
43+ if max_heap <= 0 :
44+ raise KomoranError ( "Heap size for JVM is too small!" )
4345
44- assert os .path .exists (self ._model_path )
46+ if not os .path .exists (model_path ):
47+ raise KomoranError ("model does NOT exist!" )
4548
4649 self .pos_table = Pos ()
4750
4851 jvm .init_jvm (max_heap )
4952 self ._komoran = jvm .get_jvm ().kr .co .shineware .nlp .pykomoran .KomoranEntryPoint ()
5053
51- self ._komoran .init (self . _model_path )
54+ self ._komoran .init (model_path )
5255 if not self ._komoran .isInitialized ():
5356 raise KomoranError ("Komoran is NOT initialized!" )
5457
@@ -287,7 +290,7 @@ def pos(self, sentence, flatten=True):
287290
288291
289292if __name__ == '__main__' :
290- komoran = Komoran (DEFAULT_MODELS ['FULL' ])
293+ komoran = Komoran (DEFAULT_MODEL ['FULL' ])
291294 str_to_analyze = "① 대한민국은 민주공화국이다. ② 대한민국의 주권은 국민에게 있고, 모든 권력은 국민으로부터 나온다."
292295
293296 print (komoran .get_nouns (str_to_analyze ))
0 commit comments