Song menu recommendation method and device, electronic equipment and storage medium
By integrating playlist and song features and combining multiple dimensions of interest characteristics, the problem of insufficient accuracy in existing playlist recommendation methods is solved, achieving more accurate playlist recommendations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-27
- Publication Date
- 2026-03-24
AI Technical Summary
Existing playlist recommendation methods lack accuracy and fail to effectively reflect users' true interests and preferences.
By extracting features from interactive playlists and candidate playlists, integrating playlist and song features, and combining playlist and song interest features, target playlists are determined from multiple dimensions, enabling recommendations from both playlist and song perspectives.
It improves the accuracy of playlist recommendations, better reflects users' true interests and preferences, and enhances the precision of recommendations.
Smart Images

Figure CN121722935A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of recommendation, in particular to a playlist recommendation method and device, electronic equipment and a storage medium. BACKGROUND
[0002] With the development of the Internet, the scale of music accessible to users has increased explosively. In this context, a personalized recommendation system is crucial to helping users discover music content that meets their interests. Among them, a playlist is an important carrier for expressing the preference of a specific scene or emotion, which can be created by a user according to his / her own interests or automatically created by a system. The personalized recommendation system can recommend songs to users in the form of recommending playlists to users.
[0003] Existing playlist recommendation methods only recommend playlists to users according to the interactive playlists of the users. However, the accuracy of the playlists recommended by the method needs to be improved. SUMMARY
[0004] The present application provides a playlist recommendation method, device, electronic equipment and storage medium, which can improve the accuracy of playlist recommendation.
[0005] In a first aspect, the present application provides a playlist recommendation method, comprising: obtaining interactive playlists and interactive songs of a target user and candidate playlists to be recommended; extracting features of the playlist data of the interactive playlists to obtain interactive playlist features corresponding to the interactive playlists, extracting features of the song data of the songs in the interactive playlists to obtain interactive song features corresponding to the interactive playlists, and extracting features of the song data of the songs to obtain song sequence features; extracting features of the playlist data of the candidate playlists to obtain candidate playlist features corresponding to the candidate playlists, and extracting features of the song data of the songs in the candidate playlists to obtain candidate song features corresponding to the candidate playlists; performing fusion processing based on the interactive playlist features and the interactive song features to obtain interactive playlist song features corresponding to the interactive playlists, and performing fusion processing based on the candidate playlist features and the candidate song features to obtain candidate playlist song features corresponding to the candidate playlists; determining playlist song interest features for the candidate playlists based on the interactive playlist song features and the candidate playlist song features, determining playlist interest features for the candidate playlists based on the interactive playlist features and the candidate playlist features, and determining song interest features for the candidate playlists based on the candidate song features and the song sequence features; determine a target playlist from the candidate playlists based on the playlist-song interest feature, the playlist interest feature, and the song interest feature, and recommend the target playlist to the target user.
[0006] In a second aspect, an embodiment of the present application provides a playlist recommendation device, comprising: The obtaining module is configured to obtain an interactive playlist and an interactive song of a target user, and obtain a candidate playlist to be recommended. The extracting module is configured to perform feature extraction on playlist data of the interactive playlist to obtain an interactive playlist feature corresponding to the interactive playlist, perform feature extraction on song data of a song in the interactive playlist to obtain an interactive song feature corresponding to the interactive playlist, and perform feature extraction on song data of the song to obtain a song sequence feature. The fusing module is configured to perform fusion processing based on the interactive playlist feature and the interactive song feature to obtain an interactive playlist-song feature corresponding to the interactive playlist, and perform fusion processing based on the candidate playlist feature and the candidate song feature to obtain a candidate playlist-song feature corresponding to the candidate playlist. The determining module is configured to determine a playlist-song interest feature of the candidate playlist based on the interactive playlist-song feature and the candidate playlist-song feature, determine a playlist interest feature of the candidate playlist based on the interactive playlist feature and the candidate playlist feature, and determine a song interest feature of the candidate playlist based on the candidate song feature and the song sequence feature. The recommendation module is configured to determine a target playlist from the candidate playlists based on the playlist-song interest feature, the playlist interest feature, and the song interest feature, and recommend the target playlist to the target user.
[0007] In a third aspect, an embodiment of the present application further provides an electronic device, comprising a memory storing a plurality of instructions, and a processor configured to load the instructions from the memory to execute any of the playlist recommendation methods provided by the embodiments of the present application.
[0008] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, which stores a plurality of instructions, and the instructions are adapted to be loaded by a processor to execute any of the playlist recommendation methods provided by the embodiments of the present application.
[0009] In the embodiments of the present application, the interactive playlists and interactive songs of the target user are obtained, and candidate playlists to be recommended are obtained; the playlist data of the interactive playlists is subjected to feature extraction to obtain interactive playlist features corresponding to the interactive playlists, the song data of the songs in the interactive playlists is subjected to feature extraction to obtain interactive song features corresponding to the interactive playlists, and the song data of the interactive songs is subjected to feature extraction to obtain song sequence features; the playlist data of the candidate playlists is subjected to feature extraction to obtain candidate playlist features corresponding to the candidate playlists, and the song data of the songs in the candidate playlists is subjected to feature extraction to obtain candidate song features corresponding to the candidate playlists; the interactive playlist features and the interactive song features are subjected to fusion processing to obtain interactive playlist song features corresponding to the interactive playlists, and the candidate playlist features and the candidate song features are subjected to fusion processing to obtain candidate playlist song features corresponding to the candidate playlists; the playlist song interest features of the candidate playlists are determined based on the interactive playlist song features and the candidate playlist song features, the playlist interest features of the candidate playlists are determined based on the interactive playlist features and the candidate playlist features, and the song interest features of the candidate playlists are determined based on the candidate song features and the song sequence features; the target playlists are determined from the candidate playlists based on the playlist song interest features, the playlist interest features, and the song interest features, and the target playlists are recommended to the target user, so as to realize playlist recommendation from three dimensions of playlists, playlist-songs, and songs, improve the accuracy of playlist recommendation, and based on the related features of the candidate playlists, the playlist song interest features, the playlist interest features, and the song interest features can be obtained, so as to improve the accuracy of the playlist song interest features, the playlist interest features, and the song interest features, and further improve the accuracy of the playlist recommendation. BRIEF DESCRIPTION OF DRAWINGS
[0010] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0011] Figure 1 is a schematic diagram of an application scenario of a playlist recommendation method provided by some embodiments of the present application; Figure 2 is a flowchart of a playlist recommendation method provided by some embodiments of the present application; Figure 3 is a schematic diagram of a training process of a playlist recommendation model provided by some embodiments of the present application; Figure 4 is a schematic diagram of an inference process of a playlist recommendation model provided by some embodiments of the present application; Figure 5is a schematic diagram of a structure of a playlist recommendation model provided by some embodiments of the present application; Figure 6 is a schematic diagram of a song playlist fusion layer provided by some embodiments of the present application; Figure 7 is another schematic diagram of a playlist recommendation method provided by some embodiments of the present application; Figure 8 is a schematic diagram of a playlist recommendation device provided by some embodiments of the present application; Figure 9 is a schematic diagram of an electronic device provided by some embodiments of the present application. DETAILED DESCRIPTION
[0012] The technical solutions in the embodiments of the present application will be clearly and completely described in connection with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all of the embodiments of the present application. Based on the embodiments in the present application, any other embodiments obtained by a person skilled in the art without creative work fall within the scope of protection of the present application.
[0013] In the description of the present application, it should be understood that the terms "first", "second" are used only for the purpose of description, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include one or more of the features. In the description of the present application, the meaning of "multiple" is two or more, unless otherwise specifically limited. "A and / or B" includes the following three combinations: only A, only B, and the combination of A and B.
[0014] In the present application, the word "exemplary" is used to mean "serving as an example, instance, or illustration." Any implementation described as "exemplary" in the present application is not necessarily to be construed as preferred or advantageous over other implementations. The following description is presented to enable any person skilled in the art to make and use the present application. In the following description, for the purpose of explanation, details are set forth. It is apparent to those skilled in the art that the present application can be practiced without using these specific details. In other instances, well-known structures and processes are not described in detail in order to avoid obscuring the description of the present application. Therefore, the present application is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
[0015] The embodiment of the present application provides a playlist recommendation method and device, electronic equipment and computer readable storage medium. Specifically, the embodiment will be described from the perspective of a playlist recommendation device, which can be integrated in an electronic equipment, i.e., the playlist recommendation method of the embodiment of the present application can be executed by the electronic equipment. Optionally, the electronic equipment can include a terminal device or a server. The terminal device can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a game console, or a personal computer (PC) and the like.
[0016] The playlist recommendation method provided by the embodiment of the present application can be applied to a playlist recommendation system. The playlist recommendation system can include a terminal device and a server. The terminal device can be a device including receiving and transmitting hardware, i.e., a device having receiving and transmitting hardware capable of performing bidirectional communication on a bidirectional communication link. The terminal device and the server can perform bidirectional communication through a network.
[0017] Optionally, the server can be an independent server, or a server network or server cluster composed of servers, including but not limited to a computer, a network host, a single network server, a plurality of network server sets, or a cloud server composed of a plurality of servers. The cloud server is composed of a large number of computers or network servers based on cloud computing.
[0018] For example, as shown in FIG. 1, the playlist recommendation system can include a terminal device 100 and a server 200. The terminal device 100 can be a mobile phone, a tablet computer, a smart Bluetooth device, a notebook computer, a game console, or a personal computer (PC) and the like. Figure 1As shown, the terminal device 10 acquires a playlist recommendation request of a target user, sends the playlist recommendation request to the server 20, the server 20 acquires the interactive playlist and the interactive song of the target user and acquires the candidate playlist to be recommended; the playlist data of the interactive playlist is extracted for features, the interactive playlist corresponding to the interactive playlist feature is obtained, the song data of the song in the interactive playlist is extracted for features, the interactive song corresponding to the interactive playlist feature is obtained, and the song data of the interactive song is extracted for features, and the song sequence feature is obtained; the playlist data of the candidate playlist is extracted for features, the candidate playlist corresponding to the candidate playlist feature is obtained, and the song data of the song in the candidate playlist is extracted for features, and the candidate song corresponding to the candidate playlist feature is obtained; the interactive playlist feature and the interactive song feature are fused to obtain the interactive playlist song feature corresponding to the interactive playlist, and the candidate playlist feature and the candidate song feature are fused to obtain the candidate playlist song feature corresponding to the candidate playlist; based on the interactive playlist song feature and the candidate playlist song feature, the playlist song interest feature for the candidate playlist is determined, based on the interactive playlist feature and the candidate playlist feature, the playlist interest feature for the candidate playlist is determined, and based on the candidate song feature and the song sequence feature, the song interest feature for the candidate playlist is determined; based on the playlist song interest feature, the playlist interest feature and the song interest feature, the target playlist is determined from the candidate playlist, and the target playlist is sent to the terminal device 10, and the terminal device 10 displays the target playlist.
[0019] The following will be described in detail with reference to the accompanying drawings. In the present embodiment, the execution subject is taken as an example of the server. It should be noted that the sequence of the following embodiments is not limited as the preferred sequence of the embodiments. Although the logical sequence is shown in the flowchart, in some cases, the steps shown or described can be performed in an order different from that shown in the figure.
[0020] Please refer to Figure 2 The specific process of the playlist recommendation method can be as follows: Step 201, acquiring the interactive playlist and the interactive song of the target user and acquiring the candidate playlist to be recommended.
[0021] Among them, the target user refers to the user to be recommended to the playlist. The interactive playlist of the target user refers to the playlist that the user targets to interact in at least one interaction dimension, for example, the interaction dimension includes at least one of the playing dimension, the collection dimension, the clicking dimension and the favorite dimension, at this time, the interactive playlist includes at least one of the playlist played by the target user, the playlist collected, the playlist clicked and the playlist liked.
[0022] The interaction song refers to a song that the target user interacts with in at least one interaction dimension, for example, the interaction song can include at least one of a played song, a collected song, a clicked song, and a favorite song. It can be understood that the interaction song can be a song in the interaction playlist or can not be a song in the interaction playlist. The candidate playlist refers to a playlist to be recommended.
[0023] Optionally, the server can obtain the interaction playlist and the interaction song of the target user and obtain the candidate playlist to be recommended when receiving the playlist recommendation request of the target user, or the server can periodically obtain the interaction playlist and the interaction song of the target user and obtain the candidate playlist to be recommended, or the server can obtain the interaction playlist and the interaction song of the target user and obtain the candidate playlist to be recommended when detecting that the candidate playlist is updated, which is not limited in the embodiment.
[0024] In step 202, the song data of the interaction playlist is subjected to feature extraction to obtain the interaction playlist feature corresponding to the interaction playlist, the song data of the song in the interaction playlist is subjected to feature extraction to obtain the interaction song feature corresponding to the interaction playlist, and the song data of the interaction song is subjected to feature extraction to obtain the song sequence feature.
[0025] The song data of the interaction playlist refers to data used to indicate the attribute of the playlist, for example, the song data of the interaction playlist can include static attribute data and dynamic statistical data of the interaction playlist. The static attribute data can include at least one of the playlist name (ID), the creation time of the playlist, the playlist title, the playlist cover, the playlist label, the playlist style, and the language of the playlist. The dynamic statistical data includes at least one of the cumulative play count, the collection count, and the collection rate of the playlist, which is not limited in the embodiment.
[0026] The song data of the song in the interaction playlist refers to data used to indicate the attribute of the song, for example, the song data of the song in the interaction playlist includes at least one of the name (ID) of the song in the interaction playlist, the song division, the release time of the song, the artist information of the song, and the language of the song. Optionally, the song in the interaction playlist can be all the songs in the interaction playlist, or can be a preset number of songs in the interaction playlist. The preset number can be topn or a preset number of rear, which is not limited in the embodiment.
[0027] The definition of the song data of the interaction song can refer to the definition of the song data of the song in the interaction playlist, which is not repeated in the embodiment.
[0028] Optionally, the song list data of the interaction song list can be subjected to feature extraction through a feature extraction layer in the song list recommendation model to obtain interaction song list features corresponding to the interaction song list, the song data of the songs in the interaction song list can be subjected to feature extraction to obtain interaction song features corresponding to the interaction song list, and the song data of the songs can be subjected to feature extraction to obtain song sequence features. Alternatively, the song list data of the interaction song list can be subjected to feature extraction through a regular expression to obtain interaction song list features corresponding to the interaction song list, the song data of the songs in the interaction song list can be subjected to feature extraction to obtain interaction song features corresponding to the interaction song list, and the song data of the songs can be subjected to feature extraction to obtain song sequence features. The present embodiment does not limit this.
[0029] In step 203, the song list data of the candidate song list is subjected to feature extraction to obtain candidate song list features corresponding to the candidate song list, and the song data of the songs in the candidate song list is subjected to feature extraction to obtain candidate song features corresponding to the candidate song list.
[0030] The definition of the song list data of the candidate song list can refer to the definition of the song list data of the interaction song list, and the definition of the song data of the songs in the candidate song list can refer to the definition of the song data of the songs in the interaction song list. The present embodiment does not limit this.
[0031] Optionally, the song list data of the candidate song list can be subjected to feature extraction through a feature extraction layer in the song list recommendation model to obtain candidate song list features corresponding to the candidate song list, and the song data of the songs in the candidate song list can be subjected to feature extraction to obtain candidate song features corresponding to the candidate song list. Alternatively, the song list data of the candidate song list can be subjected to feature extraction through a regular expression to obtain candidate song list features corresponding to the candidate song list, and the song data of the songs in the candidate song list can be subjected to feature extraction to obtain candidate song features corresponding to the candidate song list. The present embodiment does not limit this.
[0032] In step 204, the interaction song list features and the interaction song features are subjected to fusion processing to obtain interaction song list song features corresponding to the interaction song list, and the candidate song list features and the candidate song features are subjected to fusion processing to obtain candidate song list song features corresponding to the candidate song list.
[0033] The interaction song list features and the interaction song features can be directly subjected to splicing processing to obtain the interaction song list song features, and the candidate song list features and the candidate song features can be subjected to splicing processing to obtain the candidate song list song features.
[0034] In the embodiment, the interactive playlist features and the interactive song features are fused to obtain interactive playlist song features corresponding to the interactive playlists, and the candidate playlist features and the candidate song features are fused to obtain candidate playlist song features corresponding to the candidate playlists, so that the playlists can be recommended according to the playlist features and the song features in the playlists, playlist recommendation is implemented from the playlist dimension and the song dimension, the real preferences of the target user for the playlists are comprehensively reflected, and the accuracy of the playlist recommendation is improved.
[0035] In some embodiments, the interactive playlist features and the interactive song features are fused to obtain interactive playlist song features corresponding to the interactive playlists, including: The interactive playlist features and the interactive song features are mapped to the same vector space to obtain mapped interactive playlist features corresponding to the interactive playlist features and mapped interactive song features corresponding to the interactive song features; The mapped interactive playlist features and the mapped interactive song features are spliced, and weights of the mapped interactive playlist features and weights of the mapped interactive song features are determined based on the spliced interactive features; The mapped interactive playlist features and the mapped interactive song features are fused based on the weights of the mapped interactive playlist features and the weights of the mapped interactive song features to obtain the interactive playlist song features corresponding to the interactive playlists; The candidate playlist features and the candidate song features are fused to obtain candidate playlist song features corresponding to the candidate playlists, including: The candidate playlist features and the candidate song features are mapped to the same vector space to obtain mapped candidate playlist features corresponding to the candidate playlist features and mapped candidate song features corresponding to the candidate song features; The mapped candidate playlist features and the mapped candidate song features are spliced, and weights of the mapped candidate playlist features and weights of the mapped candidate song features are determined based on the spliced candidate features; The mapped candidate playlist features and the mapped candidate song features are fused based on the weights of the mapped candidate playlist features and the weights of the mapped candidate song features to obtain the candidate playlist song features corresponding to the candidate playlists.
[0036] The vector space can be a specified vector space. Alternatively, the interactive song features can be pooled to obtain pooled interactive song features, and then the pooled interactive song features are mapped to the specified vector space. The candidate song features can be pooled to obtain pooled candidate song features, and then the pooled candidate song features are mapped to the specified vector space. For example, the interactive song features and the candidate song features can be pooled by formula (1): (1) wherein, e s represents the pooled interaction song features or the pooled candidate song features, Avg represents the average pooling processing, e n represents the song features of the n th song in the playlist, e 1 ,e 2 ,...,e n represents the interaction song features or the candidate song features.
[0037] After obtaining the pooled interaction song features and the pooled candidate song features, the pooled interaction song features and the interaction playlist features can be mapped to a specified vector space through a mapping network layer, and the pooled candidate song features and the candidate playlist features can be mapped to a specified vector space through the mapping network layer. The mapping network layer can be a multilayer perceptron, specifically, the pooled interaction song features and the pooled candidate song features can be substituted into formula (2) and formula (3) for mapping to obtain mapped interaction playlist features, mapped interaction song features, mapped candidate playlist features and mapped candidate song features: (2) (3) wherein, f proj represents the multilayer perceptron, represents the mapped interaction song features or the mapped candidate song features, represents the mapped interaction playlist features or the mapped candidate playlist features, represents the interaction playlist features or the candidate playlist features.
[0038] After obtaining the mapped interaction playlist features and the mapped interaction song features, the mapped interaction playlist features and the mapped interaction song features can be substituted into formula (4) for splicing, and based on the spliced interaction features, the weight corresponding to the mapped interaction playlist features and the weight corresponding to the mapped interaction song features are determined. After obtaining the mapped candidate playlist features and the mapped candidate song features, the mapped candidate playlist features and the mapped candidate song features can be substituted into formula (4) for splicing, and based on the spliced candidate features, the weight corresponding to the mapped candidate playlist features and the weight corresponding to the mapped candidate song features are determined: (4) wherein, W represents the weight corresponding to the mapped interaction playlist features or the weight corresponding to the mapped interaction song features, or, Wrepresents the weight corresponding to the mapped candidate playlist feature and the weight corresponding to the mapped candidate song feature, gate represents a gating network, which can be a multi-layer perceptron or an attention mechanism layer, which is not limited in the embodiment, represents the spliced interaction feature or the spliced candidate feature.
[0039] After obtaining the corresponding weight, the corresponding weight and the mapped feature are substituted into formula (5) for fusion processing to obtain the interaction playlist song feature or the candidate playlist song feature: (5) e sp represents the interaction playlist song feature, w 1 represents the weight corresponding to the mapped interaction song feature, represents the mapped interaction song feature, w 2 represents the weight corresponding to the mapped interaction playlist feature, represents the mapped interaction playlist feature, or e sp represents the candidate playlist song feature, w 1 represents the weight corresponding to the mapped candidate song feature, represents the mapped candidate song feature, w 2 represents the weight corresponding to the mapped candidate playlist feature, represents the mapped candidate playlist feature.
[0040] The playlist feature of a playlist and the song feature of a song are usually in different vector spaces, and the dimensions and distribution characteristics of the two are different. If the playlist feature and the song feature are spliced directly, such as splicing the interaction playlist feature and the interaction song feature, splicing the candidate playlist feature and the candidate song feature, the song recommendation model will be difficult to identify effective cross-modal (playlist-song) correlation, the correlation and complementarity between the playlist feature and the song feature cannot be fully mined, and thus the accuracy of playlist recommendation is reduced.
[0041] In the embodiment, the interactive playlist feature and the interactive song feature are mapped to the same vector space to obtain a mapped interactive playlist feature corresponding to the interactive playlist feature and a mapped interactive song feature corresponding to the interactive song feature; the mapped interactive playlist feature and the mapped interactive song feature are spliced, and based on the spliced interactive feature, a weight corresponding to the mapped interactive playlist feature and a weight corresponding to the mapped interactive song feature are determined; the mapped interactive playlist feature and the mapped interactive song feature are fused based on the weight corresponding to the mapped interactive playlist feature and the weight corresponding to the mapped interactive song feature to obtain an interactive playlist song feature corresponding to the interactive playlist; the candidate playlist feature and the candidate song feature are mapped to the same vector space to obtain a mapped candidate playlist feature corresponding to the candidate playlist feature and a mapped candidate song feature corresponding to the candidate song feature; the mapped candidate playlist feature and the mapped candidate song feature are spliced, and based on the spliced candidate feature, a weight corresponding to the mapped candidate playlist feature and a weight corresponding to the mapped candidate song feature are determined; the mapped candidate playlist feature and the mapped candidate song feature are fused based on the weight corresponding to the mapped candidate playlist feature and the weight corresponding to the mapped candidate song feature to obtain a candidate playlist song feature corresponding to the candidate playlist, so as to fuse the playlist feature and the song feature through the way of space mapping and weight fusion, so as to fully identify the effective cross-modal (playlist-song) correlation, thereby fully mining the relevance and complementarity between the playlist feature and the song feature, and further improving the accuracy of playlist recommendation.
[0042] In step 205, based on the interactive playlist song feature and the candidate playlist song feature, a playlist-song interest feature for the candidate playlist is determined, based on the interactive playlist feature and the candidate playlist feature, a playlist interest feature for the candidate playlist is determined, and based on the candidate song feature and the song sequence feature, a song interest feature for the candidate playlist is determined.
[0043] In the embodiment, based on the interactive playlist song feature and the candidate playlist song feature, the playlist-song interest feature for the candidate playlist is determined, so that when the candidate playlist is different, the playlist-song interest feature is also different, thereby enabling the features related to the candidate playlist song feature to be dynamically extracted from the interactive playlist song feature, and further enabling the playlist recommendation to be more accurately performed based on the playlist-song interest feature.
[0044] In the embodiment, based on the interactive playlist feature and the candidate playlist feature, the playlist interest feature for the candidate playlist is determined, so that when the candidate playlist is different, the playlist interest feature is also different, thereby enabling the features related to the candidate playlist to be dynamically extracted from the interactive playlist feature, and further enabling the playlist recommendation to be more accurately performed based on the playlist interest feature.
[0045] The song interest feature for the candidate song list is determined based on the song sequence feature and the candidate song feature, so that the song interest feature is different when the candidate song list is different, and thus the feature related to the candidate song feature can be dynamically extracted from the song sequence feature, and the song list recommendation can be more accurately performed based on the song interest feature.
[0046] In some embodiments, the way of determining the song list song interest feature for the candidate song list based on the interaction song list song feature and the candidate song list song feature, determining the song list interest feature for the candidate song list based on the interaction song list feature and the candidate song list feature, and determining the song interest feature for the candidate song list based on the candidate song feature and the song sequence feature can be set according to actual conditions, which is not limited herein.
[0047] For example, the song list song interest feature for the candidate song list is determined based on the interaction song list song feature and the candidate song list song feature, including: determining a song list song similarity between the interaction song list song feature and the candidate song list song feature; multiplying the song list song similarity and the interaction song list song feature to obtain the song list song interest feature for the candidate song list; The song list interest feature for the candidate song list is determined based on the interaction song list feature and the candidate song list feature, including: determining a song list similarity between the interaction song list feature and the candidate song list feature; multiplying the song list similarity and the interaction song list feature to obtain the song list interest feature for the candidate song list; The song interest feature for the candidate song list is determined based on the candidate song feature and the song sequence feature, including: determining a song similarity between the candidate song feature and the song sequence feature; multiplying the song similarity and the song sequence feature to obtain the song interest feature for the candidate song list.
[0048] For another example, the song list song interest feature for the candidate song list is determined based on the interaction song list song feature and the candidate song list song feature, including: determining a song list song search vector based on the candidate song list song feature, determining a song list song matching vector based on the interaction song list song feature, and determining a song list song content vector based on the interaction song list song feature; determining a first weight based on the song list song search vector and the song list song matching vector, multiplying the first weight and the song list song content vector to obtain the song list song interest feature for the candidate song list; The song list interest feature for the candidate song list is determined based on the interaction song list feature and the candidate song list feature, including: determine a playlist search vector based on the candidate playlist features, determine a playlist matching vector based on the interaction playlist features, and determine a playlist content vector based on the interaction playlist features; determine a second weight based on the playlist search vector and the playlist matching vector, multiply the second weight and the playlist content vector to obtain a playlist interest feature for the candidate playlist; determine a song interest feature for the candidate playlist based on the candidate song features and the song sequence features, including: determine a song search vector based on the candidate song features, determine a song matching vector based on the song sequence features, and determine a song content vector based on the song sequence features; determine a third weight based on the song search vector and the song matching vector, multiply the third weight and the song content vector to obtain the song interest feature for the candidate playlist.
[0049] wherein the search vector can also be referred to as a Q vector, the matching vector can also be referred to as a K vector, and the content vector can also be referred to as a V vector, the search vector includes at least one of a playlist song search vector, a playlist search vector, and a song search vector, the matching vector includes at least one of a playlist song matching vector, a playlist matching vector, and a song search vector, and the content vector includes at least one of a playlist song content vector, a playlist content vector, and a song content vector.
[0050] Optionally, the candidate playlist song features can be multiplied by a playlist song search conversion weight to obtain a playlist song search vector, the interaction playlist song features can be multiplied by a playlist song matching conversion weight to obtain a playlist song matching vector, the interaction playlist song features can be multiplied by a playlist song content conversion weight to obtain a playlist song content vector, the candidate playlist features can be multiplied by a playlist search conversion weight to obtain a playlist search vector, the interaction playlist features can be multiplied by a playlist matching conversion weight to obtain a playlist matching vector, and the interaction playlist features can be multiplied by a playlist content conversion weight to obtain a playlist content vector, the candidate song features can be multiplied by a song search conversion weight to obtain a song search vector, the song sequence features can be multiplied by a song matching conversion weight to obtain a song matching vector, and the song sequence features can be multiplied by a song content conversion weight to obtain a song content vector.
[0051] It can be understood that the playlist song search conversion weight, the playlist search conversion weight, and the song search conversion weight can be the same weight or different weights, the playlist song matching conversion weight, the playlist matching conversion weight, and the song search conversion weight can be the same weight or different weights, and the playlist song content conversion weight, the playlist content conversion weight, and the song content conversion weight can be the same weight or different weights.
[0052] It can be understood that when the pooled candidate song features exist, the song search vector can be determined based on the pooled candidate song features.
[0053] After obtaining the search vector and the matching vector, the playlist song search vector is multiplied by the transpose of the playlist song matching vector and normalized to obtain a first weight, the playlist search vector is multiplied by the transpose of the playlist matching vector and normalized to obtain a second weight, and the song search vector is multiplied by the transpose of the song matching vector and normalized to obtain a third weight. Specifically, the first weight, the second weight and the third weight can be calculated by substituting formula (6), and the playlist song interest feature, the playlist interest feature and the song interest feature are obtained: (6) wherein, Attention(Q, K, V) the playlist song interest feature is represented by, the first weight is represented by, softmax the normalization processing is represented by, Q the playlist song search vector is represented by, K the playlist song matching vector is represented by, V the playlist song content vector is represented by, T the transpose of the playlist song matching vector is represented by, d the vector dimension is represented by, or Attention(Q, K, V) the playlist interest feature is represented by, the second weight is represented by, softmax the normalization processing is represented by, Q the playlist search vector is represented by, K the playlist matching vector is represented by, V the playlist content vector is represented by, T the transpose of the playlist matching vector is represented by, d the vector dimension is represented by, or Attention(Q, K, V) the song interest feature is represented by, the third weight is represented by, softmax the normalization processing is represented by, Q the song search vector is represented by, K the song matching vector is represented by, V the song content vector is represented by, T the transpose of the song matching vector is represented by, d the vector dimension is represented by.
[0054] In this embodiment, the playlist song search vector is determined based on the candidate playlist song feature, the playlist song matching vector is determined based on the interactive playlist song feature, and the playlist song content vector is determined based on the interactive playlist song feature; the first weight is determined based on the playlist song search vector and the playlist song matching vector, the first weight is multiplied by the playlist song content vector to obtain the playlist song interest feature of the candidate playlist; the playlist search vector is determined based on the candidate playlist feature, the playlist matching vector is determined based on the interactive playlist feature, and the playlist content vector is determined based on the interactive playlist feature; the second weight is determined based on the playlist search vector and the playlist matching vector, the second weight is multiplied by the playlist content vector to obtain the playlist interest feature of the candidate playlist; the song search vector is determined based on the candidate song feature, the song matching vector is determined based on the song sequence feature, and the song content vector is determined based on the song sequence feature; the third weight is determined based on the song search vector and the song matching vector, the third weight is multiplied by the song content vector to obtain the song interest feature of the candidate playlist, which realizes dynamically extracting relevant information from the interactive playlist song feature, the interactive playlist feature and the song feature sequence according to the candidate playlist song feature, the candidate playlist feature and the candidate song feature, and further improves the accuracy of the playlist recommendation.
[0055] Step 206, determining the target playlist from the candidate playlist based on the playlist song interest feature, the playlist interest feature and the song interest feature, and recommending the target playlist to the target user.
[0056] In this embodiment, the playlist song interest feature, the playlist interest feature, the song interest feature and the candidate playlist feature can be spliced to obtain a total playlist feature, the interest score of each candidate playlist of the target user is determined based on the total playlist feature, and the target playlist interested by the target user is determined from the candidate playlist based on the interest score.
[0057] Optionally, in order to further improve the accuracy of the playlist recommendation, the user feature, the playlist song interest feature, the playlist interest feature, the song interest feature and the candidate playlist feature can also be spliced to obtain a total playlist feature. The user feature is obtained by feature extraction on the user data of the target user, and the user data of the target user can include basic attribute data and statistical behavior data. The basic attribute data can include at least one of the name, gender, age, region, device type, operating system and resolution of the target user, and the statistical behavior data can include at least one of the musical style preference, language preference and age preference of the target user, which is not limited in this embodiment.
[0058] In this embodiment, the interest preference of the target user for the playlist is modeled from three dimensions of the playlist song, the playlist and the song, so as to improve the accuracy of the playlist recommendation.
[0059] In some embodiments, the interaction playlist includes a playlist in which the target user interacts in various interaction dimensions, the target playlist is determined from the candidate playlists based on the playlist song interest features, the playlist interest features, and the song interest features, including: The playlist song interest features, the playlist interest features, the song interest features, and the candidate playlist features are spliced to obtain playlist total features; Based on the playlist total features, the target user's corresponding candidate interest score in each interaction dimension for the candidate playlist is predicted; Based on the candidate interest score, a fusion process is performed to obtain the interest score corresponding to the candidate playlist; The target playlist is determined from the candidate playlists based on the interest score.
[0060] The interaction dimensions can be set according to actual conditions, for example, the interaction dimensions include at least one of the playing dimension, the clicking dimension, the collecting dimension, and the liking dimension, which are not limited in this embodiment. The target user's corresponding candidate interest score in each interaction dimension for the candidate playlist can be used to indicate the probability of the target user performing the interaction behavior corresponding to the interaction dimension for the candidate playlist. For example, the interaction dimensions include the playing dimension, the clicking dimension, the collecting dimension, and the liking dimension. The candidate interest score corresponding to the playing dimension can be referred to as the playlist playing score, which is used to indicate the probability of the target user playing the candidate playlist. The candidate interest score corresponding to the clicking dimension can be referred to as the playlist clicking score, which is used to indicate the probability of the target user clicking the candidate playlist. The candidate interest score corresponding to the collecting dimension can be referred to as the playlist collecting score, which is used to indicate the probability of the target user collecting the candidate playlist. The candidate interest score corresponding to the liking dimension can be referred to as the playlist liking score, which is used to indicate the probability of the target user liking the candidate playlist.
[0061] After obtaining various candidate interest scores, the various candidate interest scores can be weighted and fused to obtain the interest score of each candidate playlist for the target user. Then, the candidate playlist with the highest interest score is determined as the target playlist, or the interest scores are sorted, and the candidate playlists corresponding to the top target number of interest scores are determined as the target playlist.
[0062] In this embodiment, the interaction playlist includes a playlist in which the target user interacts in various interaction dimensions, the playlist song interest features, the playlist interest features, the song interest features, and the candidate playlist features are spliced to obtain playlist total features; based on the playlist total features, the target user's corresponding candidate interest score in each interaction dimension for the candidate playlist is predicted; based on the candidate interest score, a fusion process is performed to obtain the interest score corresponding to the candidate playlist; and the target playlist is determined from the candidate playlists based on the interest score, realizing prediction from each interaction dimension and further improving the accuracy of playlist recommendation.
[0063] In some embodiments, this embodiment further includes: The song interest features, song interest features, and candidate song features are concatenated to obtain the overall song features; Based on the overall characteristics of the songs, predict the target user's interest score for the songs in the candidate playlist; Based on the candidate interest scores, a fusion process is performed to obtain the interest scores corresponding to the candidate playlists, including: The candidate interest scores and song interest scores are merged to obtain the interest scores corresponding to the candidate playlists.
[0064] In this context, a song can also have at least one interactive dimension. For example, a song interest score refers to the probability that a target user likes a song in a candidate playlist. When a song has multiple interactive dimensions, the overall features of the song can be used to predict the target user's song candidate interest scores on various interactive dimensions. Then, the song candidate interest scores are weighted and fused to obtain the final song interest score.
[0065] After obtaining the candidate interest scores and song interest scores, the candidate interest scores and song interest scores can be weighted and merged to obtain the target user's interest score for each candidate playlist.
[0066] In this embodiment, the song interest features, song interest features, and candidate song features are concatenated to obtain the total song features. Based on the total song features, the target user's song interest score for the songs in the candidate playlist is predicted. The candidate interest score and the song interest score are fused to obtain the interest score corresponding to the candidate playlist, thereby realizing playlist recommendation from both playlist and song dimensions and further improving the accuracy of playlist recommendation.
[0067] In some embodiments, the playlist recommendation method is implemented through a playlist recommendation model, and the training process of the playlist recommendation model includes: Obtain training samples, which include user sample interaction playlists, sample interaction songs, and sample candidate playlists to be recommended; Feature extraction is performed on the playlist data of the sample interactive playlist to obtain the sample interactive playlist features; feature extraction is performed on the song data of the songs in the sample interactive playlist to obtain the sample interactive song features; and feature extraction is performed on the song data of the sample interactive songs to obtain the sample song sequence features. Feature extraction is performed on the playlist data of the sample candidate playlist to obtain the sample candidate playlist features, and feature extraction is performed on the song data of the songs in the sample candidate playlist to obtain the sample candidate song features. The sample interactive playlist features and sample interactive song features are fused together to obtain the sample interactive playlist song features corresponding to the sample interactive playlist. The sample candidate playlist features and sample candidate song features are fused together to obtain the sample candidate playlist song features corresponding to the sample candidate playlist. Based on the song features of the sample interactive playlist and the song features of the sample candidate playlist, the interest features of the sample playlist for the sample candidate playlist are determined; based on the song features of the sample interactive playlist and the song features of the sample candidate playlist, the interest features of the sample playlist for the sample candidate playlist are determined; and based on the song features of the sample candidate playlist and the song sequence features, the interest features of the sample song for the sample candidate playlist are determined. Based on the song interest features of the sample playlist, the song interest features of the sample playlist, and the song interest features of the sample playlist, the playlist loss function value is determined. Based on the playlist loss function value, the model to be trained is trained to obtain the playlist recommendation model.
[0068] The creation time of the sample candidate playlist is later than the creation time of the sample interactive playlist. For example, the sample interactive playlist can be created between the 1st and the 30th, and the sample candidate playlist can be created on the 31st. Optionally, the sample candidate playlist can include playlists that users have interacted with and playlists that users have not interacted with, or the sample candidate playlist can include playlists that users have interacted with.
[0069] Optionally, to ensure the model to be trained fully learns effective cross-modal (playlist-song) associations, thereby fully learning to explore the correlation and complementarity between playlist features and song features, and subsequently improving the accuracy of playlist recommendations, a fusion process is performed based on sample interaction playlist features and sample interaction song features to obtain sample interaction playlist song features corresponding to the sample interaction playlist, including: The sample interactive playlist features and sample interactive song features are mapped to the same vector space to obtain the mapped sample interactive playlist features and the mapped sample interactive song features corresponding to the sample interactive playlist features. The mapped sample interaction playlist features and the mapped sample interaction song features are concatenated, and the weights corresponding to the mapped sample interaction playlist features and the mapped sample interaction song features are determined based on the concatenated sample interaction features. Based on the weights corresponding to the mapped sample interactive playlist features and the weights corresponding to the mapped sample interactive song features, the mapped sample interactive playlist features and the mapped sample interactive song features are fused to obtain the sample interactive playlist song features corresponding to the sample interactive playlist. Based on the fusion processing of sample candidate playlist features and sample candidate song features, the sample candidate playlist song features corresponding to the sample candidate playlist are obtained, including: The sample candidate playlist features and sample candidate song features are mapped to the same vector space to obtain the mapped sample candidate playlist features and the mapped sample candidate song features corresponding to the sample candidate song features. The mapped candidate playlist features and the mapped candidate song features are concatenated, and the weights corresponding to the mapped candidate playlist features and the mapped candidate song features are determined based on the concatenated candidate features. Based on the weights corresponding to the mapped candidate playlist features and the weights corresponding to the mapped candidate song features, the mapped candidate playlist features and the mapped candidate song features are fused to obtain the corresponding candidate playlist song features.
[0070] Specifically, the sample interactive song features can be pooled to obtain pooled sample interactive song features, and then the pooled sample interactive song features can be mapped to a specified vector space. Similarly, the sample candidate song features can be pooled to obtain pooled sample candidate song features, and then the pooled sample candidate song features can be mapped to a specified vector space.
[0071] Optionally, based on the song features of the sample interactive playlist and the song features of the sample candidate playlist, the sample playlist song interest features for the sample candidate playlist are determined, including: Determine the similarity between the song features of the sample interactive playlist and the song features of the sample candidate playlist; Multiply the similarity of songs in the sample playlists and the features of songs in the sample interactive playlists to obtain the interest features of songs in the sample playlists for the sample candidate playlists. Based on the features of the sample interaction playlist and the features of the sample candidate playlist, the sample playlist interest features for the sample candidate playlist are determined, including: Determine the similarity between sample playlist features and sample candidate playlist features; Multiply the sample playlist similarity and sample interaction playlist features to obtain the sample playlist interest features for the sample candidate playlists; Based on the features of the candidate songs and the sequence features of the songs, the interest features of the songs in the candidate playlists are determined, including: Determine the similarity between sample candidate song features and sample song sequence features; Multiply the similarity of the sample songs by the sequence features of the sample songs to obtain the interest features of the sample songs for the sample candidate playlist.
[0072] Alternatively, to train the model to further dynamically extract features related to the sample candidate playlists, based on the song features of the sample interaction playlists and the song features of the sample candidate playlists, the sample playlist song interest features are determined, including: The sample playlist song search vector is determined based on the sample candidate playlist song features, the sample playlist song matching vector is determined based on the sample interactive playlist song features, and the sample playlist song content vector is determined based on the sample interactive playlist song features. The first weight of the sample is determined based on the song search vector and the song matching vector of the sample playlist. The first weight of the sample is multiplied by the song content vector of the sample playlist to obtain the song interest features of the sample playlist for the sample candidate playlist. Based on the features of the sample interaction playlist and the features of the sample candidate playlist, the sample playlist interest features for the sample candidate playlist are determined, including: The sample playlist search vector is determined based on the sample candidate playlist features, the sample playlist matching vector is determined based on the sample interactive playlist features, and the sample playlist content vector is determined based on the sample interactive playlist features. The second weight of the sample is determined based on the sample playlist search vector and the sample playlist matching vector. The second weight of the sample is multiplied by the sample playlist content vector to obtain the sample playlist interest features for the sample candidate playlist. Based on the features of the candidate songs and the sequence features of the songs, the interest features of the songs in the candidate playlists are determined, including: The sample song search vector is determined based on the characteristics of the sample candidate songs, the sample song matching vector is determined based on the characteristics of the sample song sequence, and the sample song content vector is determined based on the characteristics of the sample song sequence. The third weight of the sample is determined based on the sample song search vector and the sample song matching vector. The third weight of the sample is multiplied by the sample song content vector to obtain the sample song interest features for the sample candidate playlist.
[0073] Specifically, the following steps can be taken: multiplying the features of candidate playlist songs by the search transformation weights to obtain the song search vector; multiplying the features of interactive playlist songs by the matching transformation weights to obtain the matching vector; multiplying the features of interactive playlist songs by the content transformation weights to obtain the content vector; multiplying the features of candidate playlist songs by the search transformation weights to obtain the search vector; multiplying the features of interactive playlist songs by the matching transformation weights to obtain the matching vector; multiplying the features of interactive playlist songs by the content transformation weights to obtain the content vector; multiplying the features of candidate playlist songs by the search transformation weights to obtain the search vector; multiplying the features of song sequences by the matching transformation weights to obtain the matching vector; and multiplying the features of song sequences by the content transformation weights to obtain the content vector.
[0074] Understandably, the conversion weights for song search, song matching, and song content in the sample playlist are updated during model training. Upon completion of training, these weights are obtained as follows:
[0075] It is understandable that when pooled sample candidate song features exist, the sample song search vector can be determined based on the pooled sample candidate song features.
[0076] After obtaining the sample playlist song interest features, sample playlist interest features, and sample song interest features, these features can be concatenated to obtain the total sample playlist features. Based on the total sample playlist features, the sample interest score corresponding to the candidate sample playlist is determined. Based on the sample interest score and label, the playlist loss function value is determined. If the playlist loss function value indicates that the model to be trained has not converged or the number of training iterations has not reached the specified number, the model parameters are updated based on the playlist loss function value, and the process returns to perform feature extraction on the playlist data of the sample interactive playlist to obtain the sample interactive playlist features corresponding to the sample interactive playlist. If the playlist loss function value indicates that the model to be trained has converged or the number of training iterations has reached the specified number, the model is determined as the playlist recommendation model.
[0077] Optionally, the user's sample user features, sample playlist song interest features, sample playlist interest features, and sample song interest features can be concatenated to obtain the total features of the sample playlist.
[0078] Optionally, when there are multiple interaction dimensions, the user's interest score for the candidate playlist can be predicted on each interaction dimension based on the total features of the sample playlist. Then, based on the sample interest score and label corresponding to each interaction dimension, the sub-playlist loss function value corresponding to that interaction dimension is determined. The loss function values of each sub-playlist are weighted and fused to obtain the playlist loss function value.
[0079] For example, when the interaction dimensions include playback, click, favorite, and like dimensions, the following can be predicted based on the overall features of the sample playlist: the sample playlist playback score, sample playlist click score, sample playlist favorite score, and sample playlist like score. Based on the sample playlist playback score and playback tags, the playlist playback loss function value is determined; based on the sample playlist click score and click tags, the playlist click loss function value is determined; based on the sample playlist favorite click score and favorite tags, the playlist favorite loss function value is determined; and based on the sample playlist like score and like tags, the playlist like loss function value is determined. In this case, the sub-playlist loss function value includes the playlist playback loss function value, playlist click loss function value, playlist favorite loss function value, and playlist like loss function value. These playlist playback loss function values, playlist click loss function values, playlist favorite loss function values, and playlist like loss function values are then weighted and fused to obtain the final playlist loss function value.
[0080] Optionally, the type of loss function used to determine the sub-playlist loss function value or the type of loss function used to determine the playlist loss function value can be set according to the actual situation. For example, the loss function can be the cross-entropy loss function or the L2 loss function. This embodiment does not limit this. When the loss function is the cross-entropy loss function, the cross-entropy loss function can be as shown in formula (7): (7) Where y represents the label. This represents the sample interest score.
[0081] In some embodiments, this embodiment further includes: Based on the song interest features of the sample playlist and the song interest features of the sample, determine the song loss function value; Based on the playlist loss function value, the model to be trained is trained to obtain the playlist recommendation model, including: Based on the playlist loss function value and the song loss function value, the model to be trained is trained to obtain the playlist recommendation model.
[0082] Specifically, the interest features of the sample playlist songs, the interest features of the sample songs, and the features of the sample candidate songs can be concatenated to obtain the total features of the sample songs. Based on the total features of the sample songs, the interest scores of the sample songs in the sample candidate playlists are predicted. Based on the interest scores of the sample songs and the song tags, the song loss function value is determined.
[0083] The loss function of the song loss function value can be the same as or different from the loss function of the playlist loss function value. When they are the same and the loss function of the playlist loss function value is the cross-entropy loss function, the song loss function value can be as shown in formula (8): (8) in, i Indicates the first i The song, n Indicates the number of songs. L s_red This represents the song loss function value. Optionally, when the sample song interest score is used to indicate the probability that a user likes a song, L s_red This represents the loss function value for song liking.
[0084] After obtaining the playlist loss function value and the song loss function value, the playlist loss function value and the song loss function value can be weighted and fused to obtain the total loss function value. If the total loss function value indicates that the model to be trained has not converged or the number of training times of the model has not reached the specified number, the parameters of the model are updated based on the total loss function value, and the step of extracting features from the playlist data of the sample interactive playlist is returned to obtain the sample interactive playlist features corresponding to the sample interactive playlist. If the total loss function value indicates that the model to be trained has converged or the number of training times of the model has reached the specified number, the model is determined as a playlist recommendation model. Specifically, when the playlist has multiple interaction dimensions and the multiple interaction dimensions include click dimension, play dimension, collection dimension and like dimension, the sub-playlist loss function value and song loss function value corresponding to each interaction dimension can be substituted into formula (9) for weighted fusion to obtain the total loss function value: (9) in, L rec This represents the total loss function value. w 3. w 4. w 5. w 6 and w 7 represents the corresponding weight. L click This represents the value of the playlist click loss function. L play This represents the playlist playback loss function value. Lcollect This represents the value of the loss function for playlist favorites. L red This represents the playlist preference loss function value. L s_red This represents the loss function value for song liking.
[0085] In this embodiment, based on the interest features of the sample playlist songs, the song loss function value is determined. Based on the playlist loss function value and the song loss function value, the model to be trained is trained to obtain the playlist recommendation model. This achieves joint learning of the playlist dimension and the song dimension, improves the playlist recommendation effect of the playlist recommendation model, and further improves the accuracy of playlist recommendation.
[0086] As can be seen from the above, in this embodiment, the following steps are performed: First, the interactive playlist and interactive songs of the target user are obtained, along with candidate playlists to be recommended. Second, feature extraction is performed on the playlist data of the interactive playlist to obtain the interactive playlist features; feature extraction is performed on the song data of the songs in the interactive playlist to obtain the interactive song features; and feature extraction is performed on the interactive songs to obtain the song sequence features. Third, feature extraction is performed on the playlist data of the candidate playlist to obtain the candidate playlist features; and feature extraction is performed on the song data of the songs in the candidate playlist to obtain the candidate song features. Finally, the interactive playlist features and interactive song features are fused together to obtain the interactive playlist song features; and the candidate playlist features and candidate song features are fused together to obtain the candidate playlist songs. Features: Based on interactive playlist song features and candidate playlist song features, the system determines playlist song interest features for candidate playlists; based on interactive playlist features and candidate playlist features, the system determines playlist interest features for candidate playlists; based on candidate song features and song sequence features, the system determines target playlists from candidate playlists and recommends target playlists to target users. This achieves playlist recommendation from three dimensions: playlist, playlist-song, and song, improving the accuracy of playlist recommendation. Furthermore, by obtaining playlist song interest features, playlist interest features, and song interest features based on relevant features of candidate playlists, the system can further improve the accuracy of playlist recommendation.
[0087] The following is based on Figure 3 and Figure 4 The playlist recommendation method provided in this application will be further explained. In this embodiment, the playlist recommendation method is implemented through a playlist recommendation model. Figure 3 The training process for the playlist recommendation model, Figure 4This describes the process of implementing a playlist recommendation method using a playlist recommendation model. In this embodiment, playlist names (IDs) are used as examples of playlist data, and song names (IDs) are used as examples of song data for illustration. The interaction dimensions of playlists in this embodiment include click dimensions, play dimensions, favorite dimensions, and like dimensions, while the interaction dimensions of songs include like dimensions.
[0088] Step 301: Obtain training samples, which include user sample interaction playlists, sample interaction songs, and sample candidate playlists and sample user data to be recommended.
[0089] Step 302: Through the feature extraction layer in the model to be trained, extract features from the playlist name of the sample interactive playlist to obtain the sample interactive playlist features, extract features from the song names of the songs in the sample interactive playlist to obtain the sample interactive song features, and extract features from the song names of the sample interactive songs to obtain the sample song sequence features.
[0090] The feature extraction layer can be an embedding layer or a convolutional layer; this embodiment does not limit the specific layer. When the feature extraction layer is an embedding layer, the structure of the model to be trained in this embodiment can be as follows: Figure 5 As shown.
[0091] Step 303: Through the feature extraction layer in the model to be trained, the features of the playlist name of the sample candidate playlist are extracted to obtain the sample candidate playlist features corresponding to the sample candidate playlist, and the features of the song name of the song in the sample candidate playlist are extracted to obtain the sample candidate song features corresponding to the sample candidate playlist.
[0092] Step 304: Through the feature extraction layer in the model to be trained, perform feature extraction on the sample user data to obtain sample user features, perform feature extraction on the sample other playlist data to obtain sample other playlist features, and perform feature extraction on the sample other song data to obtain sample other song features.
[0093] Among them, the other playlist data in the sample refers to the playlist data other than the playlist name in the above method embodiment, and the other song data in the sample refers to the song data other than the song name in the above method embodiment.
[0094] Step 305: Through the playlist song fusion layer in the model to be trained, the sample interaction playlist features and sample interaction song features are mapped to the same vector space to obtain the mapped sample interaction playlist features and the mapped sample interaction song features corresponding to the sample interaction playlist features.
[0095] Step 306: Through the playlist / song fusion layer in the model to be trained, the mapped sample interaction playlist features and the mapped sample interaction song features are concatenated. Based on the concatenated sample interaction features, the weights corresponding to the mapped sample interaction playlist features and the mapped sample interaction song features are determined. Based on the weights corresponding to the mapped sample interaction playlist features and the mapped sample interaction song features, the mapped sample interaction playlist features and the mapped sample interaction song features are fused to obtain the sample interaction playlist / song features corresponding to the sample interaction playlist.
[0096] The structure of the playlist song fusion layer can be, for example, as follows: Figure 6 As shown, the sample interaction song features are pooled through the pooling layer in the playlist song fusion layer to obtain pooled sample interaction song features. Then, the pooled sample interaction song features and sample interaction playlist features are mapped to the same vector space through the multilayer perceptron in the playlist song fusion layer. The mapped sample interaction playlist features and mapped sample interaction song features are concatenated through the concatenated sample interaction features through the gating layer in the playlist song fusion layer. Based on the concatenated sample interaction features, the weights corresponding to the mapped sample interaction playlist features and the weights corresponding to the mapped sample interaction song features are determined. Finally, based on the weights corresponding to the mapped sample interaction playlist features and the weights corresponding to the mapped sample interaction playlist features, the mapped sample interaction playlist features and mapped sample interaction song features are fused to obtain the sample interaction playlist song features corresponding to the sample interaction playlist.
[0097] Step 307: Through the playlist and song fusion layer in the model to be trained, the sample candidate playlist features and sample candidate song features are mapped to the same vector space to obtain the mapped sample candidate playlist features and the mapped sample candidate song features corresponding to the sample candidate playlist features.
[0098] Step 308: Through the playlist / song fusion layer in the model to be trained, the mapped sample candidate playlist features and the mapped sample candidate song features are concatenated. Based on the concatenated sample candidate features, the weights corresponding to the mapped sample candidate playlist features and the mapped sample candidate song features are determined. Based on the weights corresponding to the mapped sample candidate playlist features and the mapped sample candidate song features, the mapped sample candidate playlist features and the mapped sample candidate song features are fused to obtain the sample candidate playlist / song features corresponding to the sample candidate playlist.
[0099] Step 309: Using the interest extraction layer in the model to be trained, determine the sample playlist song search vector based on the sample candidate playlist song features, determine the sample playlist song matching vector based on the sample interactive playlist song features, and determine the sample playlist song content vector based on the sample interactive playlist song features.
[0100] Step 3010: Through the interest extraction layer in the model to be trained, determine the first weight of the sample based on the song search vector and the song matching vector of the sample playlist, and multiply the first weight of the sample with the song content vector of the sample playlist to obtain the song interest features of the sample playlist for the sample candidate playlist.
[0101] Step 3011: Using the interest extraction layer in the model to be trained, determine the sample playlist search vector based on the sample candidate playlist features, determine the sample playlist matching vector based on the sample interaction playlist features, and determine the sample playlist content vector based on the sample interaction playlist features.
[0102] Step 3012: Through the interest extraction layer in the model to be trained, determine the second weight of the sample based on the sample playlist search vector and the sample playlist matching vector, and multiply the second weight of the sample by the sample playlist content vector to obtain the sample playlist interest features for the sample candidate playlist.
[0103] Step 3013: Through the interest extraction layer in the model to be trained, determine the sample song search vector based on the sample candidate song features, determine the sample song matching vector based on the sample song sequence features, and determine the sample song content vector based on the sample song sequence features.
[0104] Step 3014: Through the interest extraction layer in the model to be trained, determine the third weight of the sample based on the sample song search vector and the sample song matching vector, and multiply the third weight of the sample by the sample song content vector to obtain the sample song interest features for the sample candidate playlist.
[0105] Step 3015: Using the multi-objective network in the model to be trained, the sample playlist song interest features, sample playlist interest features, sample song interest features, sample user features, sample other playlist features, sample other song features, and sample candidate playlist features are concatenated to obtain the total features of the sample playlist. Based on the total features of the sample playlist, the sample playlist playback score, sample playlist click score, sample playlist favorite score, and sample playlist like score are predicted for the sample candidate playlist.
[0106] The type of multi-objective network can be set according to the actual situation. For example, a multi-objective network can include multiple multilayer perceptrons, with one multilayer perceptron used to predict a score.
[0107] Step 3016: Based on the sample playlist playback score and playback tags, determine the playlist playback loss function value; based on the sample playlist click score and click tags, determine the playlist click loss function value; based on the sample playlist favorite score and favorite tags, determine the playlist favorite loss function value; based on the sample playlist like score and like tags, determine the playlist like loss function value.
[0108] Step 3017: Using the multi-objective network in the model to be trained, the sample playlist song interest features, sample song interest features, sample candidate song features, sample user features, sample other playlist features, and sample other song features are concatenated to obtain the total features of the sample songs. Based on the total features of the sample songs, the sample song liking score for the songs in the sample candidate playlist is predicted. Based on the sample song liking score and song tags, the song liking loss function value is determined.
[0109] Step 3018: Perform weighted fusion processing on the playlist playback loss function value, playlist click loss function value, playlist favorite loss function value, playlist like loss function value, and song like loss function value to obtain the total loss function value.
[0110] Step 3019: Based on the total loss function value, train the model to be trained to obtain the playlist recommendation model.
[0111] The following is based on Figure 4 This paper explains the process of implementing playlist recommendation through a playlist recommendation model.
[0112] Step 401: Obtain the playlist recommendation request sent by the target user, and based on the playlist recommendation request, obtain the target user's interactive playlist, interactive songs, user data, and candidate playlists to be recommended.
[0113] Step 402: Through the feature extraction layer of the playlist recommendation model, feature extraction is performed on the playlist name of the interactive playlist to obtain the interactive playlist feature, feature extraction is performed on the song name of the song in the interactive playlist to obtain the interactive song feature, and feature extraction is performed on the song name of the interactive song to obtain the song sequence feature.
[0114] Step 403: Through the feature extraction layer in the playlist recommendation model, feature extraction is performed on the playlist name of the candidate playlist to obtain the candidate playlist feature, and feature extraction is performed on the song name of the song in the candidate playlist to obtain the candidate song feature.
[0115] Step 404: Through the feature extraction layer in the playlist recommendation model, feature extraction is performed on user data to obtain user features, feature extraction is performed on other playlist data to obtain other playlist features, and feature extraction is performed on other song data to obtain other song features.
[0116] Step 405: Through the playlist song fusion layer in the playlist recommendation model, the interactive playlist features and interactive song features are mapped to the same vector space to obtain the mapped interactive playlist features and the mapped interactive song features corresponding to the interactive song features.
[0117] Step 406: Through the playlist song fusion layer in the playlist recommendation model, the mapped interactive playlist features and mapped interactive song features are concatenated. Based on the concatenated interactive features, the weights corresponding to the mapped interactive playlist features and mapped interactive song features are determined. Based on the weights corresponding to the mapped interactive playlist features and mapped interactive song features, the mapped interactive playlist features and mapped interactive song features are fused to obtain the interactive playlist song features corresponding to the interactive playlist.
[0118] Step 407: Through the playlist and song fusion layer in the playlist recommendation model, the candidate playlist features and candidate song features are mapped to the same vector space to obtain the mapped candidate playlist features and the mapped candidate song features corresponding to the candidate song features.
[0119] Step 408: Through the playlist-song fusion layer in the playlist recommendation model, the mapped candidate playlist features and mapped candidate song features are concatenated. Based on the concatenated candidate features, the weights corresponding to the mapped candidate playlist features and mapped candidate song features are determined. Based on the weights corresponding to the mapped candidate playlist features and mapped candidate song features, the mapped candidate playlist features and mapped candidate song features are fused to obtain the candidate playlist-song features corresponding to the candidate playlist.
[0120] Step 409: Through the interest extraction layer in the playlist recommendation model, determine the playlist song search vector based on the song features of the candidate playlist, determine the playlist song matching vector based on the song features of the interactive playlist, and determine the playlist song content vector based on the song features of the interactive playlist.
[0121] Step 4010: Through the interest extraction layer in the playlist recommendation model, determine the first weight based on the playlist song search vector and the playlist song matching vector, and multiply the first weight with the playlist song content vector to obtain the playlist song interest features for the candidate playlist.
[0122] Step 4011: Through the interest extraction layer in the playlist recommendation model, determine the playlist search vector based on candidate playlist features, determine the playlist matching vector based on interactive playlist features, and determine the playlist content vector based on interactive playlist features.
[0123] Step 4012: Through the interest extraction layer in the playlist recommendation model, determine the second weight based on the playlist search vector and the playlist matching vector, and multiply the second weight with the playlist content vector to obtain the playlist interest features for the candidate playlist.
[0124] Step 4013: Through the interest extraction layer in the playlist recommendation model, determine the song search vector based on candidate song features, determine the song matching vector based on song sequence features, and determine the song content vector based on song sequence features.
[0125] Step 4014: Through the interest extraction layer in the playlist recommendation model, determine the third weight based on the song search vector and the song matching vector, and multiply the third weight with the song content vector to obtain the song interest features for the candidate playlist.
[0126] Step 4015: Using the multi-objective network in the playlist recommendation model, the playlist song interest features, playlist interest features, song interest features, candidate playlist features, user features, other playlist features, and other song features are concatenated to obtain the total playlist features. Based on the total playlist features, the playlist playback score, playlist click score, playlist favorite score, and playlist like score for the candidate playlist are predicted.
[0127] Step 4016: Using the multi-objective network in the playlist recommendation model, the playlist song interest features, song interest features, candidate song features, user features, and other song features are concatenated to obtain the total song features. Based on the total song features, the song liking score for the songs in the candidate playlist is predicted.
[0128] Step 4017: Perform weighted fusion of playlist playback score, playlist click score, playlist favorite score, playlist like score, and song like score to obtain the target user's interest score for each candidate playlist. Based on the interest score, determine the target playlist from the candidate playlists and recommend the target playlist to the target user.
[0129] The playlist recommendation process in this embodiment can be as follows: Figure 7 As shown, training samples are first collected through the data acquisition module. The training samples include sample interactive playlists, sample interactive songs, sample candidate playlists to be recommended, and sample user data. Then, the playlist recommendation model is trained based on the training samples through the model building module. The model can include a playlist-song fusion layer and an interest extraction layer. The target user data is collected through the online prediction module, the playlist recommendation model is deployed, and the target playlist is recommended to the target user through the playlist recommendation model.
[0130] The definitions of terms, specific implementation methods, and corresponding beneficial effects of this embodiment can be found in the above method embodiments, and will not be repeated here.
[0131] This embodiment also provides a playlist recommendation device, which can be integrated into a server. For example, such as... Figure 8 As shown, the playlist recommendation device may include: The acquisition module 801 is used to acquire the interactive playlists and interactive songs of the target user, as well as to acquire candidate playlists to be recommended.
[0132] The extraction module 802 is used to extract features from the playlist data of interactive playlists to obtain interactive playlist features, extract features from the song data of songs in interactive playlists to obtain interactive song features, and extract features from the song data of interactive songs to obtain song sequence features; it also extracts features from the playlist data of candidate playlists to obtain candidate playlist features, and extracts features from the song data of songs in candidate playlists to obtain candidate song features.
[0133] The fusion module 803 is used to perform fusion processing based on interactive playlist features and interactive song features to obtain interactive playlist song features corresponding to the interactive playlist, and to perform fusion processing based on candidate playlist features and candidate song features to obtain candidate playlist song features corresponding to the candidate playlist.
[0134] The determination module 804 is used to determine the song interest features of the candidate playlist based on the song features of the interactive playlist and the song features of the candidate playlist, to determine the song interest features of the candidate playlist based on the interactive playlist features and the candidate playlist features, and to determine the song interest features of the candidate playlist based on the candidate song features and the song sequence features.
[0135] The recommendation module 805 is used to determine the target playlist from the candidate playlists based on the playlist's song interest features, playlist interest features, and song interest features, and to recommend the target playlist to the target user.
[0136] In some embodiments, the determining module 804 is specifically used to perform: The playlist song search vector is determined based on the song features of the candidate playlist; the playlist song matching vector is determined based on the song features of the interactive playlist; and the playlist song content vector is determined based on the song features of the interactive playlist. The first weight is determined based on the song search vector and song matching vector of the playlist. The first weight is multiplied by the song content vector of the playlist to obtain the song interest features for the candidate playlist. The playlist search vector is determined based on candidate playlist features, the playlist matching vector is determined based on interactive playlist features, and the playlist content vector is determined based on interactive playlist features. The second weight is determined based on the playlist search vector and the playlist matching vector. The second weight is multiplied by the playlist content vector to obtain the playlist interest features for the candidate playlist. The song search vector is determined based on candidate song features, the song matching vector is determined based on song sequence features, and the song content vector is determined based on song sequence features. The third weight is determined based on the song search vector and the song matching vector. The third weight is then multiplied by the song content vector to obtain the song interest features for the candidate playlist.
[0137] In some embodiments, the fusion module 803 is specifically used to perform: The interactive playlist features and interactive song features are mapped to the same vector space to obtain the mapped interactive playlist features and the mapped interactive song features corresponding to the interactive song features. The mapped interactive playlist features and mapped interactive song features are concatenated, and the weights corresponding to the mapped interactive playlist features and the mapped interactive song features are determined based on the concatenated interactive features. Based on the weights corresponding to the mapped interactive playlist features and the weights corresponding to the mapped interactive song features, the mapped interactive playlist features and the mapped interactive song features are fused to obtain the interactive playlist song features corresponding to the interactive playlist. Map the candidate playlist features and candidate song features to the same vector space to obtain the mapped candidate playlist features and the mapped candidate song features corresponding to the candidate song features. The mapped candidate playlist features and mapped candidate song features are concatenated, and the weights corresponding to the mapped candidate playlist features and the mapped candidate song features are determined based on the concatenated candidate features. Based on the weights corresponding to the mapped candidate playlist features and the weights corresponding to the mapped candidate song features, the mapped candidate playlist features and the mapped candidate song features are fused to obtain the candidate playlist song features corresponding to the candidate playlist.
[0138] In some embodiments, the interactive playlist includes playlists in which the target user interacts with the playlist across various interactive dimensions, and the recommendation module 805 is specifically used to perform: The playlist's song interest features, playlist interest features, song interest features, and candidate playlist features are concatenated to obtain the playlist's overall features. Based on the overall features of the playlist, predict the candidate interest score of the target user for each interaction dimension of the candidate playlist; The interest scores of the candidate playlists are obtained by fusing the candidate interest scores. The target playlist is determined from the candidate playlists based on interest scores.
[0139] In some embodiments, the recommendation module 805 is specifically used to perform: The song interest features, song interest features, and candidate song features are concatenated to obtain the overall song features; Based on the overall characteristics of the songs, predict the target user's interest score for the songs in the candidate playlist; The candidate interest scores and song interest scores are merged to obtain the interest scores corresponding to the candidate playlists.
[0140] In practice, each of the above modules can be implemented as an independent entity or can be combined arbitrarily to be implemented as the same or several entities. For the specific implementation methods and corresponding beneficial effects of each of the above modules, please refer to the previous method embodiments, which will not be repeated here.
[0141] Accordingly, this application also provides an electronic device, which can be a terminal, such as a smartphone, tablet computer, laptop computer, touch screen, game console, personal computer (PC), personal digital assistant (PDA), or other terminal device. Alternatively, the electronic device can be a server.
[0142] like Figure 9 As shown, Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device 900 includes a processor 901 with one or more processing cores, a memory 902 with one or more computer-readable storage media, and a computer program stored on the memory 902 and executable on the processor. The processor 901 and the memory 902 are electrically connected. Those skilled in the art will understand that the electronic device structure shown in the figure does not constitute a limitation on the electronic device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0143] The processor 901 is the control center of the electronic device 900. It connects various parts of the electronic device 900 via various interfaces and lines. By running or loading software programs and / or units stored in the memory 902, and by calling data stored in the memory 902, it executes various functions and processes data of the electronic device 900, thereby providing overall monitoring of the electronic device 900. The processor 901 can be a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), etc., and can implement or execute the methods, steps, and logic diagrams disclosed in the embodiments of this application.
[0144] In this embodiment, the processor 901 in the electronic device 900 loads the instructions corresponding to the processes of one or more applications into the memory 902 according to the following steps, and the processor 901 runs the applications stored in the memory 902 to realize various functions, such as: Obtain the interactive playlists and interactive songs of the target user, as well as the candidate playlists to be recommended; Feature extraction is performed on the playlist data of the interactive playlist to obtain the interactive playlist features; feature extraction is performed on the song data of the songs in the interactive playlist to obtain the interactive song features; and feature extraction is performed on the song data of the interactive songs to obtain the song sequence features. Feature extraction is performed on the playlist data of the candidate playlists to obtain the candidate playlist features, and feature extraction is performed on the song data of the songs in the candidate playlists to obtain the candidate song features. The interactive playlist features and interactive song features are fused together to obtain the interactive playlist song features corresponding to the interactive playlist. The candidate playlist features and candidate song features are fused together to obtain the candidate playlist song features corresponding to the candidate playlist. Based on the features of interactive playlists and candidate playlists, we determine the song interest features for candidate playlists; based on the features of interactive playlists and candidate playlists, we determine the song interest features for candidate playlists; and based on the features of candidate songs and song sequence features, we determine the song interest features for candidate playlists. Based on the song interest characteristics, playlist interest characteristics, and song interest characteristics, the target playlist is determined from the candidate playlists and recommended to the target user.
[0145] The specific implementation of each of the above operations and their corresponding beneficial effects can be found in the previous embodiments, and will not be repeated here.
[0146] Optional, such as Figure 9 As shown, the electronic device 900 also includes: a touch display screen 903, a radio frequency circuit 904, an audio circuit 905, an input unit 906, and a power supply 907. The processor 901 is electrically connected to the touch display screen 903, the radio frequency circuit 904, the audio circuit 905, the input unit 906, and the power supply 907. Those skilled in the art will understand that... Figure 9 The electronic device structure shown does not constitute a limitation on the electronic device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0147] The touch display screen 903 can be used to display a graphical user interface (GUI) and receive operation commands generated by the user interacting with the GUI. The touch display screen 903 may include a display panel and a touch panel. The display panel can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces of the electronic device. These graphical user interfaces can be composed of graphics, text, icons, video, and any combination thereof. Optionally, the display panel can be configured using a liquid crystal display (LCD), organic light-emitting diode (OLED), or other similar technologies. The touch panel can be used to collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel), generate corresponding operation commands, and execute the corresponding program according to the operation commands. Optionally, the touch panel may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch location and the signal generated by the touch operation, transmitting the signal to the touch controller. The touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 901. It can also receive and execute commands from the processor 901. The touch panel can cover the display panel. When the touch panel detects a touch operation on or near it, it transmits the information to the processor 901 to determine the type of touch event. Subsequently, the processor 901 provides corresponding visual output on the display panel based on the type of touch event. In this embodiment, the touch panel and the display panel can be integrated into the touch display screen 903 to achieve input and output functions. However, in some embodiments, the touch panel and the touch display screen 903 can be implemented as two independent components to achieve input and output functions. That is, the touch display screen 903 can also be used as part of the input unit 906 to achieve input functions.
[0148] The radio frequency circuit 904 can be used to transmit and receive radio frequency signals to establish wireless communication with network devices or other electronic devices, and to transmit and receive signals with network devices or other electronic devices.
[0149] Audio circuitry 905 can be used to provide an audio interface between a user and an electronic device via a speaker and a microphone. Audio circuitry 905 converts received audio data into electrical signals, transmits them to the speaker, and the speaker converts them into sound signals for output. Conversely, the microphone converts collected sound signals into electrical signals, which are then received by audio circuitry 905, converted back into audio data, and then processed by processor 901 before being transmitted via radio frequency circuitry 904 to, for example, another electronic device, or output to memory 902 for further processing. Audio circuitry 905 may also include an earphone jack to facilitate communication between peripheral headphones and electronic devices.
[0150] The input unit 906 can be used to receive input numbers, characters, or user characteristic information (such as fingerprints, iris, facial information, etc.), and to generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control.
[0151] Power supply 907 is used to supply power to various components of electronic device 900. Optionally, power supply 907 can be logically connected to processor 901 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. Power supply 907 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0152] although Figure 9 As not shown in the diagram, the electronic device 900 may also include a camera, sensor, wireless fidelity module, Bluetooth module, etc., which will not be described in detail here.
[0153] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0154] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0155] Therefore, embodiments of this application provide a computer-readable storage medium storing multiple computer programs that can be loaded by a processor to execute any of the playlist recommendation methods provided in this application. For example, the computer program can execute the following steps of the playlist recommendation method: Obtain the interactive playlists and interactive songs of the target user, as well as the candidate playlists to be recommended; Feature extraction is performed on the playlist data of the interactive playlist to obtain the interactive playlist features; feature extraction is performed on the song data of the songs in the interactive playlist to obtain the interactive song features; and feature extraction is performed on the song data of the interactive songs to obtain the song sequence features. Feature extraction is performed on the playlist data of the candidate playlists to obtain the candidate playlist features, and feature extraction is performed on the song data of the songs in the candidate playlists to obtain the candidate song features. The interactive playlist features and interactive song features are fused together to obtain the interactive playlist song features corresponding to the interactive playlist. The candidate playlist features and candidate song features are fused together to obtain the candidate playlist song features corresponding to the candidate playlist. Based on the features of interactive playlists and candidate playlists, we determine the song interest features for candidate playlists; based on the features of interactive playlists and candidate playlists, we determine the song interest features for candidate playlists; and based on the features of candidate songs and song sequence features, we determine the song interest features for candidate playlists. Based on the song interest characteristics, playlist interest characteristics, and song interest characteristics, the target playlist is determined from the candidate playlists and recommended to the target user.
[0156] The specific implementation of each of the above operations and their corresponding beneficial effects can be found in the previous embodiments, and will not be repeated here.
[0157] The computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0158] Since the computer program stored in the computer-readable storage medium can execute any of the playlist recommendation methods provided in the embodiments of this application, it can achieve the beneficial effects that any of the playlist recommendation methods provided in the embodiments of this application can achieve, as detailed in the preceding embodiments, and will not be repeated here.
[0159] According to one aspect of this application, a computer program product or computer program is also provided, comprising computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the methods provided in the various optional implementations of the above embodiments.
[0160] In the above embodiments of the playlist recommendation device, computer-readable storage medium, electronic device, and computer program product, the descriptions of each embodiment have different focuses. Parts not described in detail in a particular embodiment can be referred to in the relevant descriptions of other embodiments. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes and beneficial effects of the playlist recommendation device, computer-readable storage medium, computer program product, electronic device, and their corresponding units described above can be referred to the description of the playlist recommendation method in the above embodiments, and will not be repeated here.
[0161] The above provides a detailed description of a playlist recommendation method, apparatus, electronic device, computer-readable storage medium, and computer program product provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A playlist recommendation method, characterized in that, include: Obtain the interactive playlists and interactive songs of the target user, as well as the candidate playlists to be recommended; Feature extraction is performed on the playlist data of the interactive playlist to obtain the interactive playlist features corresponding to the interactive playlist; feature extraction is performed on the song data of the songs in the interactive playlist to obtain the interactive song features corresponding to the interactive playlist; and feature extraction is performed on the song data of the interactive songs to obtain the song sequence features. Feature extraction is performed on the playlist data of the candidate playlist to obtain the candidate playlist features corresponding to the candidate playlist; and feature extraction is performed on the song data of the songs in the candidate playlist to obtain the candidate song features corresponding to the candidate playlist. Based on the interaction playlist features and the interaction song features, a fusion process is performed to obtain the interaction playlist song features corresponding to the interaction playlist; and based on the candidate playlist features and the candidate song features, a fusion process is performed to obtain the candidate playlist song features corresponding to the candidate playlist. Based on the interactive playlist song features and the candidate playlist song features, determine the playlist song interest features for the candidate playlist; based on the interactive playlist features and the candidate playlist features, determine the playlist interest features for the candidate playlist; and based on the candidate song features and the song sequence features, determine the song interest features for the candidate playlist. Based on the song interest features of the playlist, the playlist interest features, and the song interest features, a target playlist is determined from the candidate playlists, and the target playlist is recommended to the target user.
2. The method according to claim 1, characterized in that, The step of determining the song interest features for the candidate playlists based on the song features of the interactive playlist and the song features of the candidate playlist includes: Based on the candidate playlist song features, a playlist song search vector is determined; based on the interactive playlist song features, a playlist song matching vector is determined; and based on the interactive playlist song features, a playlist song content vector is determined. A first weight is determined based on the song search vector and the song matching vector of the playlist. The first weight is then multiplied by the song content vector of the playlist to obtain the song interest features for the candidate playlist. The step of determining playlist interest features for the candidate playlists based on the interactive playlist features and the candidate playlist features includes: The playlist search vector is determined based on the candidate playlist features, the playlist matching vector is determined based on the interactive playlist features, and the playlist content vector is determined based on the interactive playlist features. A second weight is determined based on the playlist search vector and the playlist matching vector. The second weight is then multiplied by the playlist content vector to obtain the playlist interest features for the candidate playlist. The step of determining song interest features for the candidate playlist based on the candidate song features and the song sequence features includes: Based on the candidate song features, a song search vector is determined; based on the song sequence features, a song matching vector is determined; and based on the song sequence features, a song content vector is determined. A third weight is determined based on the song search vector and the song matching vector. The third weight is then multiplied by the song content vector to obtain the song interest features for the candidate playlist.
3. The method according to claim 1, characterized in that, The process of fusing the interactive playlist features and the interactive song features to obtain the interactive playlist song features corresponding to the interactive playlist includes: The interactive playlist features and the interactive song features are mapped to the same vector space to obtain the mapped interactive playlist features and the mapped interactive song features corresponding to the interactive song features. The mapped interactive playlist features and the mapped interactive song features are concatenated, and based on the concatenated interactive features, the weights corresponding to the mapped interactive playlist features and the weights corresponding to the mapped interactive song features are determined. Based on the weights corresponding to the mapped interactive playlist features and the weights corresponding to the mapped interactive song features, the mapped interactive playlist features and the mapped interactive song features are fused to obtain the interactive playlist song features corresponding to the interactive playlist. The process of fusing the candidate playlist features and the candidate song features to obtain the candidate playlist song features corresponding to the candidate playlist includes: The candidate playlist features and the candidate song features are mapped to the same vector space to obtain the mapped candidate playlist features and the mapped candidate song features corresponding to the candidate song features. The mapped candidate playlist features and the mapped candidate song features are concatenated, and based on the concatenated candidate features, the weights corresponding to the mapped candidate playlist features and the weights corresponding to the mapped candidate song features are determined. Based on the weights corresponding to the mapped candidate playlist features and the weights corresponding to the mapped candidate song features, the mapped candidate playlist features and the mapped candidate song features are fused to obtain the candidate playlist song features corresponding to the candidate playlist.
4. The method according to claim 1, characterized in that, The interactive playlist includes playlists in which the target user interacts across various interactive dimensions. The process of determining the target playlist from the candidate playlists based on the playlist's song interest features, the playlist's interest features, and the song's interest features includes: The song interest features, the song interest features, and the candidate song playlist features are concatenated to obtain the total playlist features. Based on the overall features of the playlist, predict the candidate interest score of the target user for the candidate playlist in each of the interaction dimensions; Based on the candidate interest scores, a fusion process is performed to obtain the interest scores corresponding to the candidate playlists; The target playlist is determined from the candidate playlists based on the interest score.
5. The method according to claim 4, characterized in that, The method further includes: The song interest features of the playlist, the song interest features, and the candidate song features are concatenated to obtain the total song features; Based on the overall characteristics of the songs, predict the target user's song interest score for the songs in the candidate playlist; The process of fusing the candidate interest scores to obtain the interest scores corresponding to the candidate playlists includes: The candidate interest scores and the song interest scores are fused together to obtain the interest scores corresponding to the candidate playlists.
6. The method according to any one of claims 1-5, characterized in that, The playlist recommendation method is implemented through a playlist recommendation model, and the training process of the playlist recommendation model includes: Obtain training samples, which include user sample interaction playlists, sample interaction songs, and sample candidate playlists to be recommended; Feature extraction is performed on the playlist data of the sample interactive playlist to obtain the sample interactive playlist features corresponding to the sample interactive playlist; feature extraction is performed on the song data of the songs in the sample interactive playlist to obtain the sample interactive song features corresponding to the sample interactive playlist; and feature extraction is performed on the song data of the sample interactive songs to obtain the sample song sequence features. Feature extraction is performed on the playlist data of the sample candidate playlist to obtain the sample candidate playlist features corresponding to the sample candidate playlist; and feature extraction is performed on the song data of the songs in the sample candidate playlist to obtain the sample candidate song features corresponding to the sample candidate playlist. Based on the sample interactive playlist features and the sample interactive song features, a fusion process is performed to obtain the sample interactive playlist song features corresponding to the sample interactive playlist; and based on the sample candidate playlist features and the sample candidate song features, a fusion process is performed to obtain the sample candidate playlist song features corresponding to the sample candidate playlist. Based on the song features of the sample interactive playlist and the song features of the sample candidate playlist, the sample playlist song interest features for the sample candidate playlist are determined; based on the song features of the sample interactive playlist and the song features of the sample candidate playlist, the sample playlist interest features for the sample candidate playlist are determined; and based on the song features of the sample candidate playlist and the song sequence features, the sample song interest features for the sample candidate playlist are determined. Based on the song interest features of the sample playlist, the interest features of the sample playlist, and the interest features of the sample songs, the playlist loss function value is determined. Based on the loss function value of the playlist, the model to be trained is trained to obtain the playlist recommendation model.
7. The method according to claim 6, characterized in that, The method further includes: Based on the song interest features of the sample playlist and the song interest features of the sample, determine the song loss function value; The process of training the model to be trained based on the playlist loss function value to obtain the playlist recommendation model includes: Based on the playlist loss function value and the song loss function value, the model to be trained is trained to obtain the playlist recommendation model.
8. A playlist recommendation device, characterized in that, The device includes: The acquisition module is used to acquire the interactive playlists and interactive songs of the target user, as well as to acquire candidate playlists to be recommended; The extraction module is used to extract features from the playlist data of the interactive playlist to obtain interactive playlist features corresponding to the interactive playlist; to extract features from the song data of the songs in the interactive playlist to obtain interactive song features corresponding to the interactive playlist; and to extract features from the song data of the interactive songs to obtain song sequence features; to extract features from the playlist data of the candidate playlist to obtain candidate playlist features corresponding to the candidate playlist; and to extract features from the song data of the songs in the candidate playlist to obtain candidate song features corresponding to the candidate playlist. The fusion module is used to perform fusion processing based on the interactive playlist features and the interactive song features to obtain the interactive playlist song features corresponding to the interactive playlist, and to perform fusion processing based on the candidate playlist features and the candidate song features to obtain the candidate playlist song features corresponding to the candidate playlist. The determining module is used to determine the playlist song interest features for the candidate playlist based on the interactive playlist song features and the candidate playlist song features, to determine the playlist interest features for the candidate playlist based on the interactive playlist features and the candidate playlist features, and to determine the song interest features for the candidate playlist based on the candidate song features and the song sequence features. The recommendation module is used to determine a target playlist from the candidate playlists based on the playlist's song interest features, the playlist's interest features, and the song's interest features, and to recommend the target playlist to the target user.
9. An electronic device, characterized in that, The system includes a processor and a memory, the memory storing multiple instructions; the processor loads instructions from the memory to perform the steps of the playlist recommendation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, It stores a computer program, which is loaded by a processor to execute the steps of the playlist recommendation method according to any one of claims 1 to 7.