KoalaNLP Python3 API

API 목록

koalanlp.API.ARIRANG = 'arirang'

아리랑. 현재 API.arirang Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.CORE = 'core'

분석기 Interface 정의 라이브러리. 현재 API.core Version 버전이 최신입니다. 편의기능을 제공하며 타 분석기 참조시 함께 참조됩니다.

koalanlp.API.DAON = 'daon'

다온. 현재 API.daon Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.ETRI = 'etri'

ETRI Open API. 현재 API.etri Version 버전이 최신입니다.

koalanlp.API.EUNJEON = 'eunjeon'

은전한닢. 현재 API.eunjeon Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.HNN = 'hnn'

한나눔. 현재 API.hnn Version 버전이 최신입니다. 문장분리, 품사분석, 구문분석, 의존분석이 가능합니다.

koalanlp.API.KHAIII = 'khaiii'

Khaiii. 현재 API.khaiii Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.KKMA = 'kkma'

꼬꼬마. 현재 API.kkma Version 버전이 최신입니다. 품사분석, 의존분석만 가능합니다.

koalanlp.API.KMR = 'kmr'

코모란. 현재 API.kmr Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.OKT = 'okt'

트위터. 현재 API.okt Version 버전이 최신입니다. 문장분리, 품사분석만 가능합니다.

koalanlp.API.RHINO = 'rhino'

라이노. 현재 API.rhino Version 버전이 최신입니다. 품사분석만 가능합니다.

koalanlp.API.UTAGGER = 'utagger'

UTagger. 현재 API.utagger Version 버전이 최신입니다.

koalanlp.API.is_python_native(api)
koalanlp.API.query(api: str, type: str)

품사, 기능 표지자 등

class koalanlp.types.CoarseEntityType(reference)

기반 클래스: koalanlp.types._JavaEnum

ETRI 개체명 대분류

static valueOf(name: str)

해당하는 name과 일치하는 CoarseEntityType 값을 돌려줍니다.

매개변수

name (str) – 값을 찾을 명칭.

반환 형식

CoarseEntityType

반환값

일치하는 CoarseEntityType값

static values()

CoarseEntityType 값들을 모두 돌려줍니다.

반환 형식

Set[CoarseEntityType]

반환값

모든 개체명 태그의 Set

class koalanlp.types.DependencyTag(reference)

기반 클래스: koalanlp.types._JavaEnum

ETRI 의존구문구조 기능표지자

static valueOf(name: str)

해당하는 name과 일치하는 DependencyTag 값을 돌려줍니다.

매개변수

name (str) – 값을 찾을 명칭.

반환 형식

DependencyTag

반환값

일치하는 DependencyTag값

static values()

DependencyTag 값들을 모두 돌려줍니다.

반환 형식

Set[DependencyTag]

반환값

모든 의존구조 기능 태그의 Set

class koalanlp.types.POS(reference)

기반 클래스: koalanlp.types._JavaEnum

세종 품사표기

isAffix()bool

이 값이 접사인지 확인합니다.

반환 형식

bool

반환값

접사인 경우 True

isEnding()bool

이 값이 어미인지 확인합니다.

반환 형식

bool

반환값

어미인 경우 True

isModifier()bool

이 값이 수식언인지 확인합니다.

반환 형식

bool

반환값

수식언인 경우 True

isNoun()bool

이 값이 체언인지 확인합니다.

반환 형식

bool

반환값

체언인 경우 True

isPostPosition()bool

이 값이 관계언(조사)인지 확인합니다.

반환 형식

bool

반환값

관계언인 경우 True

isPredicate()bool

이 값이 용언인지 확인합니다.

반환 형식

bool

반환값

용언인 경우 True

isSuffix()bool

이 값이 접미사인지 확인합니다.

반환 형식

bool

반환값

접미사인 경우 True

isSymbol()bool

이 값이 기호인지 확인합니다.

반환 형식

bool

반환값

기호인 경우 True

isUnknown()bool

이 값이 미확인 단어인지 확인합니다.

반환 형식

bool

반환값

미확인 단어인 경우 True

startsWith(tag: str)bool

이 값이 주어진 [tag]로 시작하는지 확인합니다.

매개변수

tag (str) – 시작하는지 확인할 품사 분류

반환값

포함되는 경우(시작하는 경우) True

static valueOf(name: str)

해당하는 name과 일치하는 POS 값을 돌려줍니다.

매개변수

name (str) – POS 값을 찾을 명칭.

반환 형식

POS

반환값

일치하는 POS값

static values()

POS 값들을 모두 돌려줍니다.

반환 형식

Set[POS]

반환값

모든 품사 태그의 Set

class koalanlp.types.PhraseTag(reference)

기반 클래스: koalanlp.types._JavaEnum

세종 구문구조 표지자

static valueOf(name: str)

해당하는 name과 일치하는 PhraseTag 값을 돌려줍니다.

매개변수

name (str) – 값을 찾을 명칭.

반환 형식

PhraseTag

반환값

일치하는 PhraseTag값

static values()

PhraseTag 값들을 모두 돌려줍니다.

반환 형식

Set[PhraseTag]

반환값

모든 구문구조 태그의 Set

class koalanlp.types.RoleType(reference)

기반 클래스: koalanlp.types._JavaEnum

ETRI 의미역 분석 표지

static valueOf(name: str)

해당하는 name과 일치하는 RoleType 값을 돌려줍니다.

매개변수

name (str) – 값을 찾을 명칭.

반환 형식

RoleType

반환값

일치하는 RoleType값

static values()

RoleType 값들을 모두 돌려줍니다.

반환 형식

Set[RoleType]

반환값

모든 의미역 태그의 Set

자료형

class koalanlp.data.CoreferenceGroup(entities)

공지시어 해소 또는 대용어 분석 결과를 저장할 class입니다.

참고:

공지시어 해소 는 문장 내 또는 문장 간에 같은 대상을 지칭하는 어구를 찾아 묶는 분석과정입니다.

예) 〈삼성그룹의 계열사인 삼성물산은 같은 그룹의 계열사인 삼성생명과 함께’라는 문장에서

  • 〈삼성그룹’과 〈같은 그룹’을 찾아 묶는 것을 말합니다.

영형대용어 분석 은 문장에서 생략된 기능어를 찾아 문장 내 또는 문장 간에 언급되어 있는 어구와 묶는 분석과정입니다.

예) 〈나는 밥을 먹었고, 영희도 먹었다’라는 문장에서,

  • 〈먹었다’의 목적어인 〈밥을’이 생략되어 있음을 찾는 것을 말합니다.

아래를 참고해보세요. * koalanlp.proc.CorefResolver 공지시어 해소, 대용어 분석기 interface * koalanlp.data.Sentence.getCorefGroups() 문장 내에 포함된 개체명 묶음 [CoreferenceGroup]들의 목록을 반환하는 API * koalanlp.data.Entity.getCorefGroup() 각 개체명을 묶어 같은 지시 대상을 갖는 묶음인 [CoreferenceGroup]를 가져오는 API

__contains__(item)bool

대상이 포함되는지 확인합니다.

매개변수

item – 포함되는지 확인할 대상

반환 형식

bool

반환값

해당 대상이 포함되면 true.

__eq__(other)bool

두 대상이 같은지 확인합니다.

매개변수

other – 이 객체와 비교할 다른 객체

반환 형식

bool

반환값

Java Reference가 같다면 true.

__getitem__(item)

포함된 대상을 가져옵니다.

매개변수

item – index의 번호 또는 slice

반환값

지정된 위치에 있는 대상(들)

__hash__()int

해쉬 값을 계산합니다.

반환 형식

int

반환값

Java Reference의 Hash code

__iter__()
반환 형식

iter

반환값

포함된 대상을 순회하는 iterator

__len__()
반환 형식

int

반환값

포함된 대상의 개수

copy()
참고:

builtins.list.copy()

반환값

a shallow copied list of this

count(obj)
참고:

builtins.list.count()

매개변수

obj – 세고자 하는 객체

반환 형식

number

반환값

return number of occurrences of value

getReference()
index(obj, start=0, stop=None)
참고:

builtins.list.index()

매개변수
  • obj – 찾고자 하는 객체

  • start (number) – 시작 지점

  • stop (Optional[number]) – 종료 지점

반환 형식

number

반환값

