PyKomoran github 페이지에 사용법을 확인할 수 있게 링크가 걸려있다. 그런데 링크를 눌러보면 서버가 망가진 건지 도메인 갱신을 안 하신 건지 페이지 오류가 떠서 확인할 수가 없다.
PyKomoran 덕분에 프로젝트를 성공적으로 배포할 수 있었기 때문에 PyKomoran 함수들에 대해 정리 해본다.
PyKomoran
install
pip install PyKomoran
대문자, 소문자가 섞여있으니 주의가 필요하다
import
from PyKomoran import Komoran, DEFAULT_MODEL
보통은 이 두가지만 import 하면 문제 없이 사용 가능할 것이다.
생성자
komoran = Komoran(DEFAULT_MODEL['LIGHT'])
이와 같이 LIGHT 모델을 사용하는 komoran 생성자를 만들 수 있다.
komoran = Komoran(DEFAULT_MODEL['FULL'])
FULL 모델을 사용하는 komoran 생성자를 만들 수도 있다.
max_heap_size를 키워드 매개변수로 사용하면 jvm에서 사용하는 max heap size를 조절 가능하다.
메소드
get_list()
komoran.get_list('이것은 테스트 문장입니다')
[이것/NP, 은/JX, 테스트/NNG, 문장/NNG, 이/VCP, ㅂ니다/EC]
konlpy와는 결과가 다르다. konlpy에서는 (형태소, 품사) 튜플 리스트를 반환한다.
PyKomoran은 새로 정의된 타입의 pair 리스트를 반환한다.
PyKomoran.type.Pair 가 위 리스트의 각 원소의 타입이다.
get_morphes_by_tags()
komoran.get_morphes_by_tags('이것은 테스트 문장입니다')
['이것', '은', '테스트', '문장', '이', 'ㅂ니다']
품사 정보 없이 각 형태소만을 리스트로 반환한다.
get_morphes_by_tags(): 키워드 매개변수 tag_list
tag_list를 지정해주면 해당 태그(품사)들의 형태소만 반환한다.
특정 품사들만 원한다면 유용하다.
komoran.get_morphes_by_tags('이것은 테스트 문장입니다', tag_list=['NP', 'NNG'])
['이것', '테스트', '문장']
get_nouns()
komoran.get_nouns('이것은 테스트 문장입니다')
['테스트', '문장']
의아한 건 NP 태그는 추출하지 않는다는 것이다. NP는 대명사를 의미한다.
get_plain_text()
komoran.get_plain_text('이것은 테스트 문장입니다')
'이것/NP 은/JX 테스트/NNG 문장/NNG 이/VCP ㅂ니다/EC'
'형태소/태그' 들 사이에 띄어쓰기를 추가한 하나의 문자열을 반환한다.
get_token_list()
komoran.get_token_list('이것은 테스트 문장입니다')
[이것/NP(0,2),
은/JX(2,3),
테스트/NNG(4,7),
문장/NNG(8,10),
이/VCP(10,11),
ㅂ니다/EC(10,13)]
형태소/태그 뒤에 숫자가 추가적으로 붙는다
morphes()
komoran.morphes('이것은 테스트 문장입니다')
['테스트', '문장']
결과를 보면 get_nouns()와 비슷하게 명사 추출하는 함수로 보인다.
nouns()
komoran.nouns('이것은 테스트 문장입니다')
['테스트', '문장']
get_nouns()와 같은 역할을 한다. konlpy 사용자를 위해 추가된 함수라고 한다.
pos()
komoran.pos('이것은 테스트 문장입니다')
[이것/NP(0,2),
은/JX(2,3),
테스트/NNG(4,7),
문장/NNG(8,10),
이/VCP(10,11),
ㅂ니다/EC(10,13)]
get_token_list()와 같다고 여겨진다.
set_fw_dic()
기분석 사전을 사용하기 위해 매개변수로 파일 경로를 넣어준다.
set_user_dic()
사용자 정의 사전을 만든 뒤 파일 경로를 매개변수에 넣으면 사전에 있는 단어를 사전에 정의된 품사로 인식합니다.
'프로젝트 > 리뷰집' 카테고리의 다른 글
[리뷰집] 프로젝트 소개 (0) | 2021.02.15 |
---|---|
python 메모리와의 전쟁[종지부] - konlpy를 버리고 PyKomoran을 선택하다 (2) | 2021.02.15 |
OrderedDict의 배신 - not ordered (0) | 2021.02.15 |
python 메모리와의 전쟁 - pandas의 거대함, pickle의 압축력 (0) | 2021.02.15 |
꼬꼬마(kkma)의 메모리 효율 문제 - konlpy 품사 태거에 대해 (0) | 2021.02.14 |