1. A computer implemented method for extracting attribute values from formatted data, the method comprising the steps of: maintaining, by a computer, an attribute repository containing information concerning a plurality of attributes, wherein an attribute comprises an entity for which any of a plurality of values to which is assigned one from a finite group of values, and wherein the information concerning each attribute comprises at least one matching attribute name and at least one matching value for that attribute; parsing formatted data and creating a plurality of elements, by a computer, each element representing a segment of the data, comprising a canonical representation of the data, independent of the data format, said canonical representation comprising a sequence at least of text elements, each text element representing a contiguous unit of text from said formatted data, wherein said canonical representation excludes non-substantive content; scanning, by a computer, the elements of the plurality for occurrences of attribute values; ranking, by a computer, each element based on how many distinct attributes occur in that element; for each of a plurality of attributes, ranking, by a computer, each matching value for that attribute based on the highest ranking of an element in which that value occurs, and on an occurrence of that value in the same element as an occurrence of a matching name of that attribute; for each of a plurality of values occurring in the formatted data, inferring, by a computer, occurrence in the formatted data of the attribute for which that value has the highest ranking, and assigning that value to that attribute; and preparing a summary of the data, using at least one attribute inferred to occur in the data and an assigned value of said at least one attribute, by a computer.