Module: OpenNLP::Bindings
- Extended by:
- BindIt::Binding
- Defined in:
- lib/open-nlp/bindings.rb
Class Attribute Summary collapse
-
.language ⇒ Object
Store the language currently being used.
-
.model_files ⇒ Object
A hash containing the names of loaded models.
-
.model_path ⇒ Object
The folder in which to look for models.
-
.models ⇒ Object
A hash containing loaded models.
Class Method Summary collapse
- .default_path ⇒ Object
- .get_model(klass, file = nil) ⇒ Object
- .load_model(name, file = nil) ⇒ Object
- .set_model ⇒ Object
-
.use(language) ⇒ Object
Use a given language for default models.
Class Attribute Details
.language ⇒ Object
Store the language currently being used.
72 73 74 |
# File 'lib/open-nlp/bindings.rb', line 72 def language @language end |
.model_files ⇒ Object
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_path ⇒ Object
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 |
.models ⇒ Object
A hash containing loaded models.
66 67 68 |
# File 'lib/open-nlp/bindings.rb', line 66 def models @models end |
Class Method Details
.default_path ⇒ Object
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_model ⇒ Object
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 |