A Cold Start Recommendation Method and System for Online Literature Books

By recording user registration information and reading data, merging book lists, calculating multi-dimensional floating-point vectors, generating user feature combinations and nearest neighbor candidate sets, and updating user interests and preferences in real time, the system solves the problems of low efficiency and insufficient information in personalized recommendations for new users, and achieves a highly efficient cold start recommendation effect.

CN117131280BActive Publication Date: 2026-03-13BEIJING EASOU WORLD TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-21
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing personalized recommendation methods for online literature books face a technical challenge that they fail to effectively address when dealing with new users: how to provide efficient personalized recommendations to new users in the absence of sufficient historical behavioral data.

Method used

By recording user registration information and reading data, merging user book lists, calculating multi-dimensional floating-point vectors, generating user feature combinations, constructing nearest neighbor candidate sets, generating initial candidate book lists and user vectors, updating user interests and preferences in real time, and improving recommendation performance through vector operations and feature processing.

Benefits of technology

It effectively improves the efficiency and accuracy of cold start recommendations for new users, and enhances the relevance of recommendations by continuously updating user interests and preferences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117131280B_ABST
    Figure CN117131280B_ABST
Patent Text Reader

Abstract

This invention provides a cold-start recommendation method and system for online literature books. The recommendation method includes: Step S1: Recording user registration information and collecting user reading data; Step S2: Merging all user reading book lists and processing the book lists; Step S3: Calculating the multi-dimensional floating-point vector of online books; Step S4: Calculating the nearest neighbor candidate set of online books; Step S5: Generating user feature combinations and processing book data from the feature dimensions; Step S6: Generating an initial candidate book list and an initial user vector for new users; Step S7: Generating a recommendation list for new users for the first time; Step S8: Updating the candidate book list and user vector for new users and generating a recommendation list. By transforming new users into feature combinations and then into user vectors and continuously updating them, the true interests and preferences of new users are mined. The filtering and sorting of candidate books for new users efficiently improves the effectiveness of cold-start recommendation for new users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of online literature, and in particular to a method and system for cold-start recommendation of online literature books. Background Technology

[0002] Personalized recommendation technology offers an effective solution to the information overload problem in the context of big data, with specific versions implemented in various application scenarios such as shopping, news, music, and online literature. However, personalized recommendations for new users remain a challenge in this field, as the lack of sufficient historical behavior for prediction renders commonly used recommendation techniques completely ineffective.

[0003] A personalized recommendation method and system for online literature books (patent number CN111737568B) provides an effective personalized recommendation method for online literature scenarios. It uses vectorization techniques to mine hidden information such as user interests and preferences, avoiding issues related to user ratings and manual experience ratings. However, this method is only applicable when users have read a sufficient number of books; it cannot construct effective user vectors for new users to achieve personalized recommendations.

[0004] The book *Recommendation Systems in Practice* (by Xiang Liang) provides some overview solutions to the cold start problem in Chapter 3 of its book. One approach is to recommend popular lists to new users; another is to use age and gender information for coarse-grained personalization; and a third is to require new users to provide feedback on items upon login to collect their interests and recommend similar items. These methods are all viable strategies for various application scenarios, but they generally have limitations. Method one has low recommendation efficiency; method two relies heavily on the richness of registration information and its coarse-grained personalization is inefficient; and method three is highly dependent on the specific application scenario—new users are more likely to rate popular movies or music, but less likely to rate unpopular items or other items.

[0005] This research commentary on recommendations with side information, titled "A Survey and Research Directions," by Zhu Sun et al., reviews several methods for applying machine learning algorithms to solve the cold start problem by using side information (such as user registration information, social information, and item content) as feature attributes. However, the available side information varies significantly across different application scenarios, and processing side information suitable for different machine learning algorithms requires advanced skills.

[0006] In summary, the main drawbacks of existing recommendation methods for new users are: first, the recommendation efficiency is very low; second, it is difficult to obtain rich auxiliary information, and the effect is poor when there is little auxiliary information; and third, the processing of auxiliary information is quite difficult in specific scenarios. Summary of the Invention

