gpt4 book ai didi

ruby - 执行 Open-NLP Ruby Gem 时出错

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:46 24 4
gpt4 key购买 nike

我们试图根据 https://github.com/louismullie/open-nlp/blob/master/README.md 执行的 ruby​​ 代码:

#gem inclusion

require 'open-nlp'

# Set an alternative path to look for the JAR files.
# Default is gem's bin folder.
OpenNLP.jar_path = '/home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/bin/'

# Set an alternative path to look for the model files.
# Default is gem's bin folder.
OpenNLP.model_path = '/home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/bin/'

# Pass some alternative arguments to the Java VM.
# Default is ['-Xms512M', '-Xmx1024M'].
OpenNLP.jvm_args = ['-Xms512M', '-Xmx1024M']

# Redirect VM output to log.txt
OpenNLP.log_file = 'log.txt'

# Set default models for a language.
OpenNLP.use :language

#Maximum entropy tokenizer, chunker and POS tagger
OpenNLP.load

chunker = OpenNLP::ChunkerME.new
tokenizer = OpenNLP::TokenizerME.new
tagger = OpenNLP::POSTaggerME.new

sent = "The death of the poet was kept from his poems."

tokens = tokenizer.tokenize(sent).to_a
# => %w[The death of the poet was kept from his poems .]

tags = tagger.tag(tokens).to_a
# => %w[DT NN IN DT NN VBD VBN IN PRP$ NNS .]

chunks = chunker.chunk(tokens, tags).to_a
# => %w[B-NP I-NP B-PP B-NP I-NP B-VP I-VP B-PP B-NP I-NP O]

这就是输出:

/home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/lib/open-nlp/bindings.rb:125:in `+': no implicit conversion of nil into String (TypeError)
from /home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/lib/open-nlp/bindings.rb:125:in `load_model'
from /home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/lib/open-nlp/bindings.rb:110:in `get_model'
from /home/USER/.rvm/gems/ruby-2.1.2/gems/open-nlp-0.1.5/lib/open-nlp/base.rb:13:in `initialize'
from opennlp_example.rb:26:in `new'
from opennlp_example.rb:26:in `<main>'

因为这只是示例(Simple tokenizer example 运行良好)...我们希望有人对此了解更多

最佳答案

查看 code似乎 OpenNLP::Config::DefaultModels[name][OpenNLP.language]nil:

  def self.load_model(name, file = nil)
if self.models[name] && file ==
self.model_files[name]
return self.models[name]
end
models = OpenNLP::Config::DefaultModels[name]
file ||= models[self.language] # <- this is the problematic line
path = self.model_path + file
stream = FileInputStream.new(path)

我怀疑检查 OpenNLP.language 会产生 :language,来自以下行:

# Set default models for a language.
OpenNLP.use :language

作为 use 的实现是:

  def self.use(language)
self.language = language
end

底线 - 尝试从您的代码中删除 OpenNLP.use :language,或将其更改为 OpenNLP.use :english

关于ruby - 执行 Open-NLP Ruby Gem 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com