Sha256: fe2e3598edb8ba3c80cbdaaebcc7b6825250dddf3ea84bdcb7f7b7b9fcbca404
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
module Semantic class Search def initialize(documents, options={}) Semantic.logger.level = options[:verbose] ? Logger::INFO : Logger::ERROR @builder = VectorSpace::Builder.new(options) @matrix_transformer = MatrixTransformer.new(options) @vector_space_model = @builder.build_document_matrix(documents) Semantic.logger.info(@vector_space_model) @vector_space_model = @matrix_transformer.apply_transforms(@vector_space_model) end def related(documentId) ratings = [] for index in (0...@vector_space_model.ncol) ratings << Compare.similarity(@vector_space_model.column(documentId), @vector_space_model.column(index)) end ratings end def search(searchList) ratings = [] query_vector = @builder.build_query_vector(searchList) for index in (0...@vector_space_model.ncol) ratings << Compare.similarity(query_vector, @vector_space_model.column(index)) end ratings end end end
Version data entries
4 entries across 4 versions & 2 rubygems