[0007] In view of the above problems, the present invention is proposed to provide a method and system for cold start recommendation of online literature books that overcomes or at least partially solves the above problems.

[0008] According to one aspect of the present invention, a cold start recommendation method for online literature books is provided, the recommendation method comprising:

[0009] Step S1: Record user registration information and collect user reading data;

[0010] Step S2: Merge all users' book reading lists and process the book lists;

[0011] Step S3: Calculate the multidimensional floating-point vector of online books;

[0012] Step S4: Calculate the nearest neighbor candidate set of the network books;

[0013] Step S5: Generate user feature combinations and process book data from the feature dimensions;

[0014] Step S6: Generate an initial candidate book list and an initial user vector for the new user;

[0015] Step S7: Generate a recommendation list for new users for the first time;

[0016] Step S8: Update the candidate book list and user vector for new users and generate a recommendation list.

[0017] Optionally, step S7: generating a recommendation list for the first time for a new user specifically includes:

[0018] By using vector operations between users and books, online books that new users are interested in are filtered and sorted, ultimately generating a cold start recommendation list for new users.

[0019] Optionally, step S8: updating the candidate book list and user vector of the new user and generating a recommendation list specifically includes: updating the vectorized representation of the new user in real time by reading books, continuously iterating the actual interest and preference values ​​of the new user, and generating a network book recommendation list that perfectly matches the interests and preferences of the new user.

[0020] Optionally, step S6: generating the initial candidate book list and initial user vector for new users specifically includes:

[0021] By organizing the online book reading history of all users, we construct a vectorized representation of online books and a similarity metric between books. We focus on the book reading list of new users and mine the interests and preferences of new users from the dimension of user characteristic attributes, and heuristically construct a vectorized representation of the interests and preferences of new users.

[0022] In another aspect, the present invention provides a cold start recommendation system for online literature books, which applies the above-described cold start recommendation method for online literature books. The recommendation system includes:

[0023] The log collection module is used to collect important user behavior records, such as registration logs and online book reading records;

[0024] The merge processing module is used to merge and process the collected reading log data to form a user's reading book list uidhistory, and further process it to obtain a segmented list itemlice and a new user's reading book list newuidhistory;

[0025] The model calculation module is used to calculate the multidimensional floating-point vector of online books and the nearest neighbor candidate set of online books;

[0026] The feature combination processing module is used to generate user feature combination uidfeature, and further process the new user's read book list newuidhistory from two dimensions: book category and user feature combination to obtain dataset clstopbk, dataset featuretopbk, and dataset featuretopcls;

[0027] The data storage module is used to store the model data and datasets generated by each module;

[0028] The real-time recommendation module is used to generate a recommendation list for new users;

[0029] The real-time update module is used to update the candidate book list and user vector for new users in real time.

[0030] This invention provides a cold-start recommendation method and system for online literature books. The recommendation method includes: Step S1: Recording user registration information and collecting user reading data; Step S2: Merging all user reading book lists and processing the book lists; Step S3: Calculating the multi-dimensional floating-point vector of online books; Step S4: Calculating the nearest neighbor candidate set of online books; Step S5: Generating user feature combinations and processing book data from the feature dimensions; Step S6: Generating an initial candidate book list and an initial user vector for new users; Step S7: Generating a recommendation list for new users for the first time; Step S8: Updating the candidate book list and user vector for new users and generating a recommendation list. By transforming new users into feature combinations and then into user vectors and continuously updating them, the true interests and preferences of new users are mined. The filtering and sorting of candidate books for new users efficiently improves the effectiveness of cold-start recommendation for new users.

[0031] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description

[0032] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 This is a flowchart of a cold start recommendation method for online literature books according to Embodiment 1 of the present invention;

[0034] Figure 2 This is a block diagram of a cold start recommendation system for online literature books according to Embodiment 2 of the present invention. Detailed Implementation

