Class: LangExtract::Core::Resolver
- Inherits:
-
Object
- Object
- LangExtract::Core::Resolver
- Defined in:
- lib/langextract/core/resolver.rb
Overview
Resolves model extraction text to exact or fuzzy source intervals.
Defined Under Namespace
Classes: FuzzySourceContext
Constant Summary collapse
- DEFAULT_FUZZY_THRESHOLD =
0.78- DEFAULT_MIN_COVERAGE =
0.70- DEFAULT_MIN_DENSITY =
0.50- MAX_FUZZY_RANGE_TOKENS =
20_000
Instance Method Summary collapse
-
#initialize(text:, tokenizer: UnicodeTokenizer.new, fuzzy_threshold: DEFAULT_FUZZY_THRESHOLD, allow_overlaps: false, suppress_alignment_errors: true, min_coverage: DEFAULT_MIN_COVERAGE, min_density: DEFAULT_MIN_DENSITY) ⇒ Resolver
constructor
A new instance of Resolver.
- #resolve(items, document_id: nil, preferred_interval: nil) ⇒ Object
Constructor Details
#initialize(text:, tokenizer: UnicodeTokenizer.new, fuzzy_threshold: DEFAULT_FUZZY_THRESHOLD, allow_overlaps: false, suppress_alignment_errors: true, min_coverage: DEFAULT_MIN_COVERAGE, min_density: DEFAULT_MIN_DENSITY) ⇒ Resolver
Returns a new instance of Resolver.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/langextract/core/resolver.rb', line 19 def initialize(text:, tokenizer: UnicodeTokenizer.new, fuzzy_threshold: DEFAULT_FUZZY_THRESHOLD, allow_overlaps: false, suppress_alignment_errors: true, min_coverage: DEFAULT_MIN_COVERAGE, min_density: DEFAULT_MIN_DENSITY) @text = text @tokenizer = tokenizer @fuzzy_threshold = fuzzy_threshold @allow_overlaps = allow_overlaps @suppress_alignment_errors = suppress_alignment_errors @min_coverage = min_coverage @min_density = min_density @tokens = tokenizer.tokenize(text) @fuzzy_token_stream = FuzzyTokenStream.new(tokens) @fuzzy_contexts = {} end |
Instance Method Details
#resolve(items, document_id: nil, preferred_interval: nil) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/langextract/core/resolver.rb', line 34 def resolve(items, document_id: nil, preferred_interval: nil) occupied = [] items.map.with_index do |item, index| resolve_one(item, index, document_id, preferred_interval, occupied) end end |