return first index of value. Raises ValueError if the value is not present.

reference = None

Java CoreferenceGroup reference

class koalanlp.data.DepEdge(governor=None, dependent=None, type=None, depType=None, originalLabel: Optional[str] = None)

의존구문구조 분석의 결과.

참고:

의존구조 분석 은 문장의 구성 어절들이 의존 또는 기능하는 관계를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는

가장 마지막 단어인 〈쌌다’가 핵심 어구가 되며,

  • 〈먹었고’가 〈쌌다’와 대등하게 연결되고

  • 〈나는’은 〈먹었고’의 주어로 기능하며

  • 〈밥을’은 〈먹었고’의 목적어로 기능합니다.

  • 〈영희는’은 〈쌌다’의 주어로 기능하고,

  • 〈짐을’은 〈쌌다’의 목적어로 기능합니다.

아래를 참고해보세요.

__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__repr__()

Return repr(self).

depType = None

의존구문구조 표지자 값

dependent = None

의존구문구조의 피지배소

dest = None

Edge의 종점.

getDepType()Optional[koalanlp.types.DependencyTag]
반환 형식

DependencyTag

반환값

의존기능 표지자, [DependencyTag] Enum 값. 별도의 기능이 지정되지 않으면 None. (ETRI 표준안은 구구조+의존기능으로 의존구문구조를 표기함)

getDependent()
반환 형식

Word

반환값

의존구조의 피지배소 [Word]

getDest()
반환값

Edge의 종점. 의존구문분석인 경우 피지배소, 의미역인 경우 논항.

getGovernor()
반환 형식

Word

반환값

의존구조의 지배소 [Word]. 문장의 Root에 해당하는 경우 None.

getLabel()koalanlp.types.DependencyTag
반환 형식

DependencyTag

반환값

Edge가 나타내는 관계.

getOriginalLabel()Optional[str]
반환 형식

str

반환값

원본 분석기의 표지자 String 값. 기본값은 None.

getReference()
getSrc()
반환값

Edge의 시작점. 의존구문분석인 경우 지배소, 의미역인 경우 동사.

getType()koalanlp.types.PhraseTag
반환 형식

PhraseTag

반환값

구구조 표지자, [PhraseTag] Enum 값 (ETRI 표준안은 구구조+의존기능으로 의존구문구조를 표기함)

governor = None

의존구문구조의 지배소

label = None

Edge가 나타내는 관계

originalLabel = None

원본 분석기의 표지자 값

reference = None
src = None

Edge의 시작점.

type = None

구문구조 표지자 값

class koalanlp.data.Entity(surface: str, label: Union[str, koalanlp.types.CoarseEntityType], fineLabel: str, morphemes: List, originalLabel: Optional[str] = None)

개체명 분석 결과를 저장할 [Property] class

참고:

개체명 인식 은 문장에서 인물, 장소, 기관, 대상 등을 인식하는 기술입니다.

예) 〈철저한 진상 조사를 촉구하는 국제사회의 목소리가 커지고 있는 가운데, 트럼프 미국 대통령은 되레 사우디를 감싸고 나섰습니다.〉에서, 다음을 인식하는 기술입니다.

  • 〈트럼프〉: 인물

  • 〈미국〉 : 국가

  • 〈대통령〉 : 직위

  • 〈사우디〉 : 국가

아래를 참고해보세요.

__contains__(item)bool

대상이 포함되는지 확인합니다.

매개변수

item – 포함되는지 확인할 대상

반환 형식

bool

반환값

해당 대상이 포함되면 true.

__eq__(other)

두 대상이 같은지 확인합니다.

매개변수

other – 이 객체와 비교할 다른 객체

반환 형식

bool

반환값

Java Reference가 같다면 true.

__getitem__(item)

포함된 대상을 가져옵니다.

매개변수

item – index의 번호 또는 slice

반환값

지정된 위치에 있는 대상(들)

__hash__()

해쉬 값을 계산합니다.

반환 형식

int

반환값

Java Reference의 Hash code

__iter__()
반환 형식

iter

반환값

포함된 대상을 순회하는 iterator

__len__()
반환 형식

int

반환값

포함된 대상의 개수

__repr__()

Return repr(self).

copy()
참고:

builtins.list.copy()

반환값

a shallow copied list of this

corefGroup = None

공지시어 해소 또는 대용어 분석 결과. getCorefGroup() 참고.

count(obj)
참고:

builtins.list.count()

매개변수

obj – 세고자 하는 객체

반환 형식

number

반환값

return number of occurrences of value

fineLabel = None

개체명 세분류 값

getCorefGroup()

이 개체명과 공통된 대상을 지칭하는 공통 지시어 또는 대용어들의 묶음을 제공합니다.

참고:

공지시어 해소 는 문장 내 또는 문장 간에 같은 대상을 지칭하는 어구를 찾아 묶는 분석과정입니다.

예) 〈삼성그룹의 계열사인 삼성물산은 같은 그룹의 계열사인 삼성생명과 함께’라는 문장에서

  • 〈삼성그룹’과 〈같은 그룹’을 찾아 묶는 것을 말합니다.

영형대용어 분석 은 문장에서 생략된 기능어를 찾아 문장 내 또는 문장 간에 언급되어 있는 어구와 묶는 분석과정입니다.

예) 〈나는 밥을 먹었고, 영희도 먹었다’라는 문장에서,

  • 〈먹었다’의 목적어인 〈밥을’이 생략되어 있음을 찾는 것을 말합니다.

아래를 참고해보세요.

반환 형식

CoreferenceGroup

반환값

공통된 대상을 묶은 [CoreferenceGroup]. 없다면 None.

getFineLabel()str
반환 형식

str

반환값

개체명 세분류 값으로, [label]으로 시작하는 문자열.

getLabel()koalanlp.types.CoarseEntityType
반환 형식

CoarseEntityType

반환값

개체명 대분류 값, [CoarseEntityType]에 기록된 개체명 중 하나.

getOriginalLabel()Optional[str]
반환 형식

str

반환값

원본 분석기가 제시한 개체명 분류의 값. 기본값은 null.

getReference()
getSurface()str
반환 형식

str

반환값

개체명의 표면형 문자열.

index(obj, start=0, stop=None)
참고:

builtins.list.index()

매개변수
  • obj – 찾고자 하는 객체

  • start (number) – 시작 지점

  • stop (Optional[number]) – 종료 지점

반환 형식

number

반환값

return first index of value. Raises ValueError if the value is not present.

label = None

개체명 대분류 값

originalLabel = None

원본 분석기가 제시한 개체명 분류의 값.

reference = None
surface = None

개체명 표면형.

class koalanlp.data.Morpheme(surface: str, tag: Union[str, koalanlp.types.POS], originalTag: Optional[str] = None, reference=None)

형태소를 저장하는 [Property] class입니다.

참고:

형태소 는 의미를 가지는 요소로서는 더 이상 분석할 수 없는 가장 작은 말의 단위로 정의됩니다.

형태소 분석 은 문장을 형태소의 단위로 나누는 작업을 의미합니다.

예) 〈문장을 형태소로 나눠봅시다’의 경우,

  • 문장/일반명사, -을/조사,

  • 형태소/일반명사, -로/조사,

  • 나누-(다)/동사, -어-/어미, 보-(다)/동사, -ㅂ시다/어미

로 대략 나눌 수 있습니다.

아래를 참고해보세요.

__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__repr__()

Return repr(self).

entities = []

형태소를 포함하는 개체명 목록. getEntities() 참고.

equalsWithoutTag(other)

타 형태소 객체 [other]와 형태소의 표면형이 같은지 비교합니다.

매개변수

other (Morpheme) – 표면형을 비교할 형태소

반환 형식

bool

반환값

표면형이 같으면 True

getEntities()List[koalanlp.data.Entity]

개체명 분석을 했다면, 현재 형태소가 속한 개체명 값을 돌려줍니다.

참고:

개체명 인식 은 문장에서 인물, 장소, 기관, 대상 등을 인식하는 기술입니다.

예) 〈철저한 진상 조사를 촉구하는 국제사회의 목소리가 커지고 있는 가운데, 트럼프 미국 대통령은 되레 사우디를 감싸고 나섰습니다.〉에서, 다음을 인식하는 기술입니다.

  • 〈트럼프〉: 인물

  • 〈미국〉 : 국가

  • 〈대통령〉 : 직위

  • 〈사우디〉 : 국가

