Stanford Pos Tagger中的错误 [英] Error in Stanford Pos Tagger

查看:218
本文介绍了Stanford Pos Tagger中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我正在尝试使用Stanford Pos Tagger对某个句子进行POS标签.我在Windows7上使用Python 3.4 nltk 3.1 以下是我使用的代码:

Hello i am trying to do POS tag for a certain sentence using Stanford Pos Tagger. I am using Python 3.4 nltk 3.1 on windows7 Following is the code i used:

import nltk
from nltk.tag.stanford import POSTagger
import os
java_path = r"C:\Program Files\Java\jre1.8.0_66\bin\java.exe"
os.environ['JAVAHOME'] = java_path

St=POSTagger(r"C:\Python34\Scripts\stanford-postagger-2015-12-09\models\english-bidirectional-distsim.tagger",r"C:\Python34\Scripts\stanford-postagger-2015-12-09\stanford-postagger.jar")

tokens = nltk.tokenize.word_tokenize("Sample for tagging a sentence.")
print(St.tag(tokens))

但是,我遇到以下错误:

Yet, i am getting the following error:

Traceback (most recent call last):
Loading default properties from tagger C:\Python34\Scripts\stanford-postagger-2015-12-09\models\english-bidirectional-distsim.tagger

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

at edu.stanford.nlp.io.IOUtils.<clinit>(IOUtils.java:42)

at edu.stanford.nlp.tagger.maxent.TaggerConfig.<init>(TaggerConfig.java:146)

at edu.stanford.nlp.tagger.maxent.TaggerConfig.<init>(TaggerConfig.java:128)

at edu.stanford.nlp.tagger.maxent.MaxentTagger.main(MaxentTagger.java:1836)

原因:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

... 4 more

File "C:\Users\workspace\src\chunking.py", line 15, in <module>
print(St.tag(tokens))
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 59, in tag
return self.tag_sents([tokens])[0]
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 81, in tag_sents stdout=PIPE, stderr=PIPE)
File "C:\Python34\lib\site-packages\nltk\internals.py", line 160, in java     raise OSError('Java command failed!')
OSError: Java command failed!

请问有人可以帮助我解决该错误吗?

Please can anyone help me solve the error?

推荐答案

尝试再添加两个jar文件,这两个都是您的构建路径.您可以在下载的软件包slf4j-api.jarslf4j-simple.jar的lib文件夹中找到这些文件. 看看本教程

Try adding two more jar files two your build path. You will find these files in the lib folder of the downloaded package slf4j-api.jar and slf4j-simple.jar. Have a look into this tutorial

这篇关于Stanford Pos Tagger中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