Patent ID: 8140533

Claim:
A computer-implemented method for extracting information from a list into a relational database table, comprising: receiving a list having a number of items; determining, by a processor of a computing system, for each one of a plurality of items of the list, a number of fields, which include a sequence of one or more consecutive terms of the item, wherein determining the number of fields for an item includes: removing delimiters from the item; determining a list of all field candidates for the item, wherein each field candidate contains one or more terms from the item; determining a field quality score for each field candidate, the field quality score indicating a likelihood that the terms of the field candidate can be grouped together into a common field; and iteratively until the list of field candidates is empty: identifying a first field candidate in the field candidate list having a highest field quality score; removing the first field candidate from the field candidate list; identifying the first field candidate as a field for the item; identifying overlapping field candidates from the field candidate list, wherein overlapping field candidates are field candidates that include one or more terms in common with the terms of the first field candidate; and removing overlapping field candidates from the field candidate list; determining, by a processor of the computing system, based on the determined numbers of fields for each one of the plurality of items of the list, a number of columns for the relational database table; identifying, by a processor of the computing system, an item from among the plurality of items of the list having a different number of determined fields than the determined number of columns; if the number of determined fields of the identified item is greater than the number of columns, merging the determined fields of the identified item and determining a number of new fields of the item so that the identified item has no more new fields than the number of columns and then if the number of new fields of the identified item is less than the number of columns, inserting one or more null fields into the identified item so the identified item has as many fields as the number of relational database table columns; if the number of determined fields of the identified item is less than the number of columns, inserting one or more null fields into the identified item so the identified item has as many fields as the number of relational database table columns; and writing information in the identified item into a row of the relational database table such that the information in each field of the identified item is written to a corresponding column of the row of the relational database table.