GermaNet

Status
Nicht offen für weitere Antworten.

fleiss

Mitglied
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:
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!
 

AmunRa

Gesperrter Benutzer
In welchem jar ist die Datei drin wovon sprichst du?

Wann tritt der Fehler auf schon beim Compilieren oder erst beim Ausführen deines Programms?

wie rufst du den Compiler bzw die runtime auf?

verwendest du zum Testen eine IDE wenn ja welche?

Fragen über Fragen
 

fleiss

Mitglied
HAllo, danke erstmal!

Also,

ich benutze Eclipse.

Die Jar-Datei, die ich beim Herunterladen der GermanNet Api für JAva, musste ich laut DOku zum Build Path hinzufügen. Zitat aus der GermaNet-DOku:
"- gn_api.jar (JAVA-Archiv mit allen notwendigen Klassen)"
.
Die Fehlermeldung kommt sofort nach dem Ausführen des Programms.

:(
VG
 

AmunRa

Gesperrter Benutzer
Wenn du also bei eclipse auf den grunen Pfeil klickst bekommst du die Exception?

Aber bei deinem Sourcecode wird nichts ROT unter wellt?
 

fleiss

Mitglied
Danke an alle und vor allem an dich Michael!

gnXmlPath war Home path of the GermaNet XML Files, also der Pfad war nicht richtig. Jetzt funktioniert es! :applaus:
Ich wünsche, demnächst würde ich selbst darauf kommen!

Danke nochmal!
 
Status
Nicht offen für weitere Antworten.

Oben