[0035] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.

[0036] The terms "comprising" and "having," and any variations thereof, in the specification, embodiments, claims, and drawings of this invention are intended to cover non-exclusive inclusion, such as including a series of steps or units.

[0037] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0038] Example 1:

[0039] Embodiment 1 of the present invention provides a cold start recommendation method for online literature books, such as... Figure 1 As shown, the method includes the following steps:

[0040] 101. Record user registration information and collect user book reading data.

[0041] To better serve users, online bookstores typically log user activities. When a user registers on an online bookstore, a registration log is recorded, including the user's UID, registration time (regitmstamp), channel source (cid), channel type (chtype), and personal information such as gender. In practice, the log includes more information such as client details and network details; this invention only lists the necessary information for simplicity. The registration log format is: {uid, regitmstamp, cid, chtype, gender}, with regitmstamp usually used to determine whether a user is new or returning. A reading log is also recorded for each book a user reads, including basic information such as the user's UID, book itemid, chapter read (chap), and activity timestamp (tmstamp). The reading log format is: {uid, itemid, chapter, tmstamp}.

[0042] 102. Merge and process all users' book reading lists.

[0043] To analyze user reading behavior, all log records for a period of time, such as one year, are merged according to user UID. Each user's reading records can be merged into a list of read books, where each item represents the start time (starttm) and the maximum number of chapters (maxchap) for each book read by the user. The list format is: {uid, [itemid, starttm, maxchap], [itemid, starttm, maxchap], ...}. All users' reading lists are merged into a dataset uidhistory in this way. UIDhistory is further processed for later use: First, each user's reading list is sorted by starttm, and then split into 30-day time periods, i.e., books within each 30-day period form a new list. All split lists for all users constitute the dataset itemslice, with each row in the format: {itemid, itemmid, ...}. Second, for the cold start problem, it is necessary to specifically analyze users' book reading behavior during the new user phase to discover some reading preference patterns among new users. By comparing the user's registration time (regitmstamp) with the start time (starttm) in the book list, the books read by the user during the new user phase are filtered out, generating a new user reading book list, labeled as the dataset newuidhistory, with the same format as uidhistory.

[0044] 103. Calculate the multidimensional floating-point vector of online books.

[0045] The word2vec model is applied to the itemslice dataset to calculate the vectorized representation of each online book, i.e., a multi-dimensional floating-point vector. The dimension of the floating-point vector can be set through the word2vec model parameters, such as 60 or 120 dimensions. In practical applications, an appropriate size should be selected based on available computer resources; higher dimensions result in higher accuracy but also longer processing time.

[0046] 104. Computing the nearest neighbor candidate set of books in a computer network

[0047] By calculating the similarity between floating-point vectors of online books, the similarity result between two books can be represented as the similarity between the books. The result is between -1 and 1, with a larger value indicating greater similarity. First, select one book, and then calculate the similarity between all other books and this book. Sort all similarity results and select the 64 books with the highest results. These 64 books can be used as the nearest neighbor candidate set for the selected book; in practical applications, 32 or 128 books can be selected. Perform the above operation on all books to obtain the nearest neighbor candidate set for all books, labeled as the dataset itemknn. The data format is: {itemid,[itemid,score],[itemid,score],……}, where score represents the similarity result between two books.

[0048] 105. Generate user feature combinations and process book data from the feature dimensions.

