A matchmaking method and system for dating and making friends based on deep learning neural networks
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-13
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]本申请实施例通过提供基于深度学习神经网络的相亲交友匹配方法和系统,解决了现有技术中单向推荐造成的意愿错配以及持续轮询带来的算力浪费的问题,实现了用户偏好随时间的自适应演化与双向意愿的动态匹配,提升了匹配成功率,同时通过事件驱动的异步唤醒机制替代了传统轮询,降低了系统算力开销
本申请提供的基于深度学习神经网络的相亲交友匹配方法,首先获取用户历史交互数据与目标对象基础数据,通过双塔神经网络映射出用户偏好中心向量和目标对象特征向量;然后提取历史交互演化时间戳,结合时间衰减因子和用户活跃度生成动态接纳半径,使匹配阈值具备时空演变能力;接着计算向量空间距离并与动态接纳半径比对,若双方互相接纳则立即推荐,若仅单方接纳则将未满足方特征向量存入候补监控队列;最后监听拒绝方偏好中心向量的坐标更新事件,当中心点发生位移或半径扩张时,触发队列中向量的重计算,条件满足时唤醒双向推荐。
Smart Images

Figure CN122198955B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of matchmaking technology, and in particular to a matchmaking method and system based on deep learning neural networks. Background Technology
[0002] With the rapid development of internet social platforms, dating and matchmaking apps have become an important way for people to expand their social circles. Existing dating matching systems typically use collaborative filtering, matrix factorization, or content-based recommendation algorithms. By analyzing users' static attributes (such as age and occupation) and some historical behaviors, they calculate the similarity between users and then make one-way recommendations.
[0003] However, the modeling of user preferences in related technologies is often static, i.e., based on training a fixed user vector using historical data, and using a fixed threshold or similarity ranking during recommendation. This static modeling approach cannot capture the natural evolution of user preferences over time and with new interactions, causing recommendation results to gradually deviate from the user's actual needs. Meanwhile, existing two-way recommendation methods mostly employ matrix comparison or continuous polling strategies, requiring constant calculation of the latest matching degree between all candidate objects and the user. As the user base expands, computational power consumption increases exponentially, severely impacting system real-time performance. More importantly, one-way recommendation models ignore the bidirectional nature of the matching parties' intentions, frequently resulting in mismatches where "I like the other person, but they don't like me," causing users to be repeatedly rejected, experiencing a decline in experience, and ultimately leading to user churn. Therefore, how to achieve bidirectional adaptive matching with dynamically evolving preferences while reducing computational power consumption has become a pressing technical challenge in the field of dating recommendation. Summary of the Invention
[0004] This application provides a matchmaking method and system based on deep learning neural networks, which solves the problems of mismatched preferences caused by one-way recommendation and wasted computing power caused by continuous polling in the prior art. It realizes the adaptive evolution of user preferences over time and dynamic matching of two-way preferences, thereby improving the matching success rate. At the same time, it replaces traditional polling with an event-driven asynchronous wake-up mechanism, thereby reducing the system's computing power overhead.
[0005] This application provides a matchmaking method based on deep learning neural networks, which is applied to a matchmaking system based on deep learning neural networks, including: Obtain user historical interaction data and target object basic data; User historical interaction data and target object basic data are input into a dual-tower neural network for vector mapping, and the output is user preference center vector and target object feature vector; Evolution timestamps are extracted from historical user interaction data and combined with user preference center vectors to calculate and generate dynamic acceptance radius; Calculate the vector space distance between the feature vector of the target object and the center vector of user preferences; The vector space distance is numerically compared with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state. When both the one-way and reverse acceptance states meet the acceptance conditions, a bidirectional recommendation instruction is generated. When only one side meets the acceptance conditions, the feature vector of the target object of the non-met condition is written into the candidate monitoring queue. When the dynamic acceptance radius is updated according to the evolution timestamp, resulting in the vector space distance being less than the updated dynamic acceptance radius, the feature vector of the target object is extracted from the candidate monitoring queue and a bidirectional recommendation instruction is generated.
[0006] Furthermore, the step of inputting user historical interaction data and target object basic data into a dual-tower neural network for vector mapping, and outputting user preference center vector and target object feature vector, includes: Input the basic data of the target object into the object tower model of the dual-tower neural network, and output the feature vector of the target object; The user's historical interaction data is divided into positive interaction sequences and negative interaction sequences; The user tower model of the dual-tower neural network outputs a basic preference vector by inputting the positive interaction sequence into it. Deviation weights are generated based on the negative interaction sequence. The basic preference vector is then shifted and adjusted using these deviation weights to obtain the user preference center vector.
[0007] Furthermore, the step of generating deviation weights based on the negative interaction sequence, and using these deviation weights to adjust the basic preference vector to obtain the user preference center vector, includes: Extract the target object feature vector of the negative interaction object in the negative interaction sequence; Calculate the attention divergence value between the base preference vector and the target object feature vector of the negative interaction object; The attention divergence value is input into a normalization function to generate deviation weights; The user preference center vector is obtained by subtracting the product of the deviation weight and the target object feature vector of the negative interaction object from the basic preference vector. The formula for calculating the center vector is as follows: ; in, Represents the user preference center vector. Represents the basic preference vector. Let be the index of each interaction object in the negative interaction sequence, representing the nth negative interaction object. It is a collection of negative interaction objects, consisting of the target objects corresponding to all negative interactions. This represents the deviation weight corresponding to the nth negative interaction object. This represents the feature vector of the target object of the nth negative interaction object.
[0008] Furthermore, the step of extracting evolution timestamps based on user historical interaction data and calculating a dynamic acceptance radius by combining it with the user preference center vector includes: Extract the evolution timestamp of each interaction from the user's historical interaction data; Calculate the time difference between the current system time and the evolution timestamp; Calculate the time decay factor based on the time difference; The initial acceptance radius is generated by weighting the magnitude of the user preference center vector using a time decay factor. The initial acceptance radius is scaled based on the preset behavioral activity level to obtain a dynamic acceptance radius.
[0009] Furthermore, the step of using a time decay factor to weight the magnitude of the user preference center vector to generate the initial acceptance radius includes: The initial acceptance radius is calculated using the following formula: ; in, Indicates the initial acceptance radius. Let i represent the total number of positive interactions, and i represent the i-th positive interaction. Let be the magnitude of the user preference center vector during the i-th positive interaction. Indicates constant decay rate, Let e represent the time difference during the i-th positive interaction, where e is a natural constant.
[0010] Furthermore, the calculation of the vector space distance between the target object feature vector and the user preference center vector includes: The Euclidean distance algorithm is used to calculate the physical coordinate difference between the feature vector of the target object and the center vector of user preferences; The difference in physical coordinates is defined as the distance in vector space, and the calculation formula is: ; in, This represents the distance between vector spaces, where k is the index of the vector dimension. This represents the k-th dimension component of the feature vector of the target object in a positive interaction. This represents the component of the user preference center vector in the k-th dimension.
[0011] Furthermore, the step of numerically comparing the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state includes: Determine if the distance in the vector space is less than the dynamic acceptance radius; If so, a one-way acceptance state with a positive value is generated; If not, a one-way acceptance state with a negative value is generated; Obtain the target dynamic acceptance radius and target preference center vector of the target object; Calculate the inverse spatial distance between the user's feature vector and the target preference center vector; The reverse acceptance state is generated based on the comparison between the reverse spatial distance and the target dynamic acceptance radius.
[0012] Furthermore, the step of writing the target object feature vector of the non-satisfied party into the candidate monitoring queue when only one party meets the acceptance criteria includes: Identify Boolean value combinations of one-way acceptance and reverse acceptance states; When the Boolean value combination is one positive and one negative, the rejecting party and the rejected party that do not meet the acceptance criteria are identified. The target object feature vector and current timestamp of the rejected party are packaged into structured data; Structured data is stored as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party.
[0013] Furthermore, after storing the structured data as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party, the method further includes: Listen for the coordinate update event of the user preference center vector of the rejecting party; When a coordinate update event is captured, the feature vector of the target object corresponding to the monitoring node in the candidate monitoring queue is re-extracted; Recalculate the updated spatial distance between the target object's feature vector and the updated user preference center vector of the rejecting party; Determine if the updated spatial distance is less than the updated dynamic acceptance radius of the rejecting party; if so, output a two-way recommendation instruction.
[0014] This application provides a matchmaking system based on deep learning neural networks to implement a matchmaking method based on deep learning neural networks, including: a data acquisition module, a vector mapping module, a dynamic radius generation module, a distance calculation module, a state comparison module, and a recommendation and queue management module; The data acquisition module is used to acquire user historical interaction data and target object basic data. The vector mapping module is used to input user historical interaction data and target object basic data into the dual-tower neural network for vector mapping, and output user preference center vector and target object feature vector; The dynamic radius generation module is used to extract evolution timestamps based on user historical interaction data and calculate and generate a dynamic acceptance radius by combining it with the user preference center vector. The distance calculation module is used to calculate the vector space distance between the feature vector of the target object and the center vector of the user preference; The state comparison module is used to compare the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state. The recommendation and queue management module is used to generate bidirectional recommendation instructions when both the one-way acceptance state and the reverse acceptance state meet the acceptance conditions. When only one side meets the acceptance conditions, the feature vector of the target object of the non-satisfied side is written into the candidate monitoring queue. When the dynamic acceptance radius is updated according to the evolution timestamp, resulting in the vector space distance being less than the updated dynamic acceptance radius, the target object feature vector is extracted from the candidate monitoring queue and bidirectional recommendation instructions are generated.
[0015] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: The matchmaking method based on deep learning neural networks provided in this application first obtains users' historical interaction data and target object basic data, and maps the user preference center vector and target object feature vector through a dual-tower neural network. Then, it extracts the historical interaction evolution timestamps, and generates a dynamic acceptance radius by combining the time decay factor and user activity, so that the matching threshold has the ability to evolve in time and space. Next, it calculates the vector space distance and compares it with the dynamic acceptance radius. If both parties accept each other, it immediately recommends them. If only one party accepts, the feature vector of the unsatisfied party is stored in the candidate monitoring queue. Finally, it listens for the coordinate update event of the rejection party's preference center vector. When the center point shifts or the radius expands, it triggers the recalculation of the vectors in the queue. When the conditions are met, it wakes up the two-way recommendation.
[0016] In this process, by quantifying user preferences as points and radii in a vector space, the complex psychological game is transformed into rigorous geometric calculations, enabling the matching boundary to dynamically adjust according to user behavior. This effectively solves the problem that traditional static matching cannot adapt to the evolution of preferences. Furthermore, through an asymmetric queue listening architecture and an event-driven mechanism based on vector coordinate displacement, continuous polling comparisons are avoided, saving computational resources and improving system response efficiency. Finally, through asynchronous triggering of bidirectional dynamic acceptance, recommendations are ensured only when both parties' intentions truly match, improving the user's dating experience and increasing the matching success rate and platform activity. Attached Figure Description
[0017] Figure 1 Flowchart of a matchmaking method based on deep learning neural networks provided in this application embodiment; Figure 2 This is a schematic diagram of the structure of a matchmaking system based on a deep learning neural network provided in an embodiment of this application. Detailed Implementation
[0018] This application provides a matchmaking method and system based on deep learning neural networks, which solves the problems of mismatched preferences caused by one-way recommendations and wasted computing power due to continuous polling in the prior art. By extracting users' historical interaction data and fusing positive and negative interaction sequences to generate user preference center vectors, and using time decay factors and activity levels to calculate an acceptance radius with dynamic scaling characteristics, the spatial distance between the target object feature vector and the preference center vector is compared with the dynamic acceptance radius. If both parties accept each other, a recommendation is made immediately. If only one party accepts, the feature vector of the unsatisfied party is stored in a waiting monitoring queue, and the coordinate update event of the preference center vector of the rejecting party is listened for. When the center vector displacement triggers an update, the distance between the vector in the queue and the updated threshold is recalculated. When the condition is met, the recommendation is awakened. This realizes the adaptive evolution of user preferences over time and the dynamic matching of two-way preferences, improving the matching success rate. At the same time, the event-driven asynchronous wake-up mechanism replaces the traditional polling, reducing the system's computing power overhead.
[0019] To better understand the above technical solutions, the following will provide a detailed explanation of the technical solutions in conjunction with the accompanying drawings and specific implementation methods.
[0020] like Figure 1 As shown, this application provides a matchmaking method based on deep learning neural networks. This method is applied to a matchmaking system based on deep learning neural networks and includes: S1, obtain user historical interaction data and target object basic data.
[0021] It needs to be explained that the historical behavior records and basic information of all registered users are extracted from the social platform database.
[0022] User historical interaction data includes the user's unique identifier, the unique identifier of the interaction object, the interaction type, the interaction timestamp, the interaction duration, and the interaction content feature vector.
[0023] Interaction types include browsing, liking, commenting, sending messages, replying to messages, and in-depth chat. In-depth chat is defined as a conversation with more than 10 rounds, and the number of rounds threshold can be adjusted according to the platform's data distribution. The interaction content feature vector is generated by converting chat text into a 128-dimensional semantic vector through a pre-trained natural language processing model.
[0024] The target object's basic data includes static attribute data and behavioral statistics. Static attribute data includes age, gender, occupation, educational background, and geographic coordinates (longitude and latitude). Behavioral statistics include activity metrics over the past 30 days (number of login days), average response time (seconds), and historical number of likes. All data is stored in a structured format in a distributed file system.
[0025] S2 inputs the user's historical interaction data and the target object's basic data into the dual-tower neural network for vector mapping, and outputs the user preference center vector and the target object feature vector.
[0026] Furthermore, the step of inputting user historical interaction data and target object basic data into a dual-tower neural network for vector mapping, and outputting user preference center vector and target object feature vector, includes: Input the basic data of the target object into the object tower model of the dual-tower neural network, and output the feature vector of the target object; The user's historical interaction data is divided into positive interaction sequences and negative interaction sequences; The user tower model of the dual-tower neural network outputs a basic preference vector by inputting the positive interaction sequence into it. Deviation weights are generated based on the negative interaction sequence. The basic preference vector is then shifted and adjusted using these deviation weights to obtain the user preference center vector.
[0027] In this embodiment, the dual-tower neural network consists of a user tower model and an object tower model. Both are deep neural networks containing an embedding layer and three fully connected layers. The number of neurons in each layer is 256, 128, and 128, respectively. The activation function used is ReLU, and the output dimension of the last layer is 128.
[0028] The target object's basic data is input into the object pyramid model: First, discrete features (gender, occupation, educational background) are mapped to 32-dimensional dense embedding vectors through an embedding layer; continuous features (age, geographic coordinates, activity index, average response time, historical likes) are normalized using Z-score; then, all embedding vectors and the normalized continuous features are concatenated into a single feature vector, which is input into three fully connected layers, ultimately outputting a 128-dimensional target object feature vector, denoted as […]. .
[0029] User historical interaction data is divided into positive and negative interaction sequences. A positive interaction sequence is defined as the set of interaction objects where the user has engaged in in-depth conversations or at least two interactions at different times. A negative interaction sequence is defined as the set of interaction objects where the user browsed but did not engage further, or where the user explicitly clicked the "not interested" button. For each object in a positive interaction sequence, its corresponding target object feature vector is retrieved from the database (pre-calculated and stored by the object pyramid model). These positive object feature vectors are then input into the user pyramid model, which employs an attention mechanism: first, the similarity between each positive object feature vector and a learnable query vector is calculated, and attention weights are obtained through softmax normalization. Then, the positive object feature vectors are weighted and summed to obtain the basic preference vector, denoted as . ,Right now: ,in, Based on the basic preference vector, Let be the index of each interaction object in the positive interaction sequence, representing the i-th positive interaction object. It is a collection of positive interaction objects, consisting of the target objects corresponding to all positive interactions. Let be the feature vector of the target object of the i-th positive interaction object; The attention weight assigned to the i-th positive interaction object represents the importance of that positive interaction object to user preferences. It is calculated by the attention mechanism based on the learnable query vector and... The similarity was obtained by normalization.
[0030] Furthermore, the step of generating deviation weights based on the negative interaction sequence and using these deviation weights to offset and adjust the basic preference vector to obtain the user preference center vector includes: Extract the target object feature vector of the negative interaction object in the negative interaction sequence; Calculate the attention divergence value between the base preference vector and the target object feature vector of the negative interaction object; The attention divergence value is input into a normalization function to generate deviation weights; The user preference center vector is obtained by subtracting the product of the deviation weight and the target object feature vector of the negative interaction object from the basic preference vector. The formula for calculating the center vector is as follows: ; in, Represents the user preference center vector. Represents the basic preference vector. Let be the index of each interaction object in the negative interaction sequence, representing the nth negative interaction object. It is a collection of negative interaction objects, consisting of the target objects corresponding to all negative interactions. This represents the deviation weight corresponding to the nth negative interaction object. This represents the feature vector of the target object of the nth negative interaction object.
[0031] In this embodiment, deviation weights are generated based on the negative interaction sequence. For each negative object, the target object feature vector of the negative interaction object is extracted. Calculate the basic preference vector. The target object feature vector of each negative interaction object The attention divergence value between them, which is defined as: and The cosine similarity is calculated by dividing the dot product by the product of their respective moduli. The attention divergence values are then input into the sigmoid function to obtain the deviation weights, which are between 0 and 1. Then, subtract the weighted sum of all negative objects from the basic preference vector to obtain the user preference center vector. The calculation formula is as follows: ; in, Let be the index of each interaction object in the negative interaction sequence, representing the nth negative interaction object. It is a collection of negative interaction objects, consisting of the target objects corresponding to all negative interactions. This represents the deviation weight corresponding to the nth negative interaction object. This represents the feature vector of the target object for the nth negative interaction object. By obtaining the user preference center vector, the user preference center vector is moved away from objects that the user dislikes.
[0032] S3 extracts evolution timestamps based on users' historical interaction data and calculates and generates a dynamic acceptance radius by combining it with the user preference center vector.
[0033] Furthermore, the step of extracting evolution timestamps based on user historical interaction data and calculating a dynamic acceptance radius by combining it with the user preference center vector includes: Extract the evolution timestamp of each interaction from the user's historical interaction data; Calculate the time difference between the current system time and the evolution timestamp; Calculate the time decay factor based on the time difference; The initial acceptance radius is generated by weighting the magnitude of the user preference center vector using a time decay factor. The initial acceptance radius is scaled based on the preset behavioral activity level to obtain a dynamic acceptance radius.
[0034] In this embodiment, the evolution timestamps corresponding to all positive interactions are extracted from the user's historical interaction data. Where i represents the i-th positive interaction, This is a UNIX timestamp accurate to the second. Let the current system time be... Calculate each and Time difference The unit is seconds, but for ease of calculation, it is usually converted to days. 1 day = 86400 seconds. Seconds are calculated as 1 day.
[0035] Furthermore, the step of using a time decay factor to weight the magnitude of the user preference center vector to generate the initial acceptance radius includes: The initial acceptance radius is calculated using the following formula: ; in, Indicates the initial acceptance radius. Let i represent the total number of positive interactions, and i represent the i-th positive interaction. Let be the magnitude of the user preference center vector during the i-th positive interaction. Indicates constant decay rate, Let e represent the time difference during the i-th positive interaction, where e is a natural constant.
[0036] In this embodiment, a time decay factor is calculated for each positive interaction. ,in The decay rate is constant, empirically set to 0.01 / day, meaning that the impact of historical interactions decays by approximately 1% each day. It can also be obtained by fitting an exponential decay function to historical user behavior data. For example, after analyzing all user interactions, the probability distribution of subsequent interactions over time can be used to fit an exponential function using the least squares method. ,get Values can also be selected through cross-validation to optimize model prediction performance. The sum of the time decay factors of all positive interactions is used to calculate the magnitude of the user preference center vector, thus obtaining the initial acceptance radius. The calculation formula is: ; in This represents the total number of positive interactions. Let be the magnitude of the user preference center vector during the i-th positive interaction, i.e. k is the index of the vector dimension, ranging from 1 to 128. 128 is the total number of dimensions of the vector, set by the output layer of the neural network. By applying a time-decay-weighted average to the magnitude, interactions that are more recent in time contribute more to the radius.
[0037] Then, the initial acceptance radius is scaled based on the user's activity level to obtain the dynamic acceptance radius. Behavioral activity The dynamic acceptance radius is defined as the number of positive interactions a user has made in the past 30 days divided by the average number of positive interactions made by all users on the platform in the past 30 days. The scaling formula is:
[0038] The higher the activity level, the larger the radius, indicating that the user is more willing to accept new objects.
[0039] S4 calculates the vector space distance between the feature vector of the target object and the center vector of user preferences.
[0040] Furthermore, the calculation of the vector space distance between the target object feature vector and the user preference center vector includes: The Euclidean distance algorithm is used to calculate the physical coordinate difference between the feature vector of the target object and the center vector of user preferences; The difference in physical coordinates is defined as the distance in vector space, and the calculation formula is: ; in, This represents the distance between vector spaces, where k is the index of the vector dimension. This represents the k-th dimension component of the feature vector of the target object in a positive interaction. This represents the component of the user preference center vector in the k-th dimension.
[0041] In this embodiment, Euclidean distance is used to calculate the feature vector of the target object of the positive interaction object. With user preference center vector Vector space distance between The formula is:
[0042] in and These represent the k-th dimension components of the target object feature vector and the user preference center vector of the positive interaction object, respectively. The vector space distance is used to measure the proximity between the target object and the user preference center.
[0043] S5 compares the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state.
[0044] Furthermore, the step of numerically comparing the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state includes: Determine if the distance in the vector space is less than the dynamic acceptance radius; If so, a one-way acceptance state with a positive value is generated; If not, a one-way acceptance state with a negative value is generated; Obtain the target dynamic acceptance radius and target preference center vector of the target object; Calculate the inverse spatial distance between the user's feature vector and the target preference center vector; The reverse acceptance state is generated based on the comparison between the reverse spatial distance and the target dynamic acceptance radius.
[0045] In this embodiment, the distance in the vector space is first determined. Is it smaller than the dynamic acceptance radius? .like Then, the one-way acceptance state A value of 1 (positive) indicates that the user is willing to accept the target object; otherwise... The value is 0 (negative).
[0046] Then, obtain the target object's preference information. Treating the target object as a user, repeat steps S2 and S3 to obtain the target preference center vector. and target dynamic acceptance radius Simultaneously, the current user is input into the object pyramid model as the target object to obtain the user feature vector. (Same dimension as the target object's feature vector). Calculate the reverse spatial distance. : ; Determine the reverse space distance Is it smaller than the target dynamic acceptance radius? .like Then the reverse acceptance state The value is 1; otherwise, it is 0.
[0047] S6 immediately recommends during bidirectional acceptance, enters the candidate monitoring queue during unidirectional acceptance, and triggers recommendation when conditions are met: when both unidirectional and reverse acceptance states meet the acceptance conditions, a bidirectional recommendation instruction is generated; when only one side meets the acceptance conditions, the target object feature vector of the unmet side is written into the candidate monitoring queue; and when the dynamic acceptance radius is updated according to the evolution timestamp, causing the vector space distance to be less than the updated dynamic acceptance radius, the target object feature vector is extracted from the candidate monitoring queue and a bidirectional recommendation instruction is generated.
[0048] It needs to be explained that, if and If the two parties agree, it is considered a two-way acceptance, and the system immediately generates a two-way recommendation instruction, pushing the contact information of both parties to each other.
[0049] Furthermore, the step of writing the target object feature vector of the non-satisfied party into the candidate monitoring queue when only one party meets the acceptance criteria includes: Identify Boolean value combinations of one-way acceptance and reverse acceptance states; When the Boolean value combination is one positive and one negative, the rejecting party and the rejected party that do not meet the acceptance criteria are identified. The target object feature vector and current timestamp of the rejected party are packaged into structured data; Structured data is stored as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party.
[0050] In this embodiment, if and If one side is positive and the other negative, it is considered a one-way acceptance. The side that does not meet the acceptance criteria is denoted as the rejecting side, and the feature vector of the rejected side is denoted as the rejected vector. Record the current system timestamp. ,Will Each node is packaged into a monitoring node and stored in the candidate monitoring queue corresponding to the rejecting party. The candidate monitoring queue adopts a circular queue structure with a preset maximum length of 1000. When the queue is full, the earliest node enqueued is automatically removed.
[0051] Furthermore, after storing the structured data as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party, the method further includes: Listen for the coordinate update event of the user preference center vector of the rejecting party; When a coordinate update event is captured, the feature vector of the target object corresponding to the monitoring node in the candidate monitoring queue is re-extracted; Recalculate the updated spatial distance between the target object's feature vector and the updated user preference center vector of the rejecting party; Determine if the updated spatial distance is less than the updated dynamic acceptance radius of the rejecting party; if so, output a two-way recommendation instruction.
[0052] In this embodiment, the system continuously monitors the coordinate update events of the user preference center vector of the rejecting party. When the rejecting party generates a new positive or negative interaction, an update event is triggered, and its user preference center vector is recalculated. and dynamic acceptance radius After each update, iterate through all monitoring nodes in the candidate rejection monitoring queue, and extract the rejection vector from each node. Recalculate the updated spatial distance : ; in This is the updated user preference center vector. Compare the updated spatial distances. With the updated dynamic admission radius ,like If the condition is met, the node is removed from the queue, and a two-way recommendation instruction is output, pushing the contact information of the original users (i.e., the users who initially initiated the interaction) of the rejecting party and the rejected party to each other. If so, the node will be retained and await subsequent updates.
[0053] It should be noted that all the above neural network models were trained offline. Training data consisted of historical interaction logs from the platform, with positive user interactions (deep chat) and negative interactions (browsing without follow-up) as negative samples. The loss function used was Bayesian personalized ranking loss, ensuring that the distance between positive samples and the user preference center vector was smaller than that between negative samples. The model used the Adam optimizer with a learning rate of 0.001 and 10 training epochs. During online service, model parameters were updated periodically, and the user preference vector and dynamic acceptance radius were calculated in real time.
[0054] like Figure 2 As shown, this application provides a matchmaking system based on deep learning neural networks to implement the matchmaking method based on deep learning neural networks, including: a data acquisition module, a vector mapping module, a dynamic radius generation module, a distance calculation module, a state comparison module, and a recommendation and queue management module; The data acquisition module is used to acquire user historical interaction data and target object basic data. The vector mapping module is used to input user historical interaction data and target object basic data into the dual-tower neural network for vector mapping, and output user preference center vector and target object feature vector; The dynamic radius generation module is used to extract evolution timestamps based on user historical interaction data and calculate and generate a dynamic acceptance radius by combining it with the user preference center vector. The distance calculation module is used to calculate the vector space distance between the feature vector of the target object and the center vector of the user preference; The state comparison module is used to compare the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state. The recommendation and queue management module is used to generate bidirectional recommendation instructions when both the one-way acceptance state and the reverse acceptance state meet the acceptance conditions. When only one side meets the acceptance conditions, the feature vector of the target object of the non-satisfied side is written into the candidate monitoring queue. When the dynamic acceptance radius is updated according to the evolution timestamp, resulting in the vector space distance being less than the updated dynamic acceptance radius, the target object feature vector is extracted from the candidate monitoring queue and bidirectional recommendation instructions are generated.
[0055] The above formulas are all dimensionless calculations. The formulas are derived from software simulations based on a large amount of collected data to obtain the most recent real-world results. The preset parameters in the formulas are set by those skilled in the art according to the actual situation.
[0056] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, in the form of a computer program product.
[0057] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0058] In addition, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0059] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0060] In conclusion, the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A matchmaking method for dating and making friends based on deep learning neural networks, characterized in that, Includes the following steps: Obtain user historical interaction data and target object basic data; User historical interaction data and target object basic data are input into a dual-tower neural network for vector mapping, and the output is user preference center vector and target object feature vector; Evolution timestamps are extracted from historical user interaction data and combined with user preference center vectors to calculate and generate dynamic acceptance radius; The step of extracting evolution timestamps based on user historical interaction data and calculating dynamic acceptance radius by combining them with user preference center vectors includes: Extract the evolution timestamp of each interaction from the user's historical interaction data; Calculate the time difference between the current system time and the evolution timestamp; Calculate the time decay factor based on the time difference; The initial acceptance radius is generated by weighting the magnitude of the user preference center vector using a time decay factor. The initial acceptance radius is scaled based on a preset level of behavioral activity to obtain a dynamic acceptance radius; The step of using a time decay factor to weight the magnitude of the user preference center vector to generate the initial acceptance radius includes: The initial acceptance radius is calculated using the following formula: ; in, Indicates the initial acceptance radius. Let i represent the total number of positive interactions, and i represent the i-th positive interaction. Let be the magnitude of the user preference center vector during the i-th positive interaction. Indicates constant decay rate, Let e represent the time difference during the i-th positive interaction, where e is a natural constant. Calculate the vector space distance between the feature vector of the target object and the center vector of user preferences; The vector space distance is numerically compared with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state. When both the one-way and reverse acceptance states meet the acceptance conditions, a bidirectional recommendation instruction is generated. When only one side meets the acceptance conditions, the feature vector of the target object of the non-met condition is written into the candidate monitoring queue. When the dynamic acceptance radius is updated according to the evolution timestamp, resulting in the vector space distance being less than the updated dynamic acceptance radius, the feature vector of the target object is extracted from the candidate monitoring queue and a bidirectional recommendation instruction is generated.
2. The matchmaking method for dating and making friends based on deep learning neural networks as described in claim 1, characterized in that, The step of inputting user historical interaction data and target object basic data into a dual-tower neural network for vector mapping, and outputting user preference center vector and target object feature vector, includes: Input the basic data of the target object into the object tower model of the dual-tower neural network, and output the feature vector of the target object; The user's historical interaction data is divided into positive interaction sequences and negative interaction sequences; The user tower model of the dual-tower neural network outputs a basic preference vector by inputting the positive interaction sequence into it. Deviation weights are generated based on the negative interaction sequence. The basic preference vector is then shifted and adjusted using these deviation weights to obtain the user preference center vector.
3. The matchmaking method based on deep learning neural networks as described in claim 2, characterized in that, The step of generating deviation weights based on the negative interaction sequence, and using these deviation weights to adjust the basic preference vector to obtain the user preference center vector includes: Extract the target object feature vector of the negative interaction object in the negative interaction sequence; Calculate the attention divergence value between the base preference vector and the target object feature vector of the negative interaction object; The attention divergence value is input into a normalization function to generate deviation weights; The user preference center vector is obtained by subtracting the product of the deviation weight and the target object feature vector of the negative interaction object from the basic preference vector. The formula for calculating the center vector is as follows: ; in, Represents the user preference center vector. Represents the basic preference vector. Let be the index of each interaction object in the negative interaction sequence, representing the nth negative interaction object. It is a collection of negative interaction objects, consisting of the target objects corresponding to all negative interactions. This represents the deviation weight corresponding to the nth negative interaction object. This represents the feature vector of the target object of the nth negative interaction object.
4. The matchmaking method based on deep learning neural networks as described in claim 1, characterized in that, The calculation of the vector space distance between the feature vector of the target object and the center vector of user preferences includes: The Euclidean distance algorithm is used to calculate the physical coordinate difference between the feature vector of the target object and the center vector of user preferences; The difference in physical coordinates is defined as the distance in vector space, and the calculation formula is: ; in, This represents the distance between vector spaces, where k is the index of the vector dimension. This represents the k-th dimension component of the feature vector of the target object in a positive interaction. This represents the component of the user preference center vector in the k-th dimension.
5. The matchmaking method for dating and making friends based on deep learning neural networks as described in claim 1, characterized in that, The step of numerically comparing the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state includes: Determine if the distance in the vector space is less than the dynamic acceptance radius; If so, a one-way acceptance state with a positive value is generated; If not, a one-way acceptance state with a negative value is generated; Obtain the target dynamic acceptance radius and target preference center vector of the target object; Calculate the inverse spatial distance between the user's feature vector and the target preference center vector; The reverse acceptance state is generated based on the comparison between the reverse spatial distance and the target dynamic acceptance radius.
6. The matchmaking method based on deep learning neural networks as described in claim 1, characterized in that, The step of writing the feature vector of the target object of the non-satisfied party into the candidate monitoring queue when only one party meets the acceptance criteria includes: Identify Boolean value combinations of one-way acceptance and reverse acceptance states; When the Boolean value combination is one positive and one negative, the rejecting party and the rejected party that do not meet the acceptance criteria are identified. The target object feature vector and current timestamp of the rejected party are packaged into structured data; Structured data is stored as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party.
7. The matchmaking method for dating and making friends based on deep learning neural networks as described in claim 6, characterized in that, After storing the structured data as monitoring nodes in the candidate monitoring queue corresponding to the rejecting party, the process further includes: Listen for the coordinate update event of the user preference center vector of the rejecting party; When a coordinate update event is captured, the feature vector of the target object corresponding to the monitoring node in the candidate monitoring queue is re-extracted; Recalculate the updated spatial distance between the target object's feature vector and the updated user preference center vector of the rejecting party; Determine if the updated spatial distance is less than the updated dynamic acceptance radius of the rejecting party; if so, output a two-way recommendation instruction.
8. A matchmaking system based on deep learning neural networks, used to implement the matchmaking method based on deep learning neural networks as described in any one of claims 1-7, characterized in that, include: Data acquisition module, vector mapping module, dynamic radius generation module, distance calculation module, state comparison module, recommendation and queue management module; The data acquisition module is used to acquire user historical interaction data and target object basic data. The vector mapping module is used to input user historical interaction data and target object basic data into the dual-tower neural network for vector mapping, and output user preference center vector and target object feature vector; The dynamic radius generation module is used to extract evolution timestamps based on user historical interaction data and calculate and generate a dynamic acceptance radius by combining it with the user preference center vector. The distance calculation module is used to calculate the vector space distance between the feature vector of the target object and the center vector of the user preference; The state comparison module is used to compare the vector space distance with the dynamic acceptance radius to generate the user's one-way acceptance state and the target object's reverse acceptance state. The recommendation and queue management module is used to generate bidirectional recommendation instructions when both the one-way acceptance state and the reverse acceptance state meet the acceptance conditions. When only one side meets the acceptance conditions, the feature vector of the target object of the non-satisfied side is written into the candidate monitoring queue. When the dynamic acceptance radius is updated according to the evolution timestamp, resulting in the vector space distance being less than the updated dynamic acceptance radius, the target object feature vector is extracted from the candidate monitoring queue and bidirectional recommendation instructions are generated.
Citation Information
Patent Citations
A dynamic recommendation method based on user interest adaptive evolution
CN109933720A
Model training method and related equipment
CN118503693A