1. A method for providing differential privacy comprising: receiving user rating data at a correlation engine through a network, the user rating data comprising ratings generated by a plurality of users for a plurality of items; generating correlation data from the received user rating data by the correlation engine, the correlation data identifying correlations between the items based on the user generated ratings; generating noise by the correlation engine; and adding the generated noise to the generated correlation data by the correlation engine to provide differential privacy protection to the generated correlation data.