[0049] User registration information can be used to extract user characteristic attributes. By merging these characteristic attributes based on the books read by new users, we can discover some behavioral preferences of new users with the same characteristic attributes in terms of book reading. The cid, chtype, and gender in the registration log records are concatenated using a separator such as #, and the resulting characteristic attribute string is used as a user feature combination and labeled uidfeature. In practical applications, many personal information of users have excellent characteristic attributes that can be added to the feature combination. This invention only lists representative, low-cost, and effective characteristic attributes. Further, the new user's book reading list newuidhistory is merged from two dimensions: book category itemcls and user characteristic combination uidfeature. First, each book in each record {uid,[itemid,starttm,maxchap],……} is counted by frequency 1 and maxchap, and all records are merged to obtain the total frequency and total number of chapters for each book, thus obtaining the average number of chapters (total number of chapters divided by total frequency). Then, all books are categorized and merged by category `itemcls`. Within each category, all books are sorted by total frequency and average number of chapters, and the top 64 books are selected as the list of most popular books among new users in that category. The data format is `{itemcls,[itemid,itemid,……]}`, labeled as dataset `clstopbk`. Second, the user `uid` in each record `{uid,[itemid,starttm,maxchap],……}` is mapped to the corresponding feature combination `uidfeature`. For each book, the frequency (1) and `maxchap` are counted together. Books with the same feature combination are merged and accumulated to obtain the total frequency `freq` and total number of chapters for each book under that feature combination, thus obtaining the average number of chapters `averchap`. The data format is `{uidfeature,[itemid,freq,averchap],[itemid,freq,averchap],……}`, denoted as temporary dataset. Third, sort all books in the temporary dataset for each feature combination by total frequency and average number of chapters, and select the top 64 books as the list of books most popular with new users under that feature combination. The data format is {uidfeature,[itemid,itemid,……]}, labeled as dataset featuretopbk. Finally, map the itemid of all books for each feature combination in the temporary dataset to the corresponding category itemcls. Count each book by frequency freq, and after merging and accumulating, select the 3 categories with the highest frequencies as the list of book categories most popular with new users under that feature combination.The data format is {uidfeature,[itemcls,itemcls,itemcls]}, labeled as dataset featuretopcls. Of course, there may only be one or two categories. At this point, the intermediate dataset used to mine new users' reading preferences has been generated.

[0050] 106. Generate an initial candidate book list and an initial user vector for new users.

[0051] Before a new user has any browsing history, their UID can be mapped to the feature combination `uidfeature`. By mining the book lists of historical new users with the same `uidfeature`, we can make some predictive inferences about the new user's interests and preferences. The initial candidate book list and initial user vector for the new user are constructed using the heuristic of the new user's reading interests and preferences based on the feature combination. The generation method is as follows: First, obtain the optimal book list for the new user's feature combination from the dataset `featuretopbk`, and randomly select 6 books. Second, obtain the 3 optimal book categories for the feature combination from the dataset `featuretopcls`, and randomly sample 2 books from each category list in the dataset `clstopbk` for a total of 6 books, ensuring that they are different from the 6 books obtained in the first step. If there are only 2 categories, sample 3 books from each category, and so on for one category. Randomly sort the 12 books obtained from the two steps to obtain the initial candidate book list for the new user. After obtaining the initial candidate book list, the initial user vector is calculated using the floating-point vectors of the books. The corresponding floating-point vectors are obtained using the itemid of the 12 books, and a weighted average is calculated with a weight of 1. The final floating-point vector is used as the initial user vector for the new user. The generation method shows that the initial candidate book list for new users has a high degree of randomness; repeated generation is likely to yield different results. This approach is a heuristic method for discovering the interests and preferences of new users.

[0052] 107. Generate a recommendation list for new users for the first time.

[0053] When a new user first generates a recommendation list, obtaining recommendations that match their interests and preferences is quite challenging because there is no prior reading history to reference. This problem is addressed by shifting the focus from the user to a combination of features. First, the new user's UID is mapped to the feature combination `uidfeature`, resulting in an initial list of candidate books and an initial user vector. The method for generating the recommendation list using 12 candidate books and the user vector is as follows: For each book in the list, based on its `itemid`, the nearest neighbor candidate set for each book is found from the `itemknn` dataset. Duplicates in these 12 nearest neighbor candidate sets are filtered out, and a new list is created as the recall set. The new user's preference for each book in the recall set can be obtained by performing an inner product operation between the user vector and the book's floating-point vector. All books in the recall set are sorted according to their preference levels, and the 32 books with the highest preference levels are selected as the new user's initial recommendation list.

