2014-11-30 1 views
1

작동하지 :스탠포드 늘어진 장식을 붙이는 내가 NLTK에서 스탠포드 포스 술래를 사용하여 시도했지만 그것으로 나에게 오류를 제공

from nltk.tag.stanford import POSTagger 
st = POSTagger('/.../models/english-bidirectional-distsim.tagger', '/.../stanford-postagger-full-2014-10-26/stanford-postagger.jar') 
st.tag("dogs and cats".split()) 

Exception in thread "main" java.lang.UnsupportedClassVersionError: edu/stanford/nlp/tagger/maxent/MaxentTagger : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

--------------------------------------------------------------------------- OSError Traceback (most recent call last) in() ----> 1 st.tag("love myself".split())

/Users/bowang/anaconda/lib/python2.7/site-packages/nltk/tag/stanford.pyc in tag(self, tokens) 57 58 def tag(self, tokens): ---> 59 return self.tag_sents([tokens])[0] 60 61 def tag_sents(self, sentences):

/Users/bowang/anaconda/lib/python2.7/site-packages/nltk/tag/stanford.pyc in tag_sents(self, sentences) 79 # Run the tagger and get the output 80 stanpos_output, _stderr = java(self._cmd,classpath=self._stanford_jar, ---> 81 stdout=PIPE, stderr=PIPE) 82 stanpos_output = stanpos_output.decode(encoding) 83

/Users/bowang/anaconda/lib/python2.7/site-packages/nltk/init.pyc in java(cmd, classpath, stdin, stdout, stderr, blocking) 158 if p.returncode != 0: 159 print(stderr.decode(sys.stdout.encoding)) --> 160 raise OSError('Java command failed!') 161 162 return (stdout, stderr)

OSError: Java command failed!

나는 link이 (떨어져 제거하고 NLTK를 다시 설치에서)하지만 여전히 대답 것과 시도 작동 안함. 또한 나는 내 데이터를 처리하기 위해 명령 줄에서 스탠포드 - tagger.jar을 실행 시도과 같이, 같은 오류를 제공합니다 :

Exception in thread "main" java.lang.UnsupportedClassVersionError: edu/stanford/nlp/tagger/maxent/MaxentTaggerGUI : Unsupported major.minor version 52.0

사람이 있었다 성공적으로하기 전에이 문제를 해결 했습니까? 어떤 도움이라도 대단히 감사합니다! 감사!

+0

참조 http://stackoverflow.com/questions/10382929/unsupported-major-minor-version-51-0 –

답변

11

Stanford Tagger의 최신 버전에는 Java 8이 필요합니다. 업그레이드 할 수없는 경우 이전 버전의 Tagger를 사용하십시오.

+0

감사합니다. 분명히 JDK 8이 아닌 JRE 8을 설치했기 때문에 시스템 환경 설정에서 Java가 최신이라고 알려주지 만 java_home 아래에서 새로운 Java를 찾을 수 없었습니다 ... 다시 한 번 감사드립니다. – Blue482

+0

버전 3.5.0 이상에서는 Java 8이 필요합니다. Java 7의 최신 버전은 3.4.1입니다. http://nlp.stanford.edu/software/tagger.shtml#History – ruhong