13

I am using the Stanford CRFClassifier and in order to run, it requires a file that is the trained classifier model. I have put this file in the resources directory. From the Javadocs for the CRFClassifier http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/crf/CRFClassifier.html#getClassifier(java.lang.String) the path to the file must be an input to CRFClassifier.getClassifier() and it is a java.lang.String object. So my question is how do I tell .getClassifier() that the file is in the resources directory? i.e. how do I get the file path of a file in the resources directory?

I have tried simply

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

But this returns a FileNotFoundException.

I have also tried

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

which returns a BufferedSource object, but I do not know how to get a file path from this.

Any help would be greatly appreciated.

2
  • 1
    Would this CRFClassifier.getClassifier(getClass.getResource("/split0-ner-model.ser.gz").getPath) work for you? Commented May 23, 2014 at 14:40
  • Yes that's what I ended up doing. Thank you. Commented May 23, 2014 at 14:56

1 Answer 1

24

I managed to be able to get the file path by doing the following

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

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

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.