Class: Phronomy::Eval::Scorer::IncludesScorer
- Defined in:
- lib/phronomy/eval/scorer/includes_scorer.rb
Overview
Scorer that returns 1.0 when the actual output contains the expected substring (case-insensitive by default).
Useful for open-ended outputs where the exact wording may vary but a key term or phrase must be present.
Instance Method Summary collapse
-
#initialize(case_sensitive: false) ⇒ IncludesScorer
constructor
A new instance of IncludesScorer.
-
#score(actual:, expected:, input: nil) ⇒ Float
1.0 if actual contains expected, 0.0 otherwise.
Constructor Details
#initialize(case_sensitive: false) ⇒ IncludesScorer
Returns a new instance of IncludesScorer.
16 17 18 |
# File 'lib/phronomy/eval/scorer/includes_scorer.rb', line 16 def initialize(case_sensitive: false) @case_sensitive = case_sensitive end |
Instance Method Details
#score(actual:, expected:, input: nil) ⇒ Float
Returns 1.0 if actual contains expected, 0.0 otherwise.
21 22 23 24 25 26 |
# File 'lib/phronomy/eval/scorer/includes_scorer.rb', line 21 def score(actual:, expected:, input: nil) a = actual.to_s e = expected.to_s a = a.downcase and e = e.downcase unless @case_sensitive a.include?(e) ? 1.0 : 0.0 end |