Hallo zusammen, ich habe ein Problem, das ich gar nicht verstehen kann.
Ich wollte GermaNet ausprobieren und habe die Java Api dafür heruntergeladen. Die Jar-Datei habe ich so wie in der Einleitung beschrieben in den Bild Path eingefügt. Dann wollte ich die beigefügte Beispielsdatei ausprobieren:
Aber leider bekomme ich ständig eine Fehlermeldung:
Die GermaNetParser.class-Datei ist aber im Jar drin. Habt ihr einen Vorschlag, wie ich das Problem lösen könnte?
Danke euch mehrmals!
Ich wollte GermaNet ausprobieren und habe die Java Api dafür heruntergeladen. Die Jar-Datei habe ich so wie in der Einleitung beschrieben in den Bild Path eingefügt. Dann wollte ich die beigefügte Beispielsdatei ausprobieren:
Java:
/*
* GermaNetApplication.java
*
* Author: Hendrik Niederlich
* Date: 2005-05-31
*/
import java.util.*;
import org.eml.sir.gn.*;
import org.eml.sir.util.*;
import org.eml.sir.gn.GermaNetParser;
/*
* Application to show the usage of the GermaNetObject.
*
*/
public class GermaNetApplication {
public static void main(String[] args) {
System.out.println(" -- GermaNetApplication -- ");
/* Instantiate a GermaNetParser. */
GermaNetParser myParser = new GermaNetParser();
/* Instantiate a GermaNetObject. */
GermaNetObject gno = null;
try {
gno = myParser.parse(Constant.gnXmlPath);
} catch(Throwable t) {
t.printStackTrace();
}
/*
* Print some info about this GermaNetObject
* to the standard out.
*/
gno.printInfo();
/* How to use gno.getWordSenses(String). */
String word = "Haus";
ArrayList senses = gno.getWordSenses(word);
if (senses == null) {
System.out.println("No such word sense.");
}
else {
/*
* Get each word sense and print out the information about the
* synset that this word sense is associated with.
*/
for(int i=0; i<senses.size(); i++) {
WordSense ws = (WordSense) senses.get(i);
Synset ss = ws.getSynset();
System.out.println(ss.toString());
}
}
System.out.println();
/* How to use gno.getWordSense(String, char, int). */
word = "Mensch";
WordSense ws = null;
try {
ws = gno.getWordSense(word, Constant.NOUN, 1);
} catch(Throwable t) {
t.printStackTrace();
}
if(ws == null) {
System.out.println("No such word sense.");
}
else {
Synset ss = ws.getSynset();
ss.printInfo();
}
System.out.println();
/* Usage of stemmer. */
word = "Häuser";
Stemmer stemmer = new IdentityStemmer();
System.out.println(stemmer.stem(word));
stemmer = new SnowballStemmer();
System.out.println(stemmer.stem(word));
System.out.println();
/* StemmingGermaNetObject */
StemmingGermaNetObject sgno = new StemmingGermaNetObject(gno, stemmer);
word = "Häuser";
/* "Häuser" can not be recognized, because stemming is set false.*/
sgno.setStemming(false);
senses = sgno.getWordSenses(word);
if (senses == null) {
System.out.println("No such word sense.");
}
else {
for(int i=0; i<senses.size(); i++) {
WordSense wss = (WordSense) senses.get(i);
Synset ss = wss.getSynset();
System.out.println(ss.toString());
}
}
/* But now it should work. */
sgno.setStemming(true);
senses = sgno.getWordSenses(word);
if (senses == null) {
System.out.println("No such word sense.");
}
else {
for(int i=0; i<senses.size(); i++) {
WordSense wss = (WordSense) senses.get(i);
Synset ss = wss.getSynset();
System.out.println(ss.toString());
}
}
System.out.println();
}
}
Aber leider bekomme ich ständig eine Fehlermeldung:
Java:
-- GermaNetApplication --
java.io.FileNotFoundException:
at org.eml.sir.gn.GermaNetParser.parse(GermaNetParser.java:110)
at GermaNetApplication.main(GermaNetApplication.java:34)
Die GermaNetParser.class-Datei ist aber im Jar drin. Habt ihr einen Vorschlag, wie ich das Problem lösen könnte?
Danke euch mehrmals!