class RSemantic::Search

Attributes

builder[R]

Public Class Methods

new(documents, options = {}) click to toggle source
# File lib/rsemantic/search.rb, line 5
def initialize(documents, options = {})
  options = {
    :transforms => [:TFIDF, :LSA],
    :verbose    => false,
    :filter_stop_words => true,
    :stem_words => true,
  }.merge(options)
  RSemantic.logger.level = options[:verbose] ? Logger::INFO : Logger::ERROR


  @builder = VectorSpace::Builder.new(
    :filter_stop_words => options[:filter_stop_words],
    :stem_words => options[:stem_words],
    :locale => options[:locale]
  )
  @matrix_transformer = MatrixTransformer.new(options[:transforms])

  @vector_space_model = @builder.build_document_matrix(documents)

  RSemantic.logger.info(@vector_space_model)

  @vector_space_model = @matrix_transformer.apply_transforms(@vector_space_model)
end

Public Instance Methods

Protected Instance Methods

marshal_dump() click to toggle source
# File lib/rsemantic/search.rb, line 48
def marshal_dump
  [@builder, @matrix_transformer, @vector_space_model.to_a]
end
marshal_load(array) click to toggle source
# File lib/rsemantic/search.rb, line 52
def marshal_load(array)
  @builder = array.shift
  @matrix_transformer = array.shift
  @vector_space_model = GSL::Matrix.alloc(*array.shift)
end