US2004068693A1PendingUtilityA1

Client side form filler that populates form fields based on analyzing visible field labels and visible display format hints without previous examination or mapping of the form

60
Priority: Apr 28, 2000Filed: Oct 6, 2003Published: Apr 8, 2004
Est. expiryApr 28, 2020(expired)· nominal 20-yr term from priority
G06Q 40/04G06F 40/174G06F 16/972G06Q 20/12G06Q 30/04
60
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Client side program code examines electronic documents such as web pages and automatically fills out fields of forms contained in the document with the appropriate data from a user profile, without requiring prior mapping or examination of the form. The application maps user data to the appropriate form field by examining label text on the form as the user sees it, i.e. text that is visually nearest the field. For fields lacking labels, the application examines the field context to determine the required data. To enter the information in the correct format, the application parses visual hints concerning, for example, the date format provided to the user and formats the data accordingly. In the absence of any usable visual cues or contextual information, the program code parses the form's underlying markup code.

Claims

exact text as granted — not AI-modified
1 . A client-based method for filling out an electronic form automatically without previously mapping or examining said form, comprising the steps of: 
 mapping said form based on analysis of visible form elements, and    populating form fields with correct data in correct format without user intervention, according to said mapping.    
     
     
         2 . The method of  claim 1 , wherein said mapping step comprises the steps of: 
 identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and    evaluating user visible display format hints proximate said fields to determine required display format.    
     
     
         3 . The method of  claim 2 , wherein said step of identifying fields based on analysis of visible field labels comprises: 
 traversing page elements in a first sequence.    
     
     
         4 . The method of  claim 3 , wherein said step of identifying fields based on analysis of visible field labels further comprises any of the steps of: 
 if a field is positioned in a table cell, analyzing text expressions in adjacent cells;    analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields;    based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and    disregarding text expressions embedded within parentheses or quotation marks.    
     
     
         5 . The method of  claim 4 , wherein said step of identifying fields based on analysis of visible field labels further comprises the step of: 
 comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         6 . The method of  claim 3 , further comprising the step of: 
 when a field lacks a visible field label, mapping the field according to context.    
     
     
         7 . The method of  claim 6 , wherein mapping the field according to context comprises: 
 identifying mapping of at least one field preceding a current field in said first sequence; and    mapping said current field based on said mapping of said preceding field.    
     
     
         8 . The method of  claim 3 , further comprising the step of: 
 when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.    
     
     
         9 . The method of  claim 3 , further comprising the step of: 
 when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         10 . The method of  claim 3 , further comprising the step of: 
 if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         11 . The method of  claim 3 , further comprising the step of: 
 for sets of radio buttons, creating a new object for each set.    
     
     
         12 . The method of  claim 3 , further comprising the step of: 
 identifying block type, wherein a block comprises a plurality of related fields.    
     
     
         13 . The method of  claim 12 , wherein the step of identifying block type comprises one of the steps of: 
 comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type;    comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and    where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.    
     
     
         14 . The method of  claim 13 , said step of step identifying block type further comprising the step of: 
 when a close match is found, mapping said field to said block type.    
     
     
         15 . The method of  claim 12 , wherein block type includes any of: 
 billing address;    shipping address;    credit card information; and    email address.    
     
     
         16 . The method of  claim 2 , further comprising the step of: 
 traversing form elements in a second sequence, said second sequence a reverse of a first sequence.    identifying mapping of at least a field following a current field in said second sequence; and    mapping said current field based on said mapping of said following field.    
     
     
         17 . The method of  claim 2 , wherein said step of evaluating visible display format hints proximate said fields to determine required display format comprises the steps of: 
 traversing form elements in a first sequence;    analyzing a visible display format hint proximate a field;    comparing said analyzed display format hint with a dictionary of data-entry prompts;    mapping said field to a display format based on said comparison.    
     
     
         18 . The method of  claim 17 , further comprising the step of: 
 any of concatenating, truncating and re-formatting and said correct data according to said display format.    
     
     
         19 . The method of  claim 17 , further comprising the step of: 
 for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.    
     
     
         20 . The method of  claim 1 , further comprising the step of: 
 identifying a form as a checkout form.    
     
     
         21 . The method of  claim 1 , further comprising the step of: 
 masking confidential data from being displayed.    
     
     
         22 . A computer program product for filling out an electronic form automatically without previously mapping or examining said form, said computer program product comprising a tangible medium having computer readable code embodied thereon, the computer code including program code means for: 
 mapping said form based on analysis of visible form elements; and    populating form fields with correct data in correct format without user intervention, according to said mapping.    
     
     
         23 . The computer program product of  claim 22 , wherein said code means for mapping said form based on analysis of visible form elements comprises code means for: 
 identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and    evaluating user visible display format hints proximate said fields to determine required display format.    
     
     
         24 . The computer program product of  claim 23 , wherein said code means for identifying fields based on analysis of visible field labels comprises code means for: 
 traversing page elements in a first sequence.    
     
     
         25 . The computer program product of  claim 24 , wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for any of: 
 if a field is positioned in a table cell, analyzing text expressions in adjacent cells;    analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields;    based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and    disregarding text expressions embedded within parentheses or quotation marks.    
     
     
         26 . The computer program product of  claim 25 , wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for: 
 comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         27 . The computer program product of  claim 24 , further comprising code means for: 
 when a field lacks a visible field label, mapping the field according to context.    
     
     
         28 . The computer program product of  claim 27 , wherein said code means for mapping the field according to context comprises code means for: 
 identifying mapping of at least one field preceding a current field in said first sequence; and    mapping said current field based on said mapping of said preceding field.    
     
     
         29 . The computer program product of  claim 24 , further comprising code means for: 
 when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.    
     
     
         30 . The computer program product of  claim 24 , further comprising code means for: 
 when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         31 . The computer program product of  claim 24 , further comprising code means for: 
 if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         32 . The computer program product of  claim 24 , further comprising code means for: 
 for sets of radio buttons, creating a new object for each set.    
     
     
         33 . The computer program product of  claim 24 , further comprising code means for: 
 identifying block type, wherein a block comprises a plurality of related fields.    
     
     
         34 . The computer program product of  claim 33 , wherein the code means for identifying block type comprises code means for: 
 comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type;    comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and    where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.    
     
     
         35 . The computer program product of  claim 34 , wherein the code means for identifying block type further comprises code means for: 
 when a close match is found, mapping said field to said block type.    
     
     
         36 . The computer program product of  claim 33 , wherein block type includes any of: 
 billing address;    shipping address;    credit card information; and    email address.    
     
     
         37 . The computer program product of  claim 23 , further comprising code means for: 
 traversing form elements in a second sequence, said second sequence a reverse of a first sequence.    identifying mapping of at least a field following a current field in said second sequence; and    mapping said current field based on said mapping of said following field.    
     
     
         38 . The computer program product of  claim 23 , wherein said code means for evaluating visible display format hints proximate said fields to determine required display format comprises code means for: 
 traversing form elements in a first sequence;    analyzing a visible display format hint proximate a field;    comparing said analyzed display format hint with a dictionary of data-entry prompts;    mapping said field to a display format based on said comparison.    
     
     
         39 . The computer program product of  38 , further comprising the code means for: 
 any of concatenating, truncating and re-formatting and said correct data according to said display format.    
     
     
         40 . The computer program product of  claim 38 , further comprising code means for: 
 for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.    
     
     
         41 . The computer program product of  claim 22 , further comprising code means for: 
 identifying a form as a checkout form.    
     
     
         42 . The computer program product of  claim 22 , further comprising code means for: 
 masking confidential data from being displayed.    
     
     
         43 . A client-based system for filling out an electronic form automatically without previously mapping or examining said form, comprising: 
 a client;    at least one data file;    rules for mapping visible form elements to correct data from said file; and    computer-readable code means for: 
 mapping said form based on analysis of visible form elements; and  
 populating form fields with correct data in correct format without user intervention, according to said mapping;  
   wherein said code is executable on said client, and wherein, said analogs, said rules, and said code are stored on said client.    
     
     
         44 . The system of  claim 43 , wherein said code means for mapping said form based on analysis of visible form elements comprises code means for: 
 identifying fields based on analysis of visible field labels proximate said fields, when said field labels are present; and    evaluating user visible display format hints proximate said fields to determine required display format.    
     
     
         45 . The system of  claim 44 , wherein said code means for identifying fields based on analysis of visible field labels comprises code means for: 
 traversing page elements in a first sequence.    
     
     
         46 . The system of  claim 45 , wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for any of: 
 if a field is positioned in a table cell, analyzing text expressions in adjacent cells;    analyzing a text expression within a predetermined number of words and in at least one predetermined direction from said fields;    based on page coordinates, examining general vicinity of said page in all directions from the field and analyzing text expression closest to said field; and    disregarding text expressions embedded within parentheses or quotation marks.    
     
     
         47 . The system of  claim 46 , wherein said code means for identifying fields based on analysis of visible field labels further comprises code means for: 
 comparing the analyzed text expressions with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         48 . The system of  claim 45 , further comprising code means for: 
 when a field lacks a visible field label, mapping the field according to context.    
     
     
         49 . The system of  claim 48 , wherein said code means for mapping the field according to context comprises code means for: 
 identifying mapping of at least one field preceding a current field in said first sequence; and    mapping said current field based on said mapping of said preceding field.    
     
     
         50 . The system of  claim 45 , further comprising code means for: 
 when a field lacks a visible field label, mapping the field based on analysis of a programmatic field name.    
     
     
         51 . The system of  claim 45 , further comprising code means for: 
 when a field lacks a visible field label, comparing the field's default value with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         52 . The system of  claim 45 , further comprising code means for: 
 if a field is a select field, comparing selection options with entries in a field label dictionary to find closest match with a metadata expression, wherein said field is mapped to correct metadata.    
     
     
         53 . The system of  claim 45 , further comprising code means for: 
 for sets of radio buttons, creating a new object for each set.    
     
     
         54 . The system of  claim 24 , further comprising code means for: 
 identifying block type, wherein a block comprises a plurality of related fields.    
     
     
         55 . The system of  claim 54 , wherein the code means for identifying block type comprises code means for: 
 comparing programmatic field name of at least a current field with arrays of metadata expressions for each block type;    comparing visible form elements for at least said current field with arrays of metadata expressions for each block type; and    where said current field occupies a table cell, analyzing text expressions at least from first cell of said table to cell occupied by said current field.    
     
     
         56 . The system of  claim 55 , wherein the code means for identifying block type further comprises code means for: 
 when a close match is found, mapping said field to said block type.    
     
     
         57 . The system of  claim 54 , wherein block type includes any of: 
 billing address;    shipping address;    credit card information; and    email address.    
     
     
         58 . The system  claim 44 , further comprising code means for: 
 traversing form elements in a second sequence, said second sequence a reverse of a first sequence.    identifying mapping of at least a field following a current field in said second sequence; and    mapping said current field based on said mapping of said following field.    
     
     
         59 . The system of  claim 44 , wherein said code means for evaluating visible display format hints proximate said fields to determine required display format comprises code means for: 
 traversing form elements in a first sequence;    analyzing a visible display format hint proximate a field;    comparing said analyzed display format hint with a dictionary of data-entry prompts;    mapping said field to a display format based on said comparison.    
     
     
         60 . The system of  59 , further comprising code means for: 
 any of concatenating, truncating and re-formatting and said correct data according to said display format.    
     
     
         61 . The system of  claim 59 , further comprising code means for: 
 for a field lacking a proximate visible display format hint, mapping current field to same display format of a preceding field if both fields are the same field type.    
     
     
         62 . The system of  claim 43 , further comprising code means for: 
 identifying a form as a checkout form.    
     
     
         63 . The system of  claim 43 , further comprising code means for: 
 masking confidential data from being displayed.    
     
     
         64 . The system of  claim 43 , wherein said data file resides on said client or on a server.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.