A song recommendation method, a song recommendation device, and a storage medium
By acquiring and integrating user listening behavior data and clustering information from music software, a target listening behavior vector is generated, which solves the problem of inaccurate song recommendation models for low-activity users and achieves song recommendations that are more in line with user preferences.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT MUSIC ENTERTAINMENT TECH (SHENZHEN) CO LTD
- Filing Date
- 2023-06-06
- Publication Date
- 2026-07-24
AI Technical Summary
Existing music software lacks sufficient samples of listening behavior from low-activity users when recommending songs, making it difficult for song recommendation models to accurately match user preferences.
By acquiring user listening behavior data in the target music module and clustering listening behavior in preset music modules, feature fusion is performed to generate a target listening behavior vector, and songs that match user preferences are recommended.
It improves the accuracy of song recommendations, making the recommended songs more in line with users' listening preferences.
Smart Images

Figure CN116541552B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing technology, and in particular to a song recommendation method, a song recommendation device, and a storage medium. Background Technology
[0002] Existing music software typically includes song recommendation features in its music modules, such as playlists, personalized radio stations, or favorites. When a user accesses a music module on their device, the module recommends songs. These recommendations generally rely on a built-in song recommendation model. This model uses samples of the user's listening behavior within the module to learn their listening preferences, predicting and recommending songs based on those preferences.
[0003] However, during the training process, the song recommendation model of the music module often requires a large number of user listening behavior samples. However, users may use some music modules in music software less frequently, meaning that the user is a low-activity user in these music modules and generates fewer listening behavior samples in these music modules. This can easily lead to insufficient feature training in the song recommendation model of the music module, making it difficult for these music modules to recommend songs to users in accordance with their preferences. Summary of the Invention
[0004] This application provides a song recommendation method, a song recommendation device, and a storage medium, which can better match user preferences when recommending songs to users in a target music module.
[0005] This application provides a song recommendation method, including:
[0006] The system acquires user listening behavior data in the target music module and listening behavior clusters corresponding to the preset music module. The listening behavior data in the preset music module is greater than the listening behavior data in the target music module. The listening behavior clusters are obtained by clustering the listening behavior data in the preset music module, and each cluster has a corresponding clustering vector.
[0007] Determine the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster;
[0008] The feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster are fused to obtain the target listening behavior vector corresponding to the user.
[0009] The songs corresponding to the target listening behavior vector are recommended to the user in the target music module.
[0010] Furthermore, the target listening behavior data includes: the positive feedback song sequence corresponding to the user, wherein the positive feedback song sequence includes song information corresponding to the listening behavior;
[0011] The step of determining the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster includes:
[0012] Obtain the first feature vector corresponding to the positive feedback song sequence;
[0013] Compare the vector similarity between the first feature vector and the clustering vector corresponding to the music listening behavior cluster;
[0014] Based on the comparison results, multiple first clusters corresponding to the positive feedback song sequence are determined in the music listening behavior cluster, and the multiple first clusters are used as the target music listening behavior cluster.
[0015] Furthermore, the step of fusing the feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior clustering to obtain the target listening behavior vector corresponding to the user includes:
[0016] The feature vectors corresponding to multiple first clusters are weighted and summed to obtain the cluster vector corresponding to the target music listening behavior cluster;
[0017] The user identifier vector, the first feature vector, and the clustering vector corresponding to the target music listening behavior cluster are fused to obtain the target music listening behavior vector corresponding to the user.
[0018] Furthermore, recommending the song corresponding to the target listening behavior vector to the user in the target music module includes:
[0019] Extract the target positive feedback song sequence from the target listening behavior vector;
[0020] Based on the target positive feedback song sequence, songs are recommended to the user in the target music module.
[0021] Furthermore, the song information includes: the number of times a song of a preset type has been completed, the number of times the song has been added to favorites, and the song's playback duration.
[0022] Furthermore, the target listening behavior data includes: the user's user attribute characteristics and the positive feedback song sequence corresponding to the user, wherein the positive feedback song sequence includes song information corresponding to the listening behavior;
[0023] The step of determining the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster includes:
[0024] The feature vector corresponding to the user attribute features is fused with the feature vector corresponding to the positive feedback song sequence to obtain the target feature vector corresponding to the target listening behavior data.
[0025] The target music listening behavior cluster is determined based on the vector similarity between the target feature vector and the cluster vector corresponding to the music listening behavior cluster.
[0026] Furthermore, the user attribute features include: user age, user gender, user city, and user terminal model.
[0027] Furthermore, the clustering of listening behaviors corresponding to the preset music module includes:
[0028] Obtain the second feature vector corresponding to the listening behavior data in the preset music module;
[0029] The second feature vector is clustered based on the vector similarity of the second feature vector to obtain a user clustering center table, and the corresponding clustering vector is determined based on the second feature vector in each cluster to obtain a clustering expression table. The user clustering center table and the clustering expression table are used as the listening behavior clusters corresponding to the preset music module.
[0030] This application embodiment also provides a song recommendation device, including:
[0031] Central processing unit, memory, and input / output interfaces;
[0032] The memory is either a short-term storage memory or a persistent storage memory;
[0033] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method described above.
[0034] This application also provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method described above.
[0035] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:
[0036] In this embodiment, target listening behavior data of a user in a target music module and listening behavior clusters corresponding to preset music modules are obtained. The amount of listening behavior in the preset music module is greater than that in the target music module. The listening behavior clusters are obtained by clustering the listening behavior data in the preset music module, and each cluster has a corresponding clustering vector. The target listening behavior cluster corresponding to the target listening behavior data is determined. The feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster are fused to obtain the target listening behavior vector corresponding to the user. The song corresponding to the target listening behavior vector is recommended to the user in the target music module. In this embodiment, based on the user's target listening behavior data in the target music module, the target listening behavior data is determined to correspond to a target listening behavior cluster in the preset music module. Songs are recommended in the target music module according to the target listening behavior cluster. By using the listening behavior cluster with a larger amount of listening behavior to recommend songs, more user listening behaviors are considered when recommending songs to the user in the target music module, and the recommended songs are more in line with the user's preferences. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0038] Figure 1 This is a communication network architecture diagram disclosed in an embodiment of this application;
[0039] Figure 2 This is a flowchart of a song recommendation process disclosed in an embodiment of this application;
[0040] Figure 3 This is a flowchart of a song recommendation process based on a positive feedback song sequence, as disclosed in an embodiment of this application.
[0041] Figure 4 A flowchart for another song recommendation disclosed in an embodiment of this application;
[0042] Figure 5 This is a structural diagram of a song recommendation model disclosed in an embodiment of this application;
[0043] Figure 6 This is a diagram of a song recommendation device disclosed in an embodiment of this application;
[0044] Figure 7 This is a diagram of another song recommendation device disclosed in an embodiment of this application. Detailed Implementation
[0045] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0046] In the description of the embodiments of this application, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing the embodiments of this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the embodiments of this application.
[0047] In the description of the embodiments of this application, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the embodiments of this application based on the specific circumstances.
[0048] Existing music software typically recommends songs to users as follows: Figure 1As shown, the song recommendation device 101 recommends songs to users within the music module 102 of the music software. It typically uses user listening behavior samples from this music module to train the device, allowing it to learn the user's listening preferences. When recommending songs, it predicts and recommends songs based on these preferences. The music module 102 can be a collection module, playlist module, or personalized radio module; specific details are not limited here. The song recommendation device 101 can connect to one or more music modules 102, recommending songs to users within these modules; however, when recommending songs to users within music modules 102, the device needs to use a large number of user listening behavior samples from those modules. Users may use some music modules 102 less frequently, resulting in fewer listening behavior samples. This can make it difficult for the device to accurately learn user listening behavior, and consequently, the song recommendation device 101 may not be able to match user preferences when recommending songs to users within these music modules 102. Therefore, this application provides a song recommendation method that can better match user preferences when recommending songs in the music module, such as... Figure 2 As shown, it specifically includes steps 201 to 204.
[0049] 201. Obtain user listening behavior data in the target music module and the listening behavior clusters corresponding to the preset music modules.
[0050] In this embodiment, the song recommendation device can acquire user listening behavior data in the target music module and listening behavior clusters corresponding to the preset music module. The amount of listening behavior in the preset music module is greater than that in the target music module. The corresponding listening behavior can be user actions such as clicking to play a song, adding a song to favorites, or searching for a song; specific actions are not limited here. It is understood that if a user listens to songs less frequently in the target music module, resulting in less listening behavior data, the user corresponding to the target music module can be considered a low-activity user. Conversely, if a user listens to songs more frequently in the preset music module, resulting in more listening behavior data, the user corresponding to the preset music module can be considered a high-activity user. The preset music module can be a personalized radio module, a playlist module, or a favorites module; specific actions are not limited here. Similarly, the target music module can also be a personalized radio module, a playlist module, or a favorites module; specific actions are not limited here. The music listening behavior clustering is achieved by clustering music listening behavior data within a preset music module. Each cluster has a corresponding clustering vector. This means that multiple music listening behavior data points from the preset music module can be collected and then clustered to obtain multiple clusters, each composed of multiple music listening behavior data points from the preset music module. Specifically, clustering involves dividing a dataset into different classes or clusters according to a specific criterion, maximizing the similarity of data objects within the same cluster. Partition-based clustering, density-based clustering, or hierarchical clustering methods can be used to cluster multiple music listening behavior data points; the specific method is not limited here. The clustering vector corresponding to each cluster represents the data characteristics of the music listening behavior data within that cluster.
[0051] The target music module and the preset music module can be located within the same music software. For example, the target music module could be the personalized radio module within the preset music software, and the preset music module could be the playlist module within the same preset music software. Alternatively, they can be located in different music software; there are no specific limitations here. Furthermore, the listening behavior clustering can be performed on the listening behavior of the same user. For instance, if a user has a lot of listening behavior in preset music modules such as the favorites module and playlist module, this listening behavior data can be clustered. It can also be performed on the listening behavior of multiple users. For example, if user A has a lot of listening behavior in the favorites module of music software A, and user B has a lot of listening behavior in the playlist module of music software B, then this data on the more frequent listening behaviors can be clustered. There are no specific limitations here.
[0052] 202. Determine the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster.
[0053] After obtaining the user's target listening behavior data in the target music module and the corresponding listening behavior clusters for the preset music module, the target listening behavior clusters can be determined within the listening behavior clusters. That is, based on the user's listening behavior in the target music module, target listening behavior clusters that match that listening behavior are identified. Specifically, the target listening behavior data can be compared with the listening behavior data of the listening behavior clusters to identify clusters similar to the target listening behavior data. Specifically, the feature vector corresponding to the target listening behavior data can be compared with the cluster vector corresponding to the listening behavior cluster to find one or more listening behavior clusters with the closest vector similarity as the target listening behavior cluster. This can be achieved by comparing the feature distributions of the feature vectors corresponding to the target listening behavior data and the cluster vectors. Feature distribution refers to the value of each dimension in a multi-dimensional vector. Similarity in feature distribution means that two multi-dimensional vectors have the same value in corresponding dimensions, and the number of identical values reaches a preset threshold. This preset threshold can be 3 or 4, and is not limited here. Cross-entropy, KL divergence, and JS divergence can be used to compare vector similarity; specific methods are not limited here.
[0054] 203. Perform feature fusion on the feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster to obtain the target listening behavior vector corresponding to the user.
[0055] After determining the target listening behavior cluster, the feature vectors corresponding to the target listening behavior data and the cluster vectors corresponding to the target listening behavior clusters can be fused to obtain the user's corresponding target listening behavior vector. This fusion typically involves merging the dimensions of the feature vectors and cluster vectors describing the data. In other words, the number of features in the vectors increases, while the dimensional information within each dimension remains unchanged. Essentially, the resulting target listening behavior vector retains the feature values of both the original feature vectors and the cluster vectors.
[0056] 204. Recommend the songs corresponding to the target listening behavior vector to the user in the target music module.
[0057] After obtaining the user's target listening behavior vector, the songs corresponding to this vector can be recommended to the user in the target music module. This is because the target listening behavior vector is obtained by fusing the feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster. This vector contains both the target listening behavior data and the listening behavior data from the preset music module corresponding to the target listening behavior cluster. Using these two parts of listening behavior data, the user's listening preferences can be determined, and songs corresponding to those preferences can be recommended to the user in the target music module. For example, if the listening behavior data records that the user has played songs of a preset type more than a certain number of times, it can be determined that the user prefers that type of music, and songs of that type will be recommended to the user in the target music module.
[0058] As can be seen, in this embodiment, the user's target listening behavior data in the target music module and the listening behavior clusters corresponding to the preset music module are obtained. The amount of listening behavior in the preset music module is greater than that in the target music module. The listening behavior clusters are obtained by clustering the listening behavior data in the preset music module, and each cluster has a corresponding clustering vector. The target listening behavior cluster corresponding to the target listening behavior data is determined. The feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster are fused to obtain the user's target listening behavior vector. The song corresponding to the target listening behavior vector is recommended to the user in the target music module. In this embodiment, based on the user's target listening behavior data in the target music module, the target listening behavior data is determined to correspond to the target listening behavior cluster in the preset music module. Songs are recommended in the target music module according to the target listening behavior cluster. By using the listening behavior cluster with a larger amount of listening behavior to recommend songs, more user listening behaviors can be considered when recommending songs to the user in the target music module, and the recommended songs are more in line with the user's preferences.
[0059] In one feasible approach, listening behavior data from a preset music module with a large volume of listening behavior is clustered to determine the target listening behavior cluster corresponding to the target listening behavior data in the target music module. The feature vector corresponding to the target listening behavior data is then added to the cluster vector of the target listening behavior cluster. Users corresponding to the preset music module are considered highly active users, while users corresponding to the target music module are considered inactive users. In other words, the representation of each cluster is learned through highly active users, and the cluster representation of highly active users helps to optimize the feature vector of the target listening behavior data corresponding to inactive users, thereby improving the accuracy of song recommendations.
[0060] Furthermore, user listening behavior data within the target music module can be used as a positive feedback song sequence. Based on this sequence, songs can be recommended to the user within the target music module, such as... Figure 3 As shown, it specifically includes steps 301 to 304.
[0061] 301. Obtain the sequence of positive feedback songs in the target music module and the clustering of listening behaviors corresponding to the preset music module.
[0062] The song recommendation device can acquire the positive feedback song sequence of a user in a target music module, as well as the listening behavior clusters corresponding to preset music modules. The listening behavior data in these clusters consists of the positive feedback song sequence from the preset music modules. This positive feedback song sequence indicates the user's listening behavior within the music module and includes song information corresponding to that behavior. This song information may include one or more of the following: the number of times a song of a preset type has been completed, the number of times the song has been added to favorites, and the song's playback duration, etc. Specific details are not limited here. The positive feedback song sequence can be obtained manually or by collecting user listening behavior data within the music module; specific details are not limited here.
[0063] Specifically, obtaining the listening behavior clusters corresponding to the preset music module can be achieved by obtaining the second feature vectors corresponding to the listening behavior data in the preset music module; that is, obtaining the listening behavior data in the preset music module, converting the listening behavior data into corresponding feature vectors, and then clustering the feature vectors. During clustering, a cluster center table and a cluster expression table can be used as the clustering results. Specifically, the second feature vectors can be clustered based on their vector similarity to obtain the user cluster center table. The user cluster center table contains N clusters, where N is an integer greater than or equal to 2, and each cluster contains multiple second feature vectors. Then, the corresponding cluster vector can be determined based on the second feature vectors in each cluster to obtain the cluster expression table. Each cluster has one cluster vector, which can be obtained by averaging the sums of the second feature vectors in that cluster. The user cluster center table and the cluster expression table are used as the clusters for the listening behavior corresponding to the preset music module.
[0064] 302. Determine the target listening behavior cluster based on the similarity between the first feature vector corresponding to the positive feedback song sequence and the clustering vector corresponding to the listening behavior cluster.
[0065] After obtaining the positive feedback song sequence in the target music module and the listening behavior clusters corresponding to the preset music module, the target listening behavior cluster can be determined based on the similarity between the first feature vector corresponding to the positive feedback song sequence and the cluster vector corresponding to the listening behavior cluster. Specifically, the first feature vector corresponding to the positive feedback song sequence can be obtained, and the vector similarity between the first feature vector and the cluster vector corresponding to the listening behavior cluster can be compared. Based on the comparison results, multiple first clusters corresponding to the positive feedback song sequence are determined in the listening behavior cluster, and these multiple first clusters are used as the target listening behavior cluster. The listening behavior clusters can be sorted according to the magnitude of vector similarity, and the top 3 or 4 clusters are selected as the target listening behavior cluster. It is understandable that the listening behavior data of this listening behavior cluster is the positive feedback song sequence in the preset music module. Then the clustering vector corresponding to this listening behavior cluster is the feature vector of the corresponding positive feedback song sequence. That is, the first feature vector of the positive feedback song sequence in the target music module is compared with the feature vector of the positive feedback song sequence in the preset music module to determine that the listening behavior in the target music module corresponds to the listening behavior in the preset music module.
[0066] 303. The user's user identifier vector, first feature vector, and clustering vector corresponding to the target music listening behavior cluster are fused to obtain the target music listening behavior vector corresponding to the user.
[0067] After determining the target listening behavior cluster, the user's identifier can be converted into a user identifier vector. The user identifier vector, the first feature vector corresponding to the positive feedback song sequence, and the clustering vector corresponding to the target listening behavior cluster are then fused to obtain the user's corresponding target listening behavior vector. Here, the user identifier can be either a user ID or a username, without specific limitations; the first feature vector is the feature vector corresponding to the user's positive feedback song sequence in the target music module. Fusing the user identifier vector, the first feature vector, and the clustering vector corresponding to the target listening behavior cluster to obtain the user's corresponding target listening behavior vector associates the user identifier with the user's corresponding first feature vector and clustering vector, facilitating the identification of the user corresponding to the target listening behavior vector. Subsequently, this target listening behavior vector can be directly used to recommend songs to that user.
[0068] 304. Recommend songs to users in the target music module based on the target positive feedback song sequence in the target listening behavior vector.
[0069] After obtaining the user's target listening behavior vector, songs can be recommended to the user in the target music module based on the target positive feedback song sequence in the target listening behavior vector. This target listening behavior vector contains the user's positive feedback song sequence in the target music module, as well as the positive feedback song sequence corresponding to the cluster vector in the preset music module. The target positive feedback song sequence can be extracted from the target listening behavior vector, using R language or a JSON dictionary (the specific method is not limited here). This target positive feedback song sequence can be the number of plays or favorites of songs of a preset type (the specific method is not limited here). Next, songs can be recommended to the user in the target music module based on the target positive feedback song sequence. For example, if the number of plays or favorites of rock songs in the target positive feedback song sequence reaches a preset threshold, then rock songs can be determined to be songs that the user prefers, and songs of this type can be recommended to the user in the target music module. The preset threshold can be 8 or 10 (the specific threshold is not limited here).
[0070] Furthermore, user listening behavior data in the target music module can be combined with user attribute features and positive feedback song sequences. Based on these user attribute features and positive feedback song sequences, songs can be recommended to users within the target music module. Figure 4 As shown, it specifically includes steps 401 to 404.
[0071] 401. Obtain user attribute features and positive feedback song sequences in the target music module, as well as the listening behavior clustering corresponding to the preset music module.
[0072] In this embodiment, the song recommendation device can obtain user attribute features and positive feedback song sequences in the target music module, as well as listening behavior clusters corresponding to the preset music module. The user attribute features include: user age, user gender, user city, and user terminal model, etc. User age and gender can be obtained through user identity information entered by the user in the music software corresponding to the music module; the user city can be obtained based on the music software's location function; and the terminal model fed back by the music software can be obtained, which can be a mobile phone or computer, etc., without specific limitations here. It is understood that, generally, when the listening behavior data in the target music module consists of user attribute features and positive feedback song sequences, the listening behavior data in the listening behavior clusters corresponding to the preset music module also includes: user attribute features and positive feedback song sequences in the preset music module.
[0073] 402. Perform feature fusion between the feature vector corresponding to the user attribute features and the feature vector corresponding to the positive feedback song sequence to obtain the target feature vector.
[0074] After obtaining the user attribute features and positive feedback song sequence in the target music module, the feature vectors corresponding to the user attribute features and the feature vectors corresponding to the positive feedback song sequence can be fused to obtain the target feature vector. In this process, user age, user gender, etc. in the user attribute features can be converted into corresponding feature vectors, and then the corresponding feature vectors can be fused with the feature vectors corresponding to the positive feedback song sequence. The target feature vector obtained contains both the feature vectors corresponding to the user attribute features and the feature vectors corresponding to the positive feedback song sequence. This target feature vector is the feature vector corresponding to the user's listening behavior in the target music module.
[0075] 403. Determine the target listening behavior cluster based on the similarity between the target feature vector and the clustering vector corresponding to the listening behavior cluster.
[0076] After obtaining the target feature vector of the user in the target music module, the target listening behavior cluster can be determined based on the similarity between the target feature vector and the cluster vector corresponding to the listening behavior cluster. It can be understood that the listening behavior data corresponding to this cluster consists of user attribute features and positive feedback song sequences in the preset music module. In this case, the cluster data in the listening behavior cluster can be a preset feature vector obtained by fusing the feature vectors corresponding to the user attribute features in the preset music module and the feature vectors corresponding to the positive feedback song sequences. The cluster vector corresponding to the listening behavior cluster can be obtained by summing and averaging or taking the median value of multiple preset feature vectors in the cluster. Specifically, determining the similarity between the target feature vector and the cluster vector corresponding to the listening behavior cluster involves comparing the feature vector corresponding to the user attribute features in the target music module with the feature vector corresponding to the user attribute features in the preset music module, and comparing the feature vector corresponding to the positive feedback song sequences in the target music module with the feature vector corresponding to the positive feedback song sequences in the preset music module. The target listening behavior cluster is determined based on these two comparison results. In determining the target listening behavior cluster, user attribute characteristics were considered. The resulting target listening behavior cluster is more consistent with the user attribute characteristics of the user in the target music module. For example, the resulting target listening behavior cluster is more consistent with the user's age or gender, making the recommended songs more consistent with the user's preferences.
[0077] 404. The user's user identifier vector, target feature vector, and clustering vector corresponding to the target music listening behavior cluster are fused to obtain the user's target music listening behavior vector.
[0078] 405. Recommend songs to users in the target music module based on the target positive feedback song sequence in the target listening behavior vector.
[0079] It is understandable that steps 404 and 405 are similar to steps 304 and 305 above, and will not be described in detail here.
[0080] In one feasible approach, when recommending songs to a user within a target music module, a song recommendation model can be used, the model structure of which is as follows: Figure 5 As shown, the song recommendation model can be a memory network. It can store the listening behavior clusters obtained from the preset music module as a user clustering core table and a clustering representation table. Multiple clusters in the user clustering core table can be represented by `cluster1...N`, and the clustering representation table contains the clustering vector corresponding to each cluster, or `cluster1...N` can be used to represent the clustering vector. The feature vectors corresponding to the listening behavior data in the preset music module can be compressed in the encoder / writer layer before clustering. The target listening behavior data of the user in the target music module, such as user attribute features (user age, user sex, user city, and device model) and positive feedback song sequences, can be input into the song recommendation model. In the embedding layer of the song recommendation model, the target listening behavior data is converted into feature vectors. Based on the feature fusion layer (concat), multiple feature vectors are fused to obtain the feature vector corresponding to the target listening behavior data. In the generator / reader layer, the confidence score between the feature vector corresponding to the target listening behavior data and the user clustering centroid table is calculated; that is, the vector similarity between the feature vector and the clustering vector is calculated. Next, the cluster attention layer selects the top 3 or 4 clusters with the highest vector similarity from the user clustering centroid table as the target listening behavior clusters. The clustering vector corresponding to the target listening behavior clusters is obtained in the clustering embedding layer. Then, the user identifier (e.g., user ID) of the user (the user corresponding to the target music module) is converted into a user identifier vector. The user identifier vector, the feature vector corresponding to the target listening behavior data, and the clustering vector corresponding to the target listening behavior clusters are fused to obtain the user's target listening behavior vector. Songs are recommended to the user in the target music module based on this target listening behavior vector. During feature fusion, feature vectors corresponding to other features can also be added, such as the songs shared by the user in the target music module. Adding more other features makes the resulting target listening behavior vector more consistent with the user's listening preferences.
[0081] This application also provides a song recommendation device, such as... Figure 6 As shown, it includes:
[0082] The acquisition unit 601 is used to acquire the user's target listening behavior data in the target music module and the listening behavior clusters corresponding to the preset music module; wherein, the amount of listening behavior in the preset music module is greater than the amount of listening behavior in the target music module, and the listening behavior clusters are obtained by clustering the listening behavior data in the preset music module, and each cluster has a corresponding clustering vector.
[0083] Determining unit 602 is used to determine the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster;
[0084] The fusion unit 603 is used to fuse the feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior clustering to obtain the target listening behavior vector corresponding to the user.
[0085] The recommendation unit 604 is used to recommend the songs corresponding to the target listening behavior vector to the user in the target music module.
[0086] This application embodiment also provides a song recommendation device 700, such as... Figure 7 As shown, the song recommendation device 700 of this application embodiment may include one or more central processing units (CPUs) 701 and a memory 702, wherein the memory 702 stores one or more applications or data.
[0087] The memory 702 can be volatile or persistent storage. The program stored in the memory 702 can include one or more modules, each module including a series of instruction operations on the electronic device. Furthermore, the central processing unit 701 can be configured to communicate with the memory 702 and execute the series of instruction operations in the memory 702 on the song recommendation device 700.
[0088] The song recommendation device 700 may also include one or more power supplies 705, one or more wired or wireless network interfaces 704, one or more input / output interfaces 703, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0089] The central processing unit 701 can perform the operations performed in any of the aforementioned specific method embodiments, which will not be described in detail here.
[0090] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0091] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0092] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0093] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0094] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A song recommendation method, characterized in that, include: The system acquires target listening behavior data of users in the target music module and acquires listening behavior clusters corresponding to preset music modules; wherein, the amount of listening behavior in the preset music module is greater than the amount of listening behavior in the target music module, and the listening behavior clusters are obtained by clustering the listening behavior data in the preset music module, and each cluster has a corresponding clustering vector. Determine the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster; The feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior cluster are fused to obtain the target listening behavior vector corresponding to the user. The target listening behavior vector includes the target listening behavior data and the listening behavior data corresponding to the target listening behavior cluster in the preset music module. The songs corresponding to the target listening behavior vector are recommended to the user in the target music module.
2. The song recommendation method according to claim 1, characterized in that, The target listening behavior data includes: the positive feedback song sequence corresponding to the user, wherein the positive feedback song sequence includes song information corresponding to the listening behavior; The step of determining the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster includes: Obtain the first feature vector corresponding to the positive feedback song sequence; Compare the vector similarity between the first feature vector and the clustering vector corresponding to the music listening behavior cluster; Based on the comparison results, multiple first clusters corresponding to the positive feedback song sequence are determined in the music listening behavior cluster, and the multiple first clusters are used as the target music listening behavior cluster.
3. The song recommendation method according to claim 2, characterized in that, The step of fusing the feature vector corresponding to the target listening behavior data and the clustering vector corresponding to the target listening behavior clustering to obtain the target listening behavior vector corresponding to the user includes: The feature vectors corresponding to multiple first clusters are weighted and summed to obtain the cluster vector corresponding to the target music listening behavior cluster; The user identifier vector, the first feature vector, and the clustering vector corresponding to the target music listening behavior cluster are fused to obtain the target music listening behavior vector corresponding to the user.
4. The song recommendation method according to claim 3, characterized in that, The step of recommending the song corresponding to the target listening behavior vector to the user in the target music module includes: Extract the target positive feedback song sequence from the target listening behavior vector; Based on the target positive feedback song sequence, songs are recommended to the user in the target music module.
5. The song recommendation method according to any one of claims 2 to 4, characterized in that, The song information includes: the number of times a song of a preset type has been completed, the number of times a song has been added to favorites, and the duration of song playback.
6. The song recommendation method according to claim 1, characterized in that, The target listening behavior data includes: the user's user attribute characteristics and the positive feedback song sequence corresponding to the user, wherein the positive feedback song sequence includes song information corresponding to the listening behavior; The step of determining the target listening behavior cluster corresponding to the target listening behavior data in the listening behavior cluster includes: The feature vector corresponding to the user attribute features is fused with the feature vector corresponding to the positive feedback song sequence to obtain the target feature vector corresponding to the target listening behavior data. The target music listening behavior cluster is determined based on the vector similarity between the target feature vector and the cluster vector corresponding to the music listening behavior cluster.
7. The song recommendation method according to claim 6, characterized in that, The user attribute features include: user age, user gender, user city, and user terminal model.
8. The song recommendation method according to claim 1, characterized in that, The acquisition of listening behavior clustering corresponding to the preset music module includes: Obtain the second feature vector corresponding to the listening behavior data in the preset music module; The second feature vector is clustered based on the vector similarity of the second feature vector to obtain a user clustering center table, and the corresponding clustering vector is determined based on the second feature vector in each cluster to obtain a clustering expression table. The user clustering center table and the clustering expression table are used as the listening behavior clusters corresponding to the preset music module.
9. A song recommendation device, characterized in that, include: Central processing unit, memory, and input / output interfaces; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method of any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 8.