User portrait-based preferred commodity intelligent matching method and system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHONGQING ZONGDENG TECHNOLOGY CO LTD
- Filing Date
- 2026-05-20
- Publication Date
- 2026-06-23
Smart Images

Figure CN122264907A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of e-commerce data processing technology, and more specifically, to a method and system for intelligent matching of preferred products based on user profiles. Background Technology
[0002] In the matching and processing of online benefit products such as movie and TV memberships, supermarket coupons, car owner fuel, recharge cards, and vehicle maintenance, existing platforms mostly sort them around the conversion of redemption, payment, and repurchase. They write user browsing, purchase, redemption, redemption, recharge, and reservation records into user profiles and use successful transaction records as an important basis for matching similar benefit products in the future. In a comprehensive rights and interests trading platform, the same account may complete movie and TV membership renewal, mobile phone card recharge, gas coupon redemption, vehicle maintenance appointment and supermarket coupon purchase within a period of time. These rights and interests products all have a clear usage period or consumption interval. After a membership is activated, there is a remaining service period. After a mobile phone card recharge, there is a balance consumption period. After a vehicle maintenance, there is a project interval period. After the gas coupon and supermarket coupon are redeemed, there will also be an interval before the next use. Under these business conditions, the platform's backend can directly see that users are still being pushed the same platform membership after purchasing a movie annual card on the same platform, are still being pushed the same value card code after completing a large recharge of the same number, are still being pushed the same maintenance items after completing vehicle maintenance, and are still being pushed the same type of coupons in the same area after redeeming a supermarket coupon in a certain city. The reason for this is that the current profile update process simply records the successful transaction as preference enhancement, without separating the long-term preferences confirmed by the successful transaction from the current needs consumed by the successful transaction, so that the already satisfied needs continue to occupy the subsequent preferred matching position. The technical problem this application aims to solve is: how to separate the preference confirmation result and the demand consumption result after a successful online equity product transaction, so as to avoid repeatedly reinforcing the user profile after the demand has been met and causing subsequent mismatch of preferred products. Summary of the Invention
[0003] To overcome the aforementioned deficiencies in the prior art, embodiments of the present invention provide a method and system for intelligent matching of preferred products based on user profiles. By extracting the object primary key, occupancy range, purchase price, and redemption feedback from successful transaction records, a factor graph is constructed and a factor hidden Markov model algorithm is used to separate the preference retention state and the demand extinguishing state. Then, a purchase inhibition set and a purchase strategy sequence are generated by a particle learning algorithm and a strategy price determination process to solve the problems mentioned in the background art.
[0004] To achieve the above objectives, the present invention provides the following technical solution: a method for intelligent matching of preferred products based on user profiles, comprising: S1. Obtain the transaction history of user account rights, filter the transaction lines by payment completion mark, take the receiving field as the object primary key, form the occupied range by the start and end time of rights, and link the cancellation time and purchase price, and output the successful purchase table. S2. Merge the successful purchase tables by object primary key and form an observation sequence according to the transaction time. Form a preference continuation factor by the primary key, form a demand occupancy factor by the intersection of intervals, and form a price response factor by the price difference following the purchase result. Output the factor graph. S3. Process the factor graph using the factor hidden Markov model algorithm. The preference retention state is formed by the primary key factor transfer, the demand extinction state is rewritten by the coverage transfer, and the price response state is formed by the price transfer. Then, based on the forward recursion of the transaction position and the backtracking of the last position, the state path table is output. S4. Based on the state path table and the details of the products to be matched, a set of strategy particles is formed, so that each strategy particle takes on the object primary key and the candidate product. The occupied interval is encoded into the particle interval position through the particle learning algorithm, and the purchase price position is driven by the particle interval position. An extinction mark is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. S5. Determine the price using the particle posterior table. The starting grid is formed by the commodity price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel verification price. The first grid after adding the number of completed purchases and the number of completed verifications and then deducting the number of cancellations is the strategy price. Output the price table.
[0005] In a preferred embodiment, it further includes: S6. Based on the state path table, connect the particle posterior table and read the price table to perform purchase strategy optimization. Write the candidate products of the same object primary key and overlapping occupied intervals into the purchase suppression set, and form a purchase strategy sequence according to the feedback number and price succession relationship. Output the matching result with strategy price.
[0006] In a preferred embodiment, S1 includes: S11. Obtain the transaction history of user account rights, read the payment completion mark by transaction line and convert it into payment completion bit, convert the delivery completion mark in the same transaction line into delivery completion bit, perform bit multiplication on the payment completion bit and delivery completion bit to generate purchase completion bit, and write the transaction line number with the purchase completion bit value of one into the purchase completion index. S12. Based on the purchase completion index, read back the receiving field in the corresponding transaction row, perform standardized writing on the receiving field according to character position, do not write empty characters and delimiters into the receiving standard string, convert full-width characters to half-width characters and write them into the receiving standard string, write the remaining characters into the receiving standard string according to their original characters, perform hash encoding on the receiving standard string, and output the object primary key. S13. Read back the equity start time in the corresponding transaction row using the object primary key and write it to the first position of the interval. Then read back the equity end time in the same transaction row and write it to the last position of the interval to generate the occupied interval. Write the occupied interval, write the write-off time and purchase price to the same purchase receiving row according to the purchase completion index, and output the successful purchase table.
[0007] In a preferred embodiment, S2 includes: S21. Merge the purchase receiving rows in the successful purchase table by object primary key, generate transaction bits according to the transaction time corresponding to the purchase receiving row, and concatenate the transaction bits under the same object primary key in ascending order of transaction time, and output the observation sequence. S22. Based on the observation sequence, read the current transaction position and the next transaction position one by one. When the object primary key is the same and the next transaction position has a purchase completion mark, write the primary key inheritance value. When the current transaction position's occupied interval and the next transaction position's occupied interval intersect, write the interval coverage value. Take the absolute value of the purchase price of the next transaction position minus the purchase price of the current transaction position and attach the purchase completion mark of the next transaction position. Output the adjacent transaction volume table. S23. Generate a factor graph based on the adjacent transaction volume table, write the primary key carry-over value into the preference continuation factor, write the interval coverage value into the demand occupancy factor, write the product of the absolute value of the purchase price difference and the purchase completion mark of the next transaction position into the price response factor, and output the factor graph.
[0008] In a preferred embodiment, S3 includes: S31. Read the factor records arranged by transaction position in the factor graph, write the primary key factor transfer amount of the first transaction position into the preference retention state score, subtract the transfer amount covered by the same transaction position from the preference retention state score to obtain the demand extinguishing state score, and then add the product of the price transfer amount and the purchase result position to the demand extinguishing state score to obtain the price response state score, and output the transaction position status grid. S32. Perform forward recursion on the transaction position state grid using the factor hidden Markov model algorithm. Add the cumulative path value of the previous transaction position to the state score of the next transaction position to form a candidate acceptance value. When the preference retention state is accepted to the demand extinguishing state and the occupied intervals intersect, the candidate acceptance value is deducted by the coverage transfer amount, and the candidate acceptance table is output.
[0009] In a preferred embodiment, S3 further includes: S33. Sort the candidate acceptance table by the next transaction position and the next state, write the first candidate acceptance value of the same group into the forward cumulative value, write the source state corresponding to the first candidate acceptance value into the forward acceptance edge, and output the forward acceptance table after recursively pushing to the end of the observation sequence. S34. Select the state corresponding to the first-order cumulative value from the last transaction position of the forward continuation table as the backtracking starting point, read the source state bit by bit in reverse order of the forward continuation edge, and write the backtracked state into the state path table in the forward order of the transaction position.
[0010] In a preferred embodiment, S4 includes: S41. Read the object status row in the status path table, use the object primary key to match the product details to generate a product join row, concatenate the object primary key hash value, the candidate product number hash value and the transaction number and then hash them to generate a particle number, and write the particle number into the product join row, and output the initial particle table. S42. Process the initial particle table using the particle learning algorithm. Take the start time in the state path table as the first position of the particle interval and the end time as the last position of the particle interval. Write the absolute value of the candidate product price minus the purchase price of the last position of the primary key of the same object into the purchase price position. Write the comparison result of the state code and the demand extinguishing state code into the extinguishing flag and output the particle field table. S43. Perform occupancy conflict calculation on the particle field table. Arrange the four endpoints of the particle interval bits and the demand extinguishing state interval bits under the same object primary key in ascending order of time. If the endpoints are from different sources, generate occupancy conflict bits based on the time interval between the second and third endpoints. If the endpoints are from the same source, write the occupancy conflict bits to zero and rewrite the particle reserved bits with the occupancy conflict bits. Output the constraint particle table. S44. Recursively constrain the particle table according to the transaction feedback time. For particles with a purchase completion bit of 1 and a particle retention bit of 1, copy a row. For particles with a purchase cancellation bit of 1, delete a row. For particles with a verification completion bit of 1, increment the posterior count by one. At the end of each round, sort the particle numbers in descending order of the posterior count. Stop when the particle number sequence is consistent with the previous round bit by bit. Output the particle posterior table.
[0011] In a preferred embodiment, S5 includes: S51. Read the candidate product price using the particle number in the particle posterior table as the index, encode the candidate product price as the starting price key according to the percentile amount, read the first purchase price in reverse order along the transaction time of the same object primary key and encode it as the inherited price key, read the first verification price in reverse order along the verification completion time of the same delivery channel and encode it as the verification price key, and merge the same price keys into a price grid table. S52. Connect the particle posterior table point by point in the price grid table, write the particle rows with the same price key into the same grid row, perform a bit-by-bit summation on the purchase completion bit in the same grid row to get the purchase completion number, perform a bit-by-bit summation on the verification completion bit to get the verification completion number, perform a bit-by-bit summation on the purchase cancellation bit to get the cancellation number, and then add the purchase completion number to the verification completion number and subtract the cancellation number to get the grid review value. S53. Sort price grids in descending order of grid review value. Among price grids with the same grid review value, sort them in descending order of the number of redemptions completed. Then sort them in ascending order of the absolute value of the difference between the price key and the inherited price key. Restore the percentile amount corresponding to the first-order price grid to the strategy price, and generate a price table based on the object primary key and candidate products.
[0012] In a preferred embodiment, S6 includes: S61. Based on the state path table, read the object primary key and pull the particle posterior row corresponding to the same transaction number. Then, pull the strategy price in the price table from the candidate commodity number in the particle posterior row. Take the first position of the later interval in the two occupied intervals as the first position of the intersection and the last position of the earlier interval as the last position of the intersection. Generate the interval intersection position according to the comparison result that the intersection last position is later than the intersection first position. When the state code is equal to the demand extinguishing state code, write the interval intersection position to the extinguishing intersection position and output the strategy candidate table. S62. Read the extinction intersection bit row by row for the strategy candidate table. When the extinction intersection bit is one, write the strategy candidate row into the purchase suppression set. When the extinction intersection bit is zero, first generate the feedback base value with the purchase completion count, then accumulate the feedback base value with the cancellation completion count, and then deduct the accumulated result with the purchase cancellation count to obtain the feedback acceptance value. Output the purchase candidate table. S63. Optimize the purchase candidate table through strategy. Subtract the purchase price of the last item of the primary key of the same object from the strategy price and write it as the price continuation value. First, rearrange the candidate rows in descending order according to the feedback continuation value. Then, rearrange the candidate rows with the same feedback continuation value in ascending order according to the price continuation value. Finally, generate the purchase strategy sequence in ascending order according to the transaction number and output the matching result with strategy price.
[0013] A user-profile-based intelligent product matching system includes a purchase screening module, a factor construction module, a state decoding module, a particle learning module, a price determination module, and a strategy optimization module. The purchase filtering module is used to obtain the transaction history of user account rights and interests. It filters the transaction lines by marking the payment delivery completion, takes the receiving field as the primary key of the object, forms the occupied range by the start and end time of the rights and interests, and links the reimbursement time and purchase price, and outputs a successful purchase table. The factor construction module is used to merge the successful purchase table by object primary key and form an observation sequence according to the transaction time. The primary key is used to form the preference continuation factor, the interval intersection is used to form the demand occupancy factor, and the price difference is used to form the price response factor according to the purchase result. The output factor graph is then used. The state decoding module is used to process the factor graph through the factor hidden Markov model algorithm. It forms the preference retention state by the primary key factor transfer volume, rewrites the demand extinguishing state by the coverage transfer volume, and forms the price response state by the price transfer volume. It also outputs the state path table by forward recursion based on the transaction position and backtracking to the last position. The particle learning module forms a set of strategy particles based on the state path table and the details of the products to be matched. Each strategy particle takes on the object primary key and the candidate product. The particle learning algorithm encodes the occupied interval into a particle interval position, and the particle interval position guides the purchase price position. An extinction flag is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. The price determination module is used to determine the price using a particle posterior table. The starting grid is formed by the product price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel's redemption price. The first grid after adding the number of completed purchases and redemptions and then deducting the number of cancellations is the strategy price, and the price table is output. The strategy optimization module is used to connect the particle posterior table according to the state path table and read the price table to perform purchase strategy optimization. It writes the candidate products of the same object primary key and the occupied intervals into the purchase suppression set, and forms a purchase strategy sequence according to the feedback number and price succession relationship, and outputs the matching result with strategy price.
[0014] The technical effects and advantages of this invention are as follows: 1. This solution breaks down the preference retention state and demand extinguishing state by successfully completing a transaction, so that the already satisfied equity demand no longer unilaterally reinforces the profile, thereby relatively reducing the distortion of results caused by repeated matching; 2. Writing the object's primary key and occupied range into the observation sequence allows purchase records to be inherited according to the actual user, which can alleviate the profile offset caused by mixing multiple types of rights for the same account. 3. Construct factor graphs for primary key inheritance, interval intersection, and price response to give state decoding a field source, which helps improve the stability of purchase state recognition; 4. Write particle interval positions and extinction flags into the particle learning algorithm so that candidate products are first compared with occupied demand, thereby relatively suppressing products with occupied conflict from entering the purchase sequence; 5. The strategy price is determined by feedback on purchase completion, write-off completion, and purchase cancellation, so that the price result reflects the feedback of real transactions, which improves the matching bias of sorting only by the listed price. 6. Based on the purchase suppression set and purchase strategy sequence split output, the extinguished demand and candidate goods are processed separately, which helps to improve the transaction adaptability of online equity matching. Attached Figure Description
[0015] Figure 1 This is a flowchart outlining the method steps of the present invention; Figure 2 This is a schematic diagram of the system module structure of the present invention. Detailed Implementation
[0016] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0017] Refer to the instruction manual appendix Figure 1-2 The present invention provides a method for intelligent matching of preferred products based on user profiles, comprising: S1. Obtain the transaction history of user account rights, filter the transaction lines by payment completion mark, take the receiving field as the object primary key, form the occupied range by the start and end time of rights, and link the cancellation time and purchase price, and output the successful purchase table. In this implementation, the successful purchase table is used to receive purchase records in the user account equity transaction flow that have been paid for and delivered. It provides the object primary key, transaction time, occupied interval, cancellation time, and purchase price for subsequent observation sequences, factor graphs, state path tables, and particle posterior tables. During processing, a purchase completion index is first generated from the payment completion flag and delivery completion flag, then the object primary key is generated from the receiving field, and finally, the equity start and end times, cancellation time, and purchase price are written to the same purchase receiving row. Specifically, the processing includes the following: In S11, after obtaining the transaction history of user account rights, the payment completion marker is read by transaction line, and the value of the payment completion field is converted to payment completion bit 1, while the value of the payment incomplete or payment cancelled field is converted to payment completion bit 0. The delivery completion marker in the same transaction line is then read, and the value of the field indicating rights have been delivered to the receiving field is converted to delivery completion bit 1, while the value of the field indicating delivery failure, delivery in process, or delivery cancellation is converted to delivery completion bit 0. Subsequently, a bitwise multiplication is performed on the payment completion bit and delivery completion bit in the same transaction line. If the bitwise multiplication result is 1, it is written as purchase completion bit 1; if the result is zero, it is written as purchase completion bit 0. The transaction line number with a purchase completion bit of 1 is written to the purchase completion index, while the transaction line number with a purchase completion bit of 0 is not included in the purchase completion index. If a transaction line lacks a payment completion marker or a delivery completion marker, the completion bit corresponding to the missing marker is written as 0, and the transaction line number is written to the transaction status exception record. If multiple payment records exist in the same transaction line, the payment record corresponding to the payment completion time is used as the source of the payment completion marker, and the payment completion time is written to the transaction time for subsequent observation sequence formation based on transaction time. In S12, the receiving field in the corresponding transaction row is read back based on the purchase completion index. The receiving field represents the receiving end identifier field pointed to by the rights delivery, and the field name is not changed according to the rights category. The receiving field is read character by character. When the character is an empty character or a separator, it is not written into the receiving standard string. When the character is a full-width character, it is converted into a half-width character and then written into the receiving standard string. The remaining characters are written into the receiving standard string as they are. After all characters of the receiving field are processed, the receiving standard string is hashed to obtain the object primary key, and the object primary key is established to correspond to the transaction row number in the purchase completion index. If the receiving field is empty, the transaction row number is written into the record where the receiving field is missing, and no object primary key is generated. If the object primary key obtained by hashing already exists and the corresponding receiving standard string is different, the receiving standard string and the transaction row number are concatenated in a fixed order and hashed again until the obtained object primary key has no duplicate position in the successful purchase table. If the receiving standard string is the same and the object primary key is the same, the object primary key is used as the inheritor identifier of the same rights user object, for subsequent successful purchase tables to be merged according to the object primary key. In S13, the equity start time in the corresponding transaction row is read back using the object's primary key, and the equity start time is written to the first position of the interval; the equity end time in the same transaction row is read back, and the equity end time is written to the last position of the interval; if the last position of the interval is later than the first position of the interval, the occupied interval is generated from the first and last positions of the interval, and the object's primary key, transaction time, occupied interval, write-off time, and purchase price to the same purchase receiving row according to the purchase completion index, and output the successful purchase table; if the equity end time is not written to the transaction row, the valid duration field in the equity product details is read, and the valid duration is added to the equity start time. The last position of the interval is generated; if the last position of the interval is not later than the first position of the interval, the transaction bank number is written to the equity interval abnormal record and not written to the successful purchase table; if the reimbursement time is missing but the transaction bank has an opening completion time or a code issuance confirmation time, the opening completion time or code issuance confirmation time is written to the reimbursement time; if the reimbursement time, opening completion time, and code issuance confirmation time are all missing, the reimbursement time is written to the empty position marker and the subsequent reimbursement completion position is set to zero; the purchase price is read from the actual payment amount in the transaction bank. If the actual payment amount is missing, the transaction bank number is written to the price missing record and is not included in the subsequent price response factor calculation;
[0018] Through the above processing, the purchase receiving row in the successful purchase table can provide S2 with the object primary key, transaction time, occupied interval, write-off time and purchase price, so that subsequent object primary key merging, observation sequence generation, interval intersection calculation and price difference calculation can all have direct read positions; In practical applications, after a user account purchases online benefits, the platform first generates a purchase completion bit using payment completion and delivery completion markers. Only transactions with a purchase completion bit of one are entered into the purchase completion index. Subsequently, the platform processes the receiving field pointed to by the benefit delivery into a standard receiving string and generates an object primary key. Then, the benefit start time, benefit end time, redemption time, and purchase price are written into the same purchase receiving row to form a successful purchase table that can be read by the supply factor graph construction.
[0019] S2. Merge the successful purchase tables by object primary key and form an observation sequence according to the transaction time. Form a preference continuation factor by the primary key, form a demand occupancy factor by the intersection of intervals, and form a price response factor by the price difference following the purchase result. Output the factor graph. In this embodiment, the factor graph is used to convert the purchase continuation rows in the successful purchase table into transaction observation relationships organized by the object primary key, and to write the primary key continuation, equity occupation, and price changes between adjacent transaction positions into factor fields that can be read by the subsequent factor hidden Markov model algorithm; during processing, an observation sequence is first formed based on the object primary key and the transaction time, then primary key continuation, interval intersection, and price difference calculations are performed on adjacent transaction positions, and finally the calculation results are written into the factor graph for S3 to read the primary key factor transfer amount, coverage transfer amount, and price transfer amount; specifically, the following processing is included: In S21, the purchase acceptance line of the successful purchase table is read by the object primary key, and purchase acceptance lines with the same object primary key are grouped into the same object transaction group. Within each object transaction group, the transaction time is read, and transaction positions are generated in ascending order of transaction time. If multiple purchase acceptance lines have the same transaction time, transaction positions are generated in ascending order of the corresponding transaction line number of the purchase acceptance line. Then, the transaction positions under the same object primary key are concatenated by transaction position number to form an observation sequence, and the observation sequence is written into the observation sequence table corresponding to the object primary key. If the object primary key corresponds to only one purchase acceptance line, a single transaction position observation sequence is generated and written into the observation sequence table. The single transaction position observation sequence does not generate adjacent rows in the adjacent transaction volume table, but retains the transaction position number for S3 to read when processing the single transaction position status. In S22, based on the observation sequence, the current transaction position and the next transaction position are read bit by bit according to the transaction position number. The object primary key, occupied range, and purchase price of the current transaction position, as well as the object primary key, occupied range, purchase price, and purchase completion position of the next transaction position, are read. If the object primary key of the current transaction position is the same as the object primary key of the next transaction position and the purchase completion position of the next transaction position is one, the primary key carry-over value is written as one; otherwise, the primary key carry-over value is written as zero. An interval intersection calculation is performed on the occupied range of the current transaction position and the occupied range of the next transaction position. The first position of the second interval (the one with the later time) is taken as the intersection first position, and the first position of the last interval (the one with the earlier time) is taken as the intersection first position. The last position is used as the intersection last position. When the intersection last position is later than the intersection first position, the time interval obtained by subtracting the intersection first position from the intersection last position is written as the interval coverage value. When the intersection last position is not later than the intersection first position, the interval coverage value is written as zero. Then, the purchase price of the next transaction position is subtracted from the purchase price of the current transaction position and the absolute value is taken to obtain the purchase price difference. The purchase price difference is linked to the purchase completion position of the next transaction position to the same adjacent transaction volume row, and the adjacent transaction volume table is output. If the current transaction position or the next transaction position lacks a purchase price, the corresponding adjacent transaction volume row is written as a price missing record, and the purchase price difference is written as zero, so that the corresponding price response factor does not participate in the subsequent price transfer calculation. In S23, a factor graph is generated based on the adjacent transaction volume table. The transaction positions in the observation sequence are written as factor graph nodes, and the adjacent transaction volume rows in the adjacent transaction volume table are written as factor graph edges. For each factor graph edge, the primary key carry-over value is read and written into the preference continuation factor. Simultaneously, the numerical field of the preference continuation factor is recorded as the primary key factor transfer amount. The interval coverage value is read and written into the demand occupancy factor. Simultaneously, the numerical field of the demand occupancy factor is recorded as the coverage transfer amount. The purchase price difference and the purchase completion position of the next transaction position are read, and a product operation is performed on them. The product result is written into the price response factor, and the numerical field of the price response factor is recorded as the price transfer amount. The factor graph is then output. If the adjacent transaction volume row comes from a price missing record, the price response factor is written as zero. If the observation sequence is a single transaction position observation sequence, the factor graph only writes a single transaction position node, not a factor graph edge, and writes a single transaction position marker under the corresponding object's primary key, allowing S3 to skip multiple forward recursions and directly generate a single transaction position state. Through the above processing, the primary key of the object in the successfully purchased table, the transaction time, the occupied interval and the purchase price are converted into nodes, edges and three types of factors in the factor graph. S3 can directly read the primary key factor transfer volume, coverage transfer volume and price transfer volume to generate preference retention state, demand extinguishing state and price response state. In practical applications: When a user account makes multiple rights purchases under the same receiving field, the platform first merges the purchase receiving rows according to the object primary key, and then forms the transaction position according to the transaction time; when the next transaction position continues to receive the same object primary key, the primary key receiving value is written; when the two rights occupancy intervals overlap, the interval coverage value is written; when the price of the next transaction position changes relative to the current transaction position and the purchase completion position is one, the price response factor is written, thus forming a factor graph for the factor hidden Markov model algorithm to read.
[0020] S3. Process the factor graph using the factor hidden Markov model algorithm. The preference retention state is formed by the primary key factor transfer, the demand extinction state is rewritten by the coverage transfer, and the price response state is formed by the price transfer. Then, based on the forward recursion of the transaction position and the backtracking of the last position, the state path table is output. In this implementation, the state path table is used to convert adjacent purchase relationships in the factor graph into a state sequence under the object's primary key, ensuring that the preference continuation, demand occupancy, and price response resulting from a successful purchase are no longer written as the same type of purchase preference. The process involves first generating transaction position state cells according to the transaction position, then using a factor hidden Markov model algorithm to form candidate acceptance values position by position. Subsequently, the first-order source state is retained for each transaction position and each state. Finally, the forward acceptance edge is read back from the last transaction position to obtain the state path table for the S4 generation strategy particle set to read. Specifically, the processing includes the following: In S31, factor records arranged by object primary key and transaction position number in the factor graph are read, and three types of state scores are generated for each transaction position: preference retention state, demand extinguishing state, and price response state. For the first transaction position, if there is no source transaction position in the factor graph, the purchase completion position of the first transaction position is written to the primary key factor transfer amount, the coverage transfer amount and price transfer amount are written to zero, and then the primary key factor transfer amount is written to the preference retention state score. For the second to the last transaction positions, the primary key factor transfer amount and coverage transfer amount are read from the factor graph edge entering this transaction position. The transfer volume and price transfer volume are calculated, and the primary key factor transfer volume is written into the preference retention state score. Then, the coverage transfer volume of the same transaction position is subtracted from the preference retention state score to obtain the demand extinguishing state score. The demand extinguishing state score is then superimposed on the product of the price transfer volume and the purchase result position to obtain the price response state score. The transaction position number, status code, and status score are written into the transaction position status cell. If the object primary key corresponds to only one transaction position, the transaction position status cell is still generated according to the first transaction position rule and a single transaction position mark is written for S34 to directly generate the status path table. In S32, a forward recursion is performed on the state grid of the trading position using a factor hidden Markov model algorithm, ensuring that the state score of each subsequent trading position is inherited from the cumulative path value of the previous trading position. During processing, the cumulative path values corresponding to the preference retention state, demand extinguishing state, and price response state of the previous trading position are read first, and then the target state score of the subsequent trading position is read. Candidate inheriting values are generated by superimposing the cumulative path value of the source state on the target state score. When the source state is the preference retention state and the target state is the demand extinguishing state, the occupied intervals of the two trading positions are further read, and the middle value of the first and second positions of the two intervals is taken. The first position of the interval with the latest time is taken as the first position of intersection. The last position of the interval with the earlier time among the two last positions is taken as the last position of intersection. If the last position of intersection is later than the first position of intersection, the coverage transfer amount is deducted from the candidate acceptance value. If the last position of intersection is not later than the first position of intersection, no deduction is performed. After completing the candidate acceptance calculation from all source states to all target states, the source transaction number, source state code, next transaction number, next state code, and candidate acceptance value are written into the candidate acceptance table. If the previous transaction position lacks a path cumulative value, the state score corresponding to the previous transaction position is used as the path cumulative value to participate in this round of recursion. In S33, the candidate acceptance table is grouped for optimal selection, ensuring that each state at each transaction position retains only one source state, reducing subsequent backtracking forks. During processing, the candidate acceptance table is grouped according to the next transaction position number and the next state code. Within each group, candidates are first sorted in descending order of acceptance value. If the candidate acceptance values are the same, they are sorted in ascending order of source state code. If the source state codes are still the same, they are sorted in ascending order of source transaction position number. After sorting, the first-order candidate acceptance value of each group is written into the forward cumulative value of the corresponding state at the next transaction position, and the source state code corresponding to the first-order candidate acceptance value is written into the forward acceptance edge. At the same time, the source transaction position number is written into the source transaction position field of the forward acceptance edge. After recursively pushing from the second transaction position to the last position of the observation sequence according to the transaction position number, the forward acceptance table is output. If a group does not have a candidate acceptance value, the corresponding state is written into the no-source state record and does not participate in the selection of the last backtracking starting point. In S34, backtracking is performed based on the forward continuation table to form a state path table arranged by transaction position. During processing, the forward cumulative value corresponding to the last transaction position of the observation sequence is read first and sorted in descending order of forward cumulative value. If the forward cumulative values are the same, they are sorted in ascending order of state code. The state corresponding to the first forward cumulative value is taken as the backtracking starting point. Then, the source state code and source transaction position number are read according to the forward continuation edge corresponding to the backtracking starting point, and read forward position by position until the first transaction position. After the backtracking is completed, the state code obtained in reverse order is written into the state path table in ascending order of transaction position, and the object primary key, transaction position number, occupied interval, purchase price and transaction time are written simultaneously. If a single transaction position mark is written in S31, the forward continuation edge backreading is not performed, and the first state in the transaction position state cell after being sorted in descending order of state score is directly written into the state path table. If a state record without a source is encountered during the backtracking process, the source state is reselected in descending order of forward cumulative value from the transaction position where the state record without a source is located, and the backtracking correction mark is written into the state path table. Through this process, the primary key factor transfer volume, coverage transfer volume, and price transfer volume in the factor graph are transformed into preference retention state, demand extinguishing state, and price response state in the state path table. The preference continuation and demand consumption brought about by successful purchase can be separately received in the transaction position state path. When S4 reads the state path table, it can directly obtain the object primary key, transaction position number, state code, occupied range, purchase price, and transaction time, and generate a strategy particle set accordingly. In practical applications, after a user account makes multiple purchases of rights for the same receiving field, the first purchase enters the preference retention state. If the second purchase overlaps with the first rights occupancy range, the overwrite transfer amount is reduced by the candidate acceptance value from the preference retention state to the demand extinguishing state, so that the duplicate demand is written into the demand extinguishing state. If the purchase price of the subsequent transaction changes and the purchase result bit is one, the price transfer amount enters the price response state. The final state path table records the three transaction meanings of preference retention, demand extinguishing, and price response.
[0021] S4. Based on the state path table and the details of the products to be matched, a set of strategy particles is formed, so that each strategy particle takes on the object primary key and the candidate product. The occupied interval is encoded into the particle interval position through the particle learning algorithm, and the purchase price position is driven by the particle interval position. An extinction mark is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. In this embodiment, the particle posterior table is used to convert the object state rows in the state path table into purchase strategy particles at the candidate product level, so that demand extinguishing state, occupancy interval, candidate product price, and transaction feedback can be handled under the same particle number. During processing, the object primary key is first used to match the product details to generate an initial particle table. Then, the particle interval bit, purchase price bit, and extinguishing flag are written using a particle learning algorithm. Subsequently, the occupancy conflict bit is calculated and the particle reserved bit is rewritten. Finally, the particle rows are recursively calculated according to the transaction feedback time to form the particle posterior table. Specifically, the following processing is included: In S41, the initial particle table is used to establish the particle connection relationship between the state path table and the details of the products to be matched; the object state row in the state path table is read, which includes the object primary key, transaction number, state code, occupied range, purchase price, and transaction time; candidate products with transaction connection relationships in the details of the products to be matched are retrieved by the object primary key, and the candidate product number, candidate product price, delivery channel, candidate benefit start time, and candidate benefit end time are read from the details of the products to be matched; the object state row and candidate products are written into the same product join row; then the hash value of the object primary key and the hash value of the candidate product number are hashed. The value and transaction number are concatenated in a fixed order and hashed again to generate a particle number. The particle number is written into the product join line, and the initial particle table is output. If the newly generated particle number already exists in the initial particle table, the product join line number is appended to the end of the concatenation string and hashed again until the particle number has no duplicate position in the initial particle table. If the candidate benefit start time or candidate benefit end time is missing, the candidate benefit start time and candidate benefit end time are generated according to the product effective rules in the product details to be matched and the current matching time. If they still cannot be generated, the product join line is written into the candidate interval missing record and is not included in the initial particle table. In S42, the particle field table is used to write the occupancy range, price succession relationship, and demand extinction status of candidate products into the same particle number. When processing the initial particle table through the particle learning algorithm, the start time of the candidate interest is first read and written to the first position of the particle interval, and the end time of the candidate interest is read and written to the last position of the particle interval. The first and last positions of the particle interval form the particle interval position. Then, the price of the candidate product is read, and the last purchase price of the same object primary key in the state path table is read. The absolute value of the candidate product price minus the last purchase price is written to the purchase price position. Then, the state code and the demand extinction status code are read, and an equality comparison is performed between the two. If the comparison result is true, the extinction flag is written as one, and if the comparison result is false, the extinction flag is written as zero, and the particle field table is output. If the last purchase price of the same object primary key does not exist, the price of the candidate product is written to the purchase price position. If the price of the candidate product is missing, the particle number is written to the missing price field record, and the particle number is not included in the subsequent price determination. In S43, the constraint particle table is used to distinguish the conflict relationship between the candidate commodity occupancy interval and the historical demand expiration interval, and writes it into the particle reserved bit accordingly. When performing occupancy conflict calculation on the particle field table, first, the object status row in the status path table with the status code of demand expiration state is read by the object primary key, and the corresponding occupancy interval is written as the demand expiration state interval bit. Then, the first position of the interval with the later time between the particle interval bit and the demand expiration state interval bit is taken as the first intersection bit, and the last position of the interval with the earlier time between the two is taken as the last intersection bit. When the last intersection bit is later than the first intersection bit, the last intersection bit is subtracted from the first intersection bit. The first bit of the intersection is used to obtain the occupied conflict bit, and the particle reserve bit is written to zero. If the last bit of the intersection is not later than the first bit of the intersection, the occupied conflict bit is written to zero, and the particle reserve bit is written to one. After the calculation is completed, the particle number, particle interval bit, demand extinguishing state interval bit, occupied conflict bit, and particle reserve bit are written to the same constrained particle row, and the constrained particle table is output. If there is no demand extinguishing state interval bit under the same object primary key, the occupied conflict bit is written to zero, and the particle reserve bit is written to one. Particles with a particle reserve bit of zero do not participate in the purchase completion copy, but are retained in the constrained particle table for subsequent purchase suppression set reading. In S44, the particle posterior table is used to update the posterior count of particle numbers based on transaction feedback, and the particle learning algorithm ends when the particle number arrangement no longer changes. The transaction feedback table is read at each transaction feedback time, and the purchase completion, purchase cancellation, and verification completion bits in the transaction feedback table are added to the constraint particle table. When the same particle number has multiple feedback bits at the same transaction feedback time, the purchase cancellation bit is processed first; if the purchase cancellation bit is selected, the corresponding particle row is deleted. Then, the purchase completion bit is processed; if the purchase completion bit is selected and the particle retention bit is one, the corresponding particle row is copied, and the copied particle row is processed. Generate new particle numbers; finally, process the verification completion bit, incrementing the posterior count of the corresponding particle number when the verification completion bit is one; after each round of processing, sort the particle numbers in descending order of posterior count, and sort them in ascending order when the posterior counts are the same; stop the particle learning algorithm when the current round particle number sequence is identical to the previous round particle number sequence bit by bit, and output the particle posterior table; if the constraint particle table is empty, output an empty particle posterior table and write a no-candidate flag; if the transaction feedback table is empty, use the constraint particle table to generate a particle posterior table with an initial posterior count of zero, for S5 to read when determining the execution price; Through the above processing, the object primary key, transaction number, state code, occupied range and purchase price in the state path table are transformed into particle number, particle range position, purchase price position, extinguishing flag, particle retention position and posterior count in the particle posterior table. S5 can determine the strategy price based on this, and S6 can generate the purchase suppression set and purchase strategy sequence based on this. In practical applications, when a user account has a rights-occupied interval that has been written into the demand-extinguished state, the particle interval position corresponding to the candidate product will be generated first after the product to be matched enters the particle learning algorithm. If the particle interval position intersects with the demand-extinguished state interval position in time, the particle reserved bit is written to zero, so that the candidate product will no longer be copied by the purchase completion feedback. If the particle interval position does not intersect with the demand-extinguished state interval position, the particle reserved bit is written to one, and the posterior count is updated with the purchase completion feedback, purchase cancellation feedback, and redemption completion feedback, thereby forming a particle posterior table for price determination and strategy optimization.
[0022] S5. Determine the price using the particle posterior table. The starting grid is formed by the commodity price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel redemption price. The first grid after adding the number of completed purchases and redemptions and then subtracting the number of cancellations is the strategy price. Output the price table. In this implementation, the price table is used to convert the candidate product prices in the particle posterior table, the prior purchase prices of the same object primary key, and the prior redemption prices of the same delivery channel into strategy prices. This ensures that subsequent purchase strategy optimization is not directly sorted by fixed prices, but rather the price determination result is formed by combining purchase completion, redemption completion, and purchase cancellation. During processing, amounts from different sources are first converted into percentile amounts and price keys are generated. Then, particle feedback is aggregated according to the price keys. Finally, the strategy price is selected based on the grid evaluation value and transaction continuity relationship. Specifically, the following processing is included: In S51, the price grid table is used to write the candidate product price, the prior purchase price, and the prior redemption price into the same price candidate space. During processing, the particle number in the particle posterior table is used as an index to read back the object primary key, candidate product, candidate product price, and delivery channel corresponding to the particle number. The candidate product price uses the integer amount stored in the transaction system as the quantile amount. If the transaction system stores the price in yuan, the candidate product price is first multiplied by one hundred and the decimal places are removed to generate the starting price key. The first purchase price is read in reverse order along the transaction times of the same object primary key and encoded as the inherited price key according to the same quantile amount rule. If the prior purchase price is not read, the starting price key is written into the inherited price key. The first verification price is read in reverse order of the verification completion time along the same delivery channel, and encoded as a verification price key according to the same percentile amount rule. If no previous verification price is read, the inherited price key is written into the verification price key. Then, the price keys with the same value among the starting price key, inherited price key, and verification price key are merged into a price grid point. The object primary key, candidate product, price key, and price source are written into the price grid point table. If the price of a candidate product is missing, the particle number is written into the missing price field record, and the particle number is not entered into the price grid point table. The delivery channel writes the details of the products to be matched into the initial particle table, and then passes them to this step through the particle field table and the particle post-test table. In S52, the price evaluation table is used to write transaction feedback from the particle posterior table into price grids and form grid evaluation values. During processing, price keys are read one by one from the price grid table, and the particle posterior table is linked with the price keys. Particle rows with the same price key are written to the same grid row. When a particle row has a duplicate particle number, the duplicate particle number participates in this count as an independent particle row. The purchase completion bits in the same grid row are summed bit by bit to obtain the purchase completion number. The write-off completion bits in the same grid row are summed bit by bit to obtain the write-off completion number. The purchase completion bits in the same grid row are summed bit by bit to obtain the write-off completion number. The cancellation count is calculated bit by bit. Then, the cancellation count is subtracted from the purchase completion count to obtain the price evaluation value. The price key, purchase completion count, completion count, cancellation count, and price evaluation value are written into the price evaluation table. If a price grid is not connected to a particle row, the purchase completion count, completion count, and cancellation count are all written as zero, and the price evaluation value is also written as zero. If a copied particle does not generate an independent particle number, no new particle row is added. Instead, the posterior count corresponding to the original particle number is merged into the corresponding grid row to avoid the same transaction feedback being repeatedly entered into the price evaluation value. In S53, the price table is used to determine the strategy price from the price evaluation table and to carry over to subsequent purchase strategy optimization. During processing, price grid points are first sorted in descending order of grid evaluation value. If the grid evaluation values are the same, they are then sorted in descending order of the number of completed redemptions. If the number of completed redemptions is still the same, the price key and the inherited price key are read and the absolute value of their difference is calculated. Then, they are sorted in ascending order of the absolute value of the difference. After sorting, the price key of the first-order price grid point is read, and the quantile amount corresponding to the price key is restored to the amount displayed in the transaction system, written as the strategy price, and a price table is generated according to the object primary key and candidate products. If there is only one price grid point in the price evaluation table, the quantile amount corresponding to that price grid point is directly restored to the strategy price. If the price evaluation table is empty, the starting price key corresponding to the candidate product price is read and restored to the strategy price. At the same time, the price source field in the price table is written as the price source, so that S6 can identify that the price comes from the candidate product price when reading. Through the above processing, the candidate product price, the prior purchase price of the same object primary key, and the prior cancellation price of the same delivery channel in the particle posterior table are converted into price grid points, and the grid review value is calculated from the number of completed purchases, the number of completed cancellations, and the number of cancellations, forming a strategy price that can be read by S6. In practical applications: When a user account has previously purchased rights with the same receiver identifier at a certain price, and there is a redemption completion price in the same delivery channel, the platform first generates the starting price key, the inherited price key, and the verification price key. Then, it calculates the grid review value based on the purchase completion position, redemption completion position, and purchase cancellation position in the particle post-retrospective table. Finally, it restores the price grid point that is ranked first to the strategy price and writes it into the price table along with the object primary key and candidate products.
[0023] S6. Connect the particle posterior table according to the state path table and read the price table to perform purchase strategy optimization. Write the candidate products of the same object primary key and the occupied intervals into the purchase suppression set, and form a purchase strategy sequence according to the feedback number and price succession relationship. Output the matching result with strategy price. In this implementation, the matching result with the strategy price is used to receive the processing results of the state path table, particle posterior table, and price table, and to separate candidate products that have been covered by the demand extinguishing state from the purchase output. During processing, the correspondence between the state path table and the particle posterior table is first established using the object primary key and transaction number. Then, the strategy price is read using the candidate product number. Subsequently, extinguishing intersection bits are generated based on the interval intersection bits and the demand extinguishing state encoding. Finally, candidate products that have not entered the purchase suppression set are sorted to form a purchase strategy sequence. Specifically, the following processing is included: In S61, the strategy candidate table is used to write object state, candidate product, particle feedback, and strategy price into the same candidate row. During processing, the object primary key, transaction number, state code, and occupied interval are read based on the state path table, and the particle posterior row in the particle posterior table is driven according to the object primary key and transaction number. The particle posterior row includes particle number, candidate product number, particle interval position, purchase completion count, redemption completion count, and purchase cancellation count. Then, the strategy price in the price table is driven by the candidate product number, and strategy candidate rows are generated row by row according to the particle number, without merging different candidate product numbers. Finally, the position of the occupied interval in the state path table and the particle interval position are taken. The first position of the interval with the latest time is taken as the first position of the intersection, and the last position of the interval with the earliest time is taken as the last position of the intersection. If the last position of the intersection is later than the first position of the intersection, the intersection position of the interval is written as 1; if the last position of the intersection is not later than the first position of the intersection, the intersection position of the interval is written as 0. When the state code is equal to the demand extinguishing state code, the intersection position of the interval is written to the extinguishing intersection position; when the state code is not equal to the demand extinguishing state code, the extinguishing intersection position is written as 0. Output the strategy candidate table. If the particle posterior table does not pull the corresponding particle posterior row, the object primary key and transaction number are written to the particle missing record. If the price table does not pull the strategy price, the candidate commodity price is read as the strategy price, and the price source is written as the price source. In S62, the purchasable candidate table is used to separate candidate products whose demand has been covered by occupied intervals from subsequent purchase sorting, and to calculate feedback acceptance values for the remaining candidate products. During processing, the extinction intersection bit in the strategy candidate table is read row by row. When the extinction intersection bit is one, the strategy candidate row is written into the purchase suppression set, and the object primary key, candidate product number, particle number, occupied interval, and strategy price are retained for subsequent querying of the purchase suppression reason. When the extinction intersection bit is zero, the purchase completion count is read and written as the feedback base value, then the cancellation completion count is read and the feedback base value is accumulated, and then the purchase cancellation count is read and deducted from the accumulated result to obtain the feedback acceptance value. After the calculation is completed, the object primary key, candidate product number, particle number, strategy price, feedback acceptance value, and transaction number are written into the purchasable candidate table. If the purchase completion count, cancellation completion count, or purchase cancellation count is missing, the missing count is written as zero. If there are multiple transaction feedback records for the same particle number, the count field that has been recursively completed in the particle posterior table is read, and the transaction feedback table is not read again in this step. In S63, the purchase strategy sequence is used to determine the output order of candidate goods according to transaction feedback and price continuity. During processing, the strategy price in the purchasable candidate table is read, and the last purchase price of the same object primary key in the state path table is also read. The absolute value of the strategy price minus the last purchase price is taken to obtain the price continuity value. Then, the candidate rows are first rearranged in descending order of feedback continuity value, so that candidate goods with stronger purchase completion and redemption completion feedback are ranked first. When the feedback continuity values are the same, the candidate rows are rearranged in ascending order of price continuity value, so that the strategy price and the last purchase price of the same object primary key are ranked first. Candidate products with closer prices are ranked first; when the feedback acceptance value and price continuation value are the same, the candidate rows are arranged in ascending order of transaction position number, a purchase strategy sequence is generated, and the candidate product number, strategy price, object primary key, and particle number in the purchase strategy sequence are written into the matching result with strategy price; if there is no last purchase price for the same object primary key, the price continuation value is written to zero, and a purchase strategy sequence is generated according to the feedback acceptance value and transaction position number; if the purchasable candidate table is empty, an empty matching result is output, and the purchase suppression set is retained as the source of records for candidate products not output in this round; Through the above processing, the demand extinguishing state in the state path table will not directly delete the candidate product. Instead, it will first generate an extinguishing intersection bit through the interval intersection bit, and then write the corresponding candidate product into the purchase suppression set. The candidate products that are not hit by the extinguishing intersection bit will continue to generate a purchase strategy sequence based on the feedback acceptance value and the price continuation value, so that the matching result simultaneously accepts the purchase feedback, the redemption feedback, the cancellation feedback and the strategy price. In practical applications, when a user account has already purchased and occupied a certain right under the same object primary key, if the subsequent candidate product intersects with the occupied interval corresponding to the demand extinguishing state, the platform writes it into the purchase suppression set; if the candidate product does not intersect with the occupied interval corresponding to the demand extinguishing state, the platform generates a purchase strategy sequence based on the purchase completion count, redemption completion count, purchase cancellation count, and the difference between the strategy price and the last purchase price, and outputs the matching result with the strategy price to the user account.
[0024] Furthermore, the present invention also includes a smart matching system for preferred products based on user profiles, the system comprising a purchase screening module, a factor construction module, a state decoding module, a particle learning module, a price determination module, and a strategy optimization module: The purchase filtering module is used to obtain the transaction history of user account rights and interests. It filters the transaction lines by marking the payment delivery completion, takes the receiving field as the primary key of the object, forms the occupied range by the start and end time of the rights and interests, and links the reimbursement time and purchase price, and outputs a successful purchase table. The factor construction module is used to merge the successful purchase table by object primary key and form an observation sequence according to the transaction time. The primary key is used to form the preference continuation factor, the interval intersection is used to form the demand occupancy factor, and the price difference is used to form the price response factor according to the purchase result. The output factor graph is then used. The state decoding module is used to process the factor graph through the factor hidden Markov model algorithm. It forms the preference retention state by the primary key factor transfer volume, rewrites the demand extinguishing state by the coverage transfer volume, and forms the price response state by the price transfer volume. It also outputs the state path table by forward recursion based on the transaction position and backtracking to the last position. The particle learning module forms a set of strategy particles based on the state path table and the details of the products to be matched. Each strategy particle takes on the object primary key and the candidate product. The particle learning algorithm encodes the occupied interval into a particle interval position, and the particle interval position guides the purchase price position. An extinction flag is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. The price determination module is used to determine the price using a particle posterior table. The starting grid is formed by the product price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel's redemption price. The first grid after adding the number of completed purchases and redemptions and then deducting the number of cancellations is the strategy price, and the price table is output. The strategy optimization module is used to connect the particle posterior table according to the state path table and read the price table to perform purchase strategy optimization. It writes the candidate products of the same object primary key and the occupied intervals into the purchase suppression set, and forms a purchase strategy sequence according to the feedback number and price succession relationship, and outputs the matching result with strategy price.
[0025] Working Principle: This solution first filters out purchase records that have been paid and delivered from the user account rights transaction flow, processes the receiving field into an object primary key, and writes the rights start and end time, redemption time, and purchase price into a successful purchase table; then, it forms an observation sequence based on the object primary key and transaction time, calculates the primary key continuation, occupancy interval intersection, and price change between adjacent purchases, and generates a factor graph; subsequently, it uses a factor hidden Markov model algorithm to decompose the purchase results into preference retention state, demand extinguishing state, and price response state, identifying which purchases represent long-term preferences and which purchases have satisfied current needs; then, it uses a particle learning algorithm to connect the state path with the products to be matched, determines whether the candidate products conflict with the already satisfied needs, and combines the purchase completion, redemption completion, and purchase cancellation feedback to form a particle posterior table; finally, it determines the strategy price based on the particle posterior table, generates a purchase strategy sequence for candidate products not suppressed by the demand extinguishing state, and outputs the optimal product matching result with the strategy price; In practical applications, if a user has just purchased a one-year movie membership for the same account or just completed maintenance services for the same vehicle, the platform will not simply use this purchase as a reason to continue recommending similar products. Instead, it will first identify that the purchase has formed a rights-occupied range and write the corresponding demand into the demand extinguishing state. When other memberships or maintenance projects from the same platform enter the list of products to be matched, the solution will determine whether the occupied range of the candidate products intersects with the already satisfied demand. If they intersect, they will be written into the purchase suppression set and will no longer be prioritized for promotion. If it is another right related to the primary key of the object but not occupied, the strategy price will be determined by combining historical purchase prices, redemption feedback, and cancellation feedback, and products more suitable for the current stage will be output according to the purchase strategy sequence.
[0026] The above description is merely 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 method for intelligent matching of preferred products based on user profiles, characterized in that, include: S1. Obtain the transaction history of user account rights, filter the transaction lines by payment completion mark, take the receiving field as the object primary key, form the occupied range by the start and end time of rights, and link the cancellation time and purchase price, and output the successful purchase table. S2. Merge the successful purchase tables by object primary key and form an observation sequence according to the transaction time. Form a preference continuation factor by the primary key, form a demand occupancy factor by the intersection of intervals, and form a price response factor by the price difference following the purchase result. Output the factor graph. S3. Process the factor graph using the factor hidden Markov model algorithm. The preference retention state is formed by the primary key factor transfer, the demand extinction state is rewritten by the coverage transfer, and the price response state is formed by the price transfer. Then, based on the forward recursion of the transaction position and the backtracking of the last position, the state path table is output. S4. Based on the state path table and the details of the products to be matched, a set of strategy particles is formed, so that each strategy particle takes on the object primary key and the candidate product. The occupied interval is encoded into the particle interval position through the particle learning algorithm, and the purchase price position is driven by the particle interval position. An extinction mark is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. S5. Determine the price using the particle posterior table. The starting grid is formed by the commodity price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel verification price. The first grid after adding the number of completed purchases and the number of completed verifications and then deducting the number of cancellations is the strategy price. Output the price table.
2. The intelligent matching method for optimal products based on user profiles according to claim 1, characterized in that: Also includes: S6. Based on the state path table, connect the particle posterior table and read the price table to perform purchase strategy optimization. Write the candidate products of the same object primary key and overlapping occupied intervals into the purchase suppression set, and form a purchase strategy sequence according to the feedback number and price succession relationship. Output the matching result with strategy price.
3. The intelligent matching method for optimal product selection based on user profiles according to claim 2, characterized in that: S1 includes: S11. Obtain the transaction history of user account rights, read the payment completion mark by transaction line and convert it into payment completion bit, convert the delivery completion mark in the same transaction line into delivery completion bit, perform bit multiplication on the payment completion bit and delivery completion bit to generate purchase completion bit, and write the transaction line number with the purchase completion bit value of one into the purchase completion index. S12. Based on the purchase completion index, read back the receiving field in the corresponding transaction row, perform standardized writing on the receiving field according to character position, do not write empty characters and delimiters into the receiving standard string, convert full-width characters to half-width characters and write them into the receiving standard string, write the remaining characters into the receiving standard string according to their original characters, perform hash encoding on the receiving standard string, and output the object primary key. S13. Read back the equity start time in the corresponding transaction row using the object primary key and write it to the first position of the interval. Then read back the equity end time in the same transaction row and write it to the last position of the interval to generate the occupied interval. Write the occupied interval, write the write-off time and purchase price to the same purchase receiving row according to the purchase completion index, and output the successful purchase table.
4. The intelligent matching method for optimal product selection based on user profiles according to claim 3, characterized in that: S2 includes: S21. Merge the purchase receiving rows in the successful purchase table by object primary key, generate transaction bits according to the transaction time corresponding to the purchase receiving row, and concatenate the transaction bits under the same object primary key in ascending order of transaction time, and output the observation sequence. S22. Based on the observation sequence, read the current transaction position and the next transaction position one by one. When the object primary key is the same and the next transaction position has a purchase completion mark, write the primary key inheritance value. When the current transaction position's occupied interval and the next transaction position's occupied interval intersect, write the interval coverage value. Take the absolute value of the purchase price of the next transaction position minus the purchase price of the current transaction position and attach the purchase completion mark of the next transaction position. Output the adjacent transaction volume table. S23. Generate a factor graph based on the adjacent transaction volume table, write the primary key carry-over value into the preference continuation factor, write the interval coverage value into the demand occupancy factor, write the product of the absolute value of the purchase price difference and the purchase completion mark of the next transaction position into the price response factor, and output the factor graph.
5. The intelligent matching method for optimal product selection based on user profiles according to claim 4, characterized in that: S3 includes: S31. Read the factor records arranged by transaction position in the factor graph, write the primary key factor transfer amount of the first transaction position into the preference retention state score, subtract the transfer amount covered by the same transaction position from the preference retention state score to obtain the demand extinguishing state score, and then add the product of the price transfer amount and the purchase result position to the demand extinguishing state score to obtain the price response state score, and output the transaction position status grid. S32. Perform forward recursion on the transaction position state grid using the factor hidden Markov model algorithm. Add the cumulative path value of the previous transaction position to the state score of the next transaction position to form a candidate acceptance value. When the preference retention state is accepted to the demand extinguishing state and the occupied intervals intersect, the candidate acceptance value is deducted by the coverage transfer amount, and the candidate acceptance table is output.
6. The intelligent matching method for optimal products based on user profiles according to claim 5, characterized in that: S3 also includes: S33. Sort the candidate acceptance table by the next transaction position and the next state, write the first candidate acceptance value of the same group into the forward cumulative value, write the source state corresponding to the first candidate acceptance value into the forward acceptance edge, and output the forward acceptance table after recursively pushing to the end of the observation sequence. S34. Select the state corresponding to the first-order cumulative value from the last transaction position of the forward continuation table as the backtracking starting point, read the source state bit by bit in reverse order of the forward continuation edge, and write the backtracked state into the state path table in the forward order of the transaction position.
7. The intelligent matching method for optimal products based on user profiles according to claim 6, characterized in that: S4 includes: S41. Read the object status row in the status path table, use the object primary key to match the product details to generate a product join row, concatenate the object primary key hash value, the candidate product number hash value and the transaction number and then hash them to generate a particle number, and write the particle number into the product join row, and output the initial particle table. S42. Process the initial particle table using the particle learning algorithm. Take the start time in the state path table as the first position of the particle interval and the end time as the last position of the particle interval. Write the absolute value of the candidate product price minus the purchase price of the last position of the primary key of the same object into the purchase price position. Write the comparison result of the state code and the demand extinguishing state code into the extinguishing flag and output the particle field table. S43. Perform occupancy conflict calculation on the particle field table. Arrange the four endpoints of the particle interval bits and the demand extinguishing state interval bits under the same object primary key in ascending order of time. If the endpoints are from different sources, generate occupancy conflict bits based on the time interval between the second and third endpoints. If the endpoints are from the same source, write the occupancy conflict bits to zero and rewrite the particle reserved bits with the occupancy conflict bits. Output the constraint particle table. S44. Recursively constrain the particle table according to the transaction feedback time. For particles with a purchase completion bit of 1 and a particle retention bit of 1, copy a row. For particles with a purchase cancellation bit of 1, delete a row. For particles with a verification completion bit of 1, increment the posterior count by one. At the end of each round, sort the particle numbers in descending order of the posterior count. Stop when the particle number sequence is consistent with the previous round bit by bit. Output the particle posterior table.
8. The intelligent matching method for optimal products based on user profiles according to claim 7, characterized in that: S5 includes: S51. Read the candidate product price using the particle number in the particle posterior table as the index, encode the candidate product price as the starting price key according to the percentile amount, read the first purchase price in reverse order along the transaction time of the same object primary key and encode it as the inherited price key, read the first verification price in reverse order along the verification completion time of the same delivery channel and encode it as the verification price key, and merge the same price keys into a price grid table. S52. Connect the particle posterior table point by point in the price grid table, write the particle rows with the same price key into the same grid row, perform a bit-by-bit summation on the purchase completion bit in the same grid row to get the purchase completion number, perform a bit-by-bit summation on the verification completion bit to get the verification completion number, perform a bit-by-bit summation on the purchase cancellation bit to get the cancellation number, and then add the purchase completion number to the verification completion number and subtract the cancellation number to get the grid review value. S53. Sort price grids in descending order of grid review value. Among price grids with the same grid review value, sort them in descending order of the number of redemptions completed. Then sort them in ascending order of the absolute value of the difference between the price key and the inherited price key. Restore the percentile amount corresponding to the first-order price grid to the strategy price, and generate a price table based on the object primary key and candidate products.
9. The intelligent matching method for optimal products based on user profiles according to claim 8, characterized in that: S6 includes: S61. Based on the state path table, read the object primary key and pull the particle posterior row corresponding to the same transaction number. Then, pull the strategy price in the price table from the candidate commodity number in the particle posterior row. Take the first position of the later interval in the two occupied intervals as the first position of the intersection and the last position of the earlier interval as the last position of the intersection. Generate the interval intersection position according to the comparison result that the intersection last position is later than the intersection first position. When the state code is equal to the demand extinguishing state code, write the interval intersection position to the extinguishing intersection position and output the strategy candidate table. S62. Read the extinction intersection bit row by row for the strategy candidate table. When the extinction intersection bit is one, write the strategy candidate row into the purchase suppression set. When the extinction intersection bit is zero, first generate the feedback base value with the purchase completion count, then accumulate the feedback base value with the cancellation completion count, and then deduct the accumulated result with the purchase cancellation count to obtain the feedback acceptance value. Output the purchase candidate table. S63. Optimize the purchase candidate table through strategy. Subtract the purchase price of the last item of the primary key of the same object from the strategy price and write it as the price continuation value. First, rearrange the candidate rows in descending order according to the feedback continuation value. Then, rearrange the candidate rows with the same feedback continuation value in ascending order according to the price continuation value. Finally, generate the purchase strategy sequence in ascending order according to the transaction number and output the matching result with strategy price.
10. A user profile-based intelligent matching system for preferred products, used to implement the user profile-based intelligent matching method for preferred products as described in any one of claims 1-9, the system comprising a purchase screening module, a factor construction module, a state decoding module, a particle learning module, a price determination module, and a strategy optimization module, characterized in that: The purchase filtering module is used to obtain the transaction history of user account rights and interests. It filters the transaction lines by marking the payment delivery completion, takes the receiving field as the primary key of the object, forms the occupied range by the start and end time of the rights and interests, and links the reimbursement time and purchase price, and outputs a successful purchase table. The factor construction module is used to merge the successful purchase table by object primary key and form an observation sequence according to the transaction time. The primary key is used to form the preference continuation factor, the interval intersection is used to form the demand occupancy factor, and the price difference is used to form the price response factor according to the purchase result. The output factor graph is then used. The state decoding module is used to process the factor graph through the factor hidden Markov model algorithm. It forms the preference retention state by the primary key factor transfer volume, rewrites the demand extinguishing state by the coverage transfer volume, and forms the price response state by the price transfer volume. It also outputs the state path table by forward recursion based on the transaction position and backtracking to the last position. The particle learning module forms a set of strategy particles based on the state path table and the details of the products to be matched. Each strategy particle takes on the object primary key and the candidate product. The particle learning algorithm encodes the occupied interval into a particle interval position, and the particle interval position guides the purchase price position. An extinction flag is generated at the transaction position corresponding to the demand extinction state, and the particle posterior table is output. The price determination module is used to determine the price using a particle posterior table. The starting grid is formed by the product price, the inherited grid is formed by the prior purchase price, and the verification grid is formed by the same channel's redemption price. The first grid after adding the number of completed purchases and redemptions and then deducting the number of cancellations is the strategy price, and the price table is output. The strategy optimization module is used to connect the particle posterior table according to the state path table and read the price table to perform purchase strategy optimization. It writes the candidate products of the same object primary key and the occupied intervals into the purchase suppression set, and forms a purchase strategy sequence according to the feedback number and price succession relationship, and outputs the matching result with strategy price.