Divide and Conquer
Java로 Kkma 형태소 분석기 사용해서 자연어 처리하기 본문
728x90
출처
[Android + NLP] Kkma형태소 분석기 안드로이드 스튜디오에서 사용하기
● 형태소 분석기 한국어 처리에 있어 형태소 분석기는 매우 중요합니다. 영어의 경우 공백 기준으로 단어를 나누는 tokenize기능을 사용해도 큰 무리가 없지만, 한국어 문장에서 키워드를 추출하
ebbnflow.tistory.com
1. app/libs으로 kkam-2.1.jar 파일 이동
2. app 수준의 build.gradle에 implementation files 경로 추가
implementation files('libs/kkma-2.1.jar')
3. KkmaTest 이름으로 class 생성
package com.example.wc;
import org.snu.ids.kkma.index.Keyword;
import org.snu.ids.kkma.index.KeywordExtractor;
import org.snu.ids.kkma.index.KeywordList;
import org.snu.ids.kkma.ma.MExpression;
import org.snu.ids.kkma.ma.MorphemeAnalyzer;
import org.snu.ids.kkma.ma.Sentence;
import java.util.List;
public class KkmaTest {
public static void main(String[] args){
maTest();
extractTest();
}
public static void maTest()
{
String string = "꼬꼬마분석기를돌려보겟습니다";
try {
MorphemeAnalyzer ma = new MorphemeAnalyzer();
ma.createLogger(null);
List<MExpression> ret = ma.analyze(string);
ret = ma.postProcess(ret);
ret = ma.leaveJustBest(ret);
List<Sentence> stl = ma.divideToSentences(ret);
for( int i = 0; i < stl.size(); i++ ) {
Sentence st = stl.get(i);
System.out.println("============================================= " + st.getSentence());
for( int j = 0; j < st.size(); j++ ) {
System.out.println(st.get(j));
}
}
ma.closeLogger();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void extractTest(){
String string = "명사만추출하는코드입니다람쥐";
KeywordExtractor ke = new KeywordExtractor();
KeywordList kl = ke.extractKeyword(string, true);
for( int i = 0; i < kl.size(); i++ ){
Keyword kwrd = kl.get(i);
System.out.println(kwrd.getString() + "\t" + kwrd.getCnt());
}
}
}
반응형
'성장캐 > 안드로이드 스튜디오' 카테고리의 다른 글
Could not identify launch activity: Default Activity not found (0) | 2021.05.18 |
---|---|
Firebase 사진 업로드 예제 (0) | 2021.05.17 |
안드로이드 Material Icons 사이트 (0) | 2021.05.07 |
현재 위치 주소 저장하기 (0) | 2021.05.06 |
안드로이드 스튜디오 구글 로그인 (0) | 2021.05.05 |
Comments