【发布时间】:2015-01-03 19:09:24
【问题描述】:
#-*- 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())
结果如下:
[('', u'/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home')]
相反,我需要查看单词及其标签。
【问题讨论】:
-
那么到底是什么问题?
-
@Kasra 结果是一个包含空白字符和系统路径的列表,而我需要获得实际结果,我的代码有问题吗?
-
一切似乎都是正确的,您确定
stanford-postagger.jar的路径,或者您可以尝试不使用encoding吗?您的代码是否与stanford-postagger-full-2014-10-26在同一目录中? -
@Kasra 是的,我在我的项目文件夹中复制了 stanford pos 解压缩的文件夹。如果路径错误会报错?
-
也尝试过不编码,与结果相同的愚蠢列表
标签: python macos machine-learning nlp stanford-nlp