Module: Raingrams

Defined in:
lib/raingrams/model.rb,
lib/raingrams/ngram.rb,
lib/raingrams/version.rb,
lib/raingrams/raingrams.rb,
lib/raingrams/bigram_model.rb,
lib/raingrams/tokens/token.rb,
lib/raingrams/trigram_model.rb,
lib/raingrams/unigram_model.rb,
lib/raingrams/hexagram_model.rb,
lib/raingrams/quadgram_model.rb,
lib/raingrams/tokens/unknown.rb,
lib/raingrams/multigram_model.rb,
lib/raingrams/pentagram_model.rb,
lib/raingrams/tokens/stop_sentence.rb,
lib/raingrams/tokens/start_sentence.rb,
lib/raingrams/open_vocabulary/open_model.rb,
lib/raingrams/open_vocabulary/bigram_model.rb,
lib/raingrams/open_vocabulary/trigram_model.rb,
lib/raingrams/open_vocabulary/unigram_model.rb,
lib/raingrams/open_vocabulary/hexagram_model.rb,
lib/raingrams/open_vocabulary/quadgram_model.rb,
lib/raingrams/open_vocabulary/multigram_model.rb,
lib/raingrams/open_vocabulary/pentagram_model.rb,
lib/raingrams/exceptions/prefix_frequency_missing.rb

Defined Under Namespace

Modules: OpenVocabulary, Tokens Classes: BigramModel, HexagramModel, Model, MultigramModel, Ngram, PentagramModel, PrefixFrequencyMissing, QuadgramModel, TrigramModel, UnigramModel

Constant Summary collapse

VERSION =
'0.0.9'

Class Method Summary collapse

Class Method Details

.closed_vocabulary_model(opts = {}, &block) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/raingrams/raingrams.rb', line 7

def Raingrams.closed_vocabulary_model(opts={},&block)
  if opts[:ngram_size]==1
    return UnigramModel.new(opts,&block)
  else
    return MultigramModel.new(opts,&block)
  end
end

.model(opts = {}, &block) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/raingrams/raingrams.rb', line 23

def Raingrams.model(opts={},&block)
  case opts[:vocabulary]
  when :open, 'open'
    return Raingrams.open_vocabulary_model(opts,&block)
  else
    return Raingrams.closed_vocabulary_model(opts,&block)
  end
end

.open_vocabulary_model(opts = {}, &block) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/raingrams/raingrams.rb', line 15

def Raingrams.open_vocabulary_model(opts={},&block)
  if opts[:ngram_size]==1
    return OpenVocabulary::UnigramModel.new(opts,&block)
  else
    return OpenVocabulary::MultigramModel.new(opts,&block)
  end
end