Class: Mitie::NERTrainer
- Inherits:
-
Object
- Object
- Mitie::NERTrainer
- Defined in:
- lib/mitie/ner_trainer.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add(instance) ⇒ Object
- #beta ⇒ Object
- #beta=(value) ⇒ Object
-
#initialize(filename) ⇒ NERTrainer
constructor
A new instance of NERTrainer.
- #num_threads ⇒ Object
- #num_threads=(value) ⇒ Object
- #size ⇒ Object
- #train ⇒ Object
Constructor Details
#initialize(filename) ⇒ NERTrainer
Returns a new instance of NERTrainer.
3 4 5 6 7 8 |
# File 'lib/mitie/ner_trainer.rb', line 3 def initialize(filename) raise ArgumentError, "File does not exist" unless File.exist?(filename) @pointer = FFI.mitie_create_ner_trainer(filename) ObjectSpace.define_finalizer(self, self.class.finalize(@pointer)) end |
Class Method Details
.finalize(pointer) ⇒ Object
46 47 48 49 |
# File 'lib/mitie/ner_trainer.rb', line 46 def self.finalize(pointer) # must use proc instead of stabby lambda proc { FFI.mitie_free(pointer) } end |
Instance Method Details
#add(instance) ⇒ Object
10 11 12 |
# File 'lib/mitie/ner_trainer.rb', line 10 def add(instance) FFI.mitie_add_ner_training_instance(@pointer, instance.pointer) end |
#beta ⇒ Object
14 15 16 |
# File 'lib/mitie/ner_trainer.rb', line 14 def beta FFI.mitie_ner_trainer_get_beta(@pointer) end |
#beta=(value) ⇒ Object
18 19 20 21 22 |
# File 'lib/mitie/ner_trainer.rb', line 18 def beta=(value) raise ArgumentError, "beta must be greater than or equal to zero" unless value >= 0 FFI.mitie_ner_trainer_set_beta(@pointer, value) end |
#num_threads ⇒ Object
24 25 26 |
# File 'lib/mitie/ner_trainer.rb', line 24 def num_threads FFI.mitie_ner_trainer_get_num_threads(@pointer) end |
#num_threads=(value) ⇒ Object
28 29 30 |
# File 'lib/mitie/ner_trainer.rb', line 28 def num_threads=(value) FFI.mitie_ner_trainer_set_num_threads(@pointer, value) end |
#size ⇒ Object
32 33 34 |
# File 'lib/mitie/ner_trainer.rb', line 32 def size FFI.mitie_ner_trainer_size(@pointer) end |
#train ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/mitie/ner_trainer.rb', line 36 def train raise Error, "You can't call train() on an empty trainer" if size.zero? extractor = FFI.mitie_train_named_entity_extractor(@pointer) raise Error, "Unable to create named entity extractor. Probably ran out of RAM." if extractor.null? Mitie::NER.new(pointer: extractor) end |