PyKomoran.core module¶
- 
class PyKomoran.core.Komoran(model_path, max_heap=1024)¶
- Bases: - object- Komoran(Java)의 Python Wrapper Class입니다. - Parameters: - model_path (str) – Komoran 객체 초기화를 위한 model path (절대 경로)
- max_heap (int) – JVM의 Max Heap Size (기본값: 1024, 단위:MB)
 - Examples - 기본 모델( - STABLE,- EXP) 외에 사용자가 직접 생성한 모델이 위치하는- 절대 경로를 이용하여 Komoran 객체를 생성할 수 있습니다.- >>> # 기본으로 제공하는 LIGHT 모델로 Komoran 객체를 생성합니다. >>> komoran = Komoran("STABLE") >>> # 기본으로 제공하는 FULL 모델로 Komoran 객체를 생성합니다. >>> komoran = Komoran("EXP") >>> # 사용자가 미리 생성 모델로 Komoran 객체를 생성합니다. >>> komoran_user = Komoran("/some/where/path/Komoran/Model") - 
get_list(sentence)¶
- 입력 문장의 형태소 분석 결과를 - Pair의 목록으로 반환합니다.- Parameters: - sentence (str) – 분석할 문장 - Returns: - 형태소 - Pair의 List- Return type: - list - Examples - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_list("① 대한민국은 민주공화국이다.") [①/SW, 대한민국/NNP, 은/JX, 민주공화국/NNP, 이/VCP, 다/EF, ./SF] 
 - 입력 문장의 형태소 분석 결과 중, 주어진 품사들만 반환합니다. 주어진 품사가 없을 경우 전체 형태소를 반환합니다. - Parameters: - sentence (str) – 분석할 문장
- tag_list (list) – 반환받을 품사 목록 (기본값: 전체 형태소)
 - Returns: - 입력 문장의 주어진 품사들에 해당하는 형태소(str) List - Return type: - list - Examples - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_morphes_by_tags("① 대한민국은 민주공화국이다.", tag_list=['NNP', 'NNG', 'SF']) ['대한민국', '민주공화국', '.'] >>> # tag_list를 지정하지 않으면(=빈 List를 tag_list로 제공하면) 아무런 형태소도 반환하지 않습니다. >>> komoran.get_morphes_by_tags("① 대한민국은 민주공화국이다.", tag_list=[]) [] 
 - 
get_nouns(sentence)¶
- 입력 문장의 형태소 분석 결과 중, 명사류만 반환합니다. - Parameters: - sentence (str) – 분석할 문장 - Returns: - 입력 문장의 명사류에 해당하는 형태소(str) List - Return type: - list - Examples - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_nouns("① 대한민국은 민주공화국이다.") ['대한민국', '민주공화국'] 
 - 
get_plain_text(sentence)¶
- 입력 문장의 형태소 분석 결과를 품사 태깅된 형태로 반환합니다. - Parameters: - sentence (str) – 분석할 문장 - Returns: - 입력 문장에 형태소 별로 품사 태깅된 형태 - Return type: - str - Examples - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_plain_text("① 대한민국은 민주공화국이다.") '①/SW 대한민국/NNP 은/JX 민주공화국/NNP 이/VCP 다/EF ./SF' 
 - 
get_token_list(sentence, flatten=True, use_pos_name=False)¶
- 입력 문장의 형태소 분석 결과를 - Token의 목록으로 반환합니다.- Parameters: - sentence (str) – 분석할 문장
- flatten (bool) – 어절 무시 여부 (기본값: True)True인 경우 어절을 무시하고 하나의 List로 반환합니다.False인 경우 어절별로 List를 만들어 List of List로 반환합니다.
- use_pos_name (bool) – 품사 이름 사용 여부 (기본값: False)True인 경우 품사 기호 대신 품사 이름을 사용합니다.False인 경우 품사 기호를 사용합니다.
 - Returns: - 형태소 - Token의 List- Return type: - list - Examples - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_token_list("① 대한민국은 민주공화국이다.") [①/SW(0,1), 대한민국/NNP(2,6), 은/JX(6,7), 민주공화국/NNP(8,13), 이/VCP(13,14), 다/EF(14,15), ./SF(15,16)] >>> komoran.get_token_list("① 대한민국은 민주공화국이다.", flatten=False) [[①/SW(0,1)], [대한민국/NNP(2,6), 은/JX(6,7)], [민주공화국/NNP(8,13), 이/VCP(13,14), 다/EF(14,15), ./SF(15,16)]] >>> komoran.get_token_list("① 대한민국은 민주공화국이다.", use_pos_name=True) [①/기타기호(논리수학기호,화폐기호)(0,1), 대한민국/고유 명사(2,6), 은/보조사(6,7), 민주공화국/고유 명사(8,13), 이/긍정 지정사(13,14), 다/종결 어미(14,15), ./마침표,물음표,느낌표(15,16)] 
 - 