[0054] 108. Update the candidate book list and user vector for new users and generate a recommendation list.

[0055] As seen in step 106, the initial candidate book list and initial user vector do not fully reflect the true data of new users' interests and preferences; they are merely pre-set approximations of user interests and preferences. As new users continuously engage in reading, we dynamically update the model data based on these reading behaviors, continuously refining the candidate book list and user vector to approximate the user's true reading interests and preferences. When a new user starts reading a book, the method for dynamically updating the model data is as follows: The `itemid` of the book being read is added to the end of the candidate book list, resulting in a new candidate book list. The floating-point vector of the book is obtained using `itemid`, and vector addition is used to add this floating-point vector to the user vector, resulting in a new user vector. Using the user's candidate book list and user vector, only the last 12 books in the list are selected, and the recall set is obtained sequentially following the process in step 107, generating a new recommendation list. Of course, the above process only uses one book as an example. As new users continuously read books, the candidate book list and user vector need to be dynamically updated in real time to ultimately generate a recommendation book list that fully matches the new user's interests and preferences.

[0056] The definitions of inner product and similarity between vectors mentioned in the embodiments are as follows: For two floating-point vectors a = [a1, a2, ..., an] and b = [b1, b2, ..., bn], the inner product is represented by innerproduct(a, b) = a1*b1 + a2*b2 + ... + an*bn; the similarity is represented by similarity(a, b) = innerproduct(a, b) / sqrt(innerproduct(a, a) * innerproduct(b, b)), where sqrt is the square root operation. Furthermore, the sorting of two feature attributes, such as frequency and chapter number, is prioritized by frequency, and if the frequencies are the same, then sorted by chapter number.

[0057] As can be seen from the above technical solutions, when making personalized recommendations to new users, the embodiments of the present invention fully explore the user's reading history list, feature-process the limited new user registration information, construct a floating-point vector representation of online books and new user interest preferences, improve the expression level of information such as online book similarity and user reading book preference, and at the same time ensure that the extracted new user registration information is easy to obtain and that the new user's interest preferences can be continuously updated during interaction, ultimately improving the effect of cold start recommendation for new users.

[0058] Example 2:

[0059] Embodiment 2 of the present invention provides a cold start recommendation system for online literature books, such as... Figure 2 As shown, the system includes:

[0060] 201. Log Collection Module

[0061] This is used to collect important user behavior records, such as registration logs and online book reading records. Registration logs include user UID, registration time (regitmstamp), channel source (cid), channel type (chtype), and registration gender. Reading logs include user UID, book (itemid), reading chapter (chap), and behavior timestamp (tmstamp).

[0062] 202. Merging Processing Module

[0063] The collected reading logs are merged and processed to form a user reading book list dataset `uidhistory`. This dataset contains a list of all users' reading history, with each item including the user's `uid`, the book's `itemid`, the start time `starttm`, and the maximum number of chapters `maxchap`. Further processing of `uidhistory` yields a segmented list `itemslice` and a new user reading book list `newuidhistory`. Firstly, each user's reading list is sorted by `starttm`, segmented at predetermined intervals, and the time and maximum number of chapters are removed, resulting in multiple segmented lists. All user segmented lists form the dataset `itemslice`. Secondly, by comparing the registration time `regitmstamp` with the start time `starttm`, the reading books of new users are filtered out, forming the new user reading book list dataset `newuidhistory`.

[0064] 203. Model Calculation Module

[0065] This method is used to calculate the multidimensional floating-point vectors of online books and their nearest neighbor candidate sets. First, the word2vec model is applied to the itemlice dataset to obtain the multidimensional floating-point vector for each online book. Then, the similarity of each online book with the remaining books is calculated using floating-point vector similarity. The calculated similarity results are ranked, and the N books with the highest rankings are selected to form the nearest neighbor candidate set for each corresponding online book. All the nearest neighbor candidate sets of online books are combined to form the nearest neighbor candidate set itemknn.

