2014-05-23 11 views
7

Sto usando il CRFClassifier di Stanford e per funzionare, richiede un file che sia il modello del classificatore addestrato. Ho messo questo file nella directory delle risorse. Da Javadocs per CRFClassifier http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html#getClassifier(java.lang.String) il percorso del file deve essere un input per CRFClassifier.getClassifier() ed è un oggetto java.lang.String. Quindi la mia domanda è: come faccio a dire .getClassifier() che il file si trova nella directory delle risorse? Ad esempio, come ottengo il percorso del file di un file nella directory delle risorse?Scala ottiene il percorso del file del file nella cartella delle risorse

ho cercato semplicemente

val classifier = CRFClassifier.getClassifier("./src/main/resources/my_model.ser.gz") 

Ma questo restituisce un FileNotFoundException.

Ho anche provato

Source.fromURL(getClass.getResource("/my_model.ser.gz")) 

che restituisce un oggetto BufferedSource, ma non so come ottenere un percorso di file da questo.

Qualsiasi aiuto sarebbe molto apprezzato.

+1

Sarebbe questo CRFClassifier.getClassifier (getClass.getResource ("/ split0-ner-modello'. ser.gz "). getPath)' lavoro per te? –

+0

Sì, è quello che ho finito per fare. Grazie. – user1893354

risposta

17

sono riuscito a essere in grado di ottenere il percorso del file nel modo seguente

val url=getClass.getResource("/my_model.ser.gz")

val classifier = CRFClassifier.getClassifier(url.getPath())

Problemi correlati