如何在python中设置Stanford解析器的-maxLength选项

时间:2015-01-19 16:05:36

标签: java python parsing nltk stanford-nlp

我正在使用Stanford解析器的python接口。我想在进行解析工作时跳过长句。所以我用:

path1 = '/usr/local/Cellar/stanford-parser/3.4/libexec/stanford-parser.jar'
path2 = '/usr/local/Cellar/stanford-parser/3.4/libexec/stanford-parser-3.4-models.jar'
parser = StanfordParser(path_to_jar = path1, path_to_models_jar = path2, java_options = '-maxLength50')

但它说:

Unrecognized option: -maxLength50
Error: Could not create the Java Virtual Machine.

然后我尝试了:

parser = StanfordParser(path_to_jar = path1, path_to_models_jar = path2, java_options = '-maxLength=50')

它仍然说

Unrecognized option: -maxLength=50

以下选项效果很好:

parser = StanfordParser(path_to_jar = path1, path_to_models_jar = path2, java_options = '-mx20000m')

但是如果我没有设定句子的最大长度,即使' -mx20000m'已设定。所以我想我真的需要跳过一些长句。

有谁能告诉我如何设置' -maxLength' python中的选项?谢谢!

1 个答案:

答案 0 :(得分:2)

java选项实际上是JVM的选项,而不是Stanford解析器。您无法设置java选项。

我没有看到在http://www.nltk.org/_modules/nltk/parse/stanford.html中设置maxLen的选项。

在python中如何:if(len(sentence.split())> 50:继续

这不是更简单吗?