Module: Topical

Defined in:
lib/topical.rb,
lib/topical/topic.rb,
lib/topical/engine.rb,
lib/topical/metrics.rb,
lib/topical/version.rb,
lib/topical/labelers/base.rb,
lib/topical/model_serializer.rb,
lib/topical/clustering/adapter.rb,
lib/topical/labelers/term_based.rb,
lib/topical/dimensionality_reducer.rb,
lib/topical/clustering/kmeans_adapter.rb,
lib/topical/extractors/term_extractor.rb,
lib/topical/clustering/hdbscan_adapter.rb

Overview

Main module for topic modeling

Defined Under Namespace

Modules: Clustering, Extractors, Labelers, Metrics Classes: DimensionalityReducer, Engine, Error, ModelSerializer, Topic

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.embedding_model_available?Boolean

Check if red-candle is available for embedding generation in examples

Returns:

  • (Boolean)


42
43
44
45
46
47
48
49
# File 'lib/topical.rb', line 42

def self.embedding_model_available?
  @embedding_model_available ||= begin
    require 'red-candle'
    true
  rescue LoadError
    false
  end
end

.extract(embeddings:, documents:, **options) ⇒ Array<Topic>

Convenience method for simple topic extraction

Parameters:

  • embeddings (Array<Array<Float>>)

    Document embeddings

  • documents (Array<String>)

    Document texts

  • options (Hash)

    Additional options

Returns:

  • (Array<Topic>)

    Extracted topics



36
37
38
39
# File 'lib/topical.rb', line 36

def self.extract(embeddings:, documents:, **options)
  engine = Engine.new(**options)
  engine.fit(embeddings: embeddings, documents: documents)
end