1. ikvm 최신버전을 다운 받는다 (http://www.ikvm.net/download.html).
2. OpenNLP 바이너리 파일도 다운 받는다 (http://opennlp.apache.org/cgi-bin/download.cgi). apache-opennlp-1.5.3-bin.zip 을 다운받으면 됨.
3. UIMA 바이너리 파일을 다운 받는다 (http://uima.apache.org/downloads.cgi).
4. 오라클에서 javamail api을 다운 받는다 (http://www.oracle.com/technetwork/java/index-138643.html).
5. 다운 받은 파일들의 압축을 전부 푼다.
6. ikvm 압축푼 폴더로 가서 bin 폴더에다가 2,3,4 에서 다운받은 jar 파일들, jwnl-1.3.3.jar, mail.jar, opennlp-maxent-3.0.3.jar, opennlp-tools-1.5.3.jar, opennlp-uima-1.5.3.jar, uima-core.jar, 이 6개 파일을 집어넣는다.
7. 윈도우에서 command 명령어를 이용해 ikvm의 bin 폴더로 이동한다.
8. 그리고 아래의 명령어를 입력해준다.
ikvmc -target:library -assembly:opennlp opennlp-maxent-3.0.3.jar jwnl-1.3.3.jar opennlp-uima-1.5.3.jar opennlp-tools-1.5.3.jar uima-core.jar mail.jar
9. 그럼 오류가 뜨긴 뜨는데 무시해도 된다.
10. 이제 아래의 파일들을 C#에서 add reference를 통해 추가만 해주면 쓸 수 있다.
- opennlp.dll
- IKVM.Runtime.dll
- IKVM.OpenJDK.Core.dll
- IKVM.OpenJDK.Jdbc.dll
- IKVM.OpenJDK.Text.dll
- IKVM.OpenJDK.Util.dll
- IKVM.OpenJDK.XML.API.dll
- IKVM.OpenJDK.Charsets.dll
시간나면 예제들 올리겠음.
추가:
모델 파일 중에서 en-pos-maxent.bin 이 파일이 있는데, 이 파일을 winrar이나 압축 프로그램으로 열면 (압축을 풀라는 말이 아님) tags.dagdict 이라는 파일이 있는데 그걸 지워줘야지 제대로 쓸 수 있다.
예제:
만약 문장을 분리해내고 싶다면,
string ModelPath = @".\Model\";
java.io.FileInputStream modelInpStream = new java.io.FileInputStream(ModelPath + "en-sent.bin");
opennlp.tools.sentdetect.SentenceModel sentenceModel = new opennlp.tools.sentdetect.SentenceModel(modelInpStream);
private opennlp.tools.sentdetect.SentenceDetectorME sentenceDetector = new opennlp.tools.sentdetect.SentenceDetectorME(sentenceModel);
string[] input = sentenceDetector.sentDetect(txtboxInput.Text);
txtboxOutput.Text = string.Join("\n", input);
이런식으로 사용하면 된다.
No comments:
Post a Comment