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 |
# File 'lib/mitie/binary_relation_trainer.rb', line 3 def initialize(ner, name: "") @pointer = FFI.mitie_create_binary_relation_trainer(name, ner.pointer) @pointer.free = FFI["mitie_free"] end |
Instance Method Details
#add_negative_binary_relation(tokens, range1, range2) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/mitie/binary_relation_trainer.rb', line 18 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
8 9 10 11 12 13 14 15 16 |
# File 'lib/mitie/binary_relation_trainer.rb', line 8 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
28 29 30 |
# File 'lib/mitie/binary_relation_trainer.rb', line 28 def beta FFI.mitie_binary_relation_trainer_get_beta(@pointer) end |
#beta=(value) ⇒ Object
32 33 34 35 36 |
# File 'lib/mitie/binary_relation_trainer.rb', line 32 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
50 51 52 |
# File 'lib/mitie/binary_relation_trainer.rb', line 50 def num_negative_examples FFI.mitie_binary_relation_trainer_num_negative_examples(@pointer) end |
#num_positive_examples ⇒ Object
46 47 48 |
# File 'lib/mitie/binary_relation_trainer.rb', line 46 def num_positive_examples FFI.mitie_binary_relation_trainer_num_positive_examples(@pointer) end |
#num_threads ⇒ Object
38 39 40 |
# File 'lib/mitie/binary_relation_trainer.rb', line 38 def num_threads FFI.mitie_binary_relation_trainer_get_num_threads(@pointer) end |
#num_threads=(value) ⇒ Object
42 43 44 |
# File 'lib/mitie/binary_relation_trainer.rb', line 42 def num_threads=(value) FFI.mitie_binary_relation_trainer_set_num_threads(@pointer, value) end |
#train ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/mitie/binary_relation_trainer.rb', line 54 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 |