1. Field of the Invention
The present invention generally relates to systems and methods for collaborative filtering, and more particularly to systems and methods for private, distributed collaborative filtering, and the like.
2. Discussion of the Background
In recent years, personalization of various Internet services has become a crucial value to consumers and one of the main drivers for higher revenue for Internet companies, and the like. Progress has been made by employing collaborative filtering, for example, using a history of Internet browsing, and other activities, such as game, chat, emails, etc, to determine needs, wants, and the like, of a targeted consumer. However, such collaborative filtering systems and methods usually require sending of users' activity history to servers such that the privacy of consumer can be compromised. Moreover, extensive server based collaborative filtering is not scalable, since the size of personal history files, and hence the necessary bandwidth usage can increase significantly, while real-time collaborative filtering is limited by latency of communications between the client and the server. Accordingly, consumers may stop or limit the use of such server based collaborative filtering.
Therefore, there is a need for methods and systems that address the above and other problems with collaborative filtering systems and methods, including providing private, yet extensive collaborative filtering. Accordingly, the above and other needs are addressed by the illustrative embodiments of the present invention, which provide a novel method and system for private, distributed collaborative filtering, and the like. Accordingly, in illustrative embodiments, there are provided system and methods for private distributed collaborative filtering, wherein part of the collaborative filtering is done in a client device, where a private profile is kept securely, and the like. Then, a local shielding process calculates a set of non-private parameters, and the like, that are requested and communicated to a server and/or other client devices over a wired or wireless communications network. The non-private parameters are generated through the shielding process running inside the client device. Then, the server or other client devices can improve internal collaborative processing using such non-private parameters. Advantageously, the overall results of such a private distributed collaborative filtering process can reach the accuracy of conventional, non-private collaborative filtering processes, and the like.
Accordingly, in an illustrative aspect, there is provided a system, method and computer program product for private collaborative filtering including a client device configured with a distributed internal collaborative filtering mechanism and a user profile having private information of a user of the client device. The client device is configured to maintain the user profile securely within the client device. The client device is configured to calculate a set of non-private parameters based on the secure user profile with a process that runs on the client device. The client device is configured to send the non-private parameters to at least one of an external server and external client device.
The client device is configured to run the process that calculates the set of non-private parameters as a shielding process running within the client device.
The client device is configured to send the non-private parameters to the external server or the external client device over a wired or wireless communications network.
The external server or the external client device is configured to update collaborating filtering mechanisms on the external server or the external client device based on the received non-private parameters.
Still other aspects, features, and advantages of the present invention are readily apparent from the following detailed description, simply by illustrating a number of illustrative embodiments and implementations, including the best mode contemplated for carrying out the present invention. The present invention also is capable of other and different embodiments, and its several details can be modified in various respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawings and descriptions are to be regarded as illustrative in nature, and not as restrictive.
The embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements, and in which:
The present invention includes recognition that personalization of various Internet services has become a crucial value to consumers and one of the main drivers for higher revenue for Internet companies, and the like. For example, progress has been made by employing collaborative filtering, for example, using a history of Internet browsing, and other activities, such as game, chat, emails, etc, to determine needs, wants, and the like, of a targeted consumer. Such information can be used to produce personalized advertisement, or in a more general setting to provide personalized recommendations, and the like. The recommendation systems can be used to provide content, products, services, and the like.
Thus, such recommendation systems can employ machine learning, and the like, referred to as collaborative filtering. Collaborative filtering can include methods for making automatic predictions (e.g., filtering) about interests of a user by collecting preferences or taste information, and the like, from many users (e.g., collaborating). The underlying assumption of such a collaborative filtering approach is that those who have agreed in the past tend to agree again in the future. For example, a collaborative filtering or recommendation system for books could make predictions about which book a user may like given a partial list of that user's tastes (e.g., likes or dislikes), based on processing likes and dislikes of other users with similar tastes. Collaborative approaches focus on the output (e.g., items purchased by the user), rather than focusing on the underlying model (e.g., the interest of the user). Such an approach has been advantageous in predicting user interests, behaviors, and the like.
In such a collaborative filtering systems and methods, private data about user, such as a user profile, is gathered on a server for processing. Such processing compromises the privacy of the user profile and takes the profile out of the user control and into the server control. Under current practices, users have been mostly complacent with loosing control over their profile information, because (i) Internet companies have devised various security policies, and the like, in an attempt to keep such private profiles safe and for limited time on their servers, and (ii) the benefits of the use of such information may be seen as justifying the loss of privacy control.
However, recently there have been increasing concerns from users and user advocates about such compromised user privacy. For example, in many Europe countries there are strong laws protecting privacy of users and that limits the abilities of Internet companies to get a most effective outcome from analyzing such private profile information. Even in the US, many user advocate groups are starting to raise class action law suits based on compromised user privacy. Advantageously, the present systems and methods provide effective collaborative filtering, aggregate machine learning processes, and the like, while maintaining the privacy for user profile information, and the like.
Referring now to the drawings, in
The above table 100 may be highly sparse, for example, there may be many missing data items meaning that either the user has not been given the chance to choose that feature or the user preference or weight on that feature is not known. An advantageous goal of collaborative filtering is to predict the values for the missing data points.
The typical output of a collaborative filtering process is shown in
Finally, to build a model for the users there are many machine learning algorithms that cluster users and provide a signature to measure similarity of the users. For example, consider the households in US. For each household one can keep records or a set of features. On the other hand, to build a model for a household, one may find out a strong signature is a combination of the people in various ages in the household and their car preferences. An example signature for this example is shown in a table
Building a user model out of collaborative filtering is very useful since such model can provide systematic way for employing collaborative filtering in several stages, as follows:
Step 1: As shown in
Step 2: As shown in
Step 3: As shown in
Step 4: As shown in
However, a problem in the above processing is the sending of the private profile 106 of the user to the server in steps 1 and 2, which compromises the privacy of the user profile. Advantageously, the illustrative systems and methods address this and other problems, by performing the steps 1 to 4 in a distributed fashion among client devices from which users access the Internet and the server, and without compromising the private user profile information.
Accordingly, in an illustrative embodiment, the illustrative systems and methods calculate the collaborative filtering model 202 in
The update process of the model 202 is handled by sending the delta of the new information that is locally calculated about the model on the client device. This means that some of the elements of the collaborative filtering model 202 are calculated internally in the client device. For each local model element, a level of confidence measure is also provided. Advantageously, when the server (or e.g., the other peers) receives such information, the server understands the level of confidence for each element for guiding adjustments in the existing model 202 to update same.
To ensure the delta sent from the client to the server (or e.g., the other peers) does not have residuals about the private profile 106 and signature 502, the illustrative systems and methods use known techniques to “shield” the private profile 106 and signature 502. Such shielding is based on making the client become a small server that does collaborative filtering between a small set of its own user data and user data of friends, and the like. This is possible because the local collaborative filtering algorithm in the client, which with the suitable permissions, can have access to information about the friends of the user. Examples of this include social networking site profile of friends, emails of the friends, texts, and messaging of the friends, and the like.
Accordingly, the illustrative systems and methods perform the following steps:
Step 1: Transfer: Client device receives the latest user profile 106 from the server. This does not need to happen too fast. Updates can be much slower than speed in which models are used for calculating local results in the client devices.
Step 2: In the Client Device: Client device calculates the private signature 502 based on the private data 106 and the collaborative filtering model. Advantageously, in calculating the signature 502, the private profile 106 need not be sent to the server.
Step 3: In the Client Device: The weights 506 for the missing features for the user are calculated locally using the collaborative filtering model 504 and the local user signature 502. Steps 2 and 3 can be similar to the steps shown in
Step 4: In the Client Device: As shown in
Step 5: Transfer: As shown in
Step 6: In the Server: As shown in
The above-described devices and subsystems of the illustrative embodiments of
One or more interface mechanisms can be used with the illustrative embodiments of
It is to be understood that the devices and subsystems of the illustrative embodiments of
To implement such variations as well as other variations, a single computer system can be programmed to perform the special purpose functions of one or more of the devices and subsystems of the illustrative embodiments of
The devices and subsystems of the illustrative embodiments of
All or a portion of the devices and subsystems of the illustrative embodiments of
Stored on any one or on a combination of computer readable media, the illustrative embodiments of the present invention can include software for controlling the devices and subsystems of the illustrative embodiments of
As stated above, the devices and subsystems of the illustrative embodiments of
While the present invention have been described in connection with a number of illustrative embodiments and implementations, the present invention is not so limited, but rather covers various modifications and equivalent arrangements, which fall within the purview of the appended claims.
The present invention claims benefit of priority to U.S. Provisional Patent Application Ser. No. 61/560,263 of Amir Masoud ZARKESH et al., entitled “A PROCESS FOR REAL PRIVATE DISTRIBUTED COLLABORATIVE FILTERING,” filed on Nov. 15, 2011, the entire disclosure of which is hereby incorporated by reference herein.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US12/65020 | 11/14/2012 | WO | 00 | 5/12/2014 |
Number | Date | Country | |
---|---|---|---|
61560263 | Nov 2011 | US |