Gradle/Maven 없이 형태소 분석 따라하기¶
이 문서에서는 KOMORAN을 이용한 간단한 형태소 분석을 해보도록 하겠습니다.
만약 Gradle
이나 Maven
같은 프로젝트 관리도구를 사용하고 있다면,
3분 만에 형태소 분석 따라하기 문서를 참고해주세요.
Note
문서의 내용 중 지원되지 않거나 잘못된 내용을 발견하실 경우, KOMORAN 문서 프로젝트에 이슈 를 남겨주세요.
프로젝트 시작하기¶
프로젝트 관리도구 없이, 직접 Jar 파일을 추가하여 간단한 형태소 분석을 해보겠습니다. 전체 프로젝트 구조는 다음과 같습니다.
.
├── App.java
└── libs
└── KOMORAN-3.3.9.jar
의존성 추가하기¶
설치하기 의 Jar 파일 만들기
부분을 참고하여 Jar 파일을 생성합니다.
생성한 Jar 파일은 libs
디렉토리를 만든 후, 그 안에 위치시킵니다.
Note
직접 생성한 Jar 파일의 이름은 KOMORAN.jar
이지만, 여기서는 관리를 위해 뒤에 버전을 추가하여
KOMORAN-3.3.9.jar
로 파일명을 변경하였습니다.
형태소 분석하기¶
이제 Java 클래스를 하나 만들어 형태소 분석을 해보도록 하겠습니다. 여기에서는 별도 패키지 없이,
바로 App.java
파일을 만들고 App
클래스를 추가하였습니다.
App.java
파일의 전체 코드는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import kr.co.shineware.nlp.komoran.constant.DEFAULT_MODEL; import kr.co.shineware.nlp.komoran.core.Komoran; import kr.co.shineware.nlp.komoran.model.KomoranResult; import kr.co.shineware.nlp.komoran.model.Token; import java.util.List; public class App { public static void main(String[] args){ Komoran komoran = new Komoran(DEFAULT_MODEL.EXPERIMENT); String strToAnalyze = "대한민국은 민주공화국이다."; KomoranResult analyzeResultList = komoran.analyze(strToAnalyze); System.out.println(analyzeResultList.getPlainText()); List<Token> tokenList = analyzeResultList.getTokenList(); for (Token token : tokenList) { System.out.format("(%2d, %2d) %s/%s\n", token.getBeginIndex(), token.getEndIndex(), token.getMorph(), token.getPos()); } } } |
10번째 줄에서는 EXPERIMENT 모델을 갖는 Komoran
객체를 선언하였습니다. 모델의 종류와 설명에 대해서는 이 문서를 참고해주세요.
Todo
EXPERIMENT / STABLE 모델의 차이를 설명한 문서를 작성하고, 링크합니다.
13번째 줄에서 생성한 Komoran
객체의 analyze()
메소드의 인자로 분석할 문장을 전달하고, 그 결과를
KomoranResult
객체로 저장합니다. KomoranResult
객체는 분석 결과를 보여주는 몇 가지 메소드들을 갖고
있는데, 여기서는 그 중 2가지를 살펴보겠습니다.
첫번째는 형태소 분석 결과가 태깅된 문장 형태를 받아보는 것으로, getPlainText()
메소드를 호출하면 됩니다.
15번째 줄에서는 이러한 결과를 바로 출력하고 있습니다.
두번째 결과는 각 형태소(Token
)를 원소로 갖는 목록(List)으로 받는 것으로, getTokenList()
메소드를
호출하면 됩니다. Token
은 형태소와 품사, 그리고 시작/끝 지점을 갖는 객체로, KOMORAN에서 사용하는 모델입니다.
Todo
KOMORAN에서 사용하는 다양한 모델(Tag, Token 및 KomoranResult 등)에 대한 문서를 추가한 후, 링크합니다.
20번째 줄에서는 각 형태소별 시작/끝 지점 및 형태소와 품사를 형식에 맞춰 줄력하고 있습니다.
실행하기¶
App.java
파일이 위치한 곳에서 다음과 같이 Java 파일을 Class 파일로 컴파일합니다.:
javac -cp "./libs/KOMORAN-3.3.9.jar:" App.java
위 명령어는 libs
디렉토리 내에 있는 KOMORAN-3.3.9.jar
파일을 포함하여 App.java
를 컴파일하도록 하는 명령어입니다.
이제, App.class
파일이 생성된 것을 확인하실 수 있는데요, 이 파일을 실행해보겠습니다.:
java -cp ".:./libs/KOMORAN-3.3.9.jar:" App
다음과 같이 실행 결과를 볼 수 있습니다.
대한민국/NNP 은/JX 민주공화국/NNP 이/VCP 다/EF ./SF
( 0, 4) 대한민국/NNP
( 4, 5) 은/JX
( 6, 11) 민주공화국/NNP
(11, 12) 이/VCP
(12, 13) 다/EF
(13, 14) ./SF