아래를 참고해보세요.

반환 형식

List[Entity]

반환값

[Entity]의 목록입니다. 분석 결과가 없으면 빈 리스트

getId()int
반환 형식

int

반환값

형태소의 어절 내 위치입니다.

getOriginalTag()Optional[str]
반환 형식

str

반환값

원본 형태소 분석기의 품사 String (없으면 None)

getReference()
getSurface()str
반환 형식

str

반환값

형태소 표면형 String

getTag()koalanlp.types.POS
반환 형식

POS

반환값

세종 품사표기

getWord()
반환 형식

Word

반환값

이 형태소를 포함하는 단어를 돌려줍니다.

getWordSense()Optional[str]

다의어 분석 결과인, 이 형태소의 사전 속 의미/어깨번호 값을 돌려줍니다.

다의어 분석을 한 적이 없다면 None을 돌려줍니다.

반환 형식

str

반환값

의미/어깨번호 값

hasOriginalTag(partialTag: str)bool

원본 품사 [originalTag]가 주어진 품사 표기 [partialTag] 묶음에 포함되는지 확인합니다.

지정된 원본 품사가 없으면 (즉, None이면) false를 반환합니다.

단축명령:
참고:
  • 분석불능범주(NA, NV, NF)는 체언(N) 범주에 포함되지 않습니다.

  • 세종 품사표기는 POS <https://koalanlp.github.io/koalanlp/api/koalanlp/kr.bydelta.koala/-p-o-s/index.html> 를 참고하세요.

  • 품사 표기는 비교표 <https://docs.google.com/spreadsheets/d/1OGM4JDdLk6URuegFKXg1huuKWynhg_EQnZYgTmG4h0s/edit?usp=sharing> 에서 확인가능합니다.

매개변수

partialTag (str) – 포함 여부를 확인할 상위 형태소 분류 품사표기

반환 형식

bool

반환값

포함되는 경우 True.

hasTag(partialTag: str)bool

세종 품사 [tag]가 주어진 품사 표기 [partialTag] 묶음에 포함되는지 확인합니다.

예) 《N》은 체언인지 확인하고, 《NP》는 대명사인지 확인

단축명령:
참고:
  • 분석불능범주(NA, NV, NF)는 체언(N) 범주에 포함되지 않습니다.

  • 세종 품사표기는 POS <https://koalanlp.github.io/koalanlp/api/koalanlp/kr.bydelta.koala/-p-o-s/index.html> 를 참고하세요.

  • 품사 표기는 비교표 <https://docs.google.com/spreadsheets/d/1OGM4JDdLk6URuegFKXg1huuKWynhg_EQnZYgTmG4h0s/edit?usp=sharing> 에서 확인가능합니다.

매개변수

partialTag (str) – 포함 여부를 확인할 상위 형태소 분류 품사표기

반환 형식

bool

반환값

포함되는 경우 True.

hasTagOneOf(*tags: str)bool

세종 품사 [tag]가 주어진 품사 표기들 [tags] 묶음들 중 하나에 포함되는지 확인합니다.

예) hasTagOneOf(《N》, 《MM》)의 경우, 체언 또는 관형사인지 확인합니다.

단축명령:
참고:
  • 분석불능범주(NA, NV, NF)는 체언(N) 범주에 포함되지 않습니다.

  • 세종 품사표기는 POS <https://koalanlp.github.io/koalanlp/api/koalanlp/kr.bydelta.koala/-p-o-s/index.html> 를 참고하세요.

  • 품사 표기는 비교표 <https://docs.google.com/spreadsheets/d/1OGM4JDdLk6URuegFKXg1huuKWynhg_EQnZYgTmG4h0s/edit?usp=sharing> 에서 확인가능합니다.

매개변수

tags (str) – 포함 여부를 확인할 상위 형태소 분류 품사표기들 (가변인자)

반환 형식

bool

반환값

하나라도 포함되는 경우 True.

id = None

형태소의 어절 내 위치

isJosa()bool

관계언(조사) 형태소인지 확인합니다.

반환 형식

bool

반환값

관계언이라면 true

isModifier()bool

수식언(관형사, 부사) 형태소인지 확인합니다.

반환 형식

bool

반환값

수식언이라면 true

isNoun()bool

체언(명사, 수사, 대명사) 형태소인지 확인합니다.

반환 형식

bool

반환값

체언이라면 true

isPredicate()bool

용언(동사, 형용사) 형태소인지 확인합니다.

반환 형식

bool

반환값

용언이라면 true

originalTag = None

형태소의 원본분석기 품사

reference = None
surface = ''

형태소 표면형

tag = None

형태소의 세종 품사

word = None

형태소의 상위 어절.

wordSense = None

형태소의 의미 어깨번호. getWordSense() 참고.

class koalanlp.data.RoleEdge(predicate, argument, label, modifiers: Optional[List] = None, originalLabel: Optional[str] = None)

의미역 구조 분석의 결과.

참고:

의미역 결정 은 문장의 구성 어절들의 역할/기능을 분석하는 방법입니다.

예) 〈나는 밥을 어제 집에서 먹었다’라는 문장에는

동사 〈먹었다’를 중심으로

  • 〈나는’은 동작의 주체를,

  • 〈밥을’은 동작의 대상을,

  • 〈어제’는 동작의 시점을

  • 〈집에서’는 동작의 장소를 나타냅니다.

아래를 참고해보세요.

__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__repr__()

Return repr(self).

argument = None

의미역 구조의 논항

dest = None

Edge의 종점.

getArgument()
반환 형식

Word

반환값

의미역 구조에서 서술된 논항 [Word]

getDest()
반환값

Edge의 종점. 의존구문분석인 경우 피지배소, 의미역인 경우 논항.

getLabel()koalanlp.types.RoleType
반환 형식

RoleType

반환값

Edge가 나타내는 관계.

getModifiers()List
반환 형식

List[Word]

반환값

논항의 수식어구들

getOriginalLabel()Optional[str]
반환 형식

str

반환값

원본 분석기의 표지자 String 값. 기본값은 None.

getPredicate()
반환 형식

Word

반환값

의미역 구조에서 표현하는 동사 [Word]

getReference()
getSrc()
반환값

Edge의 시작점. 의존구문분석인 경우 지배소, 의미역인 경우 동사.

label = None

Edge가 나타내는 관계

modifiers = []

논항의 수식어구 목록.

originalLabel = None

원본 분석기의 표지자 값

predicate = None

의미역 구조의 술어

reference = None
src = None

Edge의 시작점.

class koalanlp.data.Sentence(words=None, reference=None)

문장을 표현하는 [Property] class입니다.

__contains__(item)bool

대상이 포함되는지 확인합니다.

매개변수

item – 포함되는지 확인할 대상

반환 형식

bool

반환값

해당 대상이 포함되면 true.

__eq__(other)bool

두 대상이 같은지 확인합니다.

매개변수

other – 이 객체와 비교할 다른 객체

반환 형식

bool

반환값

Java Reference가 같다면 true.

__getitem__(item)

포함된 대상을 가져옵니다.

매개변수

item – index의 번호 또는 slice

반환값

지정된 위치에 있는 대상(들)

__hash__()int

해쉬 값을 계산합니다.

반환 형식

int

반환값

Java Reference의 Hash code

__iter__()
반환 형식

iter

반환값

포함된 대상을 순회하는 iterator

__len__()
반환 형식

int

반환값

포함된 대상의 개수

__repr__()str

문자열 표현을 생성합니다.

반환 형식

str

반환값

이 객체의 문자열 표현

copy()
참고:

builtins.list.copy()

반환값

a shallow copied list of this

corefGroups = []

문장 내에 포함된 공통 지시어 또는 대용어들의 묶음 (분석 결과가 없으면 []). getCorefGroups() 참고

count(obj)
참고:

builtins.list.count()

매개변수

obj – 세고자 하는 객체

반환 형식

number

반환값

return number of occurrences of value

dependencies = []

문장에 포함된 모든 의존구문구조 (분석결과가 없으면 []). getDependencies() 참고

entities = []

문장에 포함된 모든 개체명 (분석 결과가 없으면 []). getEntities() 참고

static fromJava(ref)
getCorefGroups()

