|
Claims  |
|
|
What is claimed is:
1. A method for extracting information from a source object and storing the
extracted information in a target object, comprising the steps of:
selecting a source object with untagged information;
selecting a target object that stores data objects extractable from the
untagged information of the source object,
interpreting free-text information within the source file;
based on the interpretation, extracting data objects of the type that are
storable in the target object from the untagged information of the source
object; and
storing the data objects in the target object.
2. The method of claim 1 wherein the step of interpreting free-text
information within the source file further comprises the steps of:
accessing a template of data patterns, each data pattern being associated
with one or more of the data objects to be stored in the target object;
searching for occurrences of each data pattern within the source object;
tagging each occurrence of each data pattern found within the source
object;
assigning each tagged data pattern to at least one of the data objects; and
ranking the data objects in a priority order.
3. The method of claim 2 wherein the step of ranking the data objects in a
priority order further comprises the steps of:
applying a Bayesian inference engine to rank the data objects by likelihood
of their correctness;
grouping the tagged target data objects into a plurality of clusters; and
ranking the clusters in a priority order.
4. The method of claim 1 wherein the step of selecting a source object
further comprises the step of receiving a user command from a user input
device selecting the source object.
5. The method of claim 1 wherein the step of selecting a target object
further comprises the step of applying an inference engine to select the
target object.
6. The method of claim 1 wherein the step of selecting a target object
further comprises the step of receiving a user command from a user input
device associating the target object with the source object.
7. A method for interpreting and extracting terms from a free-text portion
of a source file, comprising the steps of:
retrieving the source file;
retrieving a application-specific template comprising one or mote target
fields for accepting assignments, the target fields being associated with
data items to be recorded in a target file;
retrieving a template comprising a plurality of expected terms, each
expected term being associated with one or more target fields of the
application-specific template;
tagging terms, within the free-text portion of the source file, that
correspond to one or more of the expected terms;
grouping the tagged terms into a plurality of clusters;
ranking the clusters in a priority order; and
assigning the tagged terms to the target fields in the priority order.
8. The method of claim 7, wherein:
the application-specific template is selected from a plurality of
predefined application-specific templates based on a goal inferred from
data within the source file;
the template is selected from a plurality of predefined templates based on
the goal inferred from data within the source file; and
the target file is selected from a plurality of predefined target files
based on the goal inferred from data within the source file.
9. The method of claim 7, further comprising the steps of:
presenting the application-specific template including the target field
assignments to a user for review and modification; and
in response to a user command, storing the target field assignments in the
target file.
10. The method of claim 9, further comprising the step of:
in response to a user command, presenting a list of alternative assignments
for one or more of the target fields.
11. The method of claim 10, further comprising the step of:
in response to a user command, changing the assignment for one or more of
the target fields.
12. The method of claim 11, wherein alternative target field assignments
are displayed in a pop-up window on a monitor.
13. The method of claim 9, wherein the source file comprises terms in
structured fields.
14. The method of claim 13, wherein the source file is an electronic mail
file.
15. The method 13, wherein the target file is an electronic calendar file.
16. The method of claim 11, further comprising the step of updating the
template to reflect the changed target field assignment.
17. A computer-readable medium storing a program module comprising
instructions which, when executed by a computer system comprising a
processing unit, a memory storage device, and a user input/output system
including a monitor, cause the computer system to interpret and extract
terms from a free-text portion of a source file by performing the steps
of:
retrieving the source file;
retrieving an application-specific template comprising one or more target
fields for accepting assignments, the target fields being associated with
data items to be recorded in a target file;
retrieving a template comprising a plurality of expected terms, each
expected term being associated with one or more target fields of the
application-specific template;
tagging a set of terms, within the free-text portion of the source file,
that correspond to one or more of the expected terms;
grouping the tagged terms into a plurality of clusters;
ranking the clusters in a priority order;
assigning the tagged terms to the target fields in the priority order; and
displaying the application-specific template including the selected target
field assignments on the monitor for review and modification.
18. A computer-readable medium storing a program module comprising
instructions which, when executed by a computer system comprising a
processing unit, a memory storage device, and a user input/output system
including a monitor, cause the computer system to interpret and extract
terms from free-text information by performing the steps of:
displaying a first window on the monitor;
displaying a portion of the free-text information within the first window;
inferring a goal based on the free-text information;
in response to the goal,
selecting a second window from a plurality of application-specific
templates, the second window comprising one or more target fields for
accepting assignments, the target fields being associated with data items
to be recorded in a target file, and
retrieving a template from a plurality of predefined templates, the
selected template comprising a plurality of expected terms, each expected
term being associated with one or more target fields of the
application-specific template;
tagging a set of terms, within the free-text information, that correspond
to one or more of the expected terms;
grouping the tagged terms into a plurality of clusters;
ranking the clusters in a priority order;
assigning the tagged terms to the target fields of the second window in the
priority order;
displaying the second window on the monitor; and
displaying the assigned terms on the monitor within the target fields of
the second window.
19. The computer-readable medium of claim 18, wherein the first and second
windows are displayed simultaneously on the monitor.
20. A computer-readable medium storing a program module comprising
instructions which, when executed by a computer system comprising a
processing unit, a memory storage device, and a user input/output system
including a monitor, cause the computer system to perform the steps of:
recognizing a user gesture;
ascertaining a user goal associated with the user gesture;
identifying goal-related source information in one or more source objects;
interpreting free-text information within the source file;
based on the interpretation determining a relevant portion of the source
information;
extracting the relevant portion of the source information;
identifying one or more target objects; and
altering the target objects by applying the extracted information to the
target objects.
21. The computer-readable medium of claim 20, wherein the step of
ascertaining a user goal further comprises the step of inferring a user
goal based on a predefined system context and a pattern of user commands
received during a current user interface session.
22. The computer-readable medium of claim 20, wherein the instructions
further cause the computer to perform the steps of:
before the step of determining a relevant portion of the source
information,
presenting on the user input/output system a query whether to proceed with
a proposed data extraction,
receiving a user command to proceed with the proposed data extraction, and
retrieving the source objects from the memory storage device.
23. The computer-readable medium of claim 22, wherein the instructions
further cause the computer to perform the steps of:
after the step of altering the target objects by applying the extracted
information to the targe | | |