Patent ID: 8560480

Claim:
A computer-implemented method of determining a similarity between tasks, the method comprising: receiving a task, at a computing device, the task comprising structured data and unstructured data; processing the task to generate a current task object based on the structured data and the unstructured data, the current task object comprising a plurality of task attributes; retrieving a previous task object from a computer-readable repository; for each task attribute of the plurality of task attributes, calculating a task attribute similarity value based on a corresponding task attribute of the previous task object, thereby providing a plurality of task attribute similarity values; providing a user defined rule based on human knowledge, the rule comprising a plurality of conditions, each condition representing a task context that comprises one or more task attributes associated with one or more respective predefined values and that indicates an influence of the task attributes on task attribute similarity values; and determining that the rule is applicable to a task similarity calculation based on one or more of the plurality of conditions and in response: dynamically determining a plurality of weight values such that a weight value is determined for each task attribute and each weight is determined using the number of task attributes and a task attribute similarity value based on the rule processing; weighting each of the plurality of task attribute similarity values using the plurality of weight values to provide a plurality of weighted task attribute similarity values, wherein a first weight value applied to a first task similarity value is different than a second weight value applied to a second task similarity calculation in response to determining that the rule is applicable to the task similarity calculation; calculating a task similarity value between the current task object and the previous task object based on the weighted task attribute values; and providing the task similarity value to be displayed on a display.