문장 내에 포함된 공통 지시어 또는 대용어들의 묶음을 제공합니다.

참고:

공지시어 해소 는 문장 내 또는 문장 간에 같은 대상을 지칭하는 어구를 찾아 묶는 분석과정입니다.

예) 〈삼성그룹의 계열사인 삼성물산은 같은 그룹의 계열사인 삼성생명과 함께’라는 문장에서

  • 〈삼성그룹’과 〈같은 그룹’을 찾아 묶는 것을 말합니다.

영형대용어 분석 은 문장에서 생략된 기능어를 찾아 문장 내 또는 문장 간에 언급되어 있는 어구와 묶는 분석과정입니다.

예) 〈나는 밥을 먹었고, 영희도 먹었다’라는 문장에서,

  • 〈먹었다’의 목적어인 〈밥을’이 생략되어 있음을 찾는 것을 말합니다.

아래를 참고해보세요.

반환 형식

List[CoreferenceGroup]

반환값

공통된 대상을 묶은 [CoreferenceGroup]의 목록. 없다면 빈 리스트.

getDependencies()List[koalanlp.data.DepEdge]

의존구문분석을 했다면, 문장에 포함된 모든 의존구조의 목록을 돌려줍니다.

참고:

의존구조 분석 은 문장의 구성 어절들이 의존 또는 기능하는 관계를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는

가장 마지막 단어인 〈쌌다’가 핵심 어구가 되며,

  • 〈먹었고’가 〈쌌다’와 대등하게 연결되고

  • 〈나는’은 〈먹었고’의 주어로 기능하며

  • 〈밥을’은 〈먹었고’의 목적어로 기능합니다.

  • 〈영희는’은 〈쌌다’의 주어로 기능하고,

  • 〈짐을’은 〈쌌다’의 목적어로 기능합니다.

아래를 참고해보세요.

반환 형식

List[DepEdge]

반환값

문장 내 모든 의존구문구조 [DepEdge]의 목록. 분석 결과가 없으면 빈 리스트.

getEntities()List[koalanlp.data.Entity]

개체명 분석을 했다면, 문장의 모든 개체명 목록을 돌려줍니다.

참고:

개체명 인식 은 문장에서 인물, 장소, 기관, 대상 등을 인식하는 기술입니다.

예) 〈철저한 진상 조사를 촉구하는 국제사회의 목소리가 커지고 있는 가운데, 트럼프 미국 대통령은 되레 사우디를 감싸고 나섰습니다.〉에서, 다음을 인식하는 기술입니다.

  • 〈트럼프〉: 인물

  • 〈미국〉 : 국가

  • 〈대통령〉 : 직위

  • 〈사우디〉 : 국가

아래를 참고해보세요.

반환 형식

List[Entity]

반환값

문장에 포함된 모든 [Entity]의 목록입니다.

getModifiers()List[koalanlp.data.Word]

수식언(관형사, 부사) 및 수식언 성격의 어휘를 포함하는 어절들을 가져옵니다.

  • 포함: 수식언, 관형형 전성어미 [POS.ETM], 형용사/부사 파생 접미사 [POS.XSA], [POS.XSM]

  • 제외: 명사형 전성어미 [POS.ETN], 명사/동사 파생 접미사 [POS.XSN], [POS.XSV]

  • 가장 마지막에 적용되는 어미/접미사를 기준으로 판정함

참고:

전성어미 는 용언 따위에 붙어 다른 품사의 기능을 수행하도록 변경하는 어미입니다. 예) 〈멋지게 살다’를 〈멋지게 삶’으로 바꾸는 명사형 전성어미 〈-ㅁ’이 있습니다. 원 기능은 동사이므로 부사의 수식을 받고 있습니다.

파생접미사 는 용언의 어근이나 단어 따위에 붙어서 명사로 파생되도록 하는 접미사입니다. 예) 역시 〈살다’를 〈삶’으로 바꾸는 명사파생 접미사 〈-ㅁ’이 있습니다. 이 경우 명사이므로 〈멋진 삶’과 같이 형용사의 수식을 받습니다.

반환 형식

List[Word]

반환값

수식언 또는 수식언 성격의 어휘를 포함하는 어절의 목록

getNouns()List[koalanlp.data.Word]

체언(명사, 수사, 대명사) 및 체언 성격의 어휘를 포함하는 어절들을 가져옵니다.

  • 포함: 체언, 명사형 전성어미 [POS.ETN], 명사 파생 접미사 [POS.XSN]

  • 제외: 관형형 전성어미 [POS.ETM], 동사/형용사/부사 파생 접미사 [POS.XSV], [POS.XSA], [POS.XSM]

  • 가장 마지막에 적용되는 어미/접미사를 기준으로 판정함

참고:

전성어미 는 용언 따위에 붙어 다른 품사의 기능을 수행하도록 변경하는 어미입니다. 예) 〈멋지게 살다’를 〈멋지게 삶’으로 바꾸는 명사형 전성어미 〈-ㅁ’이 있습니다. 원 기능은 동사이므로 부사의 수식을 받고 있습니다.

파생접미사 는 용언의 어근이나 단어 따위에 붙어서 명사로 파생되도록 하는 접미사입니다. 예) 역시 〈살다’를 〈삶’으로 바꾸는 명사파생 접미사 〈-ㅁ’이 있습니다. 이 경우 명사이므로 〈멋진 삶’과 같이 형용사의 수식을 받습니다.

반환 형식

List[Word]

반환값

체언 또는 체언 성격의 어휘를 포함하는 어절의 목록

getReference()
getRoles()List[koalanlp.data.RoleEdge]

의미역 분석을 했다면, 문장에 포함된 의미역 구조의 목록을 돌려줌.

참고:

의미역 결정 은 문장의 구성 어절들의 역할/기능을 분석하는 방법입니다.

예) 〈나는 밥을 어제 집에서 먹었다’라는 문장에는

동사 〈먹었다’를 중심으로

  • 〈나는’은 동작의 주체를,

  • 〈밥을’은 동작의 대상을,

  • 〈어제’는 동작의 시점을

  • 〈집에서’는 동작의 장소를 나타냅니다.

아래를 참고해보세요.

반환 형식

List[RoleEdge]

반환값

문장 속의 모든 의미역 구조 [RoleEdge]의 목록. 분석 결과가 없으면 빈 리스트.

getSyntaxTree()koalanlp.data.SyntaxTree

구문분석을 했다면, 최상위 구구조(Phrase)를 돌려줍니다.

참고:

구문구조 분석 은 문장의 구성요소들(어절, 구, 절)이 이루는 문법적 구조를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는 2개의 절이 있습니다

  • 나는 밥을 먹었고

  • 영희는 짐을 쌌다

각 절은 3개의 구를 포함합니다

  • 나는, 밥을, 영희는, 짐을: 체언구

  • 먹었고, 쌌다: 용언구

아래를 참고해보세요.

반환 형식

SyntaxTree

반환값

최상위 구구조 [SyntaxTree]. 분석 결과가 없으면 None.

getVerbs()List[koalanlp.data.Word]

용언(동사, 형용사) 및 용언 성격의 어휘를 포함하는 어절들을 가져옵니다.

  • 포함: 용언, 동사 파생 접미사 [POS.XSV]

  • 제외: 명사형/관형형 전성어미 [POS.ETN], [POS.ETM], 명사/형용사/부사 파생 접미사 [POS.XSN], [POS.XSA], [POS.XSM]

  • 가장 마지막에 적용되는 어미/접미사를 기준으로 판정함

참고:

전성어미 는 용언 따위에 붙어 다른 품사의 기능을 수행하도록 변경하는 어미입니다. 예) 〈멋지게 살다’를 〈멋지게 삶’으로 바꾸는 명사형 전성어미 〈-ㅁ’이 있습니다. 원 기능은 동사이므로 부사의 수식을 받고 있습니다.

파생접미사 는 용언의 어근이나 단어 따위에 붙어서 명사로 파생되도록 하는 접미사입니다. 예) 역시 〈살다’를 〈삶’으로 바꾸는 명사파생 접미사 〈-ㅁ’이 있습니다. 이 경우 명사이므로 〈멋진 삶’과 같이 형용사의 수식을 받습니다.

반환 형식

List[Word]

반환값