morphes(sentence)¶
- konlpy에 익숙한 분들을 위한 - get_morphes_by_tags()메소드의 별칭입니다.- 전체 형태소를 목록 형태로 반환합니다. 
 - 
nouns(sentence)¶
- konlpy에 익숙한 분들을 위한 - get_nouns()메소드의 별칭입니다.- 명사 형태소를 목록 형태로 반환합니다. 
 - 
pos(sentence, flatten=True)¶
- konlpy에 익숙한 분들을 위한 - get_token_list()메소드의 별칭입니다.- 전체 형태소를 - Token의 목록 형태로 반환하기 때문에 join 은 사용하지 않습니다.
 - 
set_fw_dic(dic_path)¶
- 기분석 사전을 적용합니다. - Parameters: - dic_path (str) – 기분석 사전이 존재하는 경로 (절대 경로) - Examples - 이 예제에서는 사용자 사전 적용 전/후의 형태소 분석 결과를 비교합니다. - 사용자 사전이 위치한 경로는 /Users/9bow/Workspace/KOMORAN/fwd.user 이고, 파일 내용은 아래와 같다고 가정합니다. - # 이 파일은 기분석 사전입니다. # 기분석 사전은 어절이 100% 일치하는 경우에만 적용이 됩니다. # 분석된 결과의 품사열은 grammar에서 출현 가능한 형태여야 합니다. 샤인웨어 NNP - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_plain_text("샤인웨어는 자연어 처리를 연구합니다.") '샤인/NNP 웨어/NNG 는/JX 자연어/NNP 처리/NNG 를/JKO 연구/NNG 하/XSV ㅂ니다/EF ./SF' >>> komoran.set_user_dic("/Users/9bow/Workspace/KOMORAN/fwd.user") >>> komoran.get_plain_text("샤인웨어는 자연어 처리를 연구합니다.") '샤인웨어/NNP 는/JX 자연어/NNP 처리/NNG 를/JKO 연구/NNG 하/XSV ㅂ니다/EF ./SF' 
 - 
set_user_dic(dic_path)¶
- 사용자 사전을 적용합니다. - Parameters: - dic_path (str) – 사용자 사전이 존재하는 경로 (절대 경로) - Examples - 이 예제에서는 사용자 사전 적용 전/후의 형태소 분석 결과를 비교합니다. - 사용자 사전이 위치한 경로는 /Users/9bow/Workspace/KOMORAN/dic.user 이고, 파일 내용은 아래와 같다고 가정합니다. - # 이 파일은 사용자 사전 파일입니다. # 입력 문장 내에 사용자 사전에 포함된 내용이 있는 구간에 대해서는 해당 품사를 출력하게 됩니다. # 형태소의 품사를 적지 않으면 기본적으로 고유명사(NNP)로 인지합니다. 샤인웨어 NNP TV는 사랑을 싣고 NNP - >>> # komoran은 Komoran 객체입니다. >>> komoran.get_plain_text("샤인웨어에서 단체로 캡틴 마블을 관람했습니다.") '샤인/NNP 웨어/NNG 에서/JKB 단체/NNG 로/JKB 캡틴 마블/NNP 을/JKO 관람/NNG 하/XSV 았/EP 습니다/EF ./SF' >>> komoran.set_user_dic("/Users/9bow/Workspace/KOMORAN/dic.user") >>> komoran.get_plain_text("샤인웨어에서 단체로 캡틴 마블을 관람했습니다.") '샤인웨어/NNP 에서/JKB 단체/NNG 로/JKB 캡틴 마블/NNP 을/JKO 관람/NNG 하/XSV 았/EP 습니다/EF ./SF'