无法运行实现Stanford POS标记器作为.jar的Java应用程序,在NetBeans IDE中运行良好

时间:2014-11-10 19:24:20

标签: java netbeans stanford-nlp pos-tagger

我正在尝试使用以下代码行在Java应用程序中实现Stanford的POS标记:

             MaxentTagger tagger = new MaxentTagger("taggers/english-left3words-distsim.tagger");
             String taggedString = tagger.tagString(string);

在NetBeans中运行项目时工作正常,但在NetBeans中编译的可执行文件.jar不会运行标记器。我对Java和一般编程都很陌生,我还没有弄清楚如何记录应用程序GUI控制台中发生的任何错误/异常,并且在NetBeans中运行项目时不会发生错误/异常。

我发生了一些可能发生的事情。斯坦福NLP小组说:

"系统需要安装Java 1.8+。根据您是否运行32位或64位Java以及标记器模型的复杂性,您需要大约60到200 MB的内存来运行训练有素的标记器(即,您可能需要提供java像java -mx200m这样的选项。训练标记器需要大量内存。它再次取决于模型的复杂性,但通常需要至少1GB,通常更多。" http://nlp.stanford.edu/software/tagger.shtml

在我用来运行应用程序的快捷方式中,我指定了版本为1.8+的javaw.exe的路径,并且我还尝试用2014年8月发布的Java 8之前的版本替换最新版本的tagger升级,既没有解决问题。

至于内存问题,我去了我的Java控制面板并输入了" -Xms1024m"作为我的机器上的每个javaw.exe的运行时参数,这也没有解决问题。

当它从NetBeans运行项目时,是否可以建议什么可能使.jar无法运行标记器?

谢谢!

1 个答案:

答案 0 :(得分:1)

peeskillet工作,谢谢(顺便说一句名字)!具体来说,在项目选项卡中,我右键单击“源包”> “新”> “Java Package”称为新包“taggers”,并将.tagger文件移动到项目根目录下“src”目录下的“taggers”目录中。