将Stanford POS tagger作为一个应用程序运行时出现问题。jar在netbeanside中运行良好
我试图使用以下代码行在Java应用程序中实现斯坦福的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
在我用来运行应用程序的快捷方式中,我指定了javaw的路径。exe版本是1.8+,我还尝试用2014年8月的版本,即Java 8升级之前的版本替换tagger的最新版本,但都没有解决问题
至于内存问题,我转到Java控制面板,输入“-Xms1024m”作为每个javaw的运行时参数。exe在我的机器上,这也没有解决问题
谁能告诉我是什么造成了这场灾难。jar无法运行tagger,从NetBeans运行项目时,它还能正常工作吗
谢谢
# 1 楼答案
peeskillet很管用,谢谢(顺便说一下,这个名字很棒)!具体来说,在“项目”选项卡中,我右键单击“源程序包”>;“新的”>;“Java包”将新包称为“标记器”,并移动了。标记器文件放入项目根目录下“src”目录下的“标记器”目录