Class: CharSplit::Trainer

Inherits:
Object
  • Object
show all
Defined in:
lib/charsplit/trainer.rb

Instance Method Summary collapse

Constructor Details

#initialize(words, min_length: 3, max_length: 20) ⇒ Trainer

Returns a new instance of Trainer.



8
9
10
11
12
# File 'lib/charsplit/trainer.rb', line 8

def initialize(words, min_length: 3, max_length: 20)
  @words = words
  @min_length = min_length
  @max_length = max_length
end

Instance Method Details

#probabilitiesObject



14
15
16
17
18
# File 'lib/charsplit/trainer.rb', line 14

def probabilities
  counter = NgramCounter.new(min_length: @min_length, max_length: @max_length)
  @words.each { |word| counter.add(word) }
  counter.probabilities
end

#write(path) ⇒ Object



20
21
22
23
24
25
# File 'lib/charsplit/trainer.rb', line 20

def write(path)
  File.open(path, "w:utf-8") do |file|
    JSON.dump(probabilities, file)
    file.write("\n")
  end
end