KoalaNLP Python3 API

API 목록

koalanlp.API.HNN = 'hnn'

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

koalanlp.API.KMR = 'kmr'

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

koalanlp.API.KKMA = 'kkma'

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

koalanlp.API.EUNJEON = 'eunjeon'

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

koalanlp.API.ARIRANG = 'arirang'

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

koalanlp.API.RHINO = 'rhino'

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

koalanlp.API.OKT = 'okt'

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

koalanlp.API.DAON = 'daon'

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

koalanlp.API.ETRI = 'etri'

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

koalanlp.API.KHAIII = 'khaiii'

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

koalanlp.API.UTAGGER = 'utagger'

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

koalanlp.API.CORE = 'core'

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

품사, 기능 표지자 등

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.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.PhraseTag(reference)

기반 클래스: koalanlp.types._JavaEnum

세종 구문구조 표지자

static valueOf(name: str)

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

매개변수

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

반환 형식

PhraseTag

반환값

일치하는 PhraseTag값

static values()

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

반환 형식

Set[PhraseTag]

반환값

모든 구문구조 태그의 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.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.Entity(surface: str, label: Union[str, koalanlp.types.CoarseEntityType], fineLabel: str, morphemes: List, originalLabel: 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.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

반환값

포함된 대상의 개수

__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

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.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.DepEdge(governor=None, dependent=None, type=None, depType=None, originalLabel: str = None)

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

참고:

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

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

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

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

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

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

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

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

아래를 참고해보세요.

__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__repr__()

Return repr(self).

depType = None

의존구문구조 표지자 값

dependent = None

의존구문구조의 피지배소

dest = None
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
originalLabel = None

원본 분석기의 표지자 값

reference = None
src = None
type = None

구문구조 표지자 값

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

의미역 구조 분석의 결과.

참고:

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

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

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

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

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

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

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

아래를 참고해보세요.

__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__repr__()

Return repr(self).

argument = None

의미역 구조의 논항

dest = None
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
modifiers = []

논항의 수식어구 목록.

originalLabel = None

원본 분석기의 표지자 값

predicate = None

의미역 구조의 술어

reference = None
src = None
class koalanlp.data.Morpheme(surface: str, tag: Union[str, koalanlp.types.POS], originalTag: 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.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.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.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 list)

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.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.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.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.Dictionary(api: <module 'koalanlp.API' from '/home/bydelta/PycharmProjects/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.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.HanSecondList = ['ᅡ', 'ᅢ', 'ᅣ', 'ᅤ', 'ᅥ', 'ᅦ', 'ᅧ', 'ᅨ', 'ᅩ', 'ᅪ', 'ᅫ', 'ᅬ', 'ᅭ', 'ᅮ', 'ᅯ', 'ᅰ', 'ᅱ', 'ᅲ', 'ᅳ', 'ᅴ', 'ᅵ']

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

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

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

koalanlp.ExtUtil.alphaToHangul(text: str) → str

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

매개변수

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

반환 형식

str

반환값

국문 발음 표기된 문자열

koalanlp.ExtUtil.hangulToAlpha(text: str) → str

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

매개변수

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

반환 형식

str

반환값

영문 변환된 문자열

koalanlp.ExtUtil.isAlphaPronounced(text: str) → bool

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

매개변수

text (str) – 확인할 문자열

반환 형식

bool

반환값

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

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

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

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

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

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

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

참고:

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

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

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

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

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

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

반환값

국문 표기로 전환된 문자열

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

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

koalanlp.ExtUtil.isIncompleteHangul(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.isChosungJamo(text: str) → List[bool]

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

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

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

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

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

매개변수

text (str) – 확인할 문자열

반환 형식

List[bool]

반환값

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

koalanlp.ExtUtil.isJongsungEnding(text: str) → bool

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

매개변수

text (str) – 확인할 문자열

반환 형식

bool

반환값

맞다면 True.

koalanlp.ExtUtil.getChosung(text: str) → List[Optional[str]]

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

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

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

koalanlp.ExtUtil.getJungsung(text: str) → List[Optional[str]]

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

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

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

koalanlp.ExtUtil.getJongsung(text: str) → List[Optional[str]]

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

매개변수

text (str) – 분리할 문자열

반환 형식

List[Union[None,str]]

반환값

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

koalanlp.ExtUtil.dissembleHangul(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.Util.initialize(java_options='-Xmx1g -Dfile.encoding=utf-8', lib_path=None, force_download=False, **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)

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

예외

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

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.clear_all_downloaded_jars(lib_path=None)

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