Patent ID: 7630968

Claim:
A computer implemented method for extracting information from formatted input, the method comprising the steps of: annotating, by a computer, formatted input with presentation information; parsing, by a computer, annotated data into a plurality of elements comprising a canonical representation of the formatted input, independent of the input format, wherein said canonical representation comprises a sequence of elements, each element representing a segment of the formatted input; analyzing, by a computer, at least some of the sequence of elements of the plurality in order to glean additional information concerning the input context, said input context comprising information about the formatted input that is shared between process steps; determining, by a computer, at least one entity to extract from the input; for each entity to extract, creating, by a computer, at least one observation concerning at least one element of the sequence of the elements of the plurality in context of the entity, each observation indicating possible information concerning the entity; testing, by a computer, at least one observation against relevant heuristics by maintaining, by a computer, a plurality of entity specific heuristics, each heuristic comprising a condition the satisfaction of which provides information on the suitability of tested data as a value for the corresponding entity, wherein at least some of the entity specific heuristics are associated with a weight to uses in determining, by a computer, the probability of an observation tested according to the heuristic comprising the value for the entity; selecting, by a computer, at least one heuristic from the plurality for each entity to extract; testing at least one observation for at least one entity against the at least one heuristic selected for that entity; and responsive to the testing step, determining a probability of the at least one tested observation comprising the value for the entity; and determining, by a computer, at least one possible value for at least one entity to extract, based on testing the at least one observation against relevant heuristics.