Class: Mitie::TextCategorizerTrainer
- Inherits:
-
Object
- Object
- Mitie::TextCategorizerTrainer
- Defined in:
- lib/mitie/text_categorizer_trainer.rb
Instance Method Summary collapse
- #add(text, label) ⇒ Object
- #beta ⇒ Object
- #beta=(value) ⇒ Object
-
#initialize(filename) ⇒ TextCategorizerTrainer
constructor
A new instance of TextCategorizerTrainer.
- #num_threads ⇒ Object
- #num_threads=(value) ⇒ Object
- #size ⇒ Object
- #train ⇒ Object
Constructor Details
#initialize(filename) ⇒ TextCategorizerTrainer
Returns a new instance of TextCategorizerTrainer.
3 4 5 6 7 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 3 def initialize(filename) raise ArgumentError, "File does not exist" unless File.exist?(filename) @pointer = FFI.mitie_create_text_categorizer_trainer(+filename) @pointer.free = FFI["mitie_free"] end |
Instance Method Details
#add(text, label) ⇒ Object
9 10 11 12 13 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 9 def add(text, label) tokens = text.is_a?(Array) ? text : Mitie.tokenize(text) tokens_pointer = Utils.array_to_pointer(tokens) FFI.mitie_add_text_categorizer_labeled_text(@pointer, tokens_pointer, +label) end |
#beta ⇒ Object
15 16 17 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 15 def beta FFI.mitie_text_categorizer_trainer_get_beta(@pointer) end |
#beta=(value) ⇒ Object
19 20 21 22 23 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 19 def beta=(value) raise ArgumentError, "beta must be greater than or equal to zero" unless value >= 0 FFI.mitie_text_categorizer_trainer_set_beta(@pointer, value) end |
#num_threads ⇒ Object
25 26 27 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 25 def num_threads FFI.mitie_text_categorizer_trainer_get_num_threads(@pointer) end |
#num_threads=(value) ⇒ Object
29 30 31 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 29 def num_threads=(value) FFI.mitie_text_categorizer_trainer_set_num_threads(@pointer, value) end |
#size ⇒ Object
33 34 35 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 33 def size FFI.mitie_text_categorizer_trainer_size(@pointer) end |
#train ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/mitie/text_categorizer_trainer.rb', line 37 def train raise Error, "You can't call train() on an empty trainer" if size.zero? categorizer = FFI.mitie_train_text_categorizer(@pointer) raise Error, "Unable to create text categorizer. Probably ran out of RAM." if categorizer.null? Mitie::TextCategorizer.new(pointer: categorizer) end |