-
Notifications
You must be signed in to change notification settings - Fork 44
2.1 문장 분리(Sentence split)
Bugeun Kim edited this page Nov 27, 2018
·
5 revisions
여기에 수록된 사용법(1~3절)은 모두 1.x 버전의 사용법입니다. 최신 버전의 사용법은 Usage를 참고하십시오.
품사 태깅을 거치지 않은 문장 분리는, 한나눔과 트위터(OpenKoreanText) 분석기만 지원됩니다. 타 패키지의 경우 문장 분리 작업이 품사 태깅 이후에 이루어집니다.
NOTE:
- 긴 문단의 경우, 문장 분리를 한나눔 또는 트위터(OpenKoreanText)로 작업한 다음 각 문장별로 태깅하는 것을 권합니다.
- 한나눔이 트위터(OpenKoreanText)보다 문장분리가 정확하지만, 반대로 무겁습니다.
/* 패키지 명: 한나눔(hnn), 트위터(twt) */
// 예시에서는 트위터 문장 분리기 활용
import kr.bydelta.koala.twt.SentenceSplitter
// 새 문장분리기를 초기화합니다.
val sentSplit = new SentenceSplitter
// 분리할 문장
val paragraph = "안녕하세요. 눈이 오는 설날 아침입니다. KoalaNLP는 간단하고 편리합니다."
// 문장들로 분리합니다.
val sentences: Seq[String] = sentSplit.sentences(paragraph)
Java는 다음과 같습니다.
import kr.bydelta.koala.twt.SentenceSplitter;
import java.util.List;
// 새 문장분리기를 초기화합니다
SentenceSplitter sentSplit = new SentenceSplitter();
// 분리할 문장.
String paragraph = "안녕하세요. 눈이 오는 설날 아침입니다. KoalaNLP는 Java에서도 간단하고 편리합니다.";
// 문장들로 분리합니다.
List<String> sentences = sentSplit.jSentences(paragraph);
또는, 품사 부착 후에, KoalaNLP에서 지원하는 문장분리기를 사용할 수 있습니다.
import kr.bydelta.koala.util.SentenceSplitter
val sentence = someTagger.tagSentence(text) //1개 문장으로 취급하여 품사 부착 완료
val paragraph = SentenceSplitter(sentence.words) //어절 분리하여 Seq[Sentence] 구성.
import kr.bydelta.koala.util.SentenceSplitter
Sentence sentence = someTagger.jTagSentence(text) //1개 문장으로 취급하여 품사 부착 완료
Seq<Sentence> paragraph = SentenceSplitter.apply(sentence.words()) //어절 분리하여 일종의 List로 변환.