[0066] 204. Feature Combination Processing Module

[0067] This method generates user feature combinations (uidfeature) and processes the new user's book reading list (newuidhistory) from two dimensions: book category and user feature combination. First, it concatenates user registration information such as channel source (cid), channel type (chtype), and registration gender using a delimiter to obtain the user feature combination (uidfeature). Then, it processes the new user's book reading list (newuidhistory) to obtain three new datasets. First, it counts the frequency (1) and chapter count (maxchap) of each book read by all new users, merging them to obtain the total frequency and average chapter count for each book. Then, it categorizes all books by category (itemcls) and merges them. Within each category, it sorts the books by total frequency and average chapter count, selecting the top 64 books to form the most popular books for that category. The list of most popular books across all categories forms the dataset clstopbk. Second, it maps each user uid in newuidhistory to a corresponding feature combination, counts each book by frequency (1) and chapter count (maxchap), and merges all books with the same feature combination to obtain the total frequency (freq) and average chapter count (averchap) for each book under that feature combination. A temporary dataset is formed by compiling a list of books for all feature combinations. Third, all books for each feature combination in the temporary dataset are sorted by total frequency and average number of chapters, and the top 64 books are selected to form a list of books most popular with new users for that feature combination. This list of books for all feature combinations forms the dataset `featuretopbk`. Finally, for each feature combination in the temporary dataset, all books' `itemid` values ​​are mapped to corresponding categories `itemcls`. Each book is counted by its frequency `freq`, and the three categories with the highest frequencies are merged and accumulated to form a list of the most popular categories for new users under that feature combination. This list of categories for all feature combinations forms the dataset `featuretopcls`.

[0068] 205. Data storage module

[0069] This is used to store model data and datasets generated by other modules. Personalized recommendation online real-time computation is resource-intensive; therefore, model data needs to be pre-calculated offline and then stored on a data server for direct online retrieval to reduce online computational resource consumption. This system uses Redis storage. All model data and datasets, or intermediate results, discussed in other modules will be stored on the Redis server, including the dataset `uidhistory`, floating-point vectors of online books, the nearest neighbor candidate set `itemknn` for online books, the dataset `clstopbk`, the dataset `featuretopbk`, the dataset `featuretopcls`, the list of candidate books for new users, and user vectors for new users. Most model data or datasets can be updated daily or half-day. Some data with high real-time requirements need to be dynamically updated in real time, such as the list of candidate books for new users and user vectors.

[0070] 206. Real-time Recommendation Module

[0071] The module is used to generate a recommendation list for new users, including two scenarios: a new user's first recommendation request and the first subsequent recommendation request. When a new user initiates their first recommendation request, the module maps the user's UID to a feature combination `uidfeature`, generating a corresponding initial candidate book list and an initial user vector. Further, for each book in the initial candidate list, the module finds its nearest neighbor candidate set from the `itemknn` dataset. After filtering out duplicates, all nearest neighbor candidate books are combined into a new list as a recall set. The similarity between each book in the recall set and the initial user vector is calculated. After sorting the similarity results, the top 32 books are selected to form the corresponding new user's first recommendation list. The initial candidate book list and initial user vector generated in the above process need to be added to the Redis storage in real time. When a new user initiates a recommendation request, querying the Redis storage to see if the user's user vector is present can determine whether it is a first recommendation request. When a new user initiates a second or subsequent recommendation request, the module first retrieves the user's candidate book list and user vector from the REDIS storage. Then, it selects the nearest neighbor candidate books of the last 12 books in the candidate book list to form a new list as the recall set. Next, it calculates the similarity between all books in the recall set and the user vector, sorts the similarity results, and selects the 32 books with the highest ranking to form the recommendation list for the corresponding new user.

[0072] 207. Real-time update module