용언 또는 용언 성격의 어휘를 포함하는 어절의 목록

index(obj, start=0, stop=None)
참고:

builtins.list.index()

매개변수
  • obj – 찾고자 하는 객체

  • start (number) – 시작 지점

  • stop (Optional[number]) – 종료 지점

반환 형식

number

반환값

return first index of value. Raises ValueError if the value is not present.

reference = None

Java 문장 타입

roles = []

문장에 포함된 모든 의미역 구조 (분석 결과가 없으면 []). getRoles() 참고

singleLineString()str

품사분석 결과를, 1행짜리 String으로 변환합니다.

반환 형식

str

반환값

품사분석 결과를 담은 1행짜리 String.

surfaceString(delimiter: str = ' ')str

어절의 표면형을 이어붙이되, 지정된 [delimiter]로 띄어쓰기 된 문장을 반환합니다.

매개변수

delimiter (str) – 어절 사이의 띄어쓰기 방식. 기본값 = 공백(》 《)

반환값

띄어쓰기 된 문장입니다.

syntaxTree = None

문장의 최상위 구구조 (분석결과가 없으면 None) getSyntaxTree() 참고.

words = []

문장내 어절의 목록

class koalanlp.data.SyntaxTree(label: Union[str, koalanlp.types.PhraseTag], terminal=None, children=None, originalLabel=None)

구문구조 분석의 결과를 저장할 [Property].

참고:

구문구조 분석 은 문장의 구성요소들(어절, 구, 절)이 이루는 문법적 구조를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는 2개의 절이 있습니다

  • 나는 밥을 먹었고

  • 영희는 짐을 쌌다

각 절은 3개의 구를 포함합니다

  • 나는, 밥을, 영희는, 짐을: 체언구

  • 먹었고, 쌌다: 용언구

아래를 참고해보세요.

__contains__(item)bool

대상이 포함되는지 확인합니다.

매개변수

item – 포함되는지 확인할 대상

반환 형식

bool

반환값

해당 대상이 포함되면 true.

__eq__(other)

두 대상이 같은지 확인합니다.

매개변수

other – 이 객체와 비교할 다른 객체

반환 형식

bool

반환값

Java Reference가 같다면 true.

__getitem__(item)

포함된 대상을 가져옵니다.

매개변수

item – index의 번호 또는 slice

반환값

지정된 위치에 있는 대상(들)

__hash__()

해쉬 값을 계산합니다.

반환 형식

int

반환값

Java Reference의 Hash code

__iter__()
반환 형식

iter

반환값

포함된 대상을 순회하는 iterator

__len__()
반환 형식

int

반환값

포함된 대상의 개수

__repr__()

Return repr(self).

copy()
참고:

builtins.list.copy()

반환값

a shallow copied list of this

count(obj)
참고:

builtins.list.count()

매개변수

obj – 세고자 하는 객체

반환 형식

number

반환값

return number of occurrences of value

getLabel()koalanlp.types.PhraseTag
반환 형식

PhraseTag

반환값

구문구조 표지자

getNonTerminals()

이 노드의 Non-terminal 자식 노드를 모읍니다.

  • 이 함수는 읽기의 편의를 위한 syntactic sugar입니다. 즉 다음 구문은 동일합니다.

for item in x.getNonTerminals():
    ...
for item in x:
    ...
반환값

같은 타입의 부모 노드 또는 null

getOriginalLabel()Optional[str]
반환 형식

str

반환값

원본 분석기의 표지자 String 값. 기본값은 None.

getParent()

부모 노드를 반환합니다.

  • 부모 노드가 초기화되지 않은 경우 null을 반환합니다.

반환값

같은 타입의 부모 노드 또는 null

getReference()
getTerminal()
반환 형식

Word

반환값

트리의 노드에서 연결되는 [Word] 또는 None

getTerminals()

이 노드를 포함해 모든 하위 Non-terminal 노드들에 속하는 terminal node들을 모읍니다.

  • 구문분석 구조에서는 이 구문구조에 속하는 어절의 모음입니다.

반환 형식

List[Word]

반환값

Terminal node의 목록

getTreeString(depth=0, buffer='')str
반환 형식

str

매개변수
  • depth (int) – 들여쓰기할 수준입니다. 숫자만큼 들여쓰기됩니다. (기본값 0)

  • buffer (str) – 결과를 저장할 버퍼입니다.

반환값

트리구조의 표현을 문자열로 돌려줍니다.

hasNonTerminals()bool

이 노드가 (terminal node를 제외하고) 자식 노드를 갖는지 확인합니다.

  • 구문분석 구조에서 terminal node는 [Word]가 됩니다.

반환 형식

bool

반환값

자식노드가 있다면 True

index(obj, start=0, stop=None)
참고:

builtins.list.index()

매개변수
  • obj – 찾고자 하는 객체

  • start (number) – 시작 지점

  • stop (Optional[number]) – 종료 지점

반환 형식

number

반환값

return first index of value. Raises ValueError if the value is not present.

isRoot()bool

이 노드가 최상위 노드인지 확인합니다.

반환 형식

bool

반환값

최상위 노드인 경우 true

label = None
originalLabel = None

원본 분석기의 표지자 값

parent = None
reference = None
terminal = None
class koalanlp.data.Word(surface, morphemes, reference=None)

어절을 표현하는 [Property] class입니다.

__contains__(item)bool

대상이 포함되는지 확인합니다.

매개변수

item – 포함되는지 확인할 대상

반환 형식

bool

반환값

해당 대상이 포함되면 true.

__eq__(other)

두 대상이 같은지 확인합니다.

매개변수

other – 이 객체와 비교할 다른 객체

반환 형식

bool

반환값

Java Reference가 같다면 true.

__getitem__(item)

포함된 대상을 가져옵니다.

매개변수

item – index의 번호 또는 slice

반환값

지정된 위치에 있는 대상(들)

__hash__()

해쉬 값을 계산합니다.

반환 형식

int

반환값

Java Reference의 Hash code

__iter__()
반환 형식

iter

반환값

포함된 대상을 순회하는 iterator

__len__()
반환 형식

int

반환값

포함된 대상의 개수

__repr__()str

문자열 표현을 생성합니다.

반환 형식

str

반환값

이 객체의 문자열 표현

argumentRoles = []

의미역 분석을 했다면, 현재 어절이 술어로 기능하는 하위 의미역 구조의 목록. getArgumentRoles() 참고.

copy()
참고:

builtins.list.copy()

반환값

a shallow copied list of this

count(obj)
참고:

builtins.list.count()

매개변수

obj – 세고자 하는 객체

반환 형식

number

반환값

return number of occurrences of value

dependentEdges = []

의존구문분석을 했다면, 현재 어절이 지배소인 하위 의존구문 구조의 값. getDependentEdges() 참고.

entities = []

개체명 분석을 했다면, 현재 어절이 속한 개체명 값. getEntities() 참고

equalsWithoutTag(other)bool

[other] 어절과 표면형이 같은지 비교합니다. :param Word other: 표면형을 비교할 다른 어절 :rtype: bool :return: 표면형이 같으면 true

getArgumentRoles()List[koalanlp.data.RoleEdge]

의미역 분석을 했다면, 현재 어절이 술어로 기능하는 하위 의미역 구조의 목록을 돌려줌.

참고:

의미역 결정 은 문장의 구성 어절들의 역할/기능을 분석하는 방법입니다.

예) 〈나는 밥을 어제 집에서 먹었다’라는 문장에는

동사 〈먹었다’를 중심으로

  • 〈나는’은 동작의 주체를,

  • 〈밥을’은 동작의 대상을,

  • 〈어제’는 동작의 시점을

  • 〈집에서’는 동작의 장소를 나타냅니다.

아래를 참고해보세요.

반환 형식

List[RoleEdge]

반환값

어절이 술어로 기능하는 하위 의미역 구조 [RoleEdge]의 목록. 분석 결과가 없으면 빈 리스트.

getDependentEdges()List[koalanlp.data.DepEdge]

의존구문분석을 했다면, 현재 어절이 지배소인 하위 의존구문 구조의 값을 돌려줍니다.

참고:

의존구조 분석 은 문장의 구성 어절들이 의존 또는 기능하는 관계를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는

