Class: LangExtract::Core::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/langextract/core/resolver.rb

Defined Under Namespace

Classes: Match

Constant Summary collapse

DEFAULT_FUZZY_THRESHOLD =
0.78
MAX_FUZZY_CANDIDATE_STARTS =
4_000

Instance Method Summary collapse

Constructor Details

#initialize(text:, tokenizer: UnicodeTokenizer.new, fuzzy_threshold: DEFAULT_FUZZY_THRESHOLD, allow_overlaps: false, suppress_alignment_errors: true) ⇒ Resolver

Returns a new instance of Resolver.



13
14
15
16
17
18
19
20
21
# File 'lib/langextract/core/resolver.rb', line 13

def initialize(text:, tokenizer: UnicodeTokenizer.new, fuzzy_threshold: DEFAULT_FUZZY_THRESHOLD,
               allow_overlaps: false, suppress_alignment_errors: true)
  @text = text
  @tokenizer = tokenizer
  @fuzzy_threshold = fuzzy_threshold
  @allow_overlaps = allow_overlaps
  @suppress_alignment_errors = suppress_alignment_errors
  @tokens = tokenizer.tokenize(text)
end

Instance Method Details

#resolve(items, document_id: nil, preferred_interval: nil) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/langextract/core/resolver.rb', line 23

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