/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package analysertest2;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringReader;
import java.io.Writer;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import kr.org.kisti.morph.DBConnection;
import kr.org.kisti.morph.KMSMorphUtil;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.kr.KoreanAnalyzer;
import org.apache.lucene.analysis.kr.KoreanTokenizer;
import org.apache.lucene.analysis.kr.morph.MorphException;
/**
*
* @author admin
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws MorphException {
// 형태소 분석
KMSMorphUtil kmu = new KMSMorphUtil();
String input1 = "올해 크리스마스에는 눈이 내리지 않고 비교적 포근할 전망이다.";
String result1 = kmu.morphAnalyze(input1);
System.out.println(result1);
// 복합명사 분해
String input2 = "하늘공원";
String result2 = kmu.compoundNounAnalyze(input2);
System.out.println(result2);
// 띄워쓰기
String input3 = "올 해크리스마스 에는 눈이내리지않고 비교적포근할전 망이다.";
String result3 = kmu.wordSpaceAnalyze(input3);
System.out.println(result3);
// 색인어 추출
String input4 = "올해 크리스마스에는 눈이 내리지 않고 비교적 포근할 전망이다.";
String result4 = kmu.guideWord(input4);
System.out.println(result4);
System.out.println("");
// 사회과학일반 분야에 대한 논문명 분석 결과
DBConnection dbConnect = new DBConnection();
dbConnect.getConnection();
List<String> result = dbConnect.ExcuteQuery("select * from paper where cls_id like 'B010000'");
dbConnect.close();
Writer fs = null;
try {
fs = new FileWriter("output.txt");
} catch (IOException ex) {
System.out.println("Cann't write file.");
}
for(String s : result) {
if(s.contains("-")) {
String temp = s;
s = temp.replace("-", " ");
}
try {
fs.write("원문내용 : " + s + "\r\n");
} catch (IOException ex) {}
System.out.println("원문내용 : " + s);
try {
String resultString = kmu.morphAnalyze(s);
fs.write("분석결과 : " + resultString + "\r\n");
System.out.println("분석결과 : " + resultString);
resultString = kmu.wordSpaceAnalyze(s);
fs.write("띄워쓰기 : " + resultString + "\r\n");
System.out.println("띄워쓰기 : " + resultString);
resultString = kmu.guideWord(s);
fs.write("단어추출 : " + resultString + "\r\n");
fs.write("\r\n");
System.out.println("단어추출 : " + resultString);
System.out.println("");
} catch (IOException e) {
} catch (Exception e) {
try {
fs.write("[ERROR] 분석할 수 없음.." + "\r\n");
fs.write("\r\n");
} catch(IOException ex) {}
System.out.println("[ERROR] 분석할 수 없음..");
System.out.println("");
}
}
try {
fs.close();
} catch (IOException e) { }
}
}
'백엔드기술 > 개발언어' 카테고리의 다른 글
임시 참조 - 루씬 한글 형태소 분석기 사용하기 (Util) (0) | 2010.05.25 |
---|---|
임시 참조 (0) | 2010.05.25 |
뮤텍스 (Mutex) (0) | 2009.12.09 |