Module: OpenNLP::Bindings

Extended by:
BindIt::Binding
Defined in:
lib/open-nlp/bindings.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.languageObject

Store the language currently being used.



72
73
74
# File 'lib/open-nlp/bindings.rb', line 72

def language
  @language
end

.model_filesObject

A hash containing the names of loaded models.



68
69
70
# File 'lib/open-nlp/bindings.rb', line 68

def model_files
  @model_files
end

.model_pathObject

The folder in which to look for models.



70
71
72
# File 'lib/open-nlp/bindings.rb', line 70

def model_path
  @model_path
end

.modelsObject

A hash containing loaded models.



66
67
68
# File 'lib/open-nlp/bindings.rb', line 66

def models
  @models
end

Class Method Details

.default_pathObject



75
76
77
# File 'lib/open-nlp/bindings.rb', line 75

def self.default_path
  File.dirname(__FILE__) + '/../../bin/'
end

.get_model(klass, file = nil) ⇒ Object



102
103
104
105
106
107
108
109
110
111
112
# File 'lib/open-nlp/bindings.rb', line 102

def self.get_model(klass, file=nil)
  name = OpenNLP::Config::ClassToName[klass]
  if !self.language and !file
    raise 'No model file was supplied to the ' +
    'constructor. Please supply a model file ' +
    'or call OpenNLP.use(:some_language), to ' +
    'load the default models for a language.'
  end
  self.load_model(name, file)
  model = self.models[name]
end

.load_model(name, file = nil) ⇒ Object



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/open-nlp/bindings.rb', line 118

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]
  path = self.model_path + file
  stream = FileInputStream.new(path)
  klass = OpenNLP::Config::NameToClass[name]
  load_class(*klass) unless const_defined?(klass[0])
  klass = const_get(klass[0])
  model = klass.new(stream)
  self.model_files[name] = file
  self.models[name] = model
end

.set_modelObject



114
115
116
# File 'lib/open-nlp/bindings.rb', line 114

def self.set_model
  raise 'Not implemented.'
end

.use(language) ⇒ Object

Use a given language for default models.



98
99
100
# File 'lib/open-nlp/bindings.rb', line 98

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