가장 마지막 단어인 〈쌌다’가 핵심 어구가 되며,

  • 〈먹었고’가 〈쌌다’와 대등하게 연결되고

  • 〈나는’은 〈먹었고’의 주어로 기능하며

  • 〈밥을’은 〈먹었고’의 목적어로 기능합니다.

  • 〈영희는’은 〈쌌다’의 주어로 기능하고,

  • 〈짐을’은 〈쌌다’의 목적어로 기능합니다.

아래를 참고해보세요.

반환 형식

List[DepEdge]

반환값

어절이 지배하는 의존구문구조 [DepEdge]의 목록. 분석 결과가 없으면 빈 리스트.

getEntities()List[koalanlp.data.Entity]

개체명 분석을 했다면, 현재 어절이 속한 개체명 값을 돌려줍니다.

참고:

개체명 인식 은 문장에서 인물, 장소, 기관, 대상 등을 인식하는 기술입니다.

예) 〈철저한 진상 조사를 촉구하는 국제사회의 목소리가 커지고 있는 가운데, 트럼프 미국 대통령은 되레 사우디를 감싸고 나섰습니다.〉에서, 다음을 인식하는 기술입니다.

  • 〈트럼프〉: 인물

  • 〈미국〉 : 국가

  • 〈대통령〉 : 직위

  • 〈사우디〉 : 국가

아래를 참고해보세요.

반환 형식

List[Entity]

반환값

[Entity]의 목록입니다. 분석 결과가 없으면 빈 리스트.

getGovernorEdge()koalanlp.data.DepEdge

의존구문분석을 했다면, 현재 어절이 의존소인 상위 의존구문 구조의 값을 돌려줍니다.

참고:

의존구조 분석 은 문장의 구성 어절들이 의존 또는 기능하는 관계를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는

가장 마지막 단어인 〈쌌다’가 핵심 어구가 되며,

  • 〈먹었고’가 〈쌌다’와 대등하게 연결되고

  • 〈나는’은 〈먹었고’의 주어로 기능하며

  • 〈밥을’은 〈먹었고’의 목적어로 기능합니다.

  • 〈영희는’은 〈쌌다’의 주어로 기능하고,

  • 〈짐을’은 〈쌌다’의 목적어로 기능합니다.

아래를 참고해보세요.

반환 형식

List[DepEdge]

반환값

어절이 지배당하는 의존구문구조 [DepEdge]. 분석 결과가 없으면 None

getId()int
반환 형식

int

반환값

어절의 문장 내 위치입니다.

getPhrase()koalanlp.data.SyntaxTree

구문분석을 했다면, 현재 어절이 속한 직속 상위 구구조(Phrase)를 돌려줍니다.

참고:

구문구조 분석 은 문장의 구성요소들(어절, 구, 절)이 이루는 문법적 구조를 분석하는 방법입니다.

예) 〈나는 밥을 먹었고, 영희는 짐을 쌌다’라는 문장에는 2개의 절이 있습니다

  • 나는 밥을 먹었고

  • 영희는 짐을 쌌다

각 절은 3개의 구를 포함합니다

  • 나는, 밥을, 영희는, 짐을: 체언구

  • 먹었고, 쌌다: 용언구

아래를 참고해보세요.

반환 형식

SyntaxTree

반환값

어절의 상위 구구조 [SyntaxTree]. 분석 결과가 없으면 None

getPredicateRoles()List[koalanlp.data.RoleEdge]

의미역 분석을 했다면, 현재 어절이 논항인 상위 의미역 구조를 돌려줌.

참고:

의미역 결정 은 문장의 구성 어절들의 역할/기능을 분석하는 방법입니다.

예) 〈나는 밥을 어제 집에서 먹었다’라는 문장에는

동사 〈먹었다’를 중심으로

  • 〈나는’은 동작의 주체를,

  • 〈밥을’은 동작의 대상을,

  • 〈어제’는 동작의 시점을

  • 〈집에서’는 동작의 장소를 나타냅니다.

아래를 참고해보세요.

반환 형식

List[RoleEdge]

반환값

어절이 논항인 상위 의미역 구조 [RoleEdge]. 분석 결과가 없으면 빈 리스트.

getReference()
getSurface()str
반환 형식

str

반환값

어절의 표면형 String.

governorEdge = None

의존구문분석을 했다면, 현재 어절이 의존소인 상위 의존구문 구조의 값. getGovernorEdge() 참고

id = None

어절의 문장 내 위치

index(obj, start=0, stop=None)
참고:

builtins.list.index()

매개변수
  • obj – 찾고자 하는 객체

  • start (number) – 시작 지점

  • stop (Optional[number]) – 종료 지점

반환 형식

number

반환값

return first index of value. Raises ValueError if the value is not present.

morphemes = []

어절 내 형태소 목록

phrase = None

구문분석을 했다면, 현재 어절이 속한 직속 상위 구구조(Phrase). getPhrase() 참고

predicateRoles = []

의미역 분석을 했다면, 현재 어절이 논항인 상위 의미역 구조의 목록. getPredicateRoles() 참고.

reference = None
singleLineString()str

품사분석 결과를, 1행짜리 String으로 변환합니다.

예) 〈나/NP+는/JX〉

참고:
반환값

각 형태소별로 《표면형/품사》 형태로 기록하고 이를 +로 이어붙인 문자열.

surface = ''

어절의 표면형

사전 및 분석기

class koalanlp.proc.Dictionary(api: <module 'koalanlp.API' from '/home/bydelta/git/python-support/koalanlp/API.py'>)

기반 클래스: object

사용자 정의 사전을 연결합니다.

매개변수

api (str) – 사용자 정의 사전을 연결할 API 패키지.

addUserDictionary(*pairs: Tuple[str, koalanlp.types.POS])

사용자 사전에, 표면형과 그 품사를 추가.

매개변수

pairs (Tuple[str,POS]) – (표면형, 품사)의 가변형 인자

contains(word: str, *pos_tags: koalanlp.types.POS)bool

사전에 등재되어 있는지 확인합니다.

매개변수
  • word (str) – 확인할 형태소

  • pos_tags (POS) – 세종품사들(기본값: NNP 고유명사, NNG 일반명사)

반환 형식

bool

반환값

사전에 포함된다면 True 아니면 False.

getBaseEntries(filter=<function Dictionary.<lambda>>)

원본 사전에 등재된 항목 중에서, 지정된 형태소의 항목만을 가져옵니다. (복합 품사 결합 형태는 제외)

매개변수

filter (Union[Set[POS],POS->bool]) – 가져올 품사나, 품사의 리스트, 또는 해당 품사인지 판단하는 함수.

반환 형식

generator

반환값

(형태소, 품사)의 generator

getItems()List[Tuple[str, koalanlp.types.POS]]

사용자 사전에 등재된 모든 항목을 가져옵니다.

반환 형식

List[(str,POS)]

반환값

(형태소, 품사)의 set

getNotExists(onlySystemDic: bool, *word: Tuple[str, koalanlp.types.POS])List[Tuple[str, koalanlp.types.POS]]

사전에 등재되어 있는지 확인하고, 사전에 없는단어만 반환합니다.

매개변수
  • onlySystemDic (bool) – 시스템 사전에서만 검색할지 결정합니다.

  • word (Tuple[str,POS]) – 확인할 (형태소, 품사)들의 가변인자

반환 형식

List[(str,POS)]

반환값

사전에 없는 단어들.

importFrom(other, fastAppend=False, filter=<function Dictionary.<lambda>>)

다른 사전을 참조하여, 선택된 사전에 없는 단어를 사용자사전으로 추가합니다.

매개변수
  • other (Dictionary) – 참조할 사전

  • fastAppend (bool) – 선택된 사전에 존재하는지를 검사하지 않고 빠르게 추가하고자 할 때. (기본값 False)

  • filter (Union[Set[POS],POS->bool]) – 가져올 품사나, 품사의 리스트, 또는 해당 품사인지 판단하는 함수.

class koalanlp.proc.EntityRecognizer(api: str, **kwargs)

기반 클래스: koalanlp.proc.__CanAnalyzeProperty

개체명 인식기를 초기화합니다.

