Recommendation systems are widely used in Internet applications. In current recommendation systems, users only play a passive role and have limited control over the recommendation generation process. As a result, there is often considerable mismatch between the recommendations made by these systems and the actual user interests, which are fine-grained and constantly evolving. With a user-powered distributed recommendation architecture, individual users can flexibly define fine-grained communities of interest in a declarative fashion and obtain recommendations accurately tailored to their interests by aggregating opinions of users in such communities. By combining a progressive sampling technique with data perturbation methods, the recommendation system is both scalable and privacy-preserving.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: selecting a plurality of ratings for a particular interest from a respective plurality of members; generating a plurality of perturbed ratings based on the plurality of ratings such that there is a predetermined probability that each rating of the plurality of ratings is different from its respective perturbed rating of the plurality of perturbed ratings; and generating a recommendation based on the plurality of perturbed ratings. 2. The method of claim 1, further comprising: aggregating the plurality of perturbed ratings to generate an aggregated perturbed rating, wherein the generating a recommendation based on the plurality of perturbed ratings is based on the aggregated perturbed rating. 3. The method of claim 2, further comprising: selecting the plurality of members from a user defined community. 4. The method of claim 3, wherein the user defined community is defined based on a user defined declarative community definition comprising a predicate on user attributes. 5. The method of claim 3, wherein the user defined community is split into a plurality of disjoint sampling groups, each particular disjoint sampling group in the plurality of disjoint sampling groups having a particular size, the particular size decreases exponentially from a first size to a second size, and the plurality of members selected from the disjoint sampling group with the smallest size such that an accuracy level of the plurality of perturbed rating data is greater than or equal to a user-defined accuracy level. 6. The method of claim 1, further comprising: receiving a user-defined item constraint, wherein the generating the recommendation is further based on the user-defined item constraint. 7. The method of claim 1, further comprising: receiving a user defined recommendation request issued by a user as a user query, the recommendation generated in response to receiving the user defined recommendation request. 8. An apparatus comprising: a processor; and a memory to store computer program instructions, the computer program instructions when executed on the processor cause the processor to perform operations comprising: selecting a plurality of ratings for a particular interest from a respective plurality of members; generating a plurality of perturbed ratings based on the plurality of ratings such that there is a predetermined probability that each rating of the plurality of ratings is different from its respective perturbed rating of the plurality of perturbed ratings; and generating a recommendation based on the plurality of perturbed ratings. 9. The apparatus of claim 8, the operations further comprising: aggregating the plurality of perturbed ratings to generate an aggregated perturbed rating, wherein the generating a recommendation based on the plurality of perturbed ratings is based on the aggregated perturbed rating. 10. The apparatus of claim 9, the operations further comprising: selecting the plurality of members from a user defined community. 11. The apparatus of claim 10, wherein the user defined community is defined based on a user defined declarative community definition comprising a predicate on user attributes. 12. The apparatus of claim 10, wherein the user defined community is split into a plurality of disjoint sampling groups, each particular disjoint sampling group in the plurality of disjoint sampling groups having a particular size, the particular size decreases exponentially from a first size to a second size, and the plurality of members selected from the disjoint sampling group with the smallest size such that an accuracy level of the plurality of perturbed rating data is greater than or equal to a user-defined accuracy level. 13. The apparatus of claim 8, the operations further comprising: receiving a user-defined item constraint, wherein the generating the recommendation is further based on the user-defined item constraint. 14. The apparatus of claim 8, the operations further comprising: receiving a user defined recommendation request issued by a user as a user query, the recommendation generated in response to receiving the user defined recommendation request. 15. A computer readable medium storing computer program instructions, which, when executed on a processor, cause the processor to perform operations comprising: selecting a plurality of ratings for a particular interest from a respective plurality of members; generating a plurality of perturbed ratings based on the plurality of ratings such that there is a predetermined probability that each rating of the plurality of ratings is different from its respective perturbed rating of the plurality of perturbed ratings; and generating a recommendation based on the plurality of perturbed ratings. 16. The computer readable medium of claim 15, the operations further comprising: aggregating the plurality of perturbed ratings to generate an aggregated perturbed rating, wherein the generating a recommendation based on the plurality of perturbed ratings is based on the aggregated perturbed rating. 17. The computer readable medium of claim 16, the operations further comprising: selecting the plurality of members from a user defined community. 18. The computer readable medium of claim 17, wherein the user defined community is defined based on a user defined declarative community definition comprising a predicate on user attributes. 19. The computer readable medium of claim 17, wherein the user defined community is split into a plurality of disjoint sampling groups, each particular disjoint sampling group in the plurality of disjoint sampling groups having a particular size, the particular size decreases exponentially from a first size to a second size, and the plurality of members selected from the disjoint sampling group with the smallest size such that an accuracy level of the plurality of perturbed rating data is greater than or equal to a user-defined accuracy level. 20. The computer readable medium of claim 15, further comprising: receiving a user-defined item constraint, wherein the generating the recommendation is further based on the user-defined item constraint.