A system includes a processor and an interface coupled to the processor. The processor determines that a first user takes a first action, and determines to pair the first user and a second user. The processor pairs the first user and the second user for an interaction, where the interaction lasts for a first time period. The interface receives an indication of a preference of the first user for the second user at a second time. The second time is after the first time period.
Legal claims defining the scope of protection, as filed with the USPTO.
. A system comprising an interaction-based recommendation tool comprising:
. The system of, wherein the processor is further configured to, in a first iteration, train the machine learning pairing algorithm to provide a first probability for compatibility between the first user and the second user based at least on a first user profile of the first user and a second user profile of the second user,
. The system of, wherein the processor is further configured to dynamically determine when to end the interaction based at least on tracking messages exchanged between the first user and the second user during the interaction, such that as a new message is exchanged between the first user and the second user during the interaction, a duration of the interaction is increased.
. The system of, wherein the processor is further configured to prevent communication between the first user and the second user at the end of the interaction.
. The system of, wherein the processor is further configured to assign a weight to the received indication based at least on the interaction,
. The system of, wherein the processor is further configured to, in a second iteration, train the machine learning pairing algorithm to provide a second probability for compatibility between the first user and the second user based at least on the interaction history, the assigned weight to the received indication, and the user profiles.
. The system of, wherein executing the updated machine learning pairing algorithm is in response to the interactions of users of the interaction-based recommendation tool.
. The system of, wherein the first action comprises the first user requesting to begin the interaction with a user.
. The system of, wherein the first action comprises the first user indicating availability to begin the interaction with a user.
. The system of, wherein the first action comprises the first user registering.
. The system of, wherein the interaction comprises at least one message transmitted from the first user to the second user.
. The system of, the processor further configured to:
. The system of, the processor further configured to:
. The system of, wherein determining to pair the first user and the second user is based at least in part on preferences of the first user.
. The system of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and the second user.
. The system of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and one or more features of the system.
. The system of, wherein:
. A method comprising:
. The method of, further comprising, in a first iteration, training the machine learning pairing algorithm to provide a first probability for compatibility between the first user and the second user based at least on a first user profile of the first user and a second user profile of the second user,
. The method of, further comprising dynamically determining when to end the interaction based at least on tracking messages exchanged between the first user and the second user during the interaction, such that as a new message is exchanged between the first user and the second user during the interaction, a duration of the interaction is increased.
. The method of, further comprising preventing communication between the first user and the second user at the end of the interaction.
. The method of, further comprising assigning a weight to the received indication based at least on the interaction,
. The method of, further comprising in a second iteration, training the machine learning pairing algorithm to provide a second probability for compatibility between the first user and the second user based at least on the interaction history, the assigned weight to the received indication, and the user profiles.
. The method of, wherein executing the updated machine learning pairing algorithm is in response to the interactions of users of the interaction-based recommendation tool.
. The method of, wherein the first action comprises the first user requesting to begin an interaction with a user.
. The method of, wherein the first action comprises the first user indicating availability to begin the interaction with a user.
. The method of, wherein the first action comprises the first user registering.
. The method of, wherein the interaction comprises at least one message transmitted from the first user to the second user.
. The method of, further comprising:
. The method of, further comprising:
. The method of, wherein determining to pair the first user and the second user is based at least in part on preferences of the first user.
. The method of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and the second user.
. The method of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and one or more features of a system.
. The method of, further comprising:
. At least one non-transitory computer-readable medium comprising a plurality of instructions that, when executed by at least one processor, are configured to:
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to, in a first iteration, train the machine learning pairing algorithm to provide a first probability for compatibility between the first user and the second user based at least on a first user profile of the first user and a second user profile of the second user,
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to dynamically determine when to end the interaction based at least on tracking messages exchanged between the first user and the second user during the interaction, such that as a new message is exchanged between the first user and the second user during the interaction, a duration of the interaction is increased.
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to prevent communication between the first user and the second user at the end of the interaction.
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to assign a weight to the received indication based at least on the interaction,
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to, in a second iteration, train the machine learning pairing algorithm to provide a second probability for compatibility between the first user and the second user based at least on the interaction history, the assigned weight to the received indication, and the user profiles.
. The at least one non-transitory computer-readable medium of, wherein executing the updated machine learning pairing algorithm is in response to the interactions of users of the interaction-based recommendation tool.
. The at least one non-transitory computer-readable medium of, wherein the first action comprises the first user requesting to begin the interaction with a user.
. The at least one non-transitory computer-readable medium of, wherein the first action comprises the first user indicating availability to begin the interaction with a user.
. The at least one non-transitory computer-readable medium of, wherein the first action comprises the first user registering.
. The at least one non-transitory computer-readable medium of, wherein the interaction comprises at least one message transmitted from the first user to the second user.
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to:
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to:
. The at least one non-transitory computer-readable medium of, wherein determining to pair the first user and the second user is based at least in part on preferences of the first user.
. The at least one non-transitory computer-readable medium of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and the second user.
. The at least one non-transitory computer-readable medium of, wherein determining to pair the first user and the second user comprises analyzing an interaction history between the first user and one or more features of a system.
. The at least one non-transitory computer-readable medium of, wherein the instructions are further configured to:
Complete technical specification and implementation details from the patent document.
This nonprovisional application is a continuation, under 35 U.S.C. § 120, of U.S. patent application Ser. No. 17/093,860 filed on Nov. 10, 2020 and entitled “System and Method for Providing Pairings for Live Digital Interactions” all of which is hereby incorporated by reference in its entirety.
This invention relates generally to the field of communications and, more particularly, to a system and method for providing pairings for live digital interactions.
Networking architectures, developed in communications environments, have grown increasingly complex in recent years. A multitude of protocols and configurations have been developed to accommodate a diverse group of end users having various networking needs. Many of these architectures have gained significant notoriety because they can offer the benefits of automation, convenience, management, and enhanced consumer selections. Using computing platforms with the networking architectures has allowed for increased communication, collaboration, and/or interaction. For example, certain network protocols may be used to allow an end user to connect online with other users who satisfy certain search requirements. These protocols may relate to job searches, person finding services, real estate searches, or online dating.
According to an embodiment, a system includes a processor and an interface coupled to the processor. The processor determines that a first user takes a first action, and determines to pair the first user and a second user. The processor pairs the first user and the second user for an interaction, where the interaction lasts for a first time period. The interface, at a second time, receives an indication of a preference of the first user for the second user. The second time is after the first time period.
According to another embodiment, a method includes determining, by a processor, that a first user takes a first action. The method further includes determining, by the processor, to pair the first user and a second user. The method also includes pairing, by the processor, the first user and the second user for an interaction, the interaction lasting for a first time period. At a second time, the method includes receiving, by an interface, an indication of a preference of the first user for the second user. The second time is after the first time period.
According to one embodiment, at least one computer-readable medium comprising a plurality of instructions that, when executed by at least one processor, are configured to determine that a first user takes a first action. The plurality of instructions are further configured to determine to pair the first user and a second user and pair the first user and the second user for an interaction lasting for a first time period. At a second time, the plurality of instructions are further configured to receive an indication of a preference of the first user for the second user. The second time is after the first time period.
Certain embodiments provide one or more technical advantages. For example, an embodiment may allow users to interact and engage with each other before viewing profiles of users, to determine preference indications earlier in the meeting process, thereby decreasing the processing and bandwidth resources expended by users gathering and reviewing information about another user before an interaction with him or her. As another example, an embodiment may incorporate user feedback information into a machine-learning recommendation algorithm, thereby providing enhanced recommendations for users and accordingly decreasing the processing and bandwidth resources expended by the system in providing recommendations to a user. Certain embodiments may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
Embodiments of the present disclosure and its advantages may be understood by referring toof the drawings, like numerals being used for like and corresponding parts of the various drawings.
In a typical online-matching system, users view profiles of other users that include particular sets of attributes related to those users and may be used to facilitate connections. As an example, in the online-dating context, the profiles might include attributes such as age, education, and interests. Users may review profiles of other users to determine whether those users have characteristics that they like, and the system determines whether to connect them for further engagement. For example, a conventional system will only allow users to interact after each has expressed a positive preference indication for the other based only on the other's profiles, rather than an actual interaction or conversation.
This connection process may require a significant wait time because users are not necessarily viewing each other's profiles at the same time. For example, a first user may indicate a positive preference for the second user one day, and the second user might not even view the first user's profile until a few days later. Even if the second user indicates a positive preference for the first user as soon as he or she views the first user's profile, there has been a delay for the first user. The second user may no longer be top of mind for the first user, and the first user might now have less interest in connecting and engaging with the second user. Also, a user's profile may not provide details and nuances of the user's personality. While a user may provide important profile information such as interests, location, age, and preferences, it does not necessarily allow another user to get a sense of who they are as a person and how the two would interact.
This disclosure contemplates an interaction-based recommendation tool that addresses one or more of the above issues. Of the users who are currently using the system, the interaction-based recommendation tool pairs two or more users who may be compatible, allowing them to interact before the system has matched them based on their positive preference indications for the other. After a live interaction, the tool presents the users with options to provide a preference indication for the other. If both provide a positive preference indication for the other, then the tool matches the users and allows them to connect and engage further. By allowing the users to interact while both using the system, it creates a concurrent experience and immediate conversation before requiring preference indications. By bringing these interactions to the beginning of the process, there is a greater chance for the users to have conversations without a wait time and to engage with a larger number of users. This also allows users to lead with their personalities in these interactions, rather than relying solely on a profile to receive matches.
Based on the user's choices, the interactions may provide opportunities and prompts to help them engage in conversation. For example, the interaction may be timed to entice the users to respond quickly and have more back-and-forth quickly. The interaction may provide some sort of question, prompt, game, or activity so the users may interact while performing an activity to spark conversation or provide an opportunity to have a shared experience. By allowing users to interact and have a concurrent experience, this interaction-based recommendation tool provides immediate connections to users and can recommend and pair other users based on these interactions.
illustrates example system. As seen in, systemincludes interaction-based recommendation tool, user(s), device(s), network, and database. Generally, interaction-based recommendation tooldetermines that userstake actions in systemand determines users (e.g., userA andB) to pair together for an interaction. Interaction-based recommendation toolmay pair together any number of users, such as two users, a group of three or more users, two or more groups of two or more users, one large group of users, and/or any combination of users. After the interaction, interaction-based recommendation toolreceives preference indications for the users and then indicates if the users have both expressed a positive preference indication for the others. Interaction-based recommendation toolmay rely on various parameters to determine that usersshould be paired together for an interaction. For example, interaction-based recommendation toolmay analyze information such as userA's interaction history with other users, profile information of users(e.g., interests, likes, dislikes, preferences, matches, past pairings, activity), or any other suitable information. Interaction-based recommendation toolmay also provide different types of interactions for users. For example, interaction-based recommendation toolmay provide an interaction that is timed, where usersmay send messages (e.g., for a time period or certain amount), an activity, a game, a cooperative experience, or any suitable interaction for users.
Devicesinclude any appropriate device for communicating with components of systemover network. For example, devicemay be or may be accompanied by a telephone, a mobile phone, a computer, a laptop, a tablet, a server, an automated assistant, and/or a virtual reality or augmented reality headset or sensor, or other device. This disclosure contemplates devicebeing any appropriate device for sending and receiving communications over network. As an example, and not by way of limitation, devicemay be a computer, a laptop, a wireless or cellular telephone, an electronic notebook, a personal digital assistant, a tablet, or any other device capable of receiving, processing, storing, and/or communicating information with other components of system. Devicemay also include a user interface, such as a display, a microphone, keypad, or other appropriate terminal equipment usable by user. In some embodiments, an application executed by devicemay perform the functions described herein. In certain embodiments, devicesmay communicate with interaction-based recommendation toolthrough networkvia a web interface. In some embodiments, an application executed by devicemay perform the functions described herein.
Networkfacilitates communication between and amongst the various components of system. This disclosure contemplates networkbeing any suitable network operable to facilitate communication between the components of system. Networkmay include any interconnecting system capable of transmitting audio, video, signals, data, messages, or any combination of the preceding. Networkmay include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network, such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof, operable to facilitate communication among the components.
Databasestores a set of user profiles. User profilesdefine or represent features of users. Profilesmay be available to the general public, to those that are members of the online dating system, and/or to a specific category of those members of the online dating system. Profilesmay contain information that was solicited from userswhen usersset up their online dating accounts or was otherwise input by such users into their profiles. Profilesmay include general information such as age, height, gender, and occupation, as well as detailed information that may include the users' interests, likes/dislikes, personal feelings, and/or outlooks on the world. In some embodiments, interaction-based recommendation toolmay review profilesto determine which usersto pair. In some embodiments, interaction-based recommendation toolmay operate on, change, remove, or add information to profilesthat have been stored in database. In some embodiments, this may be based on an interaction among users.
As seen in, interaction-based recommendation toolincludes processor, memory, and interface. This disclosure contemplates processor, memory, and interfacebeing configured to perform any of the functions of interaction-based recommendation tooldescribed herein.
Processormay be any electronic circuitry, including, but not limited to microprocessors, application specific integrated circuits (ASIC), application specific instruction set processor (ASIP), or state machines, that communicatively couples to memoryand interfaceand controls the operation of matching tool. Processormay be 8-bit, 16-bit, 32-bit, 64-bit, or any other suitable architecture. Processormay include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. Processormay include other hardware and software that operates to control and process information. Processorexecutes software stored on memoryto perform any of the functions described herein. Processorcontrols the operation and administration of interaction-based recommendation toolby processing information received from network, device(s), interface, and memory. Processormay be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the preceding. Processoris not limited to a single processing device and may encompass multiple processing devices.
Memorymay store, either permanently or temporarily, data, operational software, or other information for processor. Memorymay include any one or a combination of volatile and non-volatile local or remote devices suitable for storing information. For example, memorymay include random access memory (RAM), read only memory (ROM), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices. The software represents any suitable set of instructions, logic, or code embodied in a computer-readable storage medium. For example, the software may be embodied in memory, a disk, a CD, or a flash drive. In particular embodiments, the software may include an application executable by processorto perform one or more of the functions described herein.
In certain embodiments, memorymay also store interaction history. Interaction historymay include data regarding past or current interactions between and/or among users. For example, userA and userB may have had a digital interaction last week where they sent a few messages back and forth. As another example, userA and userB may have had an interaction a year ago where they played a game together. Interaction historymay store any information about the interaction, including date, time, duration of the interaction, substance of the interaction, type of interaction (e.g., conversation, games, video, group discussion, event), submission of preferences after an interaction, or any other piece of data about or relating to the interaction. Each usermay have a corresponding interaction historyindicating information relating to interactions that user has had. In some embodiments, pairing engineanalyzes interaction historyto determine whether users should be paired together for an interaction. In some embodiments interaction historymay include data regarding interactions among usersand interaction-based recommendation tool, among usersand network, among usersand user devices, and/or any other interactions in system. For example, interaction historymay include data about whether userhas used a certain feature related to interaction-based recommendation toolor a related tool (e.g., games, profile viewing, live digital experiences, messaging, chatting, surveys), whether useris a subscriber or subscribes to interaction-based recommendation toolor a related tool, whether userpays for certain functionality, preferences of user, or any other data related to user. As another example, a subscriber or userwho pays a fee may receive priority in pairing, such as waiting less time to be paired, being paired with the first available user, and/or being paired with a highly rated user.
Interfacerepresents any suitable device operable to receive information from network, transmit information through network, perform suitable processing of the information, communicate to other devices, or any combination of the preceding. For example, interfacetransmits notifications to devices. As another example, interfacemay facilitate the exchange of messages during an interaction among users, for example, by receiving a message transmitted by userA for ultimate receipt by userB and then transmitting the message to userB. Interfacerepresents any port or connection, real or virtual, including any suitable hardware and/or software, including protocol conversion and data processing capabilities, to communicate through a LAN, WAN, or other communication systems that allows matching toolto exchange information with devicesand/or other components of systemvia network.
In some embodiments, interaction-based recommendation tooldetermines that usertakes an action. An action may be any indication that useris active on devicewithin systemor available to begin an interaction. For example, userA may check messages for another user, view profilesof userson device, open an application related to interaction-based recommendation toolon device. If interaction-based recommendation tooldetermines that useris active, it may continue and determine whether userA should be paired with another user. In some embodiments, an action may be a request to systemby userA to begin an interaction with another user. In this example, userA may select a “start now” button, select a type of interaction, answer a question or prompt, or opt-in to interactions generally. In some embodiments, an opportunity to have an interaction with other usersmay only be available at select times or frequencies. For example, usersmay only be able to request an interaction at a certain time of day (e.g., happy hour), on certain days (e.g., weekends only), at random intervals, after a certain time has elapsed from a previous interaction, during some large cultural moment (e.g., Super Bowl or Academy Awards), or a certain number of times in a period (e.g., 5 times per day, 1 time per week, 25 times a month). An action may also be userregistering with system. For example usermay have to register by creating a profile, downloading an application to device, signing on to a website, configuring a setting to engage in interactions, or any other sign up procedure. In some embodiments, usersmay be required to be subscribers and/or charged a fee in order to have an opportunity to interaction with other users. For example, usermay need to pay a monetary amount before engaging in any interactions. As another example, usermay only be able to have a certain number of interactions (e.g., 1 per day, 3 per week) and afterwards must pay a fee for each interaction. In certain embodiments, userA may receive a notification that he or she is being paired with other users. For example, userA may be placed in a waiting room while interaction-based recommendation tooldetermines which userto pair userA with. In some embodiments, interaction-based recommendation toolmay determine whether multiple userstake an action. For example, interaction-based recommendation toolmay determine that userA and userB have both taken an action before pairing the two. In some embodiments, interaction-based recommendation toolonly pairs userswho have taken an action first. For example, interaction-based recommendation toolmay determine that userA selected a “start interaction” button and then wait until another user (e.g., userB) views profiles in the queue before pairing the two users. In some embodiments, interaction-based recommendation toolmay pair users who have not taken an action. For example, userA may answer a prompt and interaction-based recommendation toolmay transmit a message to userB indicating that it wants to pair userB with userA.
In some embodiments, interaction-based recommendation tooldetermines to pair userA and userB. Interaction-based recommendation toolmay pair usersbased on profiles(e.g., profilesandof usersA and, respectively), location data, interests, activity in system, interaction history, or any information about users. For example, interaction-based recommendation toolmay determine that usersA andB were paired and had an interaction in the past, and determine to pair them again. As another example, interaction-based recommendation toolmay determine that usersA andB both answered a prompt or question the same way, a different way, or a complementary way, and determine to pair them. In some embodiments, interaction-based recommendation toolmay pair usersrandomly or without any information about users. For example, interaction-based recommendation toolmay pair usersbased on that fact that they are currently in systemand available to be paired. Even when pairing usersrandomly, interaction-based recommendation toolmay take into consideration basic user preferences.
In some embodiments, interaction-based recommendation toolpairs usersfor an interaction. The interaction may be any experience where usersmay engage with each other or others. For example, the interaction may be an interface where userA and userB may exchanges messages with each other. Messages may include a text-based message, a multi-media message (e.g., GIF, video, image, etc.), an audio message, a live video, a reaction (e.g., like, dislike, heart, smile, laugh, exclamation, etc.), an indication, a game-turn (e.g., throwing a ball in beer pong or making a guess in a game), or any type of communication. As another example, the interaction may be a game that usersmay play together or against each other or together against others. As another example, the interaction may facilitate initiating a conversation among usersby leading with a prompt or question that usersmay react to. In some embodiments, the interaction may be live such that usersare engaged in systemsimultaneously to facilitate a quick and rapid exchange among users.
In some embodiments, interaction-based recommendation toolreceives from userA a preference indication for userB. The preference indication may include a positive preference indication (e.g., LIKE or SUPERLIKE), a negative preference indication (e.g., NOPE), an unsure indication, a rating, a score (e.g., a numerical score), substantive feedback (e.g., I like this person's personality, I think it is cool that she and I went to the same college), a pass indication (e.g., PASS), or no indication at all. For example, interaction-based recommendation toolmay transmit a request to usersto indicate a preference indication for userthat he or she is interacting or finished interacting with. The request may prompt the user for the preference indication (e.g., LIKE, NOPE, or PASS). In this example, if userA selects PASS then no preference indication is recorded for userB. Continuing this example, userA andB may be paired again in the future because there has been no rating. Further, interaction-based recommendation toolmay take into account that usersA andB have had an interaction before but no preference indication was recorded. As another example, if userA selects NOPE or a negative preference indication for userB, interaction-based recommendation toolmay prevent usersA andB from being paired again or prevent userB from viewing profileA of userA. In some embodiments, usermight not select any preference indication (e.g., turns off application on device, selects “skip” or “cancel” or time runs out). If no preference indication is selected, a default selection may be recorded by interaction-based recommendation tool. For example, if userA does not select LIKE or NOPE, interaction-based recommendation toolmay record the selection and/or preference indication as PASS. In some embodiments, interaction-based recommendation tooldoes not present an option for a negative preference indication. This may create a positive environment where usersare either matched and able to engage further (e.g., both select a positive preference indication) or where usersare able to be paired for future interactions (e.g., PASS or no preference indication), thus creating no rejection or negative thoughts toward other users.
The preference indication may be made or received before, during, or after an interaction. For example, users may be paired together because they have already expressed positive preference indications for each other. As another example, as usersinteract, userA may select a positive preference indication to signal that he or she likes userB. In this example, if both usersA andB express a positive preference indication during the interaction, interaction-based recommendation toolmay determine that they have matched with each other. As another example, after an interaction has ended, interaction-based recommendation toolmay send a prompt for the users to select a preference indication for the other. Interaction-based recommendation toolmay require that usersindicate their preference prior to engaging in another interaction. This allows usersto provide feedback while the interaction is fresh in their minds. If usersboth express positive preference indications for the other, interaction-based recommendation toolmay provide an opportunity for users to engage with each other at a separate time. In this example, usersmay also be able to view additional information about other users after matching, such as profiles. As another example, userA previously expressed a positive preference indication (e.g., Liked or Super Liked) userB, and now usersA andB are having an interaction together. In this example, userA may be a subscriber who is able to see anyone who has previously expressed a positive preference indication. Continuing this example, userB may be able to see during the interaction that userA expressed a positive preference indication for userB.
In some embodiments, interaction-based recommendation tooltransmits a notification, based on the preference, to user. The notification may include information about the preferences, whether the preferences received are the same or different, the interaction, or any information that may be transmitted to user. The notification may be a push notification, an indication on an interface, a message, an alert, or any type of act of notifying a user. For example, if both usersA andB provide a positive preference indication, interaction-based recommendation toolmay transmit a notification to both of them that the other user indicated a positive preference indication (e.g., a match). In this example, the notification may also provide an opportunity for the users to continue engaging with each other (e.g., “chat now” or “go to match queue”). In some embodiments, the notification may indicate a number of connections or matches. For example, userA may have had interactions with a number of different users (e.g.,B,C,D, etc.) and after exiting the last interaction, interaction-based recommendation toolmay present a notification indicating that userA now has four new matches (e.g., userA expressed a positive preference indication about four of those usersand those four usersexpressed a positive preference indication about userA). By providing the number of new matches after a series of interactions with various users, it creates a positive environment focused on the connections, eliminating the sense of rejection or negativity. In this example, userA may receive instant gratification of new matches after a few short interactions and receive that information immediately, rather than having a delay that may cause a sense of rejection, sadness, or frustration.
In some embodiments, interaction-based recommendation toolimplements pairing engineand interaction engine. Pairing engineis used to determine to pair users, as described in further detail below and in the discussion of. Interaction engineis used to create and provide a type of interaction for users. Examples of the types of interactions that interaction enginemay provide are described in further detail below, in the discussion of.
Pairing enginemay be a software module stored in memoryand executed by processor. An example algorithm for pairing engineis as follows: (1) receive request to interact transmitted by userA; (2) analyze characteristics of userA (e.g., profileA); (3) analyze interaction historyof userA; (4) analyze characteristics and interaction history of userB; (5) based on characteristics and interaction historyof usersA andB, pair usersA andB. While the above example presents one possible algorithm for pairing engine, this disclosure contemplates that pairing enginemay use any algorithm operable to facilitate an interaction between users. For example, the algorithm used by pairing enginemay include modifications, additions, or omissions to the example algorithm presented above. Furthermore, the algorithm used by pairing enginemay include more, fewer, or other steps as compared with the example algorithm presented above, and the steps may be performed in parallel or in any suitable order. The algorithm for pairing engineis described in further detail below, in the discussion of.
In some embodiments, pairing enginedetermines to pair usersbased on a variety of factors, including, but not limited to, profiles, preferences of users, locations of users, interaction history, and randomly. In some embodiments, pairing enginepairs userswho have both requested an interaction. For example, if two usersA andB both request an interaction (e.g., selecting a button such as “Enter Fast Chat”; “Request Interaction”; “Enter Speed Dating”), pairing enginemay pair usersA andB to have an interaction. Pairing enginemay base this pairing on certain factors, or pair them up randomly based on the timeframe that both requested an interaction. In some embodiments, pairing enginemay transmit a notification to userasking if that user would like an interaction. Pairing enginemay determine userA may be a good fit for another userB who requested an interaction, and then pairing enginemay actively reach out to userA (e.g., who is in systemor engaging with an application in systemon device) to see if userA would like to pair. If userA agrees, pairing enginemay pair usersA andB for an interaction.
In some embodiments, pairing enginepairs users based at least in part on one or more profilesof users. As discussed above, profilesmay contain any and all information about users, such as age, gender, location, preferences in other users, answers to previous questions, rating information, match history, interests, hobbies, favorite types of interactions, records held for particular games, or any information about user. Profilesmay have some, none, or all of this information viewable to other users. Pairing enginemay analyze profilesof usersto determine user pairings. For example, if userA andB went to the same school, pairing enginemay pair them together. As another example, pairing enginemay pair a new userA with a highly-rated userB (e.g., consistently rated highly by other usersand/or has high number of positive preference indications) in order to provide new userA with quality interactions. As an additional example, pairing enginemay pair together usersA andB who have both travelled to the same country and may have that in common. In some embodiments, pairing enginemay pair usersbased on location. For example, usersmay be paired because they are near each other, have been near each other before, both visit the same or similar locations (e.g., love coffee shops), one userA is in a location that interests userB (e.g., userA lives in France and userB is interested in France), both are in or at a college (e.g., TinderU), both are in the same country, and/or both are in different countries. In some embodiments, pairing enginemay even provide the commonalities among the usersat the beginning of an interaction to spark conversation.
In some embodiments, pairing enginepairs usersby analyzing interaction historyamong users. Pairing enginemay pair userA with users that userA has never interacted with before, has interacted with before, has interacted with before in a certain time period (less than one week, more than a month), and/or has interacted with before a certain number of times (e.g., less than 3, more than 5). Pairing enginemay pair userA with users that userA has engaged with or seen before outside of or separate from interaction-based recommendation tool. For example, userA may be paired with a current match, someone userA sent messages to or vice versa, someone userA viewed a profile of, someone userA has expressed a positive preference indication for, or any other type of engagement outside of a paired interaction. In certain embodiments, pairing enginemay weight previous interactions based on recency, length of time, number of messages or exchanges, ratings, or any other information related to the interaction. For example, pairing enginemay determine that userA had a long interaction with userB where they exchanged over 100 messages less than a week ago. In this example, pairing enginemay pair usersA andB for another interaction in order to increase the likelihood that each will express a positive preference indication for the other and create a more permanent match. In some embodiments, pairing enginemay pair userA with each of his or her matches (e.g., both users express positive preference indication for the other) who are available (e.g., in systemand/or engaged in an application on device) for an interaction. By pairing userA with matches, pairing engineenables usersto have additional interactions separate from a match queue or message system, allowing usersto connect, find commonality, and get to know each other better.
In some embodiments, pairing enginepairs users based on responses from userto a prompt, choice, or question. Pairing enginemay use the responses to pair usersfor an interaction. For example, if usersA andB answer a question the same, pairing enginemay pair them. As another example, pairing enginemay pair usersA andB if they have different answers. In some embodiments, pairing enginetransmits a prompt, choice, or question to users. Usersthen select a response, and a response by each useris received by pairing engine. For example, pairing enginemay transmit a prompt to userswith a question: “What do you like to do more on the weekends? Exercise; Chill and Relax; Work, work, work; or Kick It with Friends.” In this example, userA may transmit a selection of “Chill and Relax” while userB may transmit a selection of “Kick It with Friends” to pairing engine. Pairing engine may review these selections and determine that users should or should not be paired based on the selections. Pairing enginemay present any number of prompts, choices, questions, or selections. In some embodiments, pairing enginemay present a series of questions in order to pair users. For example, pairing enginemay ask all userswho have requested an interaction a number of questions, such as three. While usersare answering those questions, pairing enginemay analyze selections and response to optimize pairs among users. For example, pairing enginemay pair userswho answered all three questions identically, differently, similarly, or exactly opposite. In some embodiments, pairing enginemay transmit these prompts, choices, and selections to interaction enginethat may present these responses to usersin their interaction to spark conversation. In some embodiments, pairing enginetransmits a first choice to users, receives a selection from userA in response to the first choice, receives a selection from userB in response to the first choice, and in response to receiving the response or selection from userA and the response or selection from userB, pairing enginedetermines to pair usersA andB. In some embodiments, pairing enginemay transmit responses to interaction engineto be presented to users. For example, if userA selections option A and userB selects option B, that can be displayed to both usersA andB in the interaction. By displaying responses or selections, interaction enginemay provide information about the other user such that it initiates or facilitates conversation between the two users.
In some embodiments, pairing enginemay pair any number of users based on an experience before being paired. For example, usersmay have both engaged in a live digital experience (e.g., Swipe Night) and selected similar decisions and answers. As another example, usersmay each independently play a game before being paired and the score of the game determines what pairing occurs. Pairing enginemay pair userswho both request and/or have engaged in a number of interactions previously (e.g., certain amount per day, a high number recently, etc.).
In some embodiments, pairing enginemay join any number of userstogether for an interaction. Pairing enginemay join two users (e.g.,A withB), one user with a group of users (e.g.,A withB,C, andD), two groups of users (e.g.,A andB withC andD), one group of users (e.g.,A,B,C), or any combination of usersto create an interaction. Any of these combinations may be referred to herein as a pair. Pairing enginemay determine the number of users based on a request by one or more users, preferences of users, time, number of userswaiting to be paired, or any other considerations.
This disclosure contemplates that pairing enginemay consider any number of factors, in addition to responses and selections received from users, to determine pairings among usersA toN. As an example, in embodiments in which pairing engineemploys a machine-learning algorithm trained to generate ranked lists of usersto pair based on attributes that include the users' interaction history, the machine-learning algorithm may operate on additional attributes obtained from profilesA throughN. In such embodiments, interaction historyand outcomes of interactions (e.g., userA is undefeated in an interaction game) determined by toolmay be placed in a user's profile, such that a machine-learning algorithm configured to extract and operate on attributes obtained from profilesmay easily incorporate the additional attributes associated userplaced into profiles. As another example, in certain embodiments, pairing enginemay determine pairs based on information contained in profilesA throughN and then rank these pairings, or select a subset of these recommendations, based on the similarity of the choices made by users. As a further example, pairing enginemay retrieve birthday information from profileof userto determine a zodiac sign and pair usersbased on zodiac compatibility. In certain embodiments, pairing enginemay consider the ages, genders, and locations of usersin determining pairings among users. For example, pairing enginemay pair userA that correspond to usersB throughN that fall within age, gender, and/or location ranges specified by userA. As another example, in certain embodiments in which pairs generated for userA consist of a ranked list of potentially compatible users, pairing enginemay prioritize userB who has previously had an interaction with userA and/or viewed profileA belonging to userA, by increasing the ranking of userB. This may be desirable as previous interactions (e.g., where userB expressed a positive preference indication for userA) and/or profile views may indicate that userB has an interest in userA and may therefore be likely to match with userA, when pair with userA. As a further example, in certain embodiments in which pairs generated for userA consist of a ranked list of compatible users, pairing enginemay prioritize userB based on the number of previous interactions userB has participated in (e.g., with userA or generally with other users). For example, pairing enginemay increase the ranking of userB if userB is participating in his or her first paired interaction. This may be desirable to help ensure that userswho frequently participate in interactions have the opportunity to match with new users, rather than continually receiving recommendations of the same set of users.
In some embodiments, interaction engineis used to create and provide a type of interaction for users. Interaction enginemay be a software module stored in memoryand executed by processor. Interaction enginemay rely on a series of factors and inputs to determine the type of interaction to provide for paired users and facilitate the interaction itself. Examples of interactions include, but are not limited to, questions, ice breakers, prompts, reactions (e.g., Hot Take), select option, cooperative game, competitive game, lights out (e.g., without viewing information about userduring interaction), message rooms, chat rooms, group rooms, group hangouts, group games, video messages, video calls, avatar interactions, or any other type of interaction. Further examples of the types of interactions that interaction enginemay provide are described in further detail below, in the discussion of.
In some embodiments, interaction enginedetermines a type of interaction to provide for paired users. Interaction enginemay rely on a number of factors to determine the type of interaction, including, but not limited to, interaction historyof users(e.g., userA andB are both undefeated in Party Pong, requests by users(e.g., “Play Hot Takes” or “Play Party Pong”), time of day (e.g., happy hour games or morning coffee chats), day of the week (special events, cultural moments), length of time for interaction, number of userspaired and/or joining (e.g., group interaction), or any information that may indicate a type of interaction to use. Interaction enginemay transmit a list of types of interactions to select from, such as various question prompts, games, timed interactions, message limits, or any form of interaction, and receive a selection from user. Interaction enginemay determine the type of interaction without any input or selection from user. For example, interaction enginemay provide a timed messaging interaction to encourage a live and quick interaction among users.
In some embodiments, interaction enginepresents information to usersto facilitate a conversation. Interaction enginemay provide some information about usersin the interaction. For example, interaction enginemay determine or receive information from another component of systemabout something usershave in common, such as they both went to the same college, and indicate that commonality on the interface for usersto see during the interaction. This may spark conversation among usersand give them a topic to immediately discuss, thus creating a high likelihood of a connection, a positive preference indication, or a match. As another example, interaction enginemay indicate to users(e.g., a notification or in interaction itself) that each of them are undefeated in the game that they are about to engage in while interacting. This may provide a topic for users to discuss (e.g., how many games the other has played, why they like this game) while they play the game and focus their attention on it. Interaction enginemay provide some prompt or question in the interaction. For example, interaction enginemay provide a prompt to respond to, such as “Pineapple is the best pizza topping” and solicit responses from users, such as “That is disgusting” or “Meh, not for me.” The responses from usersmay be selected from a list of options or freeform where usertypes his or her own response.
In some embodiments, interaction enginedetermines what is presented to usersvia interfaceduring an interaction. As discussed above, the interaction itself may have certain graphics or presentations associated with it (e.g., prompts, questions appear as words and/or games show graphics). Interaction enginemay present additional information related to usersin the interaction. For example, the interaction may present information about users, such as profiles, pictures, names, avatars representing user, interaction history(e.g., “You've had an interaction with this user” or “You and this user played a game together last week”), and/or any information related to user. In some embodiments, interaction engine may allow userA to view profileB of userB before, during, or after an interaction. In certain embodiments, interaction engine may prevent userA from viewing any information about userB (e.g., Lights Out interaction). In some embodiments, an avatar may represent user. Usermay create or design the avatar himself or herself, or have interaction enginecreate it. Interaction enginemay use input from deviceto animate the avatar. For example, when userA is smiling, interaction enginemay have the avatar representing userA smile.
In some embodiments, interaction enginedetermines to end an interaction. Interaction enginemay determine to end an interaction based on information from user. For example, usermay request that interaction end, exit systemand/or an application on deviceimplementing interaction engine, rate other userin the interaction, expire a timer, send an exit message, send a last message, or any other information provided by user.
In some embodiments, interaction enginemay determine to end an interaction based on the type of interaction. Interaction enginemay end an interaction based on a timer, a game being complete, a certain number of messages being exchanged, one or both users exiting the interaction or system, or any information indicating the interaction should end. In some embodiments, interaction enginemay end an interaction by preventing usersfrom transmitting messages or engaging with the others. For example, if the interaction is a message room where usersmay transmit messages back and forth, interaction enginemay end the interaction by removing usersfrom the message room and preventing them from seeing the other users. As another example, if the interaction is a game that has ended or reached completion, interaction enginemay send a notification that the interaction has ended and solicit a rating or preference indication regarding the other usersparticipating in the interaction. In some embodiments, when interaction enginedetermines to end an interaction, interaction-based recommendation toolor pairing enginemay pair userswith different users in a new interaction. For example, userA may be in a message room with userB and when the timer expires, userA may be moved to a separate message room with userC. By creating a series of interactions for userA (e.g., separate message rooms with userB,C,D, etc.), userA is able to meet a number of other users, have interactions with them, and increase the likelihood of a connection or match in system.
In some embodiments, interaction enginemay create a timed interaction, where the interaction will last for a specific time or time-related. For example, interaction enginemay set one or more timers for a fixed time (e.g., 1 second, 5 seconds, 20 seconds, 1 minute, 5 minutes, or any amount of time) and end the interaction after usershave engaged for that time period. Interaction enginemay display a timer to usersto encourage conversation and engagement before the timer expires. In some embodiments, interaction enginemay create a time-related interaction. Interaction enginemay have a timer set for a fixed time (e.g., 5 seconds, 1 minute). Interaction enginemay determine that a message is transmitted among usersin the interaction. In response to determining that a message is transmitted among users, interaction enginemay update the timer. For example, usersA andB may begin an interaction with a 20-second timer. Five seconds elapse before userA sends a message toB. Once the message is sent, interaction enginemay update the timer to 20 seconds. By putting userson a timer to send a message, it encourages faster and quicker communications. In some embodiments, interaction enginemay increase the remaining time based on the exchange of messages. For example, interaction enginemay add 5 seconds to a timer every time a message (or other communication such as picture, emoji, game move, etc.) is transmitted. In this example, userA andB may exchange 10 messages in the first few seconds of the interaction, and thus the timer is set to 50 seconds for the interaction to last. This timer encourages usersto transmit multiple messages back and forth with each other, thus creating engaging and fun interactions. In certain embodiments, interaction enginemay end the interaction after the timer expires and runs to 0. In some embodiments, interaction enginemay not use a timer and provide an untimed interaction.
In some embodiments, interaction enginemay store information related to an interaction to interaction history. During or after an interaction, interaction enginemay store data regarding that interaction among users. Interaction enginemay save the data for each separate userin the interaction. For example, after a 2-minute timed interaction between userA and userB, interaction enginemay save that information to interaction historyfor userA and separately to interaction historyfor userB. Interaction historymay store any information about the interaction, including date, time, duration of the interaction, substance of the interaction, type of interaction (e.g., conversation, games, video, group discussion, event), submission of preferences after an interaction, or any other piece of data about or relating to the interaction. In some embodiments, interaction enginetransmits interaction historyto pairing enginefor it to analyze interaction historyand determine whether usersshould be paired together for an interaction.
In some embodiments, interaction enginemay add information related to an interaction or interaction historyto profile. Interaction enginemay add information such as ratings from interactions, number of interactions, results from interactions, answers from prompts or questions in interactions, results from game-type interactions, or any information related to an interaction. For example, if userA selects a particular game to play for interactions (e.g., emoji puzzle), interaction enginemay save to profileA of userA that he or she is interested in that game. As another example, if userA has never been beaten by another userin party pong, interaction enginemay add to profileA of userA that he or she is undefeated in party pong. As a further example, if userA answers a question of “What is your favorite weekend activity” as “exercising” in an interaction, interaction enginemay add “exercising” as an interest in profileA of userA. In some embodiments, information added by interaction engineto profilemay be viewable to other users. Information added by interaction engineto profilemay not be viewable or accessible to other usersin certain embodiments.
Modifications, additions, or omissions may be made to the systems described herein without departing from the scope of the invention. For example, systemmay include any number of users, devices, networks, and databases. The components may be integrated or separated. Moreover, the operations described above may be performed by more, fewer, or other components. For example, although described as interaction-based recommendation tool, pairing engine, and interaction engineperforming certain operations, any component in systemmay perform these operations. Additionally, the operations may be performed using any suitable logic comprising software, hardware, or other logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.
presents a flowchart illustrating methodfor interaction-based recommendation toolof systemof. This methodillustrates how interaction-based recommendation toolprovides opportunities for live digital interactions among usersand provide recommendations based on those interactions.
At step, in some embodiments, interaction-based recommendation tooldetermines whether usertakes an action. Interaction-based recommendation toolmay receive information related to actions of usersat interfacevia networkfrom user device. For example, interaction-based recommendation toolmay receive information that userhas opened an application in systemon user device. As another example, interaction-based recommendation toolmay determine usertook an action within the application such as viewing profilesof users, playing a game, messaging useror any other interaction within system. In some embodiments, interaction-based recommendation toolmay determine whether another user, or any number of users, takes an action at step. Interaction-based recommendation toolmay wait to pair usersuntil both have taken an action to indicate preference, readiness, and/or availability to be paired. If interaction-based recommendation tooldetermines at stepthat a user has not taken an action, it remains at stepuntil it determines userhas taken an action. If, at step, interaction-based recommendation tooldetermines usertakes an action, the method continues to step.
At step, in some embodiments, interaction-based recommendation toolanalyzes interaction historybetween userA andB. Interaction-based recommendation toolmay retrieve interaction historyfrom memory. Interaction historymay include information about past interactions between userA andB, such as time, date, length, frequency, number, and result of past interactions. For example, interaction historymay indicate that usersA andB interacted twice before for over 15 minutes each time resulting in userA providing a positive preference indication for userB. Interaction-based recommendation toolmay rely on this information in determining whether and when to pair usersA andB together again. As another example, interaction historymay indicate that usersA andB have never had an interaction together before. Interaction historymay include information about interactions among all usersin system.
At step, in some embodiments, interaction-based recommendation tooldetermines whether a choice, prompt, or question is transmitted to users. Interaction-based recommendation toolmay transmit a choice, prompt, or question to usersbased on the type of interaction. For example, in order to stimulate conversation among users once paired together, interaction-based recommendation toolmay transmit a choice, prompt, or question among two or more options to usersand share those selections or responses of users. In this example, interaction-based recommendation toolmay ask userswhether they prefer sleeping in on the weekends or getting up early, or ask the favorite pizza topping of users. This choice may be any information, request, or question to usersto provide more information about their preferences, likes, dislikes, interests or anything about user. If, at step, interaction-based recommendation tooldetermines that a choice, prompt, or question is transmitted, the method continues to stepas discussed below. If, at step, interaction-based recommendation tooltransmits a choice, prompt, or question to users, the method continues to step.
Unknown
March 31, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.