2015-01-03 1 views
0
#-*- coding:Utf-8 -*- 
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 
import os 
java_path = "/usr/libexec/java_home" # replace this 
os.environ['JAVAHOME'] = java_path 

from nltk.tag.stanford import POSTagger 

french_postagger = POSTagger("stanford-postagger-full-2014-10-26/models/french.tagger", "stanford-postagger-full-2014-10-26/stanford-postagger.jar", encoding="utf-8") 
english_postagger = POSTagger("stanford-postagger-full-2014-10-26/models/english-bidirectional-distsim.tagger", "stanford-postagger-full-2014-10-26/stanford-postagger.jar", encoding="utf-8") 


print french_postagger.tag("siddhartha is a good boy".split()) 

를 표시하지 :스탠포드 포스 술래는 결과가 파이썬에서 출력 요소 (MAC)

[('', u'/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home')] 

대신 내가 단어와 자신의 태그를 참조 할 필요가있다.

+0

을 정확히? – Kasramvd

+0

방금 ​​ – codious

+0

@ Kasra 편집을 추가했습니다. 실제 결과를 얻고 싶을 때 결과는 공백 문자와 시스템 경로가있는 목록입니다. 내 코드에 문제가 있습니까? – codious

답변

0

문제는 코드의 일부입니다에서 해당 코드를했다

java_path = "/usr/libexec/java_home" # replace this 
os.environ['JAVAHOME'] = java_path 

? 대체해야 할 것 같습니다. 설정이 나의 것 인 경우 첫 번째 줄을 java_path = "/usr/bin/java"으로 변경하면 문제가 해결됩니다. 셋업 내 같은 경우 사실, 단지 는 (포함하면서 그들이 그것을 재현) 완전히 수정 문제를 그 두 줄을 삭제 : 그래서 무슨 문제

from nltk.tag.stanford import POSTagger 
french_postagger = POSTagger("models/french.tagger", "stanford-postagger.jar", encoding="utf-8") 
english_postagger = POSTagger("models/english-bidirectional-distsim.tagger", "stanford-postagger.jar", encoding="utf-8") 

print french_postagger.tag("siddhartha is a good boy".split()) 
> [[(u'siddhartha', u'ADV'), (u'is', u'VPP'), (u'a', u'V'), (u'good', u'ET'), (u'boy', u'ET')]] 
관련 문제