[0073] This is used to update the candidate book list and user vector for new users in real time. When a new user reads a book, the user's relevant data needs to be dynamically updated to improve personalized recommendations. The method is as follows: The `itemid` of the read book is added to the end of the candidate book list to obtain a new candidate book list. The floating-point vector of the book is obtained through `itemid`, and vector addition is used to add the floating-point vector to the user vector to obtain a new user vector. All of the above operations are saved through a Redis server. When a user initiates a new recommendation request, the recommendation list can be generated using the new candidate book list and user vector.

[0074] Beneficial effects: Compared with existing cold start recommendation technologies for online literature books, this invention adopts vectorization techniques and user registration information feature processing skills, avoiding common problems such as over-reliance on user registration information and user rating feedback. By vectorizing the online books and new user interests, it improves the expression level of information such as book similarity and user preference. By transforming new users into feature combinations and then into user vectors and continuously updating them, it mines the true interests of new users. By filtering and ranking candidate books for new users, it efficiently improves the effect of cold start recommendation for new users.

[0075] The above specific embodiments further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A cold start recommendation method for online literature books, characterized in that, Includes the following steps: Step A: Record user registration information and collect user reading data. The registration information includes the user's unique identifier (uid), registration time (regitmstamp), channel source (cid), channel type (chtype), and registration gender. The reading data includes the user's uid, the book's unique identifier (itemid), the reading chapter (chap), and the behavior timestamp (tmstamp). Step B: Merge all user reading data to form a user reading book list uidhistory. Process the uidhistory to obtain a segmented list itemlice and a new user reading book list newuidhistory. The new user is the user within the first fourteen days after registration. Step C: Apply the word2vec model to the itemslice to calculate the multidimensional floating-point vector of each online book; Step D: Calculate the similarity between each online book and the other books. Based on the similarity ranking results, determine the 64 most similar books for each book as the nearest neighbor candidate set to form the dataset itemknn. Step E: Concatenate the cid, chtype, and gender from the user registration information using a delimiter to generate the user feature combination uidfeature. Merge the newuidhistory from the two dimensions of book category itemcls and uidfeature to obtain the datasets clstopbk, featuretopbk, and featuretopcls. Step F: Generate an initial candidate book list for new users based on the featuretopbk and featuretopcls, and obtain the initial user vector by weighted averaging the floating-point vectors of the initial candidate book list; Step G: Generate the first recommendation list for new users based on the initial candidate book list, the initial user vector, and itemknn; Step H: Update the candidate book list and user vector based on the new user's real-time reading behavior, and generate a subsequent recommendation list based on the updated candidate book list and user vector.

2. The method according to claim 1, characterized in that, Step B, the processing of uidhistory, includes: B1: Merge the reading data of each user to obtain the start time starttm and the maximum number of chapters maxchap for each book read by the user, and construct the reading list uidhistory for all users; the format is {uid,[itemid,starttm, maxchap], [itemid, starttm, maxchap],……}; B2: Sort each user's reading book list by start time starttm, and divide it into multiple sublists by a 30-day time period. All sublists constitute the itemslice, and each line of the itemslice is in the format {itemid, itemmid, ...}. B3: Compare the user registration time (regitmstamp) with the book start time (starttm), filter out the list of books read by the user during the new user phase, and generate the newuidhistory. The format of the newuidhistory is consistent with that of the uidhistory.

3. The method according to claim 1, characterized in that, In step D, the similarity calculation uses the formula: similarity(a,b) = innerproduct(a,b) / sqrt(innerproduct(a,a)*innerproduct(b,b)); Where a and b are the floating-point vectors of the two books, innerproduct(a,b) is the inner product of vector a and vector b, innerproduct(a,b)=a1*b1+a2*b2+…+an*bn, where n is the vector dimension; the nearest neighbor candidate set for each book is the 64 books with the highest ranking in the similarity ranking results.

