koalanlp

KoalaNLP

KoalaNLP는 한국어 처리의 통합 인터페이스를 지향하는 Java/Kotlin/Scala Library입니다.

이 프로젝트는 서로 다른 형태의 형태소 분석기를 모아, 동일한 인터페이스 아래에서 사용할 수 있도록 하는 것이 목적입니다.

주1-1 Arirang 분석기의 출력을 형태소분석에 적합하게 조금 다듬었으므로, 원본과 약간 다른 결과를 낼 수도 있습니다.

>>

주1-2 UTagger의 2019-7 버전도 공개되어 있지만, 리눅스 개발환경을 위한 라이브러리 파일이 공개되어있지 않아 지원하지 않습니다.

분석기의 개선이나 추가 등을 하고 싶으시다면,

사용방법

특징

KoalaNLP는 다음과 같은 특징을 가지고 있습니다.

  1. 복잡한 설정이 필요없는 텍스트 분석:

    모델은 자동으로 Maven으로 배포되기 때문에, 각 모델을 별도로 설치할 필요가 없습니다.

  2. 코드 2~3 줄로 수행하는 텍스트 처리:

    모델마다 다른 복잡한 설정 과정, 초기화 과정은 필요하지 않습니다. Dependency에 추가하고, 객체를 생성하고, 분석 메소드를 호출하는 3줄이면 끝납니다.

  3. 모델에 상관 없는 동일한 코드, 동일한 결과:

    모델마다 실행 방법, 실행 결과를 표현하는 형태가 다릅니다. KoalaNLP는 이를 정부 및 관계기관의 표준안에 따라 표준화합니다. 따라서 모델에 독립적으로 응용 프로그램 개발이 가능합니다.

  4. Java, Kotlin, Scala, Python 3, NodeJS에서 크게 다르지 않은 코드:

    KoalaNLP는 여러 프로그래밍 언어에서 사용할 수 있습니다. 어디서 개발을 하더라도 크게 코드가 다르지 않습니다.

참고

모든 코드는 Kotlin으로 작성되어 있습니다. Java나 Scala에 비해서 유지 보수에 편리하다고 판단하여 변경하였습니다.

Packages

kr.bydelta.koala

KoalaNLP가 제공하는 상수값 및 Utility function들을 정의합니다.

kr.bydelta.koala.arirang

아리랑 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.daon

Daon 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.data

KoalaNLP가 사용하는, 또는 사용할 데이터 표현을 정의합니다.

kr.bydelta.koala.etri

ETRI 언어 분석 API의 Wrapper를 정의합니다.

kr.bydelta.koala.eunjeon

SEunjeon 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.hnn

한나눔 형태소분석기와 NLP_HUB 구문/의존구문 분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.khaiii

Kakao Khaiii 형태소 분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.kkma

꼬꼬마 형태소/의존구문 분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.kmr

SEunjeon 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.okt

Open Korean Text 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.proc

KoalaNLP가 사용하는, 또는 사용할 API Interface를 정의합니다.

kr.bydelta.koala.rhino

Open Korean Text 형태소분석기의 Wrapper를 정의합니다.

kr.bydelta.koala.utagger

울산대학교 UTagger 형태소 분석기의 Wrapper를 정의합니다.

Index

All Types