Class: Mitie::BinaryRelationTrainer
- Inherits:
-
Object
- Object
- Mitie::BinaryRelationTrainer
- Defined in:
- lib/mitie/binary_relation_trainer.rb
Instance Method Summary collapse
- #add_negative_binary_relation(tokens, range1, range2) ⇒ Object
- #add_positive_binary_relation(tokens, range1, range2) ⇒ Object
- #beta ⇒ Object
- #beta=(value) ⇒ Object
-
#initialize(ner, name: "") ⇒ BinaryRelationTrainer
constructor
A new instance of BinaryRelationTrainer.
- #num_negative_examples ⇒ Object
- #num_positive_examples ⇒ Object
- #num_threads ⇒ Object
- #num_threads=(value) ⇒ Object
- #train ⇒ Object
Constructor Details
#initialize(ner, name: "") ⇒ BinaryRelationTrainer
Returns a new instance of BinaryRelationTrainer.
3 4 5 6 7 |
# File 'lib/mitie/binary_relation_trainer.rb', line 3 def initialize(ner, name: "") @pointer = FFI.mitie_create_binary_relation_trainer(name, ner.pointer) ObjectSpace.define_finalizer(self, self.class.finalize(@pointer)) end |
Instance Method Details
#add_negative_binary_relation(tokens, range1, range2) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/mitie/binary_relation_trainer.rb', line 19 def add_negative_binary_relation(tokens, range1, range2) check_add(tokens, range1, range2) tokens_pointer = Utils.array_to_pointer(tokens) status = FFI.mitie_add_negative_binary_relation(@pointer, tokens_pointer, range1.begin, range1.size, range2.begin, range2.size) if status != 0 raise Error, "Unable to add binary relation" end end |
#add_positive_binary_relation(tokens, range1, range2) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/mitie/binary_relation_trainer.rb', line 9 def add_positive_binary_relation(tokens, range1, range2) check_add(tokens, range1, range2) tokens_pointer = Utils.array_to_pointer(tokens) status = FFI.mitie_add_positive_binary_relation(@pointer, tokens_pointer, range1.begin, range1.size, range2.begin, range2.size) if status != 0 raise Error, "Unable to add binary relation" end end |
#beta ⇒ Object
29 30 31 |
# File 'lib/mitie/binary_relation_trainer.rb', line 29 def beta FFI.mitie_binary_relation_trainer_get_beta(@pointer) end |
#beta=(value) ⇒ Object
33 34 35 36 37 |
# File 'lib/mitie/binary_relation_trainer.rb', line 33 def beta=(value) raise ArgumentError, "beta must be greater than or equal to zero" unless value >= 0 FFI.mitie_binary_relation_trainer_set_beta(@pointer, value) end |
#num_negative_examples ⇒ Object
51 52 53 |
# File 'lib/mitie/binary_relation_trainer.rb', line 51 def num_negative_examples FFI.mitie_binary_relation_trainer_num_negative_examples(@pointer) end |
#num_positive_examples ⇒ Object
47 48 49 |
# File 'lib/mitie/binary_relation_trainer.rb', line 47 def num_positive_examples FFI.mitie_binary_relation_trainer_num_positive_examples(@pointer) end |
#num_threads ⇒ Object
39 40 41 |
# File 'lib/mitie/binary_relation_trainer.rb', line 39 def num_threads FFI.mitie_binary_relation_trainer_get_num_threads(@pointer) end |
#num_threads=(value) ⇒ Object
43 44 45 |
# File 'lib/mitie/binary_relation_trainer.rb', line 43 def num_threads=(value) FFI.mitie_binary_relation_trainer_set_num_threads(@pointer, value) end |
#train ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/mitie/binary_relation_trainer.rb', line 55 def train if num_positive_examples + num_negative_examples == 0 raise Error, "You can't call train() on an empty trainer" end detector = FFI.mitie_train_binary_relation_detector(@pointer) raise Error, "Unable to create binary relation detector. Probably ran out of RAM." if detector.null? Mitie::BinaryRelationDetector.new(pointer: detector) end |