我试图使用以下代码在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的内存,通常更多。”
在运行应用程序的快捷方式中,我指定了一个javaw.exe的路径,即1.8+版本,我还尝试用2014年8月发布的之前Java8升级来替换标签的最新版本,但这两个问题都没有解决。
至于内存问题,我到我的Java控制面板输入"-Xms1024m“作为运行时参数,作为我机器上的每个javaw.exe的运行时参数,这也解决不了这个问题。
如果从.jar运行项目很好,谁能建议什么使它不能运行标记器呢?
谢谢!
发布于 2014-11-10 20:31:50
派斯基莱特的工作,谢谢(很好的名字)!具体来说,在projects选项卡i中,右键单击"Source“> " new”> "Java“,将新包称为"taggers”,并将.tagger文件移到项目根目录下"src“目录下的"taggers”目录中。
https://stackoverflow.com/questions/26851372
复制相似问题