Song recommendation method, device, equipment and storage medium
By obtaining a first set of candidate songs matching user characteristics and a second set of candidate songs matching a reference song list, the recommended songs are determined comprehensively, which solves the problem of insufficient accuracy in song recommendation in existing technologies and achieves higher recommendation accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU KUGOU COMP TECH CO LTD
- Filing Date
- 2026-02-10
- Publication Date
- 2026-06-05
AI Technical Summary
Existing technologies have poor accuracy in song recommendation and cannot effectively match user characteristics with song lists.
By obtaining a first set of candidate songs that match the user's account characteristics and a second set of candidate songs that match the reference song list, and by comprehensively considering the user characteristics and the song list characteristics, the recommended songs are determined.
It improves the accuracy of song recommendations, enabling better matching of user preferences and the current song list, thus enhancing the user experience.
Smart Images

Figure CN122153112A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of song recommendation, and in particular to a song recommendation method, apparatus, device, and storage medium. Background Technology
[0002] In apps that support music playback, recommending songs to user accounts can improve the user experience.
[0003] Client applications typically provide user accounts with song lists so users can easily play songs. In related technologies, when displaying the song list, the client also shows songs recommended to the user account. In this case, the songs recommended by the client are determined based on user account characteristics, such as gender, age, and location.
[0004] The above method of recommending songs has the problem of poor accuracy. Summary of the Invention
[0005] This application provides a song recommendation method, apparatus, device, and storage medium, which can improve the accuracy of song recommendations. The technical solution is as follows: According to one aspect of this application, a song recommendation method is provided, the method being applied to a server, the method comprising: Receive a song recommendation request sent by the client, wherein the song recommendation request corresponds to a list of reference songs; A first candidate song set is obtained based on the characteristics of a first user account, wherein the songs in the first candidate song set match the characteristics of the first user account, and the first user account is the user account corresponding to the client; a second candidate song set is obtained based on the songs in the reference song list, wherein the songs in the second candidate song set match the songs in the reference song list; Recommended songs are obtained based on the first candidate song set and the second candidate song set; The recommended song is sent to the client.
[0006] According to another aspect of this application, a song recommendation method is provided, the method being applied to a client, the method comprising: Send a song recommendation request to the server, wherein the song recommendation request corresponds to a list of reference songs; Receive recommended songs sent by the server; The recommended songs are obtained based on a first candidate song set and a second candidate song set. The first candidate song set is obtained based on the characteristics of a first user account, and the second candidate song set is obtained based on the songs in the reference song list. The songs in the first candidate song set match the characteristics of the first user account, and the songs in the second candidate song set match the songs in the reference song list. The first user account is the user account corresponding to the client.
[0007] According to another aspect of this application, a song recommendation device is provided, the device comprising: The receiving module is used to receive song recommendation requests sent by the client, wherein the song recommendation requests correspond to a list of reference songs; The acquisition module is used to acquire a first candidate song set based on the characteristics of a first user account, wherein the songs in the first candidate song set match the characteristics of the first user account, and the first user account is the user account corresponding to the client; and to acquire a second candidate song set based on the songs in the reference song list, wherein the songs in the second candidate song set match the songs in the reference song list. The acquisition module is further configured to acquire recommended songs based on the first candidate song set and the second candidate song set; The sending module is used to send the recommended songs to the client.
[0008] In an optional design, the acquisition module is used for: At least one song is obtained from the first candidate song set, and at least one song is obtained from the second candidate song set to obtain a third candidate song set; The recommended songs are obtained based on the third set of candidate songs.
[0009] In an optional design, the acquisition module is used for: The third candidate song set is obtained by alternately obtaining songs from the first candidate song set and the second candidate song set.
[0010] In an optional design, the acquisition module is used for: Obtain at least one first matching song corresponding to each song in the reference song list, wherein the first matching song matches the songs in the reference song list; The second set of candidate songs is obtained based on the first matched song.
[0011] In an optional design, the device further includes: The determining module is used to determine the weight of the first matching song corresponding to the song in the reference song list based on the playback behavior of the first user account for the songs in the reference song list. The sorting module is used to sort the first matched song based on the weight of the first matched song; The acquisition module is used to acquire the second candidate song set based on the sorted first matching songs.
[0012] In an optional design, the acquisition module is used for: Based on the splicing features corresponding to the first user account, at least one second matching song is obtained, and the second matching song matches the splicing features; The first candidate song set is obtained based on the second matched song; The splicing feature corresponding to the first user account is obtained by splicing the user feature and the behavioral feature of the first user account. The behavioral feature of the first user account is related to the interaction behavior of the first user account with different songs.
[0013] In an optional design, the reference song list includes the song list displayed in the user interface shown by the client; The song recommendation request is triggered when the client displays the list of reference songs or plays a song from the list of reference songs.
[0014] According to another aspect of this application, a song recommendation device is provided, the device comprising: Send a song recommendation request to the server, wherein the song recommendation request corresponds to a list of reference songs; Receive recommended songs sent by the server; The recommended songs are obtained based on a first candidate song set and a second candidate song set. The first candidate song set is obtained based on the characteristics of a first user account, and the second candidate song set is obtained based on the songs in the reference song list. The songs in the first candidate song set match the characteristics of the first user account, and the songs in the second candidate song set match the songs in the reference song list. The first user account is the user account corresponding to the device.
[0015] According to another aspect of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one program, the at least one program being loaded and executed by the processor to implement the song recommendation method as described above.
[0016] According to another aspect of this application, a computer-readable storage medium is provided, wherein at least one program is stored therein, the at least one program being loaded and executed by a processor to implement the song recommendation method as described above.
[0017] According to another aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the song recommendation method provided in various alternative implementations of the above aspects.
[0018] The beneficial effects of the technical solution provided in this application include at least the following: By obtaining a first candidate song set consisting of songs matching the characteristics of a first user account, and a second candidate song set consisting of songs matching songs in a reference song list, recommended songs are obtained based on the first and second candidate song sets for song recommendation. Since the process of determining recommended songs considers not only the user account characteristics but also the songs in the reference song list corresponding to the song recommendation request, the accuracy of recommended songs can be improved. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a structural block diagram of a computer system provided in an exemplary embodiment of this application; Figure 2 This is a schematic diagram of a song recommendation process provided in an exemplary embodiment of this application; Figure 3 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application; Figure 4 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application; Figure 5 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application; Figure 6 This is a schematic diagram of a user interface provided in an exemplary embodiment of this application; Figure 7This is a schematic diagram of a user interface provided in an exemplary embodiment of this application; Figure 8 This is a schematic diagram of a song recommendation process provided in an exemplary embodiment of this application; Figure 9 This is a schematic diagram of the structure of a song recommendation device provided in an exemplary embodiment of this application; Figure 10 This is a schematic diagram of the structure of a song recommendation device provided in an exemplary embodiment of this application; Figure 11 This is a schematic diagram of the structure of a song recommendation device provided in an exemplary embodiment of this application; Figure 12 This is a schematic diagram of the structure of a terminal provided in an exemplary embodiment of this application; Figure 13 This is a schematic diagram of the structure of a computer device provided in an exemplary embodiment of this application.
[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. Detailed Implementation
[0022] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0023] Figure 1 This is a structural block diagram of a computer system provided in an exemplary embodiment of this application. The computer system 100 includes: a terminal 110 and a server 120.
[0024] Terminal 110 has an application 111 installed and running that supports song recommendations. This application 111 includes any one of the following: music streaming applications, song-related applications, singing applications, live streaming applications, social networking applications, office applications, game applications, food delivery applications, online shopping applications, video-on-demand applications, short video applications, financial applications, lifestyle service applications, navigation applications, medical applications, learning applications, and mini-programs. In some embodiments, application 111 is a client. Terminal 110 is the terminal used by user 112, and user account 112 can be logged into application 111. Terminal 110 can refer to one of multiple terminals. Optionally, the device type of terminal 110 includes at least one of the following: smartphone, tablet, smartwatch, e-book reader, MP3 player, MP4 player, laptop, and desktop computer.
[0025] Terminal 110 is connected to server 120 via wireless or wired network.
[0026] Server 120 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. Server 120 provides background services for application 111 that supports song recommendation. Optionally, server 120 undertakes the primary computing work, and terminal 110 undertakes the secondary computing work; or, server 120 undertakes the secondary computing work, and terminal 110 undertakes the primary computing work; or, server 120 and terminal 110 collaborate on computing using a distributed computing architecture.
[0027] In an illustrative example, server 120 includes processor 121, user account database 122, song recommendation module 123, and user-facing input / output interface (I / O interface) 124. Processor 121 loads instructions stored in server 120 and processes data in user account database 122 and song recommendation module 123. User account database 122 stores user account data used by terminal 110 and other terminals, such as user account avatars, nicknames, and group memberships. Song recommendation module 123 provides song recommendation services for application 111. User-facing I / O interface 124 establishes communication and exchanges data with terminal 110 via wireless or wired network.
[0028] Based on the above description of the implementation environment involved in this application, the method provided in the embodiments of this application will be described below.
[0029] Figure 2 This is a schematic diagram of a song recommendation process provided in an exemplary embodiment of this application. For example... Figure 2 As shown, the server receives a song recommendation request 201 sent by the client, and the song recommendation request 201 corresponds to a reference song list 202. In some embodiments, the reference song list 202 includes the song list displayed in the user interface shown by the client, such as the song list currently displayed in the user interface of the client. Optionally, the song recommendation request 201 is triggered when the client displays the reference song list 202, or when the client plays a song in the reference song list 202.
[0030] Upon receiving a song recommendation request 201, the server obtains a first candidate song set 204 based on the characteristics 203 of the first user account, and a second candidate song set 205 based on the songs in the reference song list 202. The songs in the first candidate song set 204 match the characteristics 203 of the first user account, and the songs in the second candidate song set 205 match the songs in the reference song list 202. The first user account is the user account corresponding to the client, such as the user account logged in on the client. Optionally, the server obtains at least one first matching song corresponding to each song in the reference song list 202, and obtains the second candidate song set 205 based on the first matching song. The first matching song matches the songs in the reference song list 202, for example, the characteristics of the first matching song match the characteristics of the songs in the reference song list 202. Optionally, the server obtains at least one second matching song based on the concatenated characteristics corresponding to the first user account, and obtains the first candidate song set 204 based on the second matching song. The second matching song matches the concatenated characteristics corresponding to the first user account, for example, the characteristics of the second matching song match the concatenated characteristics corresponding to the first user account. The splicing features corresponding to the first user account are obtained by splicing the user features and behavioral features of the first user account. The behavioral features of the first user account are related to the interaction behavior of the first user account with different songs.
[0031] Given the first candidate song set 204 and the second candidate song set 205, the server will retrieve the recommended song 206 based on these sets. For example, the server can retrieve the recommended song 206 by obtaining at least one song from the first candidate song set 204 and at least one song from the second candidate song set 205. After obtaining the recommended song 206, the server will send it to the client. Upon receiving the recommended song 206, the client will display it in the user interface.
[0032] By obtaining a first candidate song set consisting of songs matching the characteristics of a first user account, and a second candidate song set consisting of songs matching songs in a reference song list, recommended songs are obtained based on the first and second candidate song sets for song recommendation. Since the process of determining recommended songs considers not only the user account characteristics but also the songs in the reference song list corresponding to the song recommendation request, the accuracy of recommended songs can be improved.
[0033] Figure 3 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application. The method can be used in a computer device, such as a server-side component within a server. Figure 3 As shown, the method includes: Step 302: Receive the song recommendation request sent by the client.
[0034] The song recommendation request is used to request the server to recommend songs to the client. The song types in this embodiment include at least one of the following: complete songs, song fragments, medleys, instrumental music, instrumental tracks, songs with vocals, and songs without vocals.
[0035] The song recommendation request corresponds to a reference song list; in other words, the song recommendation request carries a reference song list, which includes multiple songs. This reference song list is the song list in the client, and the triggering of the song recommendation request is related to this list.
[0036] In some embodiments, the reference song list includes the song list displayed in the user interface shown on the client, such as the song list currently displayed in the user interface shown on the client. Optionally, the song recommendation request is triggered when the client displays the reference song list or when the client plays a song from the reference song list.
[0037] Step 304: Obtain the first candidate song set based on the characteristics of the first user account, and obtain the second candidate song set based on the songs in the reference song list.
[0038] The first candidate song set includes multiple songs, and the songs in the first candidate song set match the characteristics of the first user account, for example, the characteristics of the songs in the first candidate song set match the characteristics of the first user account. The first user account is the user account corresponding to the client, for example, the first user account is the user account logged in on the client. Optionally, the characteristics of the first user account include at least one of the user characteristics and the behavioral characteristics of the first user account. The user characteristics of the first user account are related to the user of the first user account, for example, including at least one of the gender, age, region, and song preferences of the first user account. The song preferences are used to reflect at least one of the song language, song genre, and song rhythm of the first user account. The behavioral characteristics of the first user account are related to the interaction behavior of the first user account with different songs, for example, used to reflect at least one of the songs collected by the first user account, the songs liked by the first user account, and the songs played in their entirety by the first user account.
[0039] Optionally, the server matches the feature vector corresponding to the characteristics of the first user account with the feature vectors corresponding to the candidate songs in the server, thereby obtaining the first candidate song set based on the matching results. The server obtaining the first candidate song set based on the characteristics of the first user account can be understood as obtaining the first candidate song set through a user-to-item (U2I) approach.
[0040] The second candidate song set includes multiple songs, and the songs in the second candidate song set match the songs in the reference song list, for example, the features of the songs in the second candidate song set match the features of the songs in the reference song list.
[0041] Optionally, the server matches the feature vector corresponding to each song in the reference song list with the feature vector corresponding to the candidate songs in the server, thereby obtaining a second candidate song set based on the matching results. The server obtaining the second candidate song set from the songs in the reference song list can be understood as obtaining the second candidate song set through an item-to-item (I2I) method.
[0042] It should be noted that the steps of obtaining the first candidate song set and obtaining the second candidate song set can be performed simultaneously or sequentially. For example, the step of obtaining the first candidate song set can be performed first and then the step of obtaining the second candidate song set can be performed, or the step of obtaining the second candidate song set can be performed first and then the step of obtaining the first candidate song set can be performed. This application embodiment does not limit this.
[0043] Step 306: Obtain recommended songs based on the first and second candidate song sets.
[0044] Recommended songs are songs recommended by the server to the client. Optionally, the recommended songs obtained by the server include songs from the first candidate song set and songs from the second candidate song set, or only songs from the first candidate song set, or only songs from the second candidate song set.
[0045] Optionally, the server obtains recommended songs based on the obtained songs by obtaining at least one song from the first candidate song set and at least one song from the second candidate song set.
[0046] Step 308: Send recommended songs to the client.
[0047] Once recommended songs are obtained, the server sends them to the client either by sending the audio file of the recommended song or by sending an identifier for the recommended song. The audio file is used to play the recommended song, while the identifier is used to retrieve the audio file.
[0048] Optionally, when the client receives a recommended song from the server, it will display the recommended song in the user interface, such as displaying at least one of the following: song title, artist name, cover image, and album information.
[0049] It should be noted that the method provided in this application embodiment is mainly described using a server-side application in a server as an example. It is understood that the method provided in this application embodiment can also be applied to a client-side application in a terminal. In this case, the client triggers a song recommendation request in step 302, and then the client executes steps 304 and 306 above to obtain recommended songs. Thus, once recommended songs are obtained, they can be displayed in the user interface.
[0050] In summary, the method provided in this embodiment obtains a first candidate song set consisting of songs matching the features of a first user account, and a second candidate song set consisting of songs matching songs in a reference song list. Based on these two sets, recommended songs are then obtained for song recommendation. Since the process of determining recommended songs considers not only the user account's features but also the songs in the reference song list corresponding to the song recommendation request, the accuracy of the recommended songs can be improved.
[0051] Figure 4 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application. The method can be used in a computer device, such as a client in a terminal. Figure 4 As shown, the method includes: Step 402: Send a song recommendation request to the server.
[0052] A song recommendation request is used to request the server to recommend songs to the client. Each song recommendation request corresponds to a reference song list; in other words, the request carries a reference song list, which includes multiple songs. This reference song list is the list of songs stored on the client, and the triggering of the song recommendation request is related to this list.
[0053] In some embodiments, the reference song list includes the song list displayed in the user interface shown on the client, such as the song list currently displayed in the user interface shown on the client. Optionally, the song recommendation request is triggered when the client displays the reference song list or when the client plays a song from the reference song list.
[0054] Step 404: Receive recommended songs sent by the server.
[0055] Recommended songs are obtained from a first set of candidate songs and a second set of candidate songs. The first set of candidate songs is obtained based on the characteristics of a first user account. This first set includes multiple songs, and the songs in the first set match the characteristics of the first user account. For example, the characteristics of the songs in the first set match the characteristics of the first user account. The first user account is the user account corresponding to the client, for example, the user account logged in on the client. The second set of candidate songs is obtained based on songs in the reference song list. This second set includes multiple songs, and the songs in the second set match the characteristics of songs in the reference song list. For example, the characteristics of the songs in the second set match the characteristics of songs in the reference song list.
[0056] Optionally, the recommended songs obtained by the server include songs from both the first candidate song set and the second candidate song set, or only songs from the first candidate song set, or only songs from the second candidate song set. Optionally, the server obtains recommended songs based on the obtained songs by obtaining at least one song from the first candidate song set and at least one song from the second candidate song set.
[0057] When the client receives a recommended song from the server, it will display the recommended song in the user interface, such as displaying at least one of the following: song title, artist name, cover image, and album information.
[0058] In summary, the method provided in this embodiment obtains recommended songs for song recommendation based on a first candidate song set consisting of songs matching the characteristics of a first user account and a second candidate song set consisting of songs matching songs in a reference song list. Since the process of determining recommended songs considers not only the characteristics of the user account but also the songs in the reference song list corresponding to the song recommendation request, the accuracy of recommended songs can be improved.
[0059] Figure 5 This is a flowchart illustrating a song recommendation method provided in an exemplary embodiment of this application. This method can be used for... Figure 1 The system shown. (As shown in the image) Figure 5As shown, the method includes: Step 502: The client sends a song recommendation request to the server.
[0060] A song recommendation request is used to request the server to recommend songs to the client. Each song recommendation request corresponds to a reference song list; in other words, the request carries a reference song list, which includes multiple songs. This reference song list is the list of songs stored on the client, and the triggering of the song recommendation request is related to this list.
[0061] In some embodiments, the reference song list includes the song list displayed in the user interface shown on the client, such as the song list currently displayed in the user interface shown on the client. Optionally, the song recommendation request is triggered when the client displays the reference song list or when the client plays a song from the reference song list.
[0062] For example, Figure 6 This is a schematic diagram of a user interface provided in an exemplary embodiment of this application. Figure 6 As shown, the client's user interface 601 displays songs 602 from the currently playing song list. When the automatic song recommendation control 603 in the client is enabled, the client triggers a song recommendation request and sends it to the server, thereby obtaining the recommended songs 604 sent by the server for display. The song recommendation request corresponds to the currently playing song list.
[0063] For example, Figure 7 This is a schematic diagram of a user interface provided in an exemplary embodiment of this application. Figure 7 As shown, the client's user interface 701 displays songs 702 from the currently active song list. When the automatic song recommendation control 703 is enabled in the client, the client triggers a song recommendation request and sends it to the server, thereby obtaining and displaying the recommended songs 704 sent by the server. The song recommendation request corresponds to the currently active song list.
[0064] Step 504: The server obtains the first candidate song set based on the characteristics of the first user account, and obtains the second candidate song set based on the songs in the reference song list.
[0065] The first candidate song set includes multiple songs. The songs in the first candidate song set match the features of the first user account. For example, the features of the songs in the first candidate song set match the features of the first user account. The first user account is the user account corresponding to the client, for example, the user account logged in on the client.
[0066] The second candidate song set includes multiple songs, and the songs in the second candidate song set match the songs in the reference song list, for example, the features of the songs in the second candidate song set match the features of the songs in the reference song list.
[0067] Optionally, in obtaining the second candidate song set, the server obtains at least one first matching song corresponding to each song in the reference song list, and then obtains the second candidate song set based on the first matching songs. The first matching songs are matched with songs in the reference song list. For example, the server matches the feature vectors corresponding to each song in the reference song list with the feature vectors corresponding to the candidate songs in the server, and then obtains the second candidate song set based on the matching results corresponding to each song in the reference song list, i.e., the candidate songs that match the feature vectors of each song in the reference song list.
[0068] In the process of obtaining the second candidate song set based on the first matching song, the server determines the weight of the first matching song corresponding to each song in the reference song list based on the first user account's playback behavior for songs in the reference song list. The server then sorts the first matching songs based on their weights and obtains the second candidate song set based on the sorted first matching songs. The first user account's playback behavior for songs in the reference song list includes at least one of the following: whether the first user account plays a song in the reference song list, the number of times the first user account plays a song in the reference song list, and the duration of playback. The weight of the first matching song corresponding to a song in the reference song list played by the first user account is higher than the weight of the first matching song corresponding to a song in the reference song list that the first user account did not play. The number of times the first user account plays a song in the reference song list is positively correlated with the weight of the corresponding first matching song. The duration of playback of a song in the reference song list by the first user account is positively correlated with the weight of the corresponding first matching song. Optionally, the server obtains the second candidate song set by retrieving a first preset number of songs from the sorted first matching songs.
[0069] Optionally, the features of the first user account include at least one of the user features and behavioral features of the first user account. The user features of the first user account are related to the user of the first user account, such as at least one of the user's gender, age, location, and song preferences. Song preferences reflect at least one of the user's preferred language, genre, and tempo. The behavioral features of the first user account are related to the user's interaction with different songs, such as at least one of the user's favorite songs, liked songs, and songs played in their entirety. During the process of obtaining the first candidate song set, the server obtains at least one second matching song based on the concatenated features corresponding to the first user account, and obtains the first candidate song set based on the second matching song. The second matching song is matched with the concatenated features corresponding to the first user account, and the concatenated features corresponding to the first user account are obtained by concatenating the user features and behavioral features of the first user account. Optionally, the server trains a recall model based on the concatenated features corresponding to different user accounts and the songs played by different user accounts, thereby predicting at least one second matching song based on the concatenated features corresponding to the first user account. In this model, songs played by different user accounts are used as labels during the training process of the recall model. The recall model can be an artificial intelligence (AI) model, such as a machine learning model built on a neural network (NN). Optionally, the server obtains a first candidate song set by retrieving a second preset number of songs from the second matched songs.
[0070] Step 506: The server obtains recommended songs based on the first and second candidate song sets.
[0071] Recommended songs are songs recommended by the server to the client. The recommended songs obtained by the server include songs from the first candidate song set and songs from the second candidate song set, or only songs from the first candidate song set, or only songs from the second candidate song set.
[0072] Optionally, the server obtains at least one song from the first candidate song set and at least one song from the second candidate song set to obtain a third candidate song set, and then obtains recommended songs based on the third candidate song set.
[0073] During the process of obtaining the third candidate song set, the server can randomly select songs from the first candidate song set and randomly select songs from the second candidate song set. Alternatively, the server can select songs from the first candidate song set and then from the second candidate song set sequentially. For example, the server can alternately select songs from the first and second candidate song sets to obtain the third candidate song set.
[0074] For example, the first candidate song set includes song 1, song 2, and song 3, and the second candidate song set includes song 4, song 5, and song 6. The server needs to obtain four songs from the first and second candidate song sets as the third candidate song set. In obtaining the third candidate song set, the server obtains song 1 from the first candidate song set, song 4 from the second candidate song set, song 2 from the first candidate song set, and song 5 from the second candidate song set. In this case, the third candidate song set includes song 1, song 4, song 2, and song 5.
[0075] For the process of obtaining recommended songs based on the third candidate song set, the server randomly obtains recommended songs from the third candidate song set, for example, randomly obtaining a third preset number of songs from the third candidate song set as recommended songs; or, the server sorts the songs in the third candidate song set and obtains recommended songs based on the sorted songs, for example, sorting the songs in the third candidate song set and obtaining the top three preset number of songs from the sorted songs as recommended songs.
[0076] In some embodiments, the server obtains the first target songs that the first user account has interacted with during a historical period. The first target songs include at least one of the songs the first user account has saved, liked, and commented on during that period. The server then calculates the similarity between the feature vector of each first target song and the feature vector of each song in the third candidate song set, and calculates the sum of similarities for each song in the third candidate song set. This sum of similarities is calculated based on the sum of the similarities between songs in the third candidate song set and different first target songs. The server then sorts the songs in the third candidate song set according to their sum of similarities from highest to lowest, thereby obtaining recommended songs based on the sorted list.
[0077] In some embodiments, the server obtains the N most recently posted comments from a first user account and extracts the second target song mentioned in each of the N comments. For example, it extracts the second target song mentioned in each of the N comments using a Large Language Model (LLM), where N is a positive integer. The server then calculates the similarity between the feature vector of each second target song and the feature vector of each song in the third candidate song set, and calculates the sum of similarities for each song in the third candidate song set. This sum of similarities is calculated based on the sum of similarities between songs in the third candidate song set and different second target songs. The server then sorts the songs in the third candidate song set according to their sum of similarities from highest to lowest, thereby obtaining recommended songs based on the sorted list.
[0078] In some embodiments, the server obtains the descriptive information corresponding to the reference song list, which is used to introduce the reference song list. The server then calculates the similarity between the feature vector of the descriptive information and the feature vector corresponding to the lyrics of each song in the third candidate song set. The server then sorts the songs in the third candidate song set in descending order of similarity between the lyrics and the descriptive information, thereby obtaining recommended songs based on the sorted list.
[0079] In some embodiments, the server obtains target short videos that meet preset conditions from the M short videos recently viewed by a first user account, and obtains the background music corresponding to each target short video, where M is a positive integer. The preset conditions include at least one of playing the short video completely, liking the short video, and commenting on the short video. The server then calculates the similarity between the feature vector of each background music track and the feature vector of each song in a third candidate song set, and calculates the sum of similarities for each song in the third candidate song set, calculated based on the sum of similarities between songs in the third candidate song set and different background music tracks. The server then sorts the songs in the third candidate song set according to the descending order of their similarity sums, thereby obtaining recommended songs based on the sorted list.
[0080] Step 508: The server sends recommended songs to the client.
[0081] Once recommended songs are obtained, the server sends them to the client either by sending the audio file of the recommended song or by sending an identifier for the recommended song. The audio file is used to play the recommended song, while the identifier is used to retrieve the audio file.
[0082] Optionally, when the client receives a recommended song from the server, it will display the recommended song in the user interface, such as displaying at least one of the following: song title, artist name, cover image, and album information.
[0083] In summary, the method provided in this embodiment obtains a first candidate song set consisting of songs matching the features of a first user account, and a second candidate song set consisting of songs matching songs in a reference song list. Based on these two sets, recommended songs are then obtained for song recommendation. Since the process of determining recommended songs considers not only the user account's features but also the songs in the reference song list corresponding to the song recommendation request, the accuracy of the recommended songs can be improved.
[0084] The method provided in this embodiment further obtains recommended songs by acquiring at least one song from a first candidate song set and at least one song from a second candidate song set. This allows for the simultaneous acquisition of recommended songs based on songs matching user account characteristics and songs matching songs in a reference song list, thus improving the accuracy of recommended songs. By alternately acquiring songs from the first and second candidate song sets, it ensures that the acquisition of recommended songs can simultaneously reference both sets. By sorting the first matching songs in the reference song list based on the first user account's playback behavior for songs in the reference song list, the order of the first matching songs can be adjusted according to the user's real-time behavior, further improving the accuracy of recommended songs. By triggering a song recommendation request when the reference song list is displayed on the client or when songs in the reference song list are played, songs can be recommended to the user based on their corresponding song list.
[0085] The method provided in this application implements a technical solution that automatically adds songs matching the user's listening preferences or the current song based on the user's multi-dimensional feature information and the current song list. This enables divergent recommendations of songs based on the user's potential preferences, thereby increasing user interest in listening. The overall process includes: [Statistical analysis of user behavior characteristics] -> [Extracting user profile features] -> [U2I song recall based on profile and behavior features] -> [I2I recall based on the reference song list] -> [Fusing U2I and I2I recall results] -> [Ranking and scoring the fused recall results] -> [Fine-tuning the scoring results] -> [Outputting the results to the client for additional recommendations]. Each step has undergone repeated optimization and result verification, ultimately achieving a 3.43% increase in average song collections per user and a 2.03% increase in collection penetration rate.
[0086] The method provided in this application embodiment is designed for scenarios where a song list exists. It can automatically add relevant song recommendations and adjust which songs in the current song list are more similar to the added songs according to the needs of the scenario, which significantly improves the user's willingness to collect songs.
[0087] For example, Figure 8 This is a schematic diagram of a song recommendation process provided in an exemplary embodiment of this application. For example... Figure 8 As shown, the server vectorizes user profile information such as gender, age, location, and music preferences into feature vectors corresponding to user characteristics; it also vectorizes user history favorites and complete playlists into feature vectors corresponding to behavioral characteristics, and then concatenates the two to form a concatenated feature vector. In step S1, the concatenated feature vector and user playback data are associated to obtain training samples for the U2I model, and the model is trained. Then, during online recommendation, the model is used to recall the first candidate song set based on the current user's concatenated feature vector. In step S2, the song features and playback relationships are combined and vectorized to obtain the song's feature vector. Online, the song with the highest similarity to each song is calculated based on the current reference song list using the I2I method to obtain the second candidate song set. In steps S3 and S4, the recall results from different methods are filtered, and the U2I and I2I recalls are combined and merged using a snake-like fusion method (retrieving data cyclically for each recall). In steps S5 to S7, after the merged results are sorted by the coarse and fine ranking models, they are then fine-tuned in the re-ranking layer according to business needs (e.g., controlling a maximum of 2 songs by the same artist, scattering songs from different genres, etc.) and output to the client. The coarse and fine ranking are used to sort the songs through different methods or dimensions. Afterwards, the client appends the recommendation results to the existing list of reference songs.
[0088] The method provided in this application significantly improves the willingness of users at corresponding locations to add songs to their favorites without sacrificing playback metrics such as average play rate and complete play rate. This results in a significant increase in favorites, including a 3.43% increase in average favorites per user and a 2.03% increase in page view (PV) favorites rate. The method provided in this application has been tested in real-world environments and not only achieves the function of automatically adding songs to an existing song list but also improves users' favorites metrics in that scenario.
[0089] It should be noted that this application may display prompt interfaces, pop-ups, or output voice prompts before and during the collection of user data. These prompt interfaces, pop-ups, or voice prompts are used to inform the user that their data is being collected. This ensures that the application only begins the steps for collecting user data after receiving confirmation from the user regarding the prompt interface or pop-up; otherwise (i.e., without user confirmation), the steps for collecting user data end, meaning no user data is collected. In other words, all user data collected in this application is collected with the user's consent and authorization, and the collection, use, and processing of related user data must comply with the relevant laws, regulations, and standards of the relevant countries and regions.
[0090] It should be noted that the order of the method steps provided in the embodiments of this application can be appropriately adjusted, and the steps can also be added or removed as appropriate. Any method variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.
[0091] Figure 9 This is a schematic diagram of the structure of a song recommendation device provided in an exemplary embodiment of this application. Figure 9 As shown, the device includes: The receiving module 901 is used to receive a song recommendation request sent by the client, wherein the song recommendation request corresponds to a list of reference songs; The acquisition module 902 is used to acquire a first candidate song set based on the characteristics of a first user account, wherein the songs in the first candidate song set match the characteristics of the first user account, and the first user account is the user account corresponding to the client; and to acquire a second candidate song set based on the songs in the reference song list, wherein the songs in the second candidate song set match the songs in the reference song list. The acquisition module 902 is further configured to acquire recommended songs based on the first candidate song set and the second candidate song set; The sending module 903 is used to send the recommended song to the client.
[0092] In an optional design, the acquisition module 902 is used for: At least one song is obtained from the first candidate song set, and at least one song is obtained from the second candidate song set to obtain a third candidate song set; The recommended songs are obtained based on the third set of candidate songs.
[0093] In an optional design, the acquisition module 902 is used for: The third candidate song set is obtained by alternately obtaining songs from the first candidate song set and the second candidate song set.
[0094] In an optional design, the acquisition module 902 is used for: Obtain at least one first matching song corresponding to each song in the reference song list, wherein the first matching song matches the songs in the reference song list; The second set of candidate songs is obtained based on the first matched song.
[0095] In an optional design, such as Figure 10 As shown, the device further includes: The determining module 904 is used to determine the weight of the first matching song corresponding to the song in the reference song list based on the playback behavior of the first user account for the songs in the reference song list. The sorting module 905 is used to sort the first matching song based on the weight of the first matching song; The acquisition module 902 is used to acquire the second candidate song set based on the sorted first matching songs.
[0096] In an optional design, the acquisition module 902 is used for: Based on the splicing features corresponding to the first user account, at least one second matching song is obtained, and the second matching song matches the splicing features; The first candidate song set is obtained based on the second matched song; The splicing feature corresponding to the first user account is obtained by splicing the user feature and the behavioral feature of the first user account. The behavioral feature of the first user account is related to the interaction behavior of the first user account with different songs.
[0097] In an optional design, the reference song list includes the song list displayed in the user interface shown by the client; The song recommendation request is triggered when the client displays the list of reference songs or plays a song from the list of reference songs.
[0098] Figure 11 This is a schematic diagram of the structure of a song recommendation device provided in an exemplary embodiment of this application. Figure 9 As shown, the device includes: Sending module 1101 is used to send a song recommendation request to the server, wherein the song recommendation request corresponds to a list of reference songs; The receiving module 1102 is used to receive recommended songs sent by the server; The recommended songs are obtained based on a first candidate song set and a second candidate song set. The first candidate song set is obtained based on the characteristics of a first user account, and the second candidate song set is obtained based on the songs in the reference song list. The songs in the first candidate song set match the characteristics of the first user account, and the songs in the second candidate song set match the songs in the reference song list. The first user account is the user account corresponding to the device.
[0099] It should be noted that the song recommendation device provided in the above embodiments is only an example of the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the song recommendation device and the song recommendation method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0100] Embodiments of this application also provide a computer device, which includes a processor and a memory, wherein the memory stores at least one instruction, at least one program, code set, or instruction set, and the at least one instruction, at least one program, code set, or instruction set is loaded and executed by the processor to implement the song recommendation method provided in the above-described method embodiments.
[0101] In some embodiments, the computer device described above is a terminal. For example, Figure 12 This is a schematic diagram of the structure of a terminal provided in an exemplary embodiment of this application.
[0102] Typically, terminal 1200 includes a processor 1201 and a memory 1202.
[0103] Processor 1201 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1201 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1201 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1201 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1201 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0104] The memory 1202 may include one or more computer-readable storage media, which may be non-transitory. The memory 1202 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1202 is used to store at least one instruction, which is executed by the processor 1201 to implement the song recommendation method provided in the method embodiments of this application.
[0105] In some embodiments, the terminal 1200 may also optionally include a peripheral device interface 1203 and at least one peripheral device. The processor 1201, memory 1202, and peripheral device interface 1203 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1203 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: radio frequency circuitry 1204, display screen 1205, camera assembly 1206, audio circuitry 1207, and power supply 1208.
[0106] Peripheral device interface 1203 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1201 and memory 1202. In some embodiments, processor 1201, memory 1202 and peripheral device interface 1203 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1201, memory 1202 and peripheral device interface 1203 can be implemented on separate chips or circuit boards, and this application embodiment does not limit this.
[0107] The radio frequency (RF) circuit 1204 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1204 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1204 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1204 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 1204 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1204 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0108] Display screen 1205 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 1205 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 1201 for processing. In this case, display screen 1205 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 1205, which serves as the front panel of terminal 1200; in other embodiments, there may be at least two display screens, respectively disposed on different surfaces of terminal 1200 or in a folded design; in still other embodiments, display screen 1205 may be a flexible display screen, disposed on a curved or folded surface of terminal 1200. Furthermore, display screen 1205 may also be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The display screen 1205 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0109] The camera assembly 1206 is used to acquire images or videos. Optionally, the camera assembly 1206 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal 1200, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 1206 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used for light compensation at different color temperatures.
[0110] The audio circuit 1207 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 1201 for processing, or input to the radio frequency circuit 1204 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each positioned at a different location on the terminal 1200. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 1201 or the radio frequency circuit 1204 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 1207 may also include a headphone jack.
[0111] Power supply 1208 is used to power the various components in terminal 1200. Power supply 1208 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 1208 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0112] In some embodiments, the terminal 1200 further includes one or more sensors 1209. The one or more sensors 1209 include, but are not limited to: an acceleration sensor 1210, a gyroscope sensor 1211, a pressure sensor 1212, an optical sensor 1213, and a proximity sensor 1214.
[0113] Accelerometer 1210 can detect the magnitude of acceleration along the three coordinate axes of a coordinate system established with terminal 1200. For example, accelerometer 1210 can be used to detect the components of gravitational acceleration along the three coordinate axes. Processor 1201 can control touchscreen 1205 to display the user interface in landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 1210. Accelerometer 1210 can also be used for games or for acquiring user motion data.
[0114] The gyroscope sensor 1211 can detect the orientation and rotation angle of the terminal 1200. The gyroscope sensor 1211 can work in conjunction with the accelerometer sensor 1210 to collect the user's 3D movements on the terminal 1200. Based on the data collected by the gyroscope sensor 1211, the processor 1201 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0115] The pressure sensor 1212 can be disposed on the side bezel of the terminal 1200 and / or on the lower layer of the touch display screen 1205. When the pressure sensor 1212 is disposed on the side bezel of the terminal 1200, it can detect the user's grip signal on the terminal 1200, and the processor 1201 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1212. When the pressure sensor 1212 is disposed on the lower layer of the touch display screen 1205, the processor 1201 can control the operable controls on the UI interface based on the user's pressure operation on the touch display screen 1205. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0116] The optical sensor 1213 is used to collect ambient light intensity. In one embodiment, the processor 1201 can control the display brightness of the touch screen 1205 based on the ambient light intensity collected by the optical sensor 1213. Specifically, when the ambient light intensity is high, the display brightness of the touch screen 1205 is increased; when the ambient light intensity is low, the display brightness of the touch screen 1205 is decreased. In another embodiment, the processor 1201 can also dynamically adjust the shooting parameters of the camera assembly 1206 based on the ambient light intensity collected by the optical sensor 1213.
[0117] The proximity sensor 1214, also known as a distance sensor, is typically located on the front panel of the terminal 1200. The proximity sensor 1214 is used to detect the distance between the user and the front of the terminal 1200. In one embodiment, when the proximity sensor 1214 detects that the distance between the user and the front of the terminal 1200 is gradually decreasing, the processor 1201 controls the touchscreen display 1205 to switch from a screen-on state to a screen-off state; when the proximity sensor 1214 detects that the distance between the user and the front of the terminal 1200 is gradually increasing, the processor 1201 controls the touchscreen display 1205 to switch from a screen-off state to a screen-on state.
[0118] Those skilled in the art will understand that Figure 12 The structure shown does not constitute a limitation on terminal 1200 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0119] In some embodiments, the computer device described above is a server. For example, Figure 13 This is a schematic diagram of the structure of a computer device provided in an exemplary embodiment of this application, which can be implemented as a server.
[0120] The computer device 1300 includes a central processing unit (CPU) 1301, a system memory 1304 including random access memory (RAM) 1302 and read-only memory (ROM) 1303, and a system bus 1305 connecting the system memory 1304 and the CPU 1301. The computer device 1300 also includes a basic input / output system (I / O system) 1306 to facilitate information transfer between various components within the computer device, and a mass storage device 1307 for storing the operating system 1313, application programs 1314, and other program modules 1315.
[0121] The basic input / output system 1306 includes a display 1308 for displaying information and an input device 1309 for user input, such as a mouse or keyboard. Both the display 1308 and the input device 1309 are connected to the central processing unit 1301 via an input / output controller 1310 connected to the system bus 1305. The basic input / output system 1306 may also include the input / output controller 1310 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 1310 also provides output to a display screen, printer, or other types of output devices.
[0122] The mass storage device 1307 is connected to the central processing unit 1301 via a mass storage controller (not shown) connected to the system bus 1305. The mass storage device 1307 and its associated computer-readable storage media provide non-volatile storage for the computer device 1300. That is, the mass storage device 1307 may include computer-readable storage media (not shown), such as a hard disk or a compact disc read-only memory (CD-ROM) drive.
[0123] Without loss of generality, the computer-readable storage medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable storage instructions, data structures, program modules, or other data. Computer storage media include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid-state storage devices, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage medium is not limited to the above-mentioned types. The system memory 1304 and mass storage device 1307 described above can be collectively referred to as memory.
[0124] The memory stores one or more programs, which are configured to be executed by one or more central processing units 1301. The one or more programs contain instructions for implementing the above method embodiments, and the central processing unit 1301 executes the one or more programs to implement the methods provided by the various method embodiments described above.
[0125] According to various embodiments of this application, the computer device 1300 can also be connected to a remote computer device on a network, such as the Internet. That is, the computer device 1300 can be connected to a network 1312 via a network interface unit 1311 connected to the system bus 1305, or the network interface unit 1311 can be used to connect to other types of networks or remote computer device systems (not shown).
[0126] The memory further includes one or more programs stored in the memory, and the one or more programs include steps performed by a computer device in the methods provided in the embodiments of this application.
[0127] This application also provides a computer-readable storage medium storing at least one instruction, at least one program, code set, or instruction set. When the at least one instruction, at least one program, code set, or instruction set is loaded and executed by the processor of a computer device, the song recommendation method provided in the above-described method embodiments is implemented.
[0128] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the song recommendation method provided in the above-described method embodiments.
[0129] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0130] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent switching, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A song recommendation method, characterized in that, The method is applied to the server side, and the method includes: Receive a song recommendation request sent by the client, wherein the song recommendation request corresponds to a list of reference songs; A first candidate song set is obtained based on the characteristics of a first user account, wherein the songs in the first candidate song set match the characteristics of the first user account, and the first user account is the user account corresponding to the client; a second candidate song set is obtained based on the songs in the reference song list, wherein the songs in the second candidate song set match the songs in the reference song list; Recommended songs are obtained based on the first candidate song set and the second candidate song set; The recommended song is sent to the client.
2. The method according to claim 1, characterized in that, The step of obtaining recommended songs based on the first candidate song set and the second candidate song set includes: At least one song is obtained from the first candidate song set, and at least one song is obtained from the second candidate song set to obtain a third candidate song set; The recommended songs are obtained based on the third set of candidate songs.
3. The method according to claim 2, characterized in that, The step of obtaining at least one song from the first candidate song set and at least one song from the second candidate song set to obtain a third candidate song set includes: The third candidate song set is obtained by alternately obtaining songs from the first candidate song set and the second candidate song set.
4. The method according to any one of claims 1 to 3, characterized in that, The step of obtaining a second candidate song set based on the songs in the reference song list includes: Obtain at least one first matching song corresponding to each song in the reference song list, wherein the first matching song matches the songs in the reference song list; The second set of candidate songs is obtained based on the first matched song.
5. The method according to claim 4, characterized in that, The step of obtaining the second candidate song set based on the first matched song includes: The weight of the first matching song corresponding to the song in the reference song list is determined based on the playback behavior of the first user account for the songs in the reference song list. The first matched songs are sorted based on their weights. The second candidate song set is obtained based on the sorted first matching songs.
6. The method according to any one of claims 1 to 3, characterized in that, The step of obtaining the first candidate song set based on the characteristics of the first user account includes: Based on the splicing features corresponding to the first user account, at least one second matching song is obtained, and the second matching song matches the splicing features; The first candidate song set is obtained based on the second matched song; The splicing feature corresponding to the first user account is obtained by splicing the user feature and the behavioral feature of the first user account. The behavioral feature of the first user account is related to the interaction behavior of the first user account with different songs.
7. The method according to any one of claims 1 to 3, characterized in that, The reference song list includes the song list displayed in the user interface shown on the client. The song recommendation request is triggered when the client displays the list of reference songs or plays a song from the list of reference songs.
8. A song recommendation method, characterized in that, The method is applied to a client, and the method includes: Send a song recommendation request to the server, wherein the song recommendation request corresponds to a list of reference songs; Receive recommended songs sent by the server; The recommended songs are obtained based on a first candidate song set and a second candidate song set. The first candidate song set is obtained based on the characteristics of a first user account, and the second candidate song set is obtained based on the songs in the reference song list. The songs in the first candidate song set match the characteristics of the first user account, and the songs in the second candidate song set match the songs in the reference song list. The first user account is the user account corresponding to the client.
9. A song recommendation device, characterized in that, The device includes: The receiving module is used to receive song recommendation requests sent by the client, wherein the song recommendation requests correspond to a list of reference songs; The acquisition module is used to acquire a first candidate song set based on the characteristics of a first user account, wherein the songs in the first candidate song set match the characteristics of the first user account, and the first user account is the user account corresponding to the client; and to acquire a second candidate song set based on the songs in the reference song list, wherein the songs in the second candidate song set match the songs in the reference song list. The acquisition module is further configured to acquire recommended songs based on the first candidate song set and the second candidate song set; The sending module is used to send the recommended songs to the client.
10. A song recommendation device, characterized in that, The device includes: Send a song recommendation request to the server, wherein the song recommendation request corresponds to a list of reference songs; Receive recommended songs sent by the server; The recommended songs are obtained based on a first candidate song set and a second candidate song set. The first candidate song set is obtained based on the characteristics of a first user account, and the second candidate song set is obtained based on the songs in the reference song list. The songs in the first candidate song set match the characteristics of the first user account, and the songs in the second candidate song set match the songs in the reference song list. The first user account is the user account corresponding to the device.
11. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the song recommendation method as described in any one of claims 1 to 8.
12. A computer-readable storage medium, characterized in that, The readable storage medium stores at least one program, which is loaded and executed by a processor to implement the song recommendation method as described in any one of claims 1 to 8.
13. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, a processor of a computer device reading the computer instructions from the computer-readable storage medium, and the processor executing the computer instructions to cause the computer device to perform the song recommendation method as described in any one of claims 1 to 8.