매개변수
  • api (str) – 사용할 분석기의 유형.

  • etri_key (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key

  • apiKey (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key (2.2.0 삭제 예정)

analyze(*text)List[koalanlp.data.Sentence]

문단(들)을 분석합니다.

매개변수

text (Union[str,Sentence,List[str],List[Sentence]]) – 분석할 문단(들). 각 인자는 텍스트(str), 문장 객체(Sentence), 텍스트의 리스트, 문장 객체의 리스트 혼용 가능 (가변인자)

반환 형식

List[Sentence]

반환값

분석된 결과들. (flattened list)

class koalanlp.proc.Parser(api: str, **kwargs)

기반 클래스: koalanlp.proc.__CanAnalyzeProperty

구문구조/의존구조분석기를 초기화합니다.

매개변수
  • api (str) – 사용할 분석기의 유형.

  • etri_key (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key

  • apiKey (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key (2.2.0 삭제 예정)

analyze(*text)List[koalanlp.data.Sentence]

문단(들)을 분석합니다.

매개변수

text (Union[str,Sentence,List[str],List[Sentence]]) – 분석할 문단(들). 각 인자는 텍스트(str), 문장 객체(Sentence), 텍스트의 리스트, 문장 객체의 리스트 혼용 가능 (가변인자)

반환 형식

List[Sentence]

반환값

분석된 결과들. (flattened list)

class koalanlp.proc.RoleLabeler(api: str, **kwargs)

기반 클래스: koalanlp.proc.__CanAnalyzeProperty

의미역 분석기를 초기화합니다.

매개변수
  • api (str) – 사용할 분석기의 유형.

  • etri_key (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key

  • apiKey (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key (2.2.0 삭제 예정)

analyze(*text)List[koalanlp.data.Sentence]

문단(들)을 분석합니다.

매개변수

text (Union[str,Sentence,List[str],List[Sentence]]) – 분석할 문단(들). 각 인자는 텍스트(str), 문장 객체(Sentence), 텍스트의 리스트, 문장 객체의 리스트 혼용 가능 (가변인자)

반환 형식

List[Sentence]

반환값

분석된 결과들. (flattened list)

class koalanlp.proc.SentenceSplitter(api: str)

기반 클래스: object

문장분리기를 생성합니다.

매개변수

api (str) – 문장분리기 API 패키지.

sentences(*text)List[str]

문단(들)을 문장으로 분리합니다.

매개변수

text (Union[str,List[str]]) – 분석할 문단(들). 각 인자는 텍스트와 string 리스트 혼용 가능. (가변인자)

반환 형식

List[str]

반환값

분리한 문장들. (flattened list)

static sentencesTagged(*text: List[koalanlp.data.Word])List[koalanlp.data.Sentence]

KoalaNLP가 구현한 문장분리기를 사용하여, 문단을 문장으로 분리합니다.

매개변수

text (Union[List[Word],Sentence]) – 분석할 문단(들). 각 인자는 품사표기가 되어있는 Word의 list 또는 Sentence 혼용 가능. (가변인자)

반환 형식

List[Sentence]

반환값

분리된 문장들. (flattened lis)

class koalanlp.proc.Tagger(api: str, **kwargs)

기반 클래스: object

품사분석기를 초기화합니다.

매개변수
  • api (str) – 사용할 품사분석기의 유형.

  • etri_key (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key

  • kmr_light (bool) – 코모란(KMR) 분석기의 경우, 경량 분석기를 사용할 것인지의 여부. (기본값 False)

  • kha_resource (str) – Khaiii 분석기의 경우, Khaiii의 Resource 파일의 위치.

  • kha_preanal (bool) – Khaiii 분석기의 경우, 기분석 사전을 사용할지의 여부. (기본값 True)

  • kha_errorpatch (bool) – Khaiii 분석기의 경우, 오분석 사전 사용 여부 (기본값 True)

  • kha_restore (bool) – Khaiii 분석기의 경우, 형태소 재구성 여부 (기본값 True)

  • apiKey (str) – ETRI 분석기의 경우, ETRI에서 발급받은 API Key (2.2.0 삭제 예정)

  • useLightTagger (bool) – 코모란(KMR) 분석기의 경우, 경량 분석기를 사용할 것인지의 여부. (2.2.0 삭제 예정)

tag(*text: str)List[koalanlp.data.Sentence]

문단(들)을 품사분석합니다.

매개변수

text (Union[str,List[str]]) – 분석할 문단들. 텍스트와 string 리스트 혼용 가능. (가변인자)

반환 형식

List[Sentence]

반환값

분석된 결과. (flattened list)

tagSentence(*text: str)List[koalanlp.data.Sentence]

문장을 품사분석합니다. (인자 하나를 문장 하나로 간주합니다)

매개변수

text (Union[str]) – 분석할 문장들. (가변인자)

반환 형식

List[Sentence]

반환값

분석된 결과.

class koalanlp.proc.UTagger

기반 클래스: object

울산대 UTagger 라이브러리 연결용 Static class

static setPath(library_path: str, conf_path: str)

UTagger의 라이브러리와 설정파일의 위치를 지정합니다.

매개변수
  • library_path – 라이브러리 파일의 위치

  • conf_path – 설정 파일의 위치

문자열 추가기능

koalanlp.ExtUtil.ChoToJong = {'ᄀ': 'ᆨ', 'ᄁ': 'ᆩ', 'ᄂ': 'ᆫ', 'ᄃ': 'ᆮ', 'ᄅ': 'ᆯ', 'ᄆ': 'ᆷ', 'ᄇ': 'ᆸ', 'ᄉ': 'ᆺ', 'ᄊ': 'ᆻ', 'ᄋ': 'ᆼ', 'ᄌ': 'ᆽ', 'ᄎ': 'ᆾ', 'ᄏ': 'ᆿ', 'ᄐ': 'ᇀ', 'ᄑ': 'ᇁ', 'ᄒ': 'ᇂ', 'ㄱ': 'ᆨ', 'ㄲ': 'ᆩ', 'ㄳ': 'ᆪ', 'ㄴ': 'ᆫ', 'ㄵ': 'ᆬ', 'ㄶ': 'ᆭ', 'ㄷ': 'ᆮ', 'ㄹ': 'ᆯ', 'ㄺ': 'ᆰ', 'ㄻ': 'ᆱ', 'ㄼ': 'ᆲ', 'ㄽ': 'ᆳ', 'ㄾ': 'ᆴ', 'ㄿ': 'ᆵ', 'ㅀ': 'ᆶ', 'ㅁ': 'ᆷ', 'ㅂ': 'ᆸ', 'ㅄ': 'ᆹ', 'ㅅ': 'ᆺ', 'ㅆ': 'ᆻ', 'ㅇ': 'ᆼ', 'ㅈ': 'ᆽ', 'ㅊ': 'ᆾ', 'ㅋ': 'ᆿ', 'ㅌ': 'ᇀ', 'ㅍ': 'ᇁ', 'ㅎ': 'ᇂ'}

초성 문자를 종성 조합형 문자로 변경

koalanlp.ExtUtil.HanFirstList = ['ᄀ', 'ᄁ', 'ᄂ', 'ᄃ', 'ᄄ', 'ᄅ', 'ᄆ', 'ᄇ', 'ᄈ', 'ᄉ', 'ᄊ', 'ᄋ', 'ᄌ', 'ᄍ', 'ᄎ', 'ᄏ', 'ᄐ', 'ᄑ', 'ᄒ']

초성 조합형 문자열 리스트 (UNICODE 순서)

koalanlp.ExtUtil.HanLastList = [None, 'ᆨ', 'ᆩ', 'ᆪ', 'ᆫ', 'ᆬ', 'ᆭ', 'ᆮ', 'ᆯ', 'ᆰ', 'ᆱ', 'ᆲ', 'ᆳ', 'ᆴ', 'ᆵ', 'ᆶ', 'ᆷ', 'ᆸ', 'ᆹ', 'ᆺ', 'ᆻ', 'ᆼ', 'ᆽ', 'ᆾ', 'ᆿ', 'ᇀ', 'ᇁ', 'ᇂ']

종성 조합형 문자열 리스트 (UNICODE 순서). 가장 첫번째는 null (받침 없음)

koalanlp.ExtUtil.HanSecondList = ['ᅡ', 'ᅢ', 'ᅣ', 'ᅤ', 'ᅥ', 'ᅦ', 'ᅧ', 'ᅨ', 'ᅩ', 'ᅪ', 'ᅫ', 'ᅬ', 'ᅭ', 'ᅮ', 'ᅯ', 'ᅰ', 'ᅱ', 'ᅲ', 'ᅳ', 'ᅴ', 'ᅵ']

중성 조합형 문자열 리스트 (UNICODE 순서)

koalanlp.ExtUtil.alphaToHangul(text: str)str

주어진 문자열에서 알파벳이 발음되는 대로 국문 문자열로 표기하여 값으로 돌려줍니다.

매개변수

text (str) – 알파벳을 발음할 문자열

반환 형식

str

반환값

국문 발음 표기된 문자열

koalanlp.ExtUtil.assembleHangul(text: str)str

주어진 문자열에서 초성, 중성, 종성이 연달아 나오는 경우 이를 조합하여 한글 문자를 재구성합니다.

매개변수

text (str) – 조합할 문자열

반환 형식

str

반환값

조합형 문자들이 조합된 문자열. 조합이 불가능한 문자는 그대로 남습니다.

koalanlp.ExtUtil.correctVerbApply(verb: str, isVerb: bool, rest: str)str

주어진 용언의 원형 [verb]이 뒷 부분 [rest]와 같이 어미가 붙어 활용될 때, 불규칙 활용 용언과 모음조화를 교정합니다.

매개변수
  • verb (str) – 용언 원형인 어근을 표현한 String. 〈-다.〉 와 같은 어미는 없는 어근 상태입니다.

  • isVerb (bool) – 동사인지 형용사인지 나타내는 지시자. 동사이면 true.

  • rest (str) – 어근에 붙일 어미를 표현한 String.

반환 형식

str

반환값

모음조화나 불규칙 활용이 교정된 원형+어미 결합

koalanlp.ExtUtil.dissembleHangul(text: str)str

현재 문자열을 초성, 중성, 종성 자음문자로 분리하여 새 문자열을 만듭니다. 종성이 없으면 종성은 쓰지 않습니다.

매개변수

text (str) – 분해할 문자열

반환 형식

str

반환값

분해된 문자열

koalanlp.ExtUtil.getChosung(text: str)List[Union[None, str]]

현재 문자에서 초성 자음문자를 분리합니다. 초성이 없으면 None.

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

분리된 각 초성이 들어간 리스트.

koalanlp.ExtUtil.getJongsung(text: str)List[Union[None, str]]

현재 문자에서 종성 자음문자를 분리합니다. 종성이 없으면 None.

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

분리된 각 종성이 들어간 리스트.

koalanlp.ExtUtil.getJungsung(text: str)List[Union[None, str]]

현재 문자에서 중성 모음문자를 분리합니다. 중성이 없으면 None.

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

분리된 각 중성이 들어간 리스트.

koalanlp.ExtUtil.hangulToAlpha(text: str)str

주어진 문자열에 적힌 알파벳 발음을 알파벳으로 변환하여 문자열로 반환합니다.

매개변수

text (str) – 국문 발음 표기된 문자열

반환 형식

str

반환값

영문 변환된 문자열

koalanlp.ExtUtil.hanjaToHangul(text: str, headCorrection: bool = True)str

국사편찬위원회 한자음가사전에 따라 한자 표기된 내용을 국문 표기로 전환합니다.

참고:

  • [headCorrection] 값이 true인 경우, whitespace에 따라오는 문자에 두음법칙을 자동 적용함. (기본값 true)

  • 단, 다음 의존명사는 예외: 냥(兩), 년(年), 리(里), 리(理), 량(輛)

  • 다음 두음법칙은 사전을 조회하지 않기 때문에 적용되지 않음에 유의
    • 한자 파생어나 합성어에서 원 단어의 두음법칙: 예) 《신여성》이 옳은 표기이나 《신녀성》으로 표기됨

    • 외자가 아닌 이름: 예) 《허난설헌》이 옳은 표기이나 《허란설헌》으로 표기됨

매개변수
  • text – 국문 표기로 전환할 문자열

  • headCorrection – 두음법칙 적용 여부 (기본값 True)

반환값

국문 표기로 전환된 문자열

koalanlp.ExtUtil.isAlphaPronounced(text: str)bool

주어진 문자열이 알파벳이 발음되는 대로 표기된 문자열인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

bool

반환값

영문 발음으로만 구성되었다면 true

koalanlp.ExtUtil.isCJKHanja(text: str)List[bool]

현재 문자가 한중일 통합한자, 통합한자 확장 - A, 호환용 한자 범위인지 확인합니다. (국사편찬위원회 한자음가사전은 해당 범위에서만 정의되어 있어, 별도 확인합니다.)

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 한자인지 아닌지를 표기한 리스트. 한자라면 True.

koalanlp.ExtUtil.isChosungJamo(text: str)List[bool]

현재 문자가 현대 한글 초성 자음 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

koalanlp.ExtUtil.isCompleteHangul(text: str)List[bool]

현재 문자가 초성, 중성, 종성(선택적)을 다 갖춘 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

koalanlp.ExtUtil.isHangul(text: str)List[bool]

현재 문자가 한글 완성형 또는 조합용 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

koalanlp.ExtUtil.isHangulEnding(text: str)bool

현재 문자열이 한글 (완성/조합)로 끝나는지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

bool

반환값

맞다면 True.

koalanlp.ExtUtil.isHanja(text: str)List[bool]

문자열의 각 문자가 한자 범위인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 한자인지 아닌지를 표기한 리스트. 한자라면 True.

koalanlp.ExtUtil.isIncompleteHangul(text: str)List[bool]

현재 문자가 불완전한 한글 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

koalanlp.ExtUtil.isJongsungEnding(text: str)bool

현재 문자열이 종성으로 끝인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

bool

반환값

맞다면 True.

koalanlp.ExtUtil.isJongsungJamo(text: str)List[bool]

현재 문자가 현대 한글 종성 자음 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

koalanlp.ExtUtil.isJungsungJamo(text: str)List[bool]

현재 문자가 현대 한글 중성 모음 문자인지 확인합니다.

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

문자열 문자의 위치마다 확인여부를 표기한 리스트. 맞다면 True.

편의기능

koalanlp.Util.clear_all_downloaded_jars(lib_path=None)

다운로드 된 자바 라이브러리를 삭제합니다. :param Optional[str] lib_path: 자바 라이브러리를 저장할 〈.java〉 디렉터리/폴더가 위치한 곳. (Default: None, i.e. os.cwd())

koalanlp.Util.contains(string_list: List[str], tag)bool

주어진 문자열 리스트에 구문분석 표지자/의존구문 표지자/의미역 표지/개체명 분류가 포함되는지 확인합니다.

매개변수
  • string_list (List[str]) – 분류가 포함되는지 확인할 문자열 목록

  • tag (Union[PhraseTag,DependencyTag,CoarseEntityType,RoleType]) – 포함되는지 확인할 구문분석 표지자/의존구문 표지자/의미역 표지/개체명 분류

반환 형식

bool

반환값

포함되면 true

koalanlp.Util.finalize()

사용이 종료된 다음, 실행되어 있는 JVM을 종료합니다. :return: 실행 이후 JVM이 꺼져있다면 True.

koalanlp.Util.initialize(java_options='-Xmx1g -Dfile.encoding=utf-8', lib_path=None, force_download=False, port=None, **packages)

초기화 함수. 필요한 Java library를 다운받습니다. 한번 초기화 된 다음에는 koalanlp.Util.finalize() 을 사용해 종료하지 않으면 다시 초기화 할 수 없습니다.

매개변수
  • java_options (str) – 자바 JVM option (기본값: 《-Xmx1g -Dfile.encoding=utf-8》)

  • lib_path (Optional[str]) – 자바 라이브러리를 저장할 〈.java〉 디렉터리/폴더가 위치할 곳. (기본값: None = os.cwd())

  • force_download (bool) – 자바 라이브러리를 모두 다 다시 다운로드할 지의 여부. (기본값: False)

  • port (int) – Multiprocessing을 사용하는 경우에, Java 분석기와 소통하는 Python proxy를 어떤 port에서 열 것인지 결정합니다. (기본값: None = 25334)

  • packages (Dict[str,str]) – 사용할 분석기 API의 목록. (Keyword arguments; 기본값: KMR=》LATEST》)

예외 발생

Exception – JVM이 2회 이상 초기화 될때 Exception.