4. The method according to claim 1, characterized in that, The process of generating the three datasets in step E includes: E1: For each book in newuidhistory, count the frequency (1) and maxchap together to get the total frequency and average number of chapters for each book. Sort the books by category itemcls and take the first 64 books to form the clstopbk, with the format {itemcls,[itemid,itemid,……]}. E2: Map user uids in newuidhistory to uidfeatures. Count each book by frequency 1 and maxchap. Merge books with the same uidfeature to obtain the total frequency freq and the average number of chapters averchap, resulting in a temporary dataset in the format: {uidfeature, [itemid, freq, averchap], [itemid, freq, averchap], ...}; The temporary dataset was sorted by total frequency (freq) and average number of chapters (averchap), and the top 64 books were selected to form the featuretopbk, with the format {uidfeature,[itemid,itemid,……]}. E3: Map the book itemids in the temporary dataset to itemcls, count by freq, and take the three most frequent categories to form the featuretopcls, with the format {uidfeature,[itemcls,itemcls,itemcls]}.

5. The method according to claim 1, characterized in that, Step F, which generates the initial candidate book list, includes: F1: Randomly select 6 books corresponding to the new user's uidfeature from featuretopbk; F2: Obtain the optimal book category corresponding to the uidfeature from featuretopcls, and randomly select 2-3 books from clstopbk for each category itemcls, for a total of 6 books, which are not repeated from the books selected in F1; F3: Randomly sort the 12 books selected by F1 and F2 to obtain an initial candidate book list; the initial user vector is the result of the weighted average of the floating-point vectors of the 12 books with a weight of 1.

6. The method according to claim 1, characterized in that, The process of generating the first recommendation list in step G includes: G1: Map the new user's uid to uidfeature to obtain the initial candidate book list and the initial user vector. Obtain the nearest neighbor candidate set for each book in the initial candidate book list, filter out duplicates, and form a recall set. G2: Calculate the dot product of the floating-point vector of each book in the recall set and the initial user vector as the preference degree; G3: Select the top 32 books after sorting by preference as the first recommendation list.

7. The method according to claim 1, characterized in that, The update process in step H includes: H1: Add the itemid of the books read by the new user to the end of the candidate book list to obtain the updated candidate book list; H2: Add the floating-point vector of the book to the current user vector to obtain the updated user vector; H3: Select the last 12 books in the updated candidate book list and repeat steps G1-G3 to generate a subsequent recommendation list.

8. A cold start recommendation system for online literature books, employing the cold start recommendation method for online literature books as described in any one of claims 1-7, characterized in that, The recommendation system includes: Log collection module: used to collect user registration logs and reading logs. The registration logs include uid, regitmstamp, cid, chtype, and gender. The reading logs include uid, itemid, chap, and tmstamp. Merge processing module: used to merge reading logs into uidhistory, and process uidhistory to obtain itemlice and newuidhistory; Model calculation module: used to apply the word2vec model to itemslice to obtain multi-dimensional floating-point vectors of books, calculate book similarity and generate itemknn; Feature combination processing module: used to generate uidfeature, and process newuidhistory from the dimensions of itemcls and uidfeature to obtain clstopbk, featuretopbk and featuretopcls; Data storage module: Used to store the model data and datasets generated by each module; Real-time recommendation module: used to generate a recommendation list for new users based on featuretopbk, featuretopcls, itemknn, user candidate book list and user vector; Real-time update module: Used to update the candidate book list and user vector based on the real-time reading behavior of new users.

9. The system according to claim 8, characterized in that, The merging processing module processes uidhistory by: dividing the user reading list into itemslice by a 30-day time period, and filtering by comparing regitmstamp and starttm to obtain newuidhistory; the model calculation module generates itemknn using a similarity calculation formula.

10. The system according to claim 8, characterized in that, The data storage module uses REDIS storage, and the offline pre-calculated model data is updated every half day. The candidate book list and user vector for new users are updated dynamically in real time. The real-time recommendation module generates an initial candidate book list and an initial user vector when a new user makes their first request. Subsequent requests use the updated candidate book list and user vector to generate a recommendation list.

Citation Information

Patent Citations

  • Recommendation method fusing scoring information and article content based on collaborative training

    CN109635291A

  • News recommendation method based on user interest modeling

    CN115481236A