UIMA Ruta를 처음 사용합니다. 스크립팅 언어를 사용하여 주석 작성자를 만들었습니다. EclipseIDE 내에서 실행할 수 있습니다. 제공된 입력에 스크립트를 자동으로 실행하는 JAVA API를 작성하려고합니다.UIMA Ruta 스크립트를 실행하기위한 Java API
저는 UIMA 문서에서 제공되는 동일한 예제 프로젝트를 사용하고 있습니다.
지금까지 내가 기본 BasicEngine.xml 및 입력 텍스트 파일 니펫을 위의 실행에이
try {
File taeDescriptor = null;
File inputDir = null;
// Read and validate command line arguments
boolean validArgs = false;
if (args.length == 2) {
taeDescriptor = new File(args[0]);
inputDir = new File(args[1]);
validArgs = taeDescriptor.exists()
&& !taeDescriptor.isDirectory()
&& inputDir.isDirectory();
}
if (!validArgs) {
printUsageMessage();
} else {
// get Resource Specifier from XML file
XMLInputSource in = new XMLInputSource(taeDescriptor);
ResourceSpecifier specifier = UIMAFramework.getXMLParser()
.parseResourceSpecifier(in);
// for debugging, output the Resource Specifier
// System.out.println(specifier);
// create Analysis Engine
AnalysisEngine ae = UIMAFramework
.produceAnalysisEngine(specifier);
// create a CAS
CAS cas = ae.newCAS();
// get all files in the input directory
File[] files = inputDir.listFiles();
if (files == null) {
System.out.println("No files to process");
} else {
// process documents
for (int i = 0; i < files.length; i++) {
if (!files[i].isDirectory()) {
processFile(files[i], ae, cas);
}
}
}
ae.destroy();
}
} catch (Exception e) {
e.printStackTrace();
}
}
을 할 수 있었다. 그것은 스택 추적을 아래에 준다.
org.apache.uima.resource.ResourceInitializationException: Annotator class "org.apache.uima.ruta.engine.RutaEngine" was not found. (Descriptor: file:/D:/uimaOutput/ruta-2.1.0/example-projects/ExampleProject/descriptor/BasicEngine.xml)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:209)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:158)
at org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
at org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
at org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:369)
at org.apache.uima.examples.ExampleApplication.main(ExampleApplication.java:81)
Caused by: java.lang.ClassNotFoundException: org.apache.uima.ruta.engine.RutaEngine
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:206)
... 6 more
내가 붙어있다. 도와주세요.
편집 : 위의 기록
자바 API는 UIMA 문서에서 uimaj-예에서입니다. classpath에 ruta jar와 일반적인 jar 파일을 추가했다.
해당 클래스와 JAR를 발견하고 CLASSPATH에 추가하십시오 : uimaFIT를 사용하는 것을 선호 개발자의
. IDE 외부에서 작업하는 방법을 모른 채로 Eclipse에 너무 익숙해 져있는 것처럼 들립니다. – duffymo
도움을 주셔서 감사합니다. – Anshul