-
Notifications
You must be signed in to change notification settings - Fork 10
2.1 문장 분리(Sentence split)
Bugeun Kim edited this page Dec 14, 2018
·
6 revisions
여기에 수록된 사용법(1~3절)은 모두 1.x 버전의 사용법입니다. 최신 버전의 사용법은 Usage를 참고하십시오.
품사 태깅을 거치지 않은 문장 분리는, 한나눔과 트위터(오픈한글) 분석기만 지원됩니다. 타 패키지의 경우 문장 분리 작업이 품사 태깅 이후에 이루어집니다.
NOTE:
- 긴 문단의 경우, 문장 분리를 한나눔 또는 트위터(오픈한글)로 작업한 다음 각 문장별로 태깅하는 것을 권합니다.
- 한나눔이 트위터(오픈한글)보다 문장분리가 정확하지만, 반대로 무겁습니다.
/*
* 초기화 과정에서 API.HANNANUM 또는 API.TWITTER 지정 필요.
* 예시에서는 트위터 문장 분리기 활용
* 다음과 같이 초기화하였다고 가정함
* koalanlp.intialize({packages: [API.HANNANUM, ...] ...})
*/
let koalanlp = require('koalanlp');
let API = koalanlp.API;
let SentenceSplitter = koalanlp.SentenceSplitter;
// 새 문장분리기를 초기화합니다.
let sentSplit = new SentenceSplitter(API.HANNANUM);
// 분리할 문장
let paragraph = "안녕하세요. 눈이 오는 설날 아침입니다. KoalaNLP는 최신 Java 패키지를 자동으로 불러오니 편리합니다.";
// 문장들로 분리합니다.
let sentPromise = sentSplit.sentences(paragraph);
sentPromise.then(function(result){
sentences = result;
});
// Synchronous:
let sentences = sentSplit.sentencesSync(paragraph);또는, 품사 부착 후에, KoalaNLP에서 지원하는 문장분리기를 사용할 수 있습니다.
let koalanlp = require('koalanlp');
let SentenceSplitter = koalanlp.SentenceSplitter;
let sentence = someTagger.tagSentence(text) // 1개 문장으로 취급하여 품사 부착 완료
let paraPromise = SentenceSplitter.sentences(sentence) // 문장의 어절을 분리하여 Sentence[] 구성.
paraPromise.then(function(result){
paragraph = result;
});
// Synchronous:
let sentences = SentenceSplitter.sentencesSync(paragraph);