1. 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; determining whether a rule is applicable to a task similarity calculation; weighting each of the plurality of task attribute similarity values using a 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 when 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.