A method of determining content diversity based on sliding spectrum decomposition and a method of selecting content
By using the sliding spectral decomposition method, combined with time series analysis and greedy reasoning, the content diversity of the personalized recommendation system is optimized, which solves the problem of excessive content similarity in the recommendation results and improves user experience and efficiency.
Patent Information
- Application Number
- CN202310714741.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-09
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2041-07-09
AI Technical Summary
In existing personalized recommendation systems, highly similar content clusters are prone to appearing in the recommendation results, ignoring the diversity of recommendation results and leading to a decline in user experience, especially for users with broad interests and unclear needs.
The sliding spectral decomposition method is adopted to determine the spatial representation vector of candidate content, select the benchmark vector, and select content with higher diversity based on the diversity value. Combined with time series analysis and greedy reasoning, a target combining relevance and diversity is constructed to optimize the recommendation sequence.
It improves the diversity and similarity of recommendation results, reduces computational time and space complexity, reduces latency and memory requirements, and improves recommendation efficiency.
Smart Images

Figure CN116738052B_ABST
Abstract
Description
[0001] This application is a divisional application of the following application:
[0002] The original application was filed on July 9, 2021.
[0003] The original application number was 202110780013.5.
[0004] Original invention application title: A method for determining content diversity and selecting content based on sliding spectral decomposition Technical Field
[0005] This application relates to the field of computer technology, and in particular to a method, apparatus, device and medium for determining content diversity based on sliding spectral decomposition, and a method, apparatus, device and medium for selecting content based on content diversity. Background Technology
[0006] With the advent of the big data era, personalized recommendation systems have emerged as an effective tool for addressing information overload. They have become standard on major internet platforms (e-commerce, news feeds, etc.) and have made significant strides in technology (personalized recall, personalized ranking, etc.), gradually transitioning from traditional models to the era of deep learning. However, current personalized recommendation systems and related algorithms primarily focus on improving recommendation accuracy, neglecting the diversity of recommendation results. This leads to a tendency for highly similar content to cluster together, i.e., similar items are grouped together. Users' interests are confined to a relatively narrow (zero-information "precise recommendation") recommendation field, thus harming the user experience, especially for users with broad interests and unclear needs. Summary of the Invention
[0007] This application provides a method, apparatus, device, and medium for determining content diversity based on sliding spectral decomposition, as well as a method, apparatus, device, and medium for selecting content based on content diversity.
[0008] In a first aspect, embodiments of this application provide a method for determining content diversity based on sliding spectral decomposition, for use in electronic devices, characterized in that the method includes:
[0009] Determine N candidate contents and their spatial representation vectors;
[0010] Select a reference vector from the N vectors based on a preset standard;
[0011] Based on the reference vector, for the N-1 vectors other than the reference vector, the magnitude of the diversity value of each vector is calculated. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector.
[0012] In one possible implementation of the first aspect described above, the volume is the product of the area of the hyperplane as a basis and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane.
[0013] In one possible implementation of the first aspect described above, a sliding window of size w is determined based on the display size of the electronic device.
[0014] In one possible implementation of the first aspect above, when the current note displayed to the user has not yet left the sliding window, i.e., t≤w, the volume corresponding to the T-1 vectors selected from the N-1 vectors is obtained by orthogonalizing the current vector, as shown in the following formula:
[0015]
[0016] Among them I p:q Represents {i p i p+1 , ..., i q-1}, where ik represents the k-th iteration, ik∈{1,2,…,t,…,N}, v ik This represents the vector selected after the k-th iteration. v represents orthogonalization ik , This represents the result of the orthogonalization calculation.
[0017] In one possible implementation of the first aspect above, when the current note displayed to the user exceeds the sliding window, i.e., t > w, the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits the information of the previous sliding window, as shown in the following equation:
[0018]
[0019] Where l = max(1, t-w+m), t represents the t-th candidate vector among the N candidate vectors, m represents the step size of each sliding window, and ||·|| represents the L2 norm.
[0020] In one possible implementation of the first aspect above, w ≤ T.
[0021] In one possible implementation of the first aspect above, determining a sliding window of size w based on the display size of the electronic device includes: using the amount of content that the display screen of the electronic device can display as the size w of the sliding window; or using the amount of content that the display screen of the electronic device can display as a basis, and expanding it by a predetermined amount as the size w of the sliding window.
[0022] In one possible implementation of the first aspect above, determining N candidate contents includes: filtering Z contents based on user profiles; and sorting the Z contents according to relevance to obtain N candidate contents related to the user.
[0023] In one possible implementation of the first aspect above, the method further includes: selecting the T contents with the largest sum of relevance and diversity among the N candidate contents, and sorting them as shown in the following formula:
[0024]
[0025] Where ||·|| represents the L2 norm, and V represents the current vector v. j The corresponding volume size.
[0026] Secondly, embodiments of this application provide an apparatus for determining content diversity based on sliding spectral decomposition, comprising:
[0027] Determination module: Determines N candidate contents and the spatial representation vector of the N candidate contents;
[0028] Processing module: Selects a reference vector from the N vectors based on a preset standard;
[0029] Calculation module: Based on the reference vector, for the N-1 vectors other than the reference vector, calculate the magnitude of the diversity value of each vector. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector.
[0030] In one possible implementation of the second aspect above, the volume is the product of the area of the hyperplane as a basis and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane.
[0031] In one possible implementation of the second aspect described above, a sliding window of size w is determined based on the display size of the electronic device.
[0032] In one possible implementation of the second aspect above, when the current note displayed to the user has not yet left the sliding window, i.e., t≤w, the volume corresponding to the T-1 vectors selected from the N-1 vectors is obtained by orthogonalizing the current vector, as shown in the following formula:
[0033]
[0034] Among them I p:q Represents {i p i p+1 , ..., i q-1}, where ik represents the k-th iteration, ik∈{1,2,…,t,…,N}, v ik This represents the vector selected after the k-th iteration. v represents orthogonalization ik , This represents the result of the orthogonalization calculation.
[0035] In one possible implementation of the second aspect above, when the current note displayed to the user exceeds the sliding window, i.e., t > w, the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits the information of the previous sliding window, as shown in the following equation:
[0036]
[0037] Where l = max(1, t-w+m), t represents the t-th candidate vector among the N candidate vectors, m represents the step size of each sliding window, and ||·|| represents the L2 norm.
[0038] In one possible implementation of the second aspect above, w ≤ T.
[0039] In one possible implementation of the second aspect above, determining a sliding window of size w based on the display size of the electronic device includes: using the amount of content that the display screen of the electronic device can display as the size w of the sliding window; or using the amount of content that the display screen of the electronic device can display as a basis, and expanding it by a predetermined amount as the size w of the sliding window.
[0040] In one possible implementation of the second aspect above, determining N candidate contents includes: filtering out Z contents based on user profiles; and sorting the Z contents according to relevance to obtain N candidate contents related to the user.
[0041] In one possible implementation of the second aspect above, the apparatus further includes: a sorting module: selecting the T contents with the largest sum of relevance and diversity among the N candidate contents, and sorting them as shown in the following formula:
[0042]
[0043] Where ||·|| represents the L2 norm, and V represents the current vector v. j The corresponding volume size.
[0044] Thirdly, embodiments of this application provide a device for determining content diversity based on sliding spectral decomposition, the device comprising:
[0045] Memory is used to store instructions executed by one or more processors of the system, and
[0046] The processor is one of the processors in the system, used to execute the instructions to implement any of the possible methods of the first aspect described above.
[0047] Fourthly, embodiments of this application provide a computer-readable medium storing instructions that, when executed on a computer, enable the computer to perform any of the possible methods described in the first aspect.
[0048] Fifthly, embodiments of this application provide a method for selecting content based on content diversity for use in electronic devices, characterized in that the method includes:
[0049] Determine N candidate contents and their spatial representation vectors;
[0050] Select the vector corresponding to the content most relevant to the user from the N vectors as the reference vector;
[0051] Based on the reference vector, from the N-1 vectors other than the reference vector, T-1 vectors are selected according to the magnitude of the diversity value of the vectors, where the diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value; and
[0052] The content corresponding to the T-1 vectors is selected.
[0053] In one possible implementation of the fifth aspect above, the volume is the product of the area of the hyperplane as a basis and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane.
[0054] In one possible implementation of the fifth aspect above, a sliding window of size w is determined based on the display size of the electronic device.
[0055] In one possible implementation of the fifth aspect above, when the current note displayed to the user has not yet left the sliding window, i.e., t≤w, the volume corresponding to the T-1 vectors selected from the N-1 vectors is obtained by orthogonalizing the current vector, as shown in the following formula:
[0056]
[0057] Among them I p:q Represents {i p i p+1 , ..., i q-1}, where ik represents the k-th iteration, ik∈{1,2,…,t,…,N}, v ik This represents the vector selected after the k-th iteration. v represents orthogonalization ik , This represents the result of the orthogonalization calculation.
[0058] In one possible implementation of the fifth aspect above, when the current note displayed to the user exceeds the sliding window, i.e., t > w, the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits the information of the previous sliding window, as shown in the following equation:
[0059]
[0060] Where l = max(1, t-w+m), t represents the t-th candidate vector among the N candidate vectors, m represents the step size of each sliding window, and ||·|| represents the L2 norm.
[0061] In one possible implementation of the fifth aspect above, w ≤ T.
[0062] In one possible implementation of the fifth aspect above, determining a sliding window of size w based on the display size of the electronic device includes: using the amount of content that the display screen of the electronic device can display as the size w of the sliding window; or using the amount of content that the display screen of the electronic device can display as a basis, and expanding it by a predetermined amount as the size w of the sliding window.
[0063] In one possible implementation of the fifth aspect above, selecting the vector corresponding to the content with the highest relevance to the user from the N vectors as the benchmark vector includes: scoring each of the N content items according to a preset rule to obtain a relevance score between the content and the user; then, the content with the highest relevance score is the content with the highest relevance to the user; and selecting the vector corresponding to the content with the highest relevance score as the benchmark vector, as shown in the following formula:
[0064]
[0065] Where t represents the t-th content among the T contents; This represents the relevance score of the t-th item among the T items.
[0066] In one possible implementation of the fifth aspect above, determining N candidate contents includes: filtering out Z contents based on user profiles; and sorting the Z contents according to relevance to obtain N candidate contents related to the user.
[0067] In one possible implementation of the fifth aspect above, the method further includes: selecting the T contents with the largest sum of relevance and diversity among the N candidate contents, and sorting them as shown in the following formula:
[0068]
[0069] Where ||·|| represents the L2 norm, and V represents the current vector v. j The corresponding volume size.
[0070] Sixthly, embodiments of this application provide an apparatus for selecting content based on content diversity, the apparatus comprising:
[0071] Determination module: Determines N candidate contents and the spatial representation vector of the N candidate contents;
[0072] Processing module: Selects the vector corresponding to the content most relevant to the user from the N vectors as the reference vector;
[0073] Calculation module: Based on the reference vector, select T-1 vectors from N-1 vectors other than the reference vector, according to the magnitude of the diversity value of the vectors, where the diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value; and
[0074] Selected module: The content corresponding to the T-1 vectors is selected.
[0075] In one possible implementation of the sixth aspect above, the volume is the product of the area of the hyperplane as a basis and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane.
[0076] In one possible implementation of the sixth aspect above, a sliding window of size w is determined based on the display size of the electronic device.
[0077] In one possible implementation of the sixth aspect above, when the current note displayed to the user has not yet left the sliding window, i.e., t≤w, the volume corresponding to the T-1 vectors selected from the N-1 vectors is obtained by orthogonalizing the current vector, as shown in the following formula:
[0078]
[0079] Among them I p:q Represents {i p i p+1 , ..., i q-1}, where ik represents the k-th iteration, ik∈{1,2,…,t,…,N}, v ik This represents the vector selected after the k-th iteration. v represents orthogonalization ik , This represents the result of the orthogonalization calculation.
[0080] In one possible implementation of the sixth aspect above, when the current note displayed to the user exceeds the sliding window, i.e., t > w, the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits the information of the previous sliding window, as shown in the following equation:
[0081]
[0082] Where l = max(1, t-w+m), t represents the t-th candidate vector among the N candidate vectors, m represents the step size of each sliding window, and ||·|| represents the L2 norm.
[0083] In one possible implementation of the sixth aspect above, w ≤ T.
[0084] In one possible implementation of the sixth aspect above, determining a sliding window of size w based on the display size of the electronic device includes: using the amount of content that the display screen of the electronic device can display as the size w of the sliding window; or using the amount of content that the display screen of the electronic device can display as a basis, and expanding it by a predetermined amount as the size w of the sliding window.
[0085] In one possible implementation of the sixth aspect above, selecting the vector corresponding to the content with the highest relevance to the user from the N vectors as the benchmark vector includes: scoring each of the N content items according to a preset rule to obtain a relevance score between the content and the user; then, the content with the highest relevance score is the content with the highest relevance to the user; and selecting the vector corresponding to the content with the highest relevance score as the benchmark vector, as shown in the following formula:
[0086]
[0087] Where t represents the t-th content among the T contents; This represents the relevance score of the t-th item among the T items.
[0088] In one possible implementation of the sixth aspect above, determining N candidate contents includes: filtering out Z contents based on user profiles; and sorting the Z contents according to relevance to obtain N candidate contents related to the user.
[0089] In one possible implementation of the sixth aspect above, the method further includes: selecting the T contents with the largest sum of relevance and diversity among the N candidate contents, and sorting them as shown in the following formula:
[0090]
[0091] Where ||·|| represents the L2 norm, and V represents the current vector v. j The corresponding volume size.
[0092] Seventhly, embodiments of this application provide a device for selecting content based on content diversity, wherein the device for determining content diversity based on sliding spectral decomposition includes:
[0093] Memory is used to store instructions executed by one or more processors of the system, and
[0094] The processor is one of the processors in the system, used to execute the instructions to implement any of the possible methods described in the fifth aspect above.
[0095] Eighthly, embodiments of this application provide a computer-readable medium storing instructions that, when executed on a computer, enable the computer to perform any of the possible methods described in the fifth aspect above.
[0096] The technical solution in this application studies the diversity problem of recommendations from the perspective of content sequence by using time series analysis technology and combining it with content outside the sliding window, thus considering the diversity of the entire item sequence. Compared with the prior art, the technical solution in this application better captures the user's perception of diversity in long sequence scenarios, transforms the practical problem into a mathematical problem of maximizing optimization, and proposes a greedy reasoning method to solve the problem. It constructs an objective that combines relevance and diversity, selects T content items from N vectors to maximize the objective, and can solve the sliding spectral decomposition in a short time, making the sliding spectral decomposition method quick to implement, more computationally efficient, reducing time and space complexity, and greatly improving efficiency. Compared with DPP, SSD significantly improves the diversity and similarity of recommendation results. Furthermore, it reduces latency by 7ms at the 99th percentile (P99) and achieves an unexpected technical effect of reducing relative memory requirements by 27%. Attached Figure Description
[0097] Figure 1 According to some embodiments of this application, a schematic diagram illustrating the growth of the average content sequence length browsed by users over the past 1.5 years is shown.
[0098] Figure 2 According to some embodiments of this application, a hardware structure diagram of a method for determining content diversity based on sliding spectral decomposition is shown;
[0099] Figure 3 According to some embodiments of this application, an application scenario diagram of a method for determining content diversity based on sliding spectral decomposition is shown;
[0100] Figure 4 According to some embodiments of this application, a flowchart of a method for determining content diversity based on sliding spectral decomposition is shown;
[0101] Figure 5 According to some embodiments of this application, a geometrical schematic diagram of the volume size is shown;
[0102] Figure 6 According to some embodiments of this application, a flowchart of a method for selecting content based on content diversity is shown;
[0103] Figure 7 According to some embodiments of this application, a schematic diagram of the structure of an apparatus for determining content diversity based on sliding spectral decomposition is shown;
[0104] Figure 8 According to some embodiments of this application, a schematic diagram of the structure of an apparatus for selecting content based on content diversity is shown;
[0105] Figure 9 According to some embodiments of this application, a hardware structure block diagram of a method for determining content diversity based on sliding spectral decomposition is shown. Detailed Implementation
[0106] The illustrative embodiments of this application include, but are not limited to, a method, apparatus, and device for determining content diversity based on sliding spectrum decomposition.
[0107] It is understood that the method for determining content diversity based on sliding spectral decomposition provided in this application can be implemented on various electronic devices, including but not limited to servers, distributed server clusters consisting of multiple servers, mobile phones, tablets, laptops, desktop computers, wearable devices, head-mounted displays, mobile email devices, portable game consoles, portable music players, e-readers, personal digital assistants, virtual reality or augmented reality devices, and televisions, etc., in which one or more processors are embedded or coupled.
[0108] It is understood that in the various embodiments of this application, the processor may be a microprocessor, a digital signal processor, a microcontroller, etc., and / or any combination thereof. According to another aspect, the processor may be a single-core processor, a multi-core processor, etc., and / or any combination thereof.
[0109] The inventive concept of the embodiments of this application will be briefly introduced below.
[0110] Currently, diversity considerations in personalized recommendation systems mainly focus on two aspects: aggregation and individual. Aggregation considers the diversity among all users, aiming to improve the coverage of the recommender, i.e., reflecting "a thousand people, a thousand faces." Individual considerations focus on the diversity of recommendations for a single user, aiming to make the recommended categories more diverse based on the user's interests. In recent years, representative methods in the industry for diversity optimization strategies during the re-ranking stage include: Maximal Marginal Relevance (MRR), Determinantal Point Process (DPP) for recommendations from Google, YouTube, and Hulu, Transformer-based PRM proposed by Alibaba, and SlateQ, a reinforcement learning-based model proposed by Google and YouTube. Among these, DPP is the most representative, and this application uses DPP as the basis for comparative experiments. DPP is a probabilistic framework that was first introduced to describe the distribution in thermal equilibrium, representing it as the determinant of some functions. Existing technologies propose using fast greedy algorithms to solve the computational complexity problem of DPP. To improve efficiency in practice, sliding windows play a key role in these methods. In the greedy inference process using sliding windows, the content outside the sliding window is ignored. While the content currently viewed in the window has the most direct impact on the user's perception of diversity, content outside the sliding window that the user has already viewed still has a lasting impact on the user's perception due to user memory. Existing sliding window-based diversity methods ignore content outside the window and therefore do not fully capture the user's perception of diversity. Although increasing the size of the sliding window can solve this problem, it still increases computation time and practically hinders deployment in production systems with very strict wait time requirements. In view of this, embodiments of this application provide a method for determining content diversity based on sliding spectral decomposition, in which: N candidate contents and spatial representation vectors of the N candidate contents are determined; the vector corresponding to the content with the highest relevance to the user is selected from the N vectors as a reference vector; based on the reference vector, T-1 vectors are selected from the N-1 vectors other than the reference vector according to the magnitude of the diversity value of the vectors.
[0111] This application discloses a method for determining content diversity based on sliding spectral decomposition. It considers that, from the perspective of individual users, diversified recommendations typically transform into an optimization problem balancing relevance and diversity. The method thoroughly studies this problem and proposes a solution that addresses it by modeling the recommendation sequence as a time series observed by the user. By utilizing time series analysis techniques and considering multiple sliding windows to simulate the diversity of the entire sequence, it presents an optimal trade-off between achieving recommendation similarity and diversity. This method for determining content diversity based on sliding spectral decomposition is termed SSD (Sliding Spectrum Decomposition). Figure 1 According to some embodiments of this application, a schematic diagram illustrating the growth of the average content sequence length browsed by users over the past 1.5 years is shown, such as... Figure 1 As shown, in the past 1.5 years, the average length of the content sequence recommended by the application viewed by the user based on the method for determining content diversity based on sliding spectral decomposition and the content ranking method disclosed in this application has increased by about 50%. That is, users now tend to view more content recommended by the application. Therefore, correctly using information from this content outside the window can better match the user's perception.
[0112] After introducing the inventive concept of the embodiments of this application, the following is a brief introduction to the application scenarios to which the technical solutions of the embodiments of this application can be applied. It should be noted that the application scenarios described below are only for illustrating the embodiments of this application and are not intended to limit it. In specific implementation, the technical solutions provided by the embodiments of this application can be flexibly applied according to actual needs.
[0113] The technical solutions provided in this application are applicable to common personalized information scenarios, such as recommendation systems, advertising push, content retrieval, and product recommendations. This application mainly uses the recommendation scenario of notes as an example for illustration. Notes can be notes on a platform that include at least one of the following multimedia content: text, images, videos, etc., used to record a user's thoughts or opinions on a specific topic. Figure 2 According to some embodiments of this application, a scenario diagram for determining content diversity based on sliding spectral decomposition is shown, such as... Figure 2As shown, using the sliding spectral decomposition-based method for determining content diversity and the content sorting method of this application, users can browse notes with high relevance and diversity. For example, the system analyzes a user profile based on information such as the user's love for food, owning a pet, having a profile picture of Namtso Lake, and enjoying reading. Using sliding spectral decomposition, the system determines content diversity and estimates that the user's interests include categories such as food, travel, reading, and pets. Based on the notes in the database, an initial screening is performed, resulting in 1000 notes. These notes are then scored based on relevance, and the top 100 notes with the highest scores are selected. For each of these 100 notes, the relevance and diversity values are calculated for every 20 notes. The 20 notes with the highest sum are selected as recommended notes for the user. The diversity of these 20 notes is calculated using the sliding spectral decomposition-based method of this application, and they can be recommended to the user in a certain order. Optionally, the diversity can be displayed in formats such as "food, travel, reading, pets," "food, travel, reading, pets," or "food, travel, reading, pets."
[0114] The method embodiments provided in this application can be executed in the hardware involved in the implementation of this scenario. Figure 3 According to some embodiments of this application, a hardware structure block diagram of a method for determining content diversity based on sliding spectral decomposition is shown.
[0115] Terminal 101 can be a desktop terminal or a mobile terminal. A mobile terminal can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. Terminal 101 can have an application installed for browsing notes, such as a browser or client. The application involved in this application embodiment can be a software client, a webpage, a mini-program, etc. If the application is a webpage, mini-program, etc., the backend server is the backend server corresponding to the software, webpage, mini-program, etc., without limiting the specific type of client. Users can log in to the application to browse notes. While browsing notes, the method of this application embodiment can be used to determine recommended multimedia content for the user. This multimedia content can be displayed simultaneously on the notes interface or by swiping down the interface; the form is not limited to these. It should be noted that even if a user does not log in, the server corresponding to the client will generally identify the user, for example, through the terminal used by the user. Therefore, this identification can also be understood as the user's user.
[0116] Server 102 can be the backend server corresponding to the application installed on terminal 101. For example, it can be an independent physical server or a server cluster or distributed system composed of multiple servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms, but it is not limited to these.
[0117] Server 102 may include one or more processors 1021, memory 1022, and I / O interfaces 1023 for interacting with terminals. Furthermore, server 102 may be configured with a database 1024, which can be used to store user profiles, user-viewed notes, and multi-dimensional data such as text, images, and annotations of the notes. The memory 1022 of server 102 may also store program instructions for the method of determining content diversity based on sliding spectral decomposition provided in this application embodiment. When these program instructions are executed by processor 1021, they can be used to implement the steps of the method for determining content diversity based on sliding spectral decomposition provided in this application embodiment, to determine content to recommend to the user, and then push the content to the target user for distribution on terminal 101.
[0118] Terminal 101 and server 102 are connected via network 103. Network 103 may include one or more and may include various connection types, such as wired, wireless communication links, cloud or fiber optic cables, etc. Specific examples of the network mentioned above may include the Internet provided by the communication provider of terminal 101.
[0119] First, the processor 1021 reads the notes currently viewed by the user, which are stored in the database 1024 corresponding to the terminal 101, through the I / O interface 1023 that interacts with the terminal 101. Next, the memory 1022 executes the stored program instructions of the method for determining content diversity based on sliding spectral decomposition, determines the second content, and pushes it to the terminal 101 through the I / O interface 1023 that interacts with the terminal, and displays it to the user.
[0120] The following describes in detail, based on some embodiments of this application, the application of... Figure 3 The hardware shown is based on a sliding spectral decomposition-based technical solution for determining content diversity.
[0121] Processor 1021 receives user information from terminal 101 via I / O interface 1023. Based on user profile estimation, it identifies N candidate notes (as instances of N candidate content) from database 1024 that the user might be interested in and that are highly relevant to the user. Next, the N candidate notes are represented as corresponding spatial vectors. The vector corresponding to the note with the highest user relevance is selected as the baseline vector from the N vectors. Then, based on the baseline vector, T-1 vectors are selected from the remaining N-1 vectors according to their diversity values. Including the baseline vector, a total of T vectors are selected. The T notes corresponding to these T vectors are then recommended to the user. Here, the diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. A larger volume results in a larger diversity value, indicating that the T content items involve more and more user-related categories, making them more comprehensive. The technical solution in this application studies the recommendation diversity problem from the perspective of content sequence by using time series analysis technology and incorporating content outside the sliding window, thus considering the diversity of the entire item sequence. Compared to existing technologies, the technical solution in this application better captures users' perception of diversity in long-sequence scenarios, transforms the practical problem into a mathematical problem of maximizing optimization, and proposes a greedy reasoning method to solve this problem. It constructs an objective combining relevance and diversity, selecting T items from N vectors to maximize this objective. This allows for solving the sliding spectral decomposition in a shorter time, enabling rapid implementation of the sliding spectral decomposition method, making it computationally more efficient, reducing time and space complexity, and significantly improving efficiency. Compared to DPP, SSD significantly improves the diversity and similarity of recommendation results. Furthermore, it reduces latency by 7ms at the 99th percentile (P99) and achieves an unexpected technical effect of reducing relative memory requirements by 27%.
[0122] Figure 4 According to some embodiments of this application, a flowchart of a method for determining content diversity based on sliding spectral decomposition is shown. Figure 4 As shown, in some embodiments, the method may include:
[0123] Step 401: Determine N candidate notes and the spatial representation vectors of the N candidate notes.
[0124] Specifically, in step 401, in some embodiments, N candidate notes are determined from the notes available in database 1024. Specifically, the system determines N candidate notes based on user profiles, estimating notes that the user might be interested in and that are highly relevant to the user. Specifically, it can be assumed that N = 100, that is, 100 notes from different categories that the user might be interested in are determined, and the spatial representation vectors {v1, v2, ..., v...} of these 100 notes are determined for each note.t , ..., v 100}
[0125] Step 402: Select one vector from the N vectors as the reference vector.
[0126] Specifically, in step 402, the first note is selected from the 100 notes. Since it is the first note, there is no need to consider the issue of diversity. Therefore, the selection of the first note can be based on any standard. It can be random or determined based on a preset standard related to the application scenario. The selected note is used as the baseline content, and the vector corresponding to the baseline content is used as the baseline vector.
[0127] As a preferred embodiment, relevant content is determined based on user profiles. Machine learning methods such as logistic regression, factorization, and deep neural network models are used to sample notes searched or clicked by the user, and the system estimates the user's performance after the note is pushed to the user, providing a rating r. i Rating r i The evaluation comprehensively considers factors such as user viewing time, click-through rate, interaction count (likes, favorites, following the author, etc.), and user search content. Specifically, each of the 100 notes is rated, and the note with the highest rating is selected as the first note, with its corresponding vector serving as the baseline vector. This rating does not distinguish between specific note categories but rather reflects the overall relevance to the user. Specifically, the larger the inner product of the vectors vi of any two notes, the higher the relevance, as shown in the following formula:
[0128]
[0129] Where t represents the t-th content among the T contents; This represents the relevance score of the t-th item among the T items.
[0130] Step 403: Based on the reference vector, for the N-1 vectors other than the reference vector, calculate the magnitude of the diversity value of each vector. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector.
[0131] Specifically, in step 403, the volume is calculated as the product of the area of the hyperplane as the base and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane. Figure 5 According to some embodiments of this application, a geometrical schematic diagram of the volume size is shown; such as Figure 5As shown, taking volume calculation in two-dimensional space as an example, the volume size is actually the area of the parallelogram formed by the reference vectors v1 and v2. Specifically, the magnitude of the component of the current vector in the perpendicular direction relative to the hyperplane can be represented as the value of the orthogonal height of vector v2 relative to vector v1, which is retained, while the value of the overlapping part of vector v2 relative to the projection direction of vector v1 is discarded.
[0132] In this application, the diverse feed recommendation problem is formulated as a maximum optimization problem. Optimizing diversity is a combinatorial tensor decomposition problem and has been proven to be NP-hard. The technical solution in this application provides a fast greedy reasoning method to solve efficient reasoning problems in practice.
[0133] At step t of the greedy reasoning method, the previous t-1 notes have been selected, and we need to select from the candidate set Z\I. p:q Choose one note that expresses diversity, where I p:q Represents {i p i p+1 , ..., i q-1}
[0134] When the current note displayed to the user has not yet left the sliding window, i.e., t ≤ w. When t = 1, it is only necessary to calculate and select the note with the highest relevance to the user as the baseline note based on relevance. In this application, the cumulative product of singular values representing diversity is represented as volume in geometry. Therefore, the actual value of each singular value is not needed; only the cumulative product, i.e., the volume, is relevant. When t = 2, when selecting candidate content v... j At this point, the volume is determined by i1 and j:||v i1 ||||v j sin(v i1 ,v j The area of the parallelogram spanned by || is the sum of the areas of the parallelograms, where ||·|| represents the L2 norm, and v j sin(v i1 ,v j Actually, it's v ik The orthogonalization result, using This means that for v i1 To put it another way:
[0135]
[0136] The projection of j onto i1 is taken from v j Remove from the middle, only keep the part perpendicular to v. i1 Components in direction.
[0137] When t=3, the volume of the corresponding parallelepiped can also be calculated through orthogonalization of candidate vectors, but relative to vi1 and Generally, this orthogonalization is Gram-Schmidt orthogonalization, as shown in the following equation:
[0138]
[0139] Where Ip:q represents {ip, ip+1, ..., iq-1}. v represents orthogonalization ik , The result of orthogonalization is represented. In particular, when there is no sliding window, we can reuse the orthogonalization result of the candidate notes, which is equivalent to modified Gram-Schmidt (MGS). Based on this, the greedy reasoning method in this application has only O(NTd) time complexity and an additional O(1) space complexity, which greatly improves the computational efficiency.
[0140] When the current note displayed to the user exceeds the sliding window (i.e., t > w), multiple sliding windows need to be considered. We first consider t = w + 1. One possible approach following the previous strategy is to orthogonalize I starting from i2. 2:w+1 However, this approach completely ignores note i1 and the first sliding window, which contradicts the SSD principle of measuring overall diversity by combining multiple windows. Therefore, we perform MGS in the current window while preserving the orthogonalization results of all selected notes, so that the current window inherits information from previous windows. Thus, at time step t, greedy inference considers the following objective:
[0141]
[0142] Where l = max(1, t-w+1). Compared to the case without a sliding window, additional restoration operations are required. For example, in time step t+1, Z\I needs to be... 1:t The remaining candidate objects are restored to their projections onto i1. These restoration operations require a time complexity of O(NTd) and an additional space complexity of O(wN) to store these projections. Therefore, the total time complexity remains O(NTd). To further accelerate the practical implementation, circular queue techniques can be applied to reduce memory copies.
[0143] In some embodiments, the greedy reasoning method yields a vector each time, and the process is repeated T times to obtain T vectors. The T notes corresponding to these T vectors are then recommended to the user.
[0144] Through offline simulations and online analysis, we identified two techniques that can further improve performance. 1) In practice, relevance is often trained to regress the combined value of multiple business objectives, such as engagement and watch time. Users typically have different value ranges, leading to inconsistent tradeoffs for a fixed w. The ideal solution is to make the value of w dependent on the user. Furthermore, the standardized normalized quality scores of all candidate content work well in a single request. 2) We observed that during greedy inference, diversity values decrease faster than relevance values when user interests are concentrated. These significantly different trends introduce stability issues with the tradeoff coefficients. Using the following approximate objective significantly improves stability in practice:
[0145]
[0146] In SSD, Equation 5 in the orthogonalization of item I l:t Information from the previous window can be inherited. We call this method SSD*, which makes the SSD more stable in terms of the coefficient γ and further improves the performance of the SSD in subsequent online tests.
[0147] In some embodiments, the size w of the sliding window is less than or equal to the size of a given T notes. Specifically, the concept of a sliding window is proposed to better and more precisely capture the user's perception. When the size of the sliding window is larger than the size of the notes to be displayed to the user, all T notes can be displayed at once, and the existence of the sliding window is meaningless.
[0148] In some embodiments, the sliding window slides m items across T notes at a time, where 1 ≤ m ≤ w. Specifically, assuming w = 5, m = 3, meaning the first sliding window contains notes 12345 and the second sliding window contains notes 45678, ensuring that no notes are missed between any two adjacent sliding windows. This guarantees that at least one sliding window covers all 20 notes, thus fully considering all content outside the sliding window.
[0149] In some embodiments, determining a sliding window of size w based on the display size of the electronic device includes: using the number of contents that the electronic device's display screen can show as the size w of the sliding window; or using the number of contents that the electronic device's display screen can show as a basis, and expanding it by a predetermined amount as the size w of the sliding window. Specifically, firstly, the size w of the sliding window is usually no greater than T contents. Specifically, assuming w = 5, that is, sliding over 20 contents at a time results in 5 contents being displayed. The determination of the sliding window size depends on the product's design style. Specifically, for example, a product is designed with 3 windows, each window being 8 in size, meaning that regardless of the size change, each window will display 8 contents. Shrinking the display screen will only reduce the size of each content, not the number of contents displayed. Additionally, the product's design style can also refer to "user habits," for example, based on user research, men can view x contents at a time, while women can view y contents. The values of x and y can be personalized. In other words, the product's design style represents the number of notes that a user can browse or perceive. To determine the size of the sliding window, the number of notes that the electronic device's display screen can show (assuming the content has a standard size) is the baseline. According to this application, the size of the sliding window can be directly equal to the number of notes that the electronic device's display screen can show. In other embodiments, considering that the number of contents that a user can perceive can be in addition to what is currently displayed on the screen, it can also be a certain number of contents forward or backward, such as the user's viewing angle, if we assume the window size is 5, when the user sees the 6th note, they will not forget the first note. That is, the number of notes that the user can perceive is not necessarily related to the product's design style. Therefore, the size w of the sliding window is usually not limited to the product's design style, and can also be determined according to the number of notes that the user can browse or perceive.
[0150] In some embodiments, Z pieces of content are selected based on user profiles, and N candidate pieces of content relevant to the user are obtained from these Z pieces of content by ranking them according to relevance. Specifically, based on user profiles, the processor performs preliminary screening within the system. Specifically, 1000 notes may be selected based on user profiles, where the user profile can be derived from the following information: registration information, avatar, personal information, etc. Machine learning methods such as logistic regression, factorization basis, and deep neural network models are used to sample notes that the user has searched or clicked, and the system estimates the user's performance after pushing Z notes to the user, giving a score r. i Rating r iThe evaluation comprehensively considers factors such as the time users spend viewing a note, click-through rate, number of interactions (likes, favorites, following the author, etc.), and the content searched by users. Specifically, assuming 100 notes are selected from 1000 notes, each of the 1000 notes is rated, and the top 100 notes with the highest ratings are selected as candidate notes. This rating does not distinguish between specific note categories, but rather their overall relevance to the user; specifically, the larger the inner product of the vectors vi of any two notes, the higher the relevance.
[0151] In some embodiments, the T content items with the highest sum of relevance and diversity among the N candidate content items are selected and ranked. Specifically, to comprehensively measure relevance and diversity, this application proposes to directly sum them, as shown in the following formula:
[0152]
[0153] Where ||·|| represents the L2 norm, and V represents the current vector v. j The corresponding volume size. From the N candidate contents, the T contents that represent the optimal solution considering both relevance and diversity are selected, ranked, and recommended to the user.
[0154] The technical solution in this application studies the diversity problem of recommendations from the perspective of content sequence by using time series analysis technology and combining it with content outside the sliding window, thus considering the diversity of the entire item sequence. Compared with the prior art, the technical solution in this application better captures the user's perception of diversity in long sequence scenarios, transforms the practical problem into a mathematical problem of maximizing optimization, and proposes a greedy reasoning method to solve the problem. It constructs an objective that combines relevance and diversity, selects T content items from N vectors to maximize the objective, and can solve the sliding spectral decomposition in a short time, making the sliding spectral decomposition method quick to implement, more computationally efficient, reducing time and space complexity, and greatly improving efficiency. Compared with DPP, SSD significantly improves the diversity and similarity of recommendation results. Furthermore, it reduces latency by 7ms at the 99th percentile (P99) and achieves an unexpected technical effect of reducing relative memory requirements by 27%.
[0155] According to a second embodiment of this application, based on the method for determining the diversity of content relative to baseline content explained in the above embodiments, a method for recommending content to users based on content diversity is provided, such as... Figure 6 As shown, the method 600 includes:
[0156] Step 601: Determine N candidate contents and the spatial representation vector of the N candidate contents;
[0157] Step 602: Select the vector corresponding to the content with the highest relevance to the user from the N vectors as the reference vector; as a specific example, the note with the highest relevance to the user can be selected as the reference content, and the vector corresponding to the reference content can be used as the reference vector. This allows for content recommendation within the scope of user relevance, achieving a higher level of accuracy.
[0158] Step 603: Based on the reference vector, select T-1 vectors from the N-1 vectors other than the reference vector according to the magnitude of the diversity value of the vectors. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value.
[0159] Step 604 selects the contents corresponding to the T-1 vectors as the selected contents.
[0160] To verify the above technical effects, we also conducted extensive experimental verification. Existing technologies propose a fast greedy reasoning algorithm for DPP, which requires a kernel matrix k. For large-scale recommendation systems, offline pre-computation of k with dense item embeddings is impractical. In online service, k requires O(N²d) time complexity and an additional O(N²) space complexity. Without a sliding window, SSD returns the same results as DPP, but k is unnecessary in our proposed greedy reasoning algorithm. Furthermore, in the case of a sliding window, we only need to orthogonalize the last selected content, making the time complexity independent of the sliding window size w. Table 1 summarizes the complexity comparison between DPP and SSD. As can be seen from Table 1, under greedy reasoning, SSD has lower time and space complexity than DPP, thus making the computation more efficient.
[0161] Table 1
[0162]
[0163] Next, we also conducted an online A / B test comparison between SSD and SSD*. In this subsection, we will present our online A / B test results for SSD and SSD*. The number of notes considered was N = 700, and the number of returned notes was T = 80. The appropriate value of the window size w generally depends on the application. In our settings, w will not exceed a few times the maximum number of notes that the screen can hold, and is selected from {8, 10, 12, 15, 20}. In this experiment, we used grid search to find the optimal window size w and coefficient γ for DPP, SSD, and SSD* respectively. Only the best performance of these methods is compared and shown here.
[0164] For the control group, we randomly selected 10% of users of a certain application and applied the DPP greedy inference method. For each experimental group, we randomly selected 10% of users and applied the SSD or SSD* method. DPP, SSD, and SSD* used the same content embeddings in all online experiments to maintain consistency of initial parameters. We used four metrics to measure online performance: user-feed browsing time, number of user interactions, the intra-list average distance (ILAD), and the mean readtaxonomies (MRT). ILAD and MRT are defined by the following formulas:
[0165]
[0166]
[0167] Where U represents all users, Imp u Clk represents the collection of all notes recommended to user u. u Let S(i,j) represent the set of all notes clicked by user u, where S(i,j) represents the similarity between note i and note j, and T(·) represents mapping the note to its corresponding category. ILAD measures diversity using the average pairwise difference between notes viewed by the user. MRT describes diversity using the average number of note categories clicked by the user. Both are commonly used diversity metrics in industry recommendation systems. The average results of the online A / B test over a 7-day experimental period are shown in Table 2. SSD significantly improves the diversity and similarity of recommendation results compared to DPP. Furthermore, SSD reduces latency by 7ms at the 99th percentile (P99) and reduces relative memory requirements by 27%, and SSD* further improves the overall performance of SSD.
[0168] Table 2
[0169]
[0170] According to some embodiments of this application, an apparatus 700 for determining content diversity based on sliding spectral decomposition is provided, such as... Figure 7 As shown, the apparatus 700 for determining content diversity based on sliding spectral decomposition is as follows:
[0171] Module 701: Determines N candidate contents and the spatial representation vectors of the N contents;
[0172] Processing module 702: Selects a reference vector from the N vectors based on a preset standard;
[0173] Calculation module 703: Based on the reference vector, for N-1 vectors other than the reference vector, calculate the magnitude of the diversity value of each vector. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector.
[0174] The first embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the first embodiment. The relevant technical details mentioned in the first embodiment are still valid in this embodiment, and will not be repeated here to reduce repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the first embodiment.
[0175] According to some embodiments of this application, an apparatus 800 is provided for selecting content based on content diversity, such as... Figure 8 As shown, the device 800 includes:
[0176] Module 801: Determines N candidate contents and their spatial representation vectors;
[0177] Processing module 802: Selects the vector corresponding to the content with the highest relevance to the user from N vectors as the reference vector;
[0178] Calculation module 803: Based on the reference vector, select T-1 vectors from N-1 vectors other than the reference vector, according to the magnitude of the vector diversity value. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value; and
[0179] Select module 804: Select the contents corresponding to T-1 vectors as the selected contents.
[0180] The second embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the second embodiment. The relevant technical details mentioned in the second embodiment are still valid in this embodiment, and will not be repeated here to avoid repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the second embodiment.
[0181] The fifth embodiment of this application relates to a device 901 for determining content diversity based on sliding spectral decomposition, comprising:
[0182] Memory 9011 is used to store instructions executed by one or more processors of the system, and
[0183] Processor 9012 is one of the processors in the system, used to execute the instructions to implement any of the possible methods of the first embodiment described above.
[0184] The first embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the first embodiment. The relevant technical details mentioned in the first embodiment are still valid in this embodiment, and will not be repeated here to reduce repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the first embodiment.
[0185] Specifically, such as Figure 9 As shown, device 901 may include one or more (only one is shown in the figure) memories 9011 and processor 9012 (processor 9012 may include, but is not limited to, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a microprocessor (MCU), or a programmable logic device (FPGA)). This application embodiment does not limit the specific connection medium between the memory 9011 and the processor 9012. This application embodiment... Figure 9 The memory 9011 and the processor 9012 are connected via a bus 9013, which is in... Figure 9 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus 9013 can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 9 The bus is represented by a single thick line, but this does not imply that there is only one bus or one type of bus. Those skilled in the art will understand that... Figure 9 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, device 901 may also include a... Figure 9 The more or fewer components shown, or having the same Figure 9 The different configurations shown.
[0186] The processor 9012 executes various functional applications and data processing by running software programs and modules stored in the memory 9011, thereby realizing the above-mentioned method for determining content diversity based on sliding spectral decomposition.
[0187] Memory 9011 may be used to store program instructions / modules corresponding to the method for determining content diversity based on sliding spectral decomposition, as described in some embodiments of this application, executed by processor 9012. Memory 9011 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, memory 9011 may further include memory remotely located relative to processor 9012, and these remote memories may be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0188] The sixth embodiment of this application relates to a device for selecting content based on content diversity, comprising:
[0189] Memory is used to store instructions executed by one or more processors of the system, and
[0190] The processor is one of the processors in the system, used to execute the instructions to implement any of the possible methods of the second embodiment described above.
[0191] The second embodiment is a method embodiment corresponding to this embodiment, and this embodiment can be implemented in conjunction with the second embodiment. The relevant technical details mentioned in the second embodiment are still valid in this embodiment, and will not be repeated here to avoid repetition. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied to the second embodiment.
[0192] The seventh embodiment of this application relates to a computer storage medium encoded with a computer program, wherein the computer-readable medium stores instructions that, when executed on a computer, enable the computer to perform any of the possible methods of the first embodiment described above.
[0193] The eighth embodiment of this application relates to a computer storage medium encoded with a computer program, wherein instructions are stored on the computer-readable medium, which, when executed on a computer, can cause the computer to perform any of the possible methods of the second embodiment described above.
[0194] It should be noted that all method embodiments of this application can be implemented in software, hardware, firmware, etc. Regardless of whether this application is implemented in software, hardware, or firmware, the instruction code can be stored in any type of computer-accessible memory (e.g., permanent or modifiable, volatile or non-volatile, solid-state or non-solid-state, fixed or replaceable media, etc.). Similarly, the memory can be, for example, a Programmable Array Logic (PAL), Random Access Memory (RAM), Programmable Read Only Memory (PROM), Read-Only Memory (ROM), Electrically Erasable Programmable ROM (EEPROM), a magnetic disk, an optical disk, a Digital Versatile Disc (DVD), etc.
[0195] It should be noted that all units / modules mentioned in the device embodiments of this application are logical units / modules. Physically, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. The physical implementation of these logical units is not the most important factor; rather, the combination of functions implemented by these logical units is the key to solving the technical problem proposed in this application. Furthermore, to highlight the innovative aspects of this application, the above device embodiments have not introduced units that are not closely related to solving the technical problem proposed in this application. This does not mean that the above device embodiments do not contain other units.
[0196] It should be noted that in the claims and specification of this patent, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0197] Although this application has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art should understand that various changes in form and detail may be made thereto without departing from the spirit and scope of this application.
Claims
1. A method for determining content diversity based on sliding spectral decomposition, used in electronic devices, characterized in that, The method includes: Determine N candidate contents and their spatial representation vectors; Select a reference vector from the N vectors based on a preset standard; Based on the reference vector, for N-1 vectors other than the reference vector, the magnitude of the diversity value of each vector is calculated. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector. A sliding window of size w is determined based on the display size of the electronic device; When the current note displayed to the user exceeds the sliding window (i.e., t > w), the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits information from the previous sliding window, as shown in the following equation: ; Where l = max(1, t - w + m), t represents the t-th vector among the N vectors, m represents the step size of each sliding window movement, and I 1:t Represents {i1,i2,…,i t-1 }, i represents the content, Z\I 1:t Denotes the candidate set, r j This represents the relevance score of content j in the candidate set. v represents orthogonalization i v i This represents a vector, where γ is the coefficient. , represents the result of orthogonalization calculation, and ||·|| represents the L2 norm.
2. The method according to claim 1, characterized in that, The volume is the product of the area of the hyperplane as a base and the magnitude of the component of the current vector in the vertical direction relative to the hyperplane.
3. The method according to claim 1, characterized in that, When the current note displayed to the user has not yet left the sliding window, i.e., t≤w, the volume corresponding to the selected T-1 vectors from the N-1 vectors is obtained by orthogonalizing the current vector, as shown in the following formula: ; Where t represents the t-th vector among the N vectors, I p:q Represents {i p i p+1 ,…,i q-1 }, where ik represents the k-th iteration, ik∈{1,2,…,t,…,N}, This represents the vector selected after the k-th iteration. Orthogonalization , , representing the result of orthogonalization calculation.
4. The method according to claim 1, characterized in that, w≤T.
5. The method according to claim 1, characterized in that, Determining a sliding window of size w based on the display size of the electronic device includes: The size w of the sliding window is determined by the amount of content that the display screen of the electronic device can show; or The size w of the sliding window is determined by expanding the number of contents that the display screen of the electronic device can display by a predetermined margin.
6. The method according to claim 1, characterized in that, Determine N candidate contents, including: Select Z pieces of content based on user profile; From the Z content items, sort them according to relevance to obtain N candidate content items that are relevant to the user.
7. The method according to claim 1, characterized in that, The method further includes: selecting the T items with the largest sum of relevance and diversity among the N candidate items, and sorting them as shown in the following formula: V; Where ||·|| represents the L2 norm, and V represents the current vector. The corresponding volume size, Z represents the Z selected contents, and t represents the t-th content among the T contents. This represents the relevance score of the t-th item among the T items.
8. A method for selecting content based on content diversity, used in electronic devices, characterized in that, The method includes: Determine N candidate contents and their spatial representation vectors; Select the vector corresponding to the content most relevant to the user from the N vectors as the reference vector; Based on the reference vector, from the N-1 vectors other than the reference vector, T-1 vectors are selected according to the magnitude of the diversity value of the vectors, where the diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value; and The contents corresponding to the T-1 vectors are selected as the contents; A sliding window of size w is determined based on the display size of the electronic device; When the current note displayed to the user exceeds the sliding window (i.e., t > w), the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits information from the previous sliding window, as shown in the following equation: ; Where l = max(1, t - w + m), t represents the t-th vector among the N vectors, m represents the step size of each sliding window movement, and I 1:t Represents {i1,i2,…,i t-1 }, i represents the content, Z\I 1:t Denotes the candidate set, r j This represents the relevance score of content j in the candidate set. v represents orthogonalization i v i This represents a vector, where γ is the coefficient. , represents the result of orthogonalization calculation, and ||·|| represents the L2 norm.
9. The method according to claim 8, characterized in that, From the N vectors, select the vector corresponding to the content most relevant to the user as the reference vector, including: According to preset rules, each of the N candidate contents is scored to obtain a relevance score between the content and the user. The content with the highest relevance score is then selected as the content with the highest relevance score, and the vector corresponding to the content with the highest relevance score is chosen as the baseline vector, as shown in the following formula: ; Where t represents the t-th content among T content items; This represents the relevance score of the t-th item among the T items.
10. A device for determining content diversity based on sliding spectral decomposition, used in electronic devices, characterized in that, The device includes: Determination module: Determines N candidate contents and the spatial representation vector of the N candidate contents; Processing module: Selects a reference vector from the N vectors based on a preset standard; Calculation module: Based on the reference vector, for N-1 vectors other than the reference vector, calculate the magnitude of the diversity value of each vector. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vector. The magnitude of the diversity value is used to represent the diversity of the current candidate content corresponding to the current vector. A sliding window of size w is determined based on the display size of the electronic device; When the current note displayed to the user exceeds the sliding window (i.e., t > w), the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits information from the previous sliding window, as shown in the following equation: ; Where l = max(1, t - w + m), t represents the t-th vector among the N vectors, m represents the step size of each sliding window movement, and I 1:t Represents {i1,i2,…,i t-1 }, i represents the content, Z\I 1:t Denotes the candidate set, r j This represents the relevance score of content j in the candidate set. v represents orthogonalization i v i This represents a vector, where γ is the coefficient. , represents the result of orthogonalization calculation, and ||·|| represents the L2 norm.
11. A device for determining content diversity based on sliding spectral decomposition, characterized in that, include: Memory is used to store instructions executed by one or more processors of the system, and The processor, one of the processors in the system, is used to execute the instructions to implement the method for determining content diversity based on sliding spectral decomposition as described in any one of claims 1-7.
12. A computer-readable storage medium encoded using a computer program, characterized in that, The computer-readable medium stores instructions that, when executed on a computer, cause the computer to perform the method for determining content diversity based on sliding spectral decomposition as described in any one of claims 1-7.
13. A device for selecting content based on content diversity, used in an electronic device, characterized in that, The device includes: Determination module: Determines N candidate contents and the spatial representation vector of the N candidate contents; Processing module: Selects the vector corresponding to the content most relevant to the user from the N vectors as the reference vector; Calculation module: Based on the reference vector, select T-1 vectors from N-1 vectors other than the reference vector according to the magnitude of the diversity value of the vectors. The diversity value refers to the volume of the hyperplane formed by the current vector relative to the previously determined vectors; the volume is proportional to the magnitude of the diversity value. Selected module: The content corresponding to the T-1 vectors is selected; A sliding window of size w is determined based on the display size of the electronic device; When the current note displayed to the user exceeds the sliding window (i.e., t > w), the w vectors within the sliding window are orthogonalized, while retaining the orthogonalization results of all previously orthogonalized vectors, so that the current sliding window inherits information from the previous sliding window, as shown in the following equation: ; Where l = max(1, t - w + m), t represents the t-th vector among the N vectors, m represents the step size of each sliding window movement, and I 1:t Represents {i1,i2,…,i t-1 }, i represents the content, Z\I 1:t Denotes the candidate set, r j This represents the relevance score of content j in the candidate set. v represents orthogonalization i v i This represents a vector, where γ is the coefficient. , represents the result of orthogonalization calculation, and ||·|| represents the L2 norm.
14. A device for selecting content based on content diversity, characterized in that, include: Memory is used to store instructions executed by one or more processors of the system, and The processor, one of the processors in the system, is used to execute the instructions to implement the method for selecting content based on content diversity as described in any one of claims 8-9.
15. A computer-readable storage medium encoded using a computer program, characterized in that, The computer-readable medium stores instructions that, when executed on a computer, cause the computer to perform the method for selecting content based on content diversity as described in any one of claims 8-9.
Citation Information
Patent Citations
Content recommendation method and device, storage medium and computer equipment
CN110263244A
Artificial intelligence system for balancing relevance and diversity of network-accessible content
US11004135B1