METHOD AND SYSTEM FOR CREATING EVENTS AND MATCHING USERS VIA BLENDED PROFILES
Certain embodiments teach a method and system for pairing users, whom do not know each other for an event, on a social networking platform. The social dining system matches people with common interests and organizes an offline event, such as a meal at a restaurant, based on user profiles, availability, and other attributes. For example, the social dining system can schedule a group meal for a user, and five to seven other people that share an interest with the user. In cases where a user prefers to be attend events with at least one known user, a single profile for the user and the known user is created as a mutual or a blended profile. The system then creates an event by matching the mutual profile with other members using a blending algorithm.
Latest BlendAbout, Inc. Patents:
This patent application is a continuation of U.S. application Ser. No. 13/476,993, filed May 21, 2012, entitled “METHOD AND SYSTEM FOR CREATING EVENTS AND MATCHING USERS VIA BLENDED PROFILES,” which claims the benefit of U.S. Provisional Application No. 61/488,470, filed May 20, 2011, entitled “METHOD AND SYSTEM FOR CREATING EVENTS AND MATCHING USERS VIA BLENDED PROFILES,” both of which are incorporated by reference herein in their entirety.
BACKGROUNDPeople routinely rely on social networking and social media websites on the Internet to renew former ties, maintain current relationships, or to create new connections. Current websites facilitate online interactions between users having a common activity, interest, profession, cause, etc. These systems allow a user to unilaterally communicate with his/her social network by posting status updates or broadcasting information. Present-day social networking platforms additionally offer users the ability to join or create an interest or activity group within the website. There are also online dating services which essentially pair one user with another user.
While the most pervasive way for individuals to connect online is through these social networking and dating websites, this method has several shortcomings and inefficiencies. For example, current networking platforms primarily focus on interaction in the virtual world (i.e., on an online basis) and this exchange is typically amongst prior acquaintances. Some primarily operate as a bulletin board or forum in which a meeting with fellow members must be initiated by an organizing member or leader. As such, the development of a personal interaction in an offline setting relies on the enthusiasm, focus, resources, and time constraints of the individuals. In the instance of online dating websites, the service primarily fosters interaction between users on a one-to-one basis, in which the risks of rejection, deception, and even physical danger exist in some cases.
As such, in a world where people are relying on virtual interactions to connect with others, it is desirable to implement a system that increases human (i.e., offline) connections, and provides an opportunity for real people to meet in the real world. A system is needed that harnesses the utility of the internet to arrange an event that matches a user, and at least one other individual known to the user, with other people in a social setting.
Examples of a system and method for creating events and matching users via mutual profiles are illustrated in the figures. The examples and figures are illustrative rather than limiting.
The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description.
Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given below. Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Certain terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the invention. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
Certain embodiments teach a method and system for pairing users, whom do not know each other for an event, on a social networking platform. The social dining system matches people with common interests and organizes an offline event, such as a meal at a restaurant, based on user profiles, availability, and other attributes. For example, the social dining system can schedule a group meal for a user, and five to seven other people that share an interest with the user. In cases where a user prefers to be attend events with at least one known user, a single profile for the user and the known user is created as a mutual or a blended profile. The system then creates an event by matching the mutual profile with other members using a blending algorithm (discussed in detail further herein).
By matching online users for an event that takes place outside the virtual world, the method and system facilitates offline interaction in the real world. Small intimate groups allow a user to connect with and make new friends, meet potential business partners, and potentially find a significant other. Moreover, the social dining system facilitates the ability of individuals traveling for business or leisure to meet new people in a destination city.
The social dining system enables users to create a plurality of profiles such as a personal profile, a professional profile, a food profile, a mutual profile, and so on. Based on the indicated interests (or “attributes”) in these profiles, events can be created based, at least in part, on a commonality or similarity between users. With a mutual profile, the system permits a user to invite an existing friend to join in on the social dining adventure and thus, attend an event without having to go it alone.
The mutual profile's advantage is derived from the general observation that most people prefer meeting new people in a group setting. First, meeting people with at least one other person reduces the risks of rejection, deception, and incompatibility. Also, jointly interacting with unfamiliar people is more comfortable and increases the ease of determining common interests among the group. Further, social norms all but ensure that a user will not engage in deception when there is a familiar party involved who can confirm or discredit any assertions by the user. The system enables an individual to leverage his or her social network of friends and acquaintances to meet new people in a group setting.
In one embodiment of a mutual profile, the system facilitates the ability of a user to attend events with an acquaintance, friend, relative, colleague, or significant other. The system allows at least two individuals (also known as “multiples”) in a network to connect with other multiples based on a common interest in the mutual profile. The matching of multiples based on a common interest in a particular subject is more likely to lead to more interesting conversations and lasting engagements. The system also provides visibility to businesses such as restaurants, artisan food suppliers, winemakers, etc. whereby users in the system can easily make referrals. As used herein, the term “restaurants” broadly refers to any entity that has goods and/or services to offer and desires to display a listing to users on their electronic devices 110A-N. Restaurant is intended to refer to any entity that can provide an offline activity, product, and/or service to a user and does not merely refer to an entity that offers food products and services.
The plurality of electronic devices 110A-N can be any system and/or device, and/or any combination of devices/systems, for presenting information to a user and potentially establishing a connection via the network to the central server 120. Examples of electronic devices 110A-N include, but are not limited to, personal computers, laptop computers, computer clusters, mobile telephones, mobile notebooks/tablets, personal digital assistants, and the like. The electronic devices 110A-N may be coupled to the network 150 via a wired or wireless connection or by any other method.
Users of the electronic devices 110A-N have the ability to access the social dining system by initiating, downloading, or installing software or an application. In one embodiment, the user initiates a web browser to peruse electronic content and to establish online communications. In another embodiment, the user interfaces with an executable program or a stand-alone application to access the social dining system. For example, a user may access a mobile application on his or her cell phone to access features of the system. The social dining system (once initiated, installed, downloaded, etc.), may present items to the user such as data, images, search tools, hyperlinks, community and viral features, and more. In some implementations, this access may be granted after a registration process in which the user provides a valid email address and a password. In an alternative or further implementation, this access may be granted after the user agrees to purchase a membership or service for a predetermined period such as a subscription.
The network 150 may include, but is not limited to, a telephonic network and an open network, such as the Internet. The network 150 may be any collection of distinct networks operating wholly or partially in conjunction to provide connectivity to the electronic devices and may appear as one or more networks to the serviced systems and devices. In one embodiment, communications over the network 150 may be achieved by a secure communications protocol, such as secure sockets layer (SSL), or transport layer security (TLS).
In addition, communications can be achieved via one or more wireless networks, such as, but is not limited to, one or more of a Local Area Network (LAN), Wireless Local Area Network (WLAN), a Personal area network (PAN), a Campus area network (CAN), a Metropolitan area network (MAN), a Wide area network (WAN), a Wireless wide area network (WWAN), Global System for Mobile Communications (GSM), Personal Communications Service (PCS), Digital Advanced Mobile Phone Service (D-Amps), Bluetooth, Wi-Fi, Fixed Wireless Data, 2G, 2.5G, 3G networks, enhanced data rates for GSM evolution (EDGE), General packet radio service (GPRS), enhanced GPRS, messaging protocols such as, TCP/IP, SMS, MMS, extensible messaging and presence protocol (XMPP), real time messaging protocol (RTMP), instant messaging and presence protocol (IMPP), instant messaging, USSD, IRC, or any other wireless data networks or messaging protocols.
The datasets 130-136 may store information such as software, descriptive data, images, video, system information, and/or any other data item utilized by modules of the central server 120 for operation. The datasets 130, 132, 134, and 136 may be managed by (but not limited to) a database management system (DBMS), Oracle DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker, etc.
The datasets 130, 132, 134, and 136 can be implemented via object-oriented technology and/or via text files, and can be managed by a distributed database management system, an object-oriented database management system (OODBMS) (e.g., ConceptBase, FastDB Main Memory Database Management System, JDOInstruments, ObjectDB, etc.), an object-relational database management system (ORDBMS) (e.g., Informix, OpenLink Virtuoso, VMDS, etc.), a file system, and/or any other convenient or known database management package. An example set of data to be stored, managed, or presented, in the profiles dataset 130, restaurant dataset 132, friends dataset 134, and events dataset 136 is further illustrated in
The central server 120 is, in some embodiments, able to communicate with electronic devices 110A-N via the network 150. Additionally, the central server 120 is able to directly communication with restaurants for purposes of reservations, advertising, promotions, demographic analysis, and the like. In some embodiments, the central server 120 is able to monitor the consumer's use of an electronic device to determine which restaurants are of interest to the user, thus allowing for more customization and intelligence in matching, as related to mutual profiles, events, targeted advertising, promotions and the like. The central server 120 can also store and retrieve data from the datasets 130, 132, 134, and 136.
Referring back to
In the example of
A firewall can, in some embodiments, be included to govern and/or manage permission to access/proxy data in a computer network, and track varying levels of trust between different machines and/or applications. The firewall can be any number of modules having any combination of hardware and/or software components able to enforce a predetermined set of access rights between a particular set of machines and applications, machines and machines, and/or applications and applications, for example, to regulate the flow of traffic and resource sharing between these varying entities. The firewall may additionally manage and/or have access to an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand. In some embodiments, the functionalities of the network interface 232 and the firewall are partially or wholly combined and the functions of which can be implemented in any combination of software and/or hardware, in part or in whole.
In the example of
Since the communications module 234 is typically compatible with receiving and/or interpreting data originating from various communication protocols, the communications module 234 is able to establish parallel and/or serial communication sessions with users of remote client devices for data and command exchange (e.g., user information and/or restaurant listings). In addition, the communications module 234 can manage log-on requests received from one or more third-parties such as users or restaurants connecting to the central server 230 to submit profile or other related information.
For example, the platform may utilize a username/email and password identification method for authorizing access. The communications module 234 can gather data to determine if the user is authorized to access the system and if so, securely logs the user into the system. In other embodiments, other forms of identity authentication, including but not limited to, security cards and digital certificates can be utilized and are contemplated, in accordance with this disclosure. A user may be able to specify and/or obtain a logon ID after subscribing or registering.
In the example of
Thus, the components of the central server 230 are functional units that may be divided over multiple computers and/or processing units. Furthermore, the functions represented by the devices can be implemented individually or in any combination thereof, in hardware, software, or a combination of hardware and software. Different and additional hardware modules and/or software agents may be included in the central server 230 without deviating from the spirit of the disclosure.
One embodiment of the central server 230 includes a user interface module 236. The user interface module 236 may be any combination of software agents and/or hardware components able to interact and communicate with one or more users 160A-M. The user interface module 236 allows users to manipulate the social dining system and allows the social dining system to indicate the effects of the users' manipulation. The user interface module 236 is, in most instances, able to present information to the user and query users' information, such as user login information, profile data, and availability, etc. and receive information in response. In a further embodiment, the user interface module 236 handles communications with members and non-members including, but not limited to, alerts, invitations, pending requests, event notices, and the like.
One embodiment of the central server 230 includes a restaurant module 238. The restaurant module 238 may be any combination of software agents and/or hardware components which manages, organizes and sorts information related to restaurants. In one embodiment, the restaurant module 238 enables users to search, browse, and generally interface with the information contained in the restaurants dataset 204 as well as indicate their preferences for restaurant(s). Users may search for a restaurant by name or search for a restaurant near/within a specific city, state, or zip code. The information displayed to a user includes restaurant name, description, whether alcohol is served, type of cuisine, location, directions, phone number, restaurant ratings (e.g., Michelin, Zagat, user), promotions, an icon or image of the restaurant, a hyperlink to the restaurant's web page or to a mechanism through which reservations can be made, and similar features. A featured restaurant may be presented to the user in an area of the user interface that is highly visible to users. In an alternative or further embodiment, the restaurant module 238 allows users to filter a pre-existing list of restaurants by certain restaurant attributes, such as distance, price (e.g., under $20, $21-30, $31-40, above $40) or cuisine. The restaurant module 238 also allows users of the social dining system to submit a rating and/or review of a particular restaurant.
In some embodiments, the restaurants module 238 includes a monitoring module (not shown) or some intelligent mechanism through which a user's selections may be tracked. One method for determining whether a user is actively interested in a particular restaurant is by tracking the user's mouse-overs, mouse clicks, interaction, and hyperlink selections. Other methods of tracking user activity may also be implemented. For example, the consumer's keywords may be monitored to determine other restaurants that a user may like. In turn, the restaurant module 238 may present additional functionalities such as a customized view of top-rated, recommended, or suggested restaurants.
In some embodiments, the restaurant module 238 includes a restaurant interface module (not shown) through which one or more restaurants can interact with the social dining system. The restaurant interface module can handle functions and features including, but not limited to, dining reservations, advertising, promotions, compensation, member conversion, and the like. For instance, a restaurant may provide promotions and coupons in coordination with the social dining platform wherein the success of the campaign (e.g., rate at which the restaurant converts an individual to a social dining user, rate at which the promotion attracts social dining users) may be assessed.
In one embodiment, the restaurant module 238 allows a user to add restaurants that the user would like to eat at to a list of restaurants, termed a “restaurant wish list.” Further, users can gauge the interest and popularity of a restaurant through an indication that shows the number of other users that have added the particular restaurant to their restaurant wish list. The restaurant module 238 allows a user to manage the restaurants in his or her restaurant wish list including rank ordering, removing, adding, modifying, rating restaurants and the like. In turn, users' assessed preference of a restaurant via e.g., rank ordering or rating can be accounted for as an attribute in the blending algorithm.
One embodiment of the central server 230 includes a friends module 240. The module 240 may be any combination of software agents and/or hardware components which manages, organizes, and sort information related to a user's association with other individuals, including individuals who are and are not members of the social dining system. In one embodiment, the friends module 240 defines certain associations or affinities between individuals such as business associate, friend, significant other, spouse, and the like and allows a user to manage his or her connection and activities with those individuals. Further, the friends module 240 allows users to import contacts and friends from an external source including social networking websites such as Facebook™. For example, the friends module 240 informs the user of current friends, recently-added friends, friend requests, restaurants recently rated by friends, and the like. Moreover, the friends module 240 enables a user to add or invite non-members to register and join the social dining system.
In the same or alternative embodiment, the friends module 240 allows a user to browse a directory of unknown (i.e., non-friend) members whom are part of the social dining system and/or whom the user would like to interact with, and to add a member to a list of target members, termed a “member wish list.” To facilitate a user's perusal of fellow members, the directory of members may be organized by attribute, such as by interests (e.g., coffee and conversation), activities (e.g., basketball), location, willingness to try new foods, cuisine, restaurant wish list, any profile attribute, and the like. Further, users can gauge the appeal and popularity of a member through an indication that shows the number of other members that have added the particular user to their member wish list. In one embodiment, the friends module 240 protects the privacy of a member by displaying only select information to a user, such as the member's first name, location, and number of times the member has been wish-listed. The friend module 240 allows a user to manage the members in his or her wish list, including removing, adding, rank-ordering members and the like. In turn, the user's assessed preference for a member such as rank ordering can be accounted for as an attribute in the blending algorithm.
One embodiment of the central server includes a mutual profile module 238. The mutual profile module 238 may be any combination of software agents and/or hardware components able to create, manage, recommend, or suggest a mutual profile. A mutual profile (also called a “blended profile”) is a concept that allows two or more entities to aggregate and act as a single merged entity. For example, if a user prefers to attend events with at least one individual that the user knows, a single profile comprised of the user and another member, can be created. While a blended profile is herein described as an amalgamation of a user and another known member, the blended profile is not limited to users of the social dining system, but can include other entities such as pets, kids, historical or political figures, fictional characters, celebrities, and the like. Subsequently, the system creates an event by matching the blended profile to other entities, using a blending algorithm. While the creation of a blended profile is herein described in terms of two entities, the blended profile is not limited in number, but can include two or more entities.
In some cases, a user creates a new blended profile with an individual who is currently a member of the social dining system. In one instance, the user places a query or search by entering an identifier such as name, email, avatar, and the like. In some instances, the user must first send a friendship request to the member before a blended profile can be created. After the member accepts the user's friendship request, the user can then immediately create the blended profile. In other instances, the user must send a blended profile request to the friend. In either instance, the member must accept the user's request to be a part of the blended profile. As a registered user of the social dining system, the member may have one or more associated profiles (e.g., personal, lifestyle, professional, foodie, etc.) in the system. As such, a brief description, or snapshot of the blended profile can be created which highlights significant attributes of the individual members that make-up the blended profile.
In some cases, a user creates a blended profile with another individual that is currently not a user of the social dining system. A communication such as an email or a text message may be sent to the individual, stating that the user has invited the individual to connect via the social dining system. In some embodiments, a temporary account such as a guest user login, a trial account, or the like can be used by the individual to connect with the user, whereby the individual is not required to register with the social dining system. In other embodiments, the individual must register with social dining service in order to connect with the user. After the individual registers with the social dining system, the individual becomes a member of the social dining system. With both the user and the member being registered users of the social dining system, either individual may resume the steps to create a blended profile. As described above, there may be an additional requirement in which the members must be friends in order to create the blended profile. After a blended profile consisting of the user and the member is created, the social dining system uses a blending algorithm to assist in arranging an event in which members of the blended profile interact with other social dining members.
In some cases, the mutual profile module 238 prompts the user to create a blended profile with another member as a suggested blended profile. The social dining system can automatically parse the member-set and suggest an individual with whom the user should create a blended profile. For example, if a user met and “clicked/hit-it-off” with an individual at a past event (e.g., “group meal”) via user wish list or similar feedback mechanism, the social dining system may recommend reconnecting with that individual by creating a blended profile. In one embodiment, this individual can be a current member of the social dining system or a friend of (i.e., known to) the user. In another embodiment, the individual may be an unknown member of the social dining system or another individual, possibly not a member of the social dining system (e.g., celebrity, historical figure, etc.). In turn, the set of individuals from which the social dining system can recommend include, but is not limited to, a user's existing set of friends on the social dining system or on another social networking website, the complete network of users on the social dining system, and the like.
In one embodiment, the single merged entity, or blended profile, is an abstract data structure, or object, which brings together the components of a data source with the procedures that manipulate them. For example, the object can be a default constructor with no parameters and read/write properties, wherein the read/write properties for the encapsulated data form the boundary conditions of the blending algorithm (discussed in more detail further herein). Further, the merged entity can be a row in a table, with each property representing the value of a column for that table.
In this embodiment, two or more instances of the same object type are merged to form a single representative entity. This can be accomplished by creating a vector space of all of the properties between the two or more instances. Next, measurements of the vector space distance are determined and form a new abstract structure, wherein the property values for this new structure are the mathematical distance measurements. After the two or more instances are merged into a single merged entity or blended profile, the blended profile can be treated as one for further processing and analysis, such as cluster analysis, comparison analysis, and the like.
One embodiment of the central server includes an event scheduling module 246. The event scheduling module 246 may be any combination of software agents and/or hardware components able to aggregate at least one blended profile with at least one other user for an event. In one implementation, the user indicates his or her ability to attend future events on a calendar (i.e., available date(s) and time) and preferred location (e.g., address, zip code, city, country, state, region, and/or area). In some cases, if the user does not enter his availability, the user is not invited to an event. Moreover, the event scheduling module 246 can inform the user of pending, scheduled, confirmed, and past events, and other similar status updates.
In one embodiment, the blending algorithm pairs a blended profile with at least one other user of the social dining system. In a further or alternative embodiment, the blending algorithm joins a blended profile with one or more other blended profiles. The blending algorithm can take into account a number of attributes in the process of matching a blended profile with another entity [i.e., individual(s), blended profile(s)]. For example, the blending algorithm can take into account mutual availability, purpose (e.g., networking), activities, interests, lifestyle attributes, preferred dining locations, willingness to try new foods, favorite foods, and/or other attributes. Moreover, the blended profile's mutual friend wish list, restaurant wish list, and/or restaurant ratings can be taken into consideration in the pairing of a blended profile with another entity. Those skilled in the art will recognize that the blending algorithm can join a blended profile with other entities based upon additional attributes beyond the described elements above.
In one embodiment, the blending algorithm is implemented within a managed Dynamic Link Library (DLL). For the purposes of this description, the library and algorithm will be referred to collectively as the kernel. The overall design of the kernel will search a dataset of like objects for matches. As a simple example, a match occurs if the column-names of a data source entity match the column-names of the seed entity (i.e., the object to be matched). A list of all possible data elements within a data source entity is provided to the algorithm. In some cases, for each element within this list, the system assigns a numeric/ordered ID. Further, the blending algorithm creates vectors between two like objects that form a match and treat the pair of objects as if they were one target. In a further embodiment, the kernel is designed as a data-source filter, whereby dynamic queries can be created based on the blending algorithm.
In some embodiments, each property within the object can be weighted on a three-point weighting system. For example, the weighting can be applied wherein a weight of two is applied if the item or property (e.g., attribute) is required and must be present in the matched entities, a weight of one is applied if the property in the matched entities is moderately important, and a weight of zero is applied if the property is not important and/or no matching is performed on this item. For example, if a seed entity contains an element with a weight of one or two, then the element is used as a factor. If, for example, the seed entity has a weight of two for an element, this weighting forms a pre-filter on possible matched elements.
In one embodiment, the blending algorithm performs Quality-Thresholding (QT) clustering, whereby entities are grouped into high-quality clusters. The blending algorithm determines among a set of entities, which has the greatest similarity to a particular entity. In one embodiment, the algorithm maintains high-quality clusters by ensuring the diameter of large clusters does not exceed a predetermined diameter threshold such that dissimilar entities become part of the same cluster. If the vector space distance, or diameter between two entities does not exceed a given user-defined diameter threshold, then the two entities can be clustered together. Next, other entities which minimize an increase in the diameter are added to the cluster. This occurs iteratively until no entity can be added to the cluster without surpassing the given diameter threshold.
In one embodiment, the blending algorithm randomly identifies an entity (e.g., blended profile) from a set of entities (e.g., blended profiles). In a further embodiment, the attributes of the selected entity (e.g., blended profile) are also determined. Given the set of entities where any entity in that set can match, the blending algorithm then identifies a candidate entity with the greatest similarity to the selected entity. For example, if Entity A has a property “Foo” and Entity B also has a property “Foo”, the matching algorithm can cluster these entities. If the total diameter of the blended entity combined with the candidate entity do not exceed a predetermined diameter threshold, then these two entities are clustered together to form a first candidate cluster. Next, other entities that minimize the increase in cluster diameter are iteratively added to this cluster until no entity can be added to this first cluster without surpassing the diameter threshold.
Next, the blending algorithm then identifies a second entity (e.g., blended profile) from the set of entities (e.g., blended profiles). The blending algorithm identifies a candidate entity with the greatest similarity to the second blended entity. Here, all entities in the set of blended entities are available for consideration for the second candidate cluster. Other entities that minimize the increase in cluster diameter are iteratively added to the second cluster until no entity can be added to this second cluster without surpassing the diameter threshold.
Next, the algorithm iterates through all entities in the set of entities and forms a candidate cluster relative to each entity. In turn, the number of candidate clusters formed is the same as the number of entities in the set of entities. Once a candidate cluster is formed for each entity, all candidate clusters below the user-specified minimum size are removed from consideration. As a result, the largest cluster that remains (above the user-specified minimum size) is selected and retained as a QT cluster. The entities within this QT cluster are now removed from consideration and the remaining entities, outside of the QT cluster, will be used for the next round of QT cluster formation.
In this embodiment, the process repeats until the largest remaining candidate cluster has fewer than the user-specified number of entities. The result is a set of non-overlapping QT clusters that meet a certain quality threshold for both size (with respect to number of entities) and similarity (with respect to maximum allowable diameter). Entities that do not form in any clusters will be grouped under an “unclassified” group. Lastly, a list of matched entities is returned for data source retrieval.
In some embodiments, the metric used to determine the distance between clusters include the farthest neighbor method, or a Complete Linkage analysis, which calculates distance between clusters in hierarchical cluster analysis. In a Complate Linkage analysis, the linkage function specifies the distance between two clusters as the maximal object-to-object distance D(xi, yj), where objects xi belong to the first cluster, and object yj belong to the second cluster. In other words, the distance between two clusters is computed as the distance between the two farthest objects in the two clusters. Mathematically, the linkage function, or the distance between clusters X and Y is described by the following expression: D(X, Y)=max d(x, y), where xεX and yεY, and d(x, y) is the distance between objects x and y and X and Y are two sets of objects (clusters).
In the example of
In the example of
In the example of
In the example of
In the example of
In the example of
At block 302, the system receives parameters which give rise to at least one blended profile. Through the various modules described in
At block 304, the system receives parameters which give rise to creating an event. Through the various modules described in
At block 306, the system identifies at least one blended profile, the attributes for each member of the blended profile, including the mutual attributes (i.e., commonality between each member in the blended profile). Through the various modules described in
At block 308, the system applies weights to the mutual attributes. As previously described, a weighting can be applied to each attribute based on the importance of the attribute. The blending algorithm can factor into consideration these weights as an intelligent mechanism through which a blended profile is matched. Take as an example the instance that blended profile A and B have identical attributes on all accounts except that a mutual attribute of blended profile A is a “willingness to travel only ten miles to attend an event” and a mutual attribute of blended profile B is a “willingness to travel up to 100 miles.” Rather than designating the match as a near perfect match, weighting the “willingness to travel” mutual attribute as more important would allow the system to more intelligently assess the match. This step may be designed such that the same weight is applied to each attribute and no attribute is weighed more heavily.
At block 310, the system uses the blending algorithm to match the blended profile with at least one entity [e.g., individual user(s), other blended profile(s)]. Implementing the techniques previously described, the system can apply the blending algorithm to pair the blended profile with one or more individuals. In one embodiment, the blending algorithm determines how to create a social dining event (or group meal) for six people. For example, the system may apply the blending algorithm such that three, two-person blended profiles are matched. In another case, the system may apply the blending algorithm such that two blended profiles are matched with two individual members or that the blended profile is matched with four individual members. In turn, a blended profile may include two or more individuals, and a group meal event may be created for three or more individuals. As such, those skilled in the art will appreciate the various permutations of individual user(s) and blended profile(s) in formulating a social dining event.
At block 312, the system creates an event with members of the blended profile and entities selected by the blending algorithm. Through the various modules described in
In
In
In
In
In
The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description.
Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given below. Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Certain terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the invention. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof, means any connection or coupling, either direct or indirect, between two or more elements; the coupling of connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this patent application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
The above detailed description of embodiments of the disclosure is not intended to be exhaustive or to limit the teachings to the precise form disclosed above. While specific embodiments of, and examples for, the disclosure are described above for illustrative purposes, various equivalent modifications are possible within the scope of the disclosure, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative embodiments may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or sub-combinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed in parallel, or may be performed at different times. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.
The teachings of the disclosure provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments.
While the above description describes certain embodiments of the disclosure, and describes the best mode contemplated, no matter how detailed the above appears in text, the teachings can be practiced in many ways. Details of the system may vary considerably in its implementation details, while still being encompassed by the subject matter disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the disclosure should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the disclosure with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the disclosure to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the disclosure encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the disclosure under the claims.
Claims
1.-19. (canceled)
20. A method of generating a social event by matching members of a social event system, comprising:
- receiving a plurality of profiles datasets, the plurality of profiles datasets including data indicative of attributes associated with the members;
- generating a blended profile based on the plurality of profiles datasets, the blended profile including at least two members of the social event system, said blended profile generated by aggregating corresponding attributes of the at least two members as a single merged entity;
- determining a first set of mutual attributes for the at least two members of the blended profile, the first set of mutual attributes including common attributes, from the corresponding attributes, that are shared between the at least two members;
- determining an entity that matches the blended profile based on the first set of mutual attributes associated with the blended profile; and
- arranging the social event between the blended profile and the entity.
21. The method of claim 20, wherein generating the blended profile comprises:
- identifying at least one recommended individual for a given member to form the blended profile based on the corresponding attributes of the given member; and
- generating a recommended blended profile as the blended profile, the recommended blended profile including the given member and the at least one recommended individual.
22. The method of claim 21, wherein identifying the at least one recommended individual is further based on user activity of the given member on the social event system.
23. The method of claim 21, wherein the at least one recommended individual comprises any one of:
- a member within a member set of the social event system;
- a member within a set of friends of the given member on the social event system;
- a member of a social networking system; or
- a member within a set of friends of the given member on the social networking system.
24. The method of claim 20, wherein generating the blended profile comprises:
- receiving a blended-profile request from a given member of the social event system to invite a set of invitees to join the blended profile;
- causing a set of acceptances to be transmitted to the set of invitees;
- receiving at least one acceptance of the set of acceptances from the set of invitees to join the blended profile;
- in response to the at least one acceptance, generating the blended profile, the blended profile including the given member and at least one of the set of invitees based on the at least one acceptance.
25. The method of claim 24, wherein the set of invitees includes any of a member of the social event system or a non-member of the social event system.
26. The method of claim 20, wherein determining the first set of mutual attributes for the at least two members of the blended profile comprises:
- applying a weight to each common attribute of the common attributes that are shared between the at least two members; and
- generating the first set of mutual attributes based on the weight of each common attribute, wherein the weight facilitates the determining of the entity that matches the blended profile.
27. The method of claim 20, wherein the common attributes, from the corresponding attributes, that are shared between the at least two members comprise any of: geographical preferences; professional industries; interests; or target member attributes.
28. The method of claim 20, wherein the entity comprises any one of:
- a second blended profile, the second blended profile including at least another two members of the social event system; or
- an individual entity, the individual entity including any one of a member or a non-member of the social event system.
29. The method of claim 20, wherein the entity comprises two or more blended profiles matching the blended profile.
30. The method of claim 20, wherein the entity is determined using quality-thresholding clustering.
31. The method of claim 20, wherein determining the entity that matches the blended profile comprises:
- determining a second set of mutual attributes for a set of given members of the entity, the set of given members including one or more members different from the at least two members of the first blended profile; and
- determining mutual attributes shared between the first set of mutual attributes of the first blended profile and the second set of mutual attributes of the entity.
32. The method of claim 20, wherein arranging the social event between the blended profile and the entity comprises:
- prompting and receiving availability attributes from corresponding members of the blended profile and the entity;
- in response to the availability attributes, causing a reservation at a venue to be generated for the social event, wherein the reservation is generated based on a number of acceptances received from the corresponding members of the blended profile and the entity.
33. The method of claim 31, wherein the availability attributes comprises any one of:
- a data and time availability; or
- a geographical location availability.
34. The method of claim 20, wherein the at least two members are any one of: acquaintances with a preexisting relationship; or non-acquaintances with no preexisting relationship.
35. The method of claim 20, wherein the plurality of profiles datasets comprises:
- a plurality of user wish lists, each user wish list associated with a corresponding member of the social event system, each user wish list including a set of ranked members of the social event system;
- a plurality of venue wish lists, each venue wish list associated with the corresponding member of the social event system, each venue wish list including a set of ranked venues.
36. A system for generating a social event by matching users of the system, comprising:
- a processor;
- a user interface module that works in cooperation with the processor to receive a plurality of profiles datasets from a plurality of users, the plurality of profiles datasets including data indicative of attributes associated with the plurality of users;
- a mutual profile module that works in cooperation with the processor to generate a plurality of blended profiles based on the plurality of profiles datasets, each blended profile including at least two users of the plurality of users having corresponding attributes of the at least two users merged as a single entity; and
- an event scheduling module that works in cooperation with the processor to determine sets of matching blended profiles and to arrange the social event for each set of matching blended profiles.
37. The system of claim 36, further comprising a restaurant module that works in cooperation with the processor to receive an indication of restaurant preferences from the plurality of users, to generate restaurant wish lists for the plurality of users based on the indication of restaurant preferences, wherein the sets of matching blended profiles are based on, at least in part, the restaurant wish lists.
38. The system of claim 37, wherein the restaurant module further comprises a monitoring module that works in cooperation with the processor to monitor restaurant-related activities of the plurality of users on the social event system, the restaurant-related activities including any of mouse-overs, mouse clicks, interaction, hyperlink selections, or search keywords, wherein the sets of matching blended profiles are based on, at least in part, the restaurant-related activities of the plurality of users.
39. The system of claim 37, wherein the restaurant module further comprises a restaurant interface module that works in cooperation with the processor to communicate with a set of restaurants for dining reservations associated with the sets of matching blended profiles.
Type: Application
Filed: May 30, 2014
Publication Date: Oct 16, 2014
Applicant: BlendAbout, Inc. (San Jose, CA)
Inventors: Katharine D. Spivak (San Jose, CA), Jon H. Winters (San Mateo, CA)
Application Number: 14/292,493
International Classification: G06F 17/30 (20060101);