Class: SemanticTextChunker::Embedders::Base
- Inherits:
-
Object
- Object
- SemanticTextChunker::Embedders::Base
show all
- Defined in:
- lib/semantic_text_chunker/embedders/base.rb
Instance Method Summary
collapse
Instance Method Details
#cosine_similarity(a, b) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/semantic_text_chunker/embedders/base.rb', line 8
def cosine_similarity(a, b)
dot = a.zip(b).sum { |x, y| x * y }
mag_a = Math.sqrt(a.sum { |x| x**2 })
mag_b = Math.sqrt(b.sum { |x| x**2 })
return 0.0 if mag_a.zero? || mag_b.zero?
dot / (mag_a * mag_b)
end
|
#embed(texts) ⇒ Object
4
5
6
|
# File 'lib/semantic_text_chunker/embedders/base.rb', line 4
def embed(texts)
raise NotImplementedError, "#{self.class} must implement #embed"
end
|