在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:koalanlp/koalanlp开源软件地址:https://github.com/koalanlp/koalanlp开源编程语言:Kotlin 98.5%开源软件介绍:KoalaNLP소개KoalaNLP는 한국어 처리의 통합 인터페이스를 지향하는 Java/Kotlin/Scala Library입니다. 이 프로젝트는 서로 다른 형태의 형태소 분석기를 모아, 동일한 인터페이스 아래에서 사용할 수 있도록 하는 것이 목적입니다. (정렬은 개발단체/개발자명 국문 가나다순)
분석기의 개선이나 추가 등을 하고 싶으시다면,
특징KoalaNLP는 다음과 같은 특징을 가지고 있습니다.
참고모든 코드는 Kotlin으로 작성되어 있습니다. Java나 Scala에 비해서 유지 보수에 편리하다고 판단하여 변경하였습니다.
License 조항이 프로젝트 자체(KoalaNLP-core)와 인터페이스 통합을 위한 코드는 소스코드에 저작권 귀속에 대한 별도 지시사항이 없는 한 v1.8.0부터 MIT License을 따르며, 원본 분석기의 License와 저작권은 각 저작권자가 지정한 바를 따릅니다. 단, GPL의 저작권 조항에 따라, GPL 하에서 이용이 허가되는 패키지들의 저작권은 해당 저작권 규정을 따릅니다.
Dependency 추가Java 패키지 목록
실행환경
Gradleext.koala_version = '2.1.4'
repositories {
mavenCentral()
jcenter()
maven { url "https://jitpack.io" } // 코모란의 경우에만 추가.
}
dependencies{
// 코모란의 경우
implementation "kr.bydelta:koalanlp-kmr:${ext.koala_version}"
// 은전한닢 프로젝트(Mecab-ko)의 경우
implementation "kr.bydelta:koalanlp-eunjeon:${ext.koala_version}"
// 아리랑의 경우
implementation "kr.bydelta:koalanlp-arirang:${ext.koala_version}:assembly"
// RHINO의 경우
implementation "kr.bydelta:koalanlp-rhino:${ext.koala_version}:assembly"
// Daon의 경우
implementation "kr.bydelta:koalanlp-daon:${ext.koala_version}:assembly"
// OpenKoreanText의 경우
implementation "kr.bydelta:koalanlp-okt:${ext.koala_version}"
// 꼬꼬마의 경우
implementation "kr.bydelta:koalanlp-kkma:${ext.koala_version}:assembly"
// 한나눔의 경우
implementation "kr.bydelta:koalanlp-hnn:${ext.koala_version}:assembly"
// ETRI Open API의 경우
implementation "kr.bydelta:koalanlp-etri:${ext.koala_version}"
// Khaiii의 경우 (Khaiii C++ 별도 설치 필요)
implementation "kr.bydelta:koalanlp-khaiii:${ext.koala_version}"
// REST Server Service의 경우 (준비중)
implementation "kr.bydelta:koalanlp-server:${ext.koala_version}"
} SBT(버전은 Latest Release 기준입니다. SNAPSHOT을 사용하시려면,
MavenMaven을 사용하시는 경우, 다음과 같습니다. <dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-${TAGGER.PACK}</artifactId>
<version>${TAGGER_VER}</version>
</dependency> Classifier를 추가하실 경우, <classifier>assembly</classifier> 예를 들어서, 꼬꼬마 분석기(koalanlp-kkma) 버전 2.1.3을 추가하고자 한다면, 아래와 같습니다. <dependency>
<groupId>kr.bydelta</groupId>
<artifactId>koalanlp-kkma</artifactId>
<classifier>assembly</classifier>
<version>2.1.3</version>
</dependency> 사용방법아래에는 대표적인 특징만 기술되어 있습니다. 상세한 사항은 Usage, Sample 또는 API Doc을 참고하십시오. 여러 패키지의 사용통합 인터페이스는 여러 패키지간의 호환이 가능하게 설계되어 있습니다. 이론적으로는 타 패키지의 품사 분석 결과를 토대로 구문 분석이 가능합니다.
Kotlin/* 패키지 명: 한나눔(hnn), 코모란(kmr), 꼬꼬마(kkma), 은전한닢(eunjeon), 트위터(twt), 아리랑(arirang) */
// 예시에서는 트위터 문장분석기, 은전한닢 품사 분석, 꼬꼬마 구문 분석을 진행함.
import kr.bydelta.koala.twt.SentenceSplitter
import kr.bydelta.koala.eunjeon.Tagger
import kr.bydelta.koala.kkma.Parser
val splitter = SentenceSplitter()
val tagger = Tagger()
val parser = Parser()
val paragraph = "누군가가 말했다. Python에는 KoNLPy가 있다. Kotlin은 KoalaNLP가 있다."
val sentences = splitter(paragraph)
val tagged = sentences.map{ tagger.tagSentence(it) }
val parsed = tagged.map{ parser.parse(it) } Scalaimport kr.bydelta.koala.twt.SentenceSplitter
import kr.bydelta.koala.eunjeon.Tagger
import kr.bydelta.koala.kkma.Parser
val splitter = new SentenceSplitter
val tagger = new Tagger
val parser = new Parser
val paragraph = "누군가가 말했다. Python에는 KoNLPy가 있다. Scala는 KoalaNLP가 있었다."
val sentences = splitter.invoke(paragraph)
val tagged = sentences.map(tagger.tagSentence)
val parsed = tagged.map(parser.parse) Javaimport kr.bydelta.koala.twt.SentenceSplitter;
import kr.bydelta.koala.eunjeon.Tagger;
import kr.bydelta.koala.kkma.Parser;
import kr.bydelta.koala.Sentence;
SentenceSplitter splitter = new SentenceSplitter();
Tagger tagger = new Tagger();
Tagger parser = new Parser();
String paragraph = "누군가가 말했다. Python에는 KoNLPy가 있다. Java는 KoalaNLP가 있었다.";
List<String> sentences = splitter.invoke(paragraph);
for(String line : sentences){
Sentence tagged = tagger.tagSentence(line);
Sentence parsed = parser.parse(tagged);
} 품사분석기별 결과 비교Sample: 결과비교를 참조해주세요. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论