An audio clustering recommendation method, electronic device and readable storage medium
By acquiring user behavior sequence data and using cluster averaging to represent rich information, the problem of insufficient user behavior sequence data is solved, enabling accurate prediction and recommendation of music listening preferences for low-frequency users.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT MUSIC ENTERTAINMENT TECH (SHENZHEN) CO LTD
- Filing Date
- 2023-05-22
- Publication Date
- 2026-07-10
AI Technical Summary
Users have accumulated relatively little behavioral sequence data in the first feature module, making it difficult to accurately predict their listening preferences.
By acquiring user behavior sequence data, we determine the representation, and use cluster averaging representation to enrich information for low-frequency type users, combined with machine models for audio scoring.
It enables accurate prediction of the listening preferences of low-frequency users, thus improving the accuracy of recommendations.
Smart Images

Figure CN116628252B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computers, and more particularly to a recommendation method for audio clustering, an electronic device, and a computer-readable storage medium. Background Technology
[0002] Listening to music has become an indispensable part of people's daily lives as a form of entertainment. It's common to see people listening to music with headphones on the subway or on the street. Different users have different preferences for song types and styles, so music streaming apps need to recommend different songs based on these preferences.
[0003] Music recommendation typically relies on a rich sample of data. The model is trained to learn users' listening preferences and then recommend songs accordingly.
[0004] In developing this invention, the inventors discovered the following problem: The user's accumulated behavioral sequence data (historical music listening records) in Function 1 is relatively small, but a large amount of behavioral sequence data has been accumulated in Function 2. Function Module 1 lacks user behavioral sequence data, yet accurate prediction of the user's music listening preferences is required. Summary of the Invention
[0005] This application provides an audio clustering recommendation method, electronic device, and computer-readable storage medium, enabling machine models to accurately predict the listening preferences of users without abundant samples.
[0006] In a first aspect, embodiments of this application provide a recommendation method for audio clustering. The method includes: acquiring behavioral sequence data of a first user, the behavioral sequence data of the first user including vectors of multiple songs; determining a first representation corresponding to the first user based on the behavioral sequence data of the first user; if the first user is a high-frequency type user, inputting the first representation, the behavioral sequence data of the first user, and first audio information into a machine model to obtain an audio rating result, the first audio information including an audio identifier of the first audio; if the first user is a low-frequency type user, acquiring the cluster average representation of the first representation, inputting the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information into a machine model to obtain an audio rating result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0007] In the method described in the first aspect, when the first user is a low-frequency type user with relatively scarce representational information, the information in the first representation is enriched by the cluster average representation of the first representation. Since the cluster average representation is determined based on the user cluster to which the first user belongs, there is a correlation between the cluster average representation and the first user. Therefore, based on the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information, the machine model can accurately score the first audio information, thereby accurately predicting whether the first audio information is worth recommending to the first user.
[0008] In one possible implementation, the method further includes: comparing the number of vectors of multiple songs included in the behavior sequence data of the first user with a preset type threshold; if the number of vectors of multiple songs included in the behavior sequence data of the first user is less than the preset type threshold, then the first user is determined to be a low-frequency user.
[0009] In this way, based on the number of song vectors included in the first user's behavioral sequence data, it is possible to conveniently and quickly determine whether the first user is a low-frequency type user.
[0010] In one possible implementation, obtaining the cluster average representation of the first representation includes: determining the user cluster to which the first user belongs based on the first representation, wherein the user cluster includes multiple users; and determining the cluster average representation of the first representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs.
[0011] Here, the first representation is the representation corresponding to the first user. Each user cluster includes multiple users with similar representations. In this way, the user cluster to which the first user belongs can be accurately determined based on the first representation. Furthermore, based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs, and the first representation, the average cluster representation can be accurately determined. The average cluster representation is correlated with the first user.
[0012] In one possible implementation, determining the user cluster to which the first user belongs based on the first representation includes: determining multiple cluster centers corresponding to multiple user clusters, wherein the cluster centers are determined based on the mean of the representations corresponding to all users in the user clusters; determining multiple error values based on the cluster centers corresponding to the multiple user clusters and the first representation; and determining the user cluster to which the first user belongs based on the multiple error values, wherein the error value between the cluster center corresponding to the user cluster to which the first user belongs and the first representation is the minimum error value.
[0013] By using this method, the cluster center with the smallest error value relative to the first representation can be determined accurately, thus accurately identifying the user cluster to which the first user belongs.
[0014] In one possible implementation, determining the average cluster representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs includes: determining the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs and the mean of the first representation; and using the mean as the average cluster representation corresponding to the first user.
[0015] In this method, the average cluster representation can be accurately determined by taking the mean of multiple representations corresponding to multiple users in the user cluster to which the first user belongs, and the first representation. Users in the user cluster to which the first user belongs have similar representations to the first user. The average cluster representation is determined based on the multiple representations corresponding to multiple users in the user cluster to which the first user belongs, and the first representation. Therefore, the determined average cluster representation is correlated with the first user.
[0016] In one possible implementation, determining the first representation corresponding to the first user based on the first user's behavior sequence data includes: determining at least one song representation corresponding to the first user based on the first user's behavior sequence data including vectors of multiple songs, wherein the vectors of the songs correspond one-to-one with the song representations; determining the mean of the at least one song representation; and using the mean of the at least one song representation as the first representation corresponding to the first user.
[0017] This method allows for the rapid and convenient determination of song representations, as song vectors typically contain key information about the song, while conserving computational resources. By calculating the mean of at least one song representation, the first representation can be determined accurately and quickly.
[0018] In one possible implementation, the method further includes: determining a recommendation probability result corresponding to the first audio information based on the audio rating result corresponding to the first audio information; comparing the recommendation probability result with a preset recommendation threshold; and recommending the first audio information to the first user if the recommendation probability result is greater than the preset recommendation threshold.
[0019] This method first determines the recommendation probability based on the audio rating results, and then determines whether to recommend the first audio information to the first user based on the recommendation probability results, making the recommended songs more accurate and better suited to the first user's listening preferences.
[0020] In one possible implementation, the method further includes: acquiring a sample dataset, the sample dataset including second behavioral sequence data of at least one second user, second audio information, and labeled scores corresponding to the second audio information; determining a second representation corresponding to the second user based on the second behavioral sequence data; if the second user is determined to be a low-frequency type user based on the behavioral sequence data of the second user, then acquiring the clustered average representation of the second representation; inputting the clustered average representation of the second representation, the second audio information, the behavioral sequence data of the second user, and the second representation into an initial machine model to obtain a predicted score; training the initial machine model with the goal of reducing the difference between the labeled score and the predicted score to obtain a machine model.
[0021] Secondly, embodiments of this application provide an audio clustering recommendation device, which includes an acquisition module and a processing module; the acquisition module is used to acquire behavior sequence data of a first user, the behavior sequence data of the first user including vectors of multiple songs;
[0022] The processing module is used to determine the first representation corresponding to the first user based on the first user's behavior sequence data;
[0023] The processing module is also used to input the first representation, the behavioral sequence data of the first user, and the first audio information into the machine model if the first user is a high-frequency type user, to obtain an audio score result. The first audio information includes the audio identifier of the first audio.
[0024] The processing module is further configured to, if the first user is a low-frequency type user, obtain the cluster average representation of the first representation, input the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information into the machine model to obtain the audio scoring result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0025] Thirdly, embodiments of this application provide an electronic device, the electronic device including a memory and a processor; the memory is used to store a computer program, the computer program including program instructions; the processor is used to call the program instructions from the memory, causing the electronic device to perform the method described in any one of the first aspects above.
[0026] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, the computer program including program instructions that, when executed by a processor, cause the processor to perform any of the methods described in the first aspect above.
[0027] The beneficial effects of each possible implementation in the second to fourth aspects can be found in the corresponding description in the first aspect, and will not be repeated here. Attached Figure Description
[0028] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the 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.
[0029] Figure 1 This is a schematic diagram of the architecture of an audio clustering recommendation system provided in an embodiment of this application;
[0030] Figure 2 This is a flowchart illustrating a recommendation method for audio clustering provided in an embodiment of this application;
[0031] Figure 3 This is a schematic diagram illustrating a method for determining the average cluster representation provided in an embodiment of this application;
[0032] Figure 4 This is a schematic diagram illustrating the representation distribution of different user types provided in an embodiment of this application;
[0033] Figure 5 This is a schematic diagram of a different type of user input model provided in an embodiment of this application;
[0034] Figure 6 This is a schematic diagram of the structure of a recommendation device for audio clustering provided in an embodiment of this application;
[0035] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0036] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0037] The terms "first" and "second," etc., used in the specification, claims, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0038] This application provides a recommendation method for audio clustering, which can be applied to... Figure 1 The example shows an audio clustering recommendation system. Figure 1 As shown, the audio clustering recommendation system includes at least one server, such as server 10, and at least one client, such as client 11. The server and client can establish a communication connection through a network, which can be a wired network or a wireless network, etc.
[0039] The server 10 can store a machine model and execute the audio clustering recommendation method proposed in this application. This machine model is used to score the first audio information. For example, the server 10 can obtain the behavioral sequence data of a first user, which includes vectors of multiple songs; based on the behavioral sequence data of the first user, a first representation corresponding to the first user is determined; if the first user is a high-frequency type user, the first representation, the behavioral sequence data of the first user, and the first audio information are input into the machine model to obtain an audio score result, where the first audio information includes the audio identifier of the first audio; if the first user is a low-frequency type user, the cluster average representation of the first representation is obtained, and the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information are input into the machine model to obtain an audio score result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0040] Optionally, server 10 may pre-store audio and corresponding audio information, including a first audio file and corresponding audio information. Alternatively, server 10 may retrieve the first audio file and corresponding audio information from another database.
[0041] Optionally, client 11 can collect and store the behavioral sequence data of the first user within a preset time period.
[0042] Optionally, server 10 may store a machine learning model. Server 10 uses the first representation, the first user's behavior sequence data, the clustered average representation of the first representation, and the machine learning model in client 10 to obtain the audio rating result. Alternatively, the above audio clustering recommendation method can be jointly executed by server 10 and client 11. Server 10 executes one part of the steps in the audio clustering recommendation method, and client 11 executes another part of the steps. For example, after client 11 collects and stores the first user's behavior sequence data, it sends the first user's behavior sequence data to server 10. After obtaining the first user's behavior sequence data, server 10 determines the audio rating result of the first audio information based on the first user's behavior sequence data and feeds the audio rating result back to client 11. Client 11 then determines whether to recommend the first audio information to the first user based on the audio rating result.
[0043] It should be noted that the aforementioned server 10 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The aforementioned client 11 can be a terminal device, which can be a smartphone, tablet, laptop, desktop computer, intelligent voice interaction device, smart home appliance, in-vehicle terminal, etc., but is not limited to these.
[0044] The above provides a brief overview of the audio clustering recommendation system provided in the embodiments of this application. The following will combine... Figures 2 to 7 The audio clustering recommendation method, audio clustering recommendation device, electronic device, and computer-readable storage medium provided in the embodiments of this application will be described in detail.
[0045] Please see Figure 2 , Figure 2 This is a flowchart illustrating a recommendation method for audio clustering provided in an embodiment of this application. The method includes steps S201 to S204, and the executing entity can be a server. For ease of description, the following explanation uses a server as the executing entity of the method. This server can be the one described above. Figure 1 Server 10 is described in the text. Among them:
[0046] S201. The server obtains the behavior sequence data of the first user, which includes vectors of multiple songs.
[0047] The song vector can be a vector of songs associated with the first user. Songs associated with the first user can be songs that the first user has saved, songs that the user has played on repeat many times, or songs that the user has listened to for a long time. The first user's behavior sequence data may also include the name of at least one song associated with the first user.
[0048] Optionally, the behavior sequence data can be a vector of songs played by the first user within a preset time period, or a vector of songs searched by the first user within a preset time period, or a vector of songs completely played by the first user within a preset time period, or a vector of songs collected by the first user.
[0049] S202. The server determines the first representation corresponding to the first user based on the first user's behavior sequence data.
[0050] The first representation can be in the form of a vector, and this first representation is mainly used to reflect the first user's music listening preferences.
[0051] In one possible embodiment, the server determines a first representation corresponding to the first user based on the first user's behavior sequence data, including: the server determining at least one song representation corresponding to the first user based on the first user's behavior sequence data, which includes vectors of multiple songs, wherein the vectors of the songs correspond one-to-one with the song representations; determining the mean of the at least one song representation; and using the mean of the at least one song representation as the first representation corresponding to the first user.
[0052] In this system, the number of song vectors in the first user's behavior sequence data is the same as the number of song representations corresponding to the first user. For example, if the first user's behavior sequence includes 5 song vectors, then the number of song representations corresponding to the first user is also 5. These song representations can also be in vector form. Each song vector in the first user's behavior sequence data has a corresponding song representation. For example, if the first user's behavior sequence is {song vector 1, song vector 2, song vector 3}, the corresponding song representations are {song representation 1, song representation 2, song representation 3}, where song vector 1 corresponds to song representation 1, song vector 2 corresponds to song representation 2, and song vector 3 corresponds to song representation 3.
[0053] This method allows for the rapid and convenient determination of song representations by leveraging the key information contained within the song's vectors, while conserving computational resources. By calculating the mean of at least one song representation, the first representation can be accurately and quickly determined.
[0054] In one possible embodiment, when the behavior sequence data also includes song identifiers, the server determines at least one song representation corresponding to the first user based on at least one song identifier included in the first user's behavior sequence data, including: the server inputs at least one song identifier included in the first user's behavior sequence into the song representation model to obtain at least one song representation corresponding to the first user.
[0055] The song representation model can be a word2vec song representation model. To better understand the process of determining song representations based on song identifiers, the following section introduces how to determine song representations based on the word2vec song representation model.
[0056] First, the song identifier input to the word2vec song representation model is one-hot encoded. After one-hot encoding, only one position of the song identifier has a value of 1, and the values of the other positions are 0. For example, after one-hot encoding the song identifier, we get [0,1,0], where only the second position has a value of 1, and the values of the other positions are 0.
[0057] Then, based on the song identifier after one-hot encoding and the trained hidden layer weight matrix, the representation corresponding to the song identifier is determined. For example, the trained hidden layer weight matrix is: Since the song identifier is [0, 1, 0] after one-hot encoding, and the value at the second position is 1, multiplying [0, 1, 0] with the hidden layer weight matrix gives the song representation as [10, 12, 19].
[0058] In summary, the process of determining song representations based on the word2vec song representation model can be simply understood as two steps: one-hot encoding of the song identifier, and determining the song representation corresponding to the song identifier based on the one-hot encoding and the trained hidden layer weight matrix.
[0059] After determining the song representation corresponding to the first user, it is necessary to calculate the mean of all song representations corresponding to the first user. The mean of all song representations corresponding to the first user is the first representation corresponding to the first user. For example, if the first user has N song representations, then the first representation of the first user = (song representation 1 + song representation 2 + song representation 3 + ... + song representation N) / N.
[0060] For example, the three songs corresponding to the first user are represented as [10, 12, 19], [17, 24, 1], and [11, 18, 25]. Then the first representation corresponding to the first user is ([10, 12, 19] + [17, 24, 1] + [11, 18, 25]) / 3 = [12, 6, 18, 15].
[0061] By using the above method, we first determine the song representation of all song identifiers corresponding to the first user, and then use the average of all song representations as the first representation, which can accurately determine the first representation corresponding to the first user.
[0062] S203. If the first user is a high-frequency type user, the server inputs the first representation, the first user's behavior sequence data, and the first audio information into the machine model to obtain the audio score result. The first audio information includes the audio identifier of the first audio.
[0063] The training and application of the machine model can be found in the description in S204 below, and will not be repeated here.
[0064] S204. If the first user is a low-frequency type user, the server obtains the cluster average representation of the first representation, inputs the first representation, the first user's behavior sequence data, the cluster average representation of the first representation, and the first audio information into the machine model to obtain the audio score result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0065] The cluster average representation is used to enrich the representation of the first user, and the cluster average representation can be in vector form. User clustering is a classification based on user listening preferences. Users in the same user cluster have similar listening preferences. In this embodiment, the representation is used to reflect the user's listening preferences, and the representations of users in the same user cluster are similar. A user can only belong to one user cluster. Updating the first representation corresponding to the first user based on the cluster average representation can be done by concatenating the cluster average representation with the first representation as the updated first representation, for example, Figure 3 As shown, Figure 3 304 in the text is the first characterization 304. Figure 3 In this context, 303 represents the cluster average representation 303. After updating the first representation 304 based on the cluster average representation 303, the updated first representation 306 is obtained. Alternatively, other methods can be used to update the first representation based on the cluster average representation. The updated first representation carries information from the cluster average representation.
[0066] First, we will introduce how to determine the average cluster representation.
[0067] In one possible embodiment, before the server updates the first representation corresponding to the first user based on the cluster average representation: the server determines the user cluster to which the first user belongs based on the first representation, the user cluster including multiple users; the server determines the cluster average representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs, and the first representation.
[0068] For example, the following is combined with Figure 3 To further explain the process of determining the average representation of clusters, examples are given, such as... Figure 3 As shown, Figure 3 The user marked 302 is the first user 302, and the user cluster to which the first user 302 belongs is the user cluster 301. Based on the two representations corresponding to the two users included in the user cluster 301, and the first representation 304, the cluster average representation 303 is determined.
[0069] In this way, the first representation is the representation corresponding to the first user. Therefore, the user cluster mentioned by the first user can be accurately determined based on the first representation. Based on the multiple representations corresponding to multiple users included in the user cluster to which the first user belongs, and the first representation, the average cluster representation can be accurately determined. The average cluster representation is related to the first user.
[0070] In one possible embodiment, determining the user cluster to which the first user belongs based on the first representation includes: determining multiple cluster centers corresponding to multiple user clusters, wherein the cluster centers are determined based on the mean of the representations corresponding to all users in the user clusters; determining multiple error values based on the cluster centers corresponding to the multiple user clusters and the first representation; and determining the user cluster to which the first user belongs based on the multiple error values, wherein the error value between the cluster center corresponding to the user cluster to which the first user belongs and the first representation is the minimum error value.
[0071] The number of user clusters is the same as the number of error values. For example, if there are 5 user clusters, then the error values for the first representation and the cluster centers corresponding to the 5 user clusters need to be calculated separately, which means 5 error values need to be determined. Then, the smallest error value is determined from the 5 error values, and the user cluster corresponding to the cluster center of the smallest error value is determined as the user cluster to which the first user belongs.
[0072] For example, the five user clusters are: User Cluster 1, User Cluster 2, User Cluster 3, User Cluster 4, and User Cluster 5. The cluster centers of these five user clusters are: Cluster Center 1, User Cluster 2, User Cluster 3, User Cluster 4, and User Cluster 5. Based on User Cluster 1 and the first representation, error value 1 is determined; based on User Cluster 2 and the first representation, error value 2 is determined; based on User Cluster 3 and the first representation, error value 3 is determined; based on User Cluster 4 and the first representation, error value 4 is determined; and based on User Cluster 5 and the first representation, error value 5 is determined. Since the smallest error value among error values 1, 2, 3, 4, and 5 is error value 3, it can be determined that the first user belongs to User Cluster 3.
[0073] By using this method, the user cluster corresponding to the cluster center with the smallest error value can be determined as the user cluster to which the first user belongs, thus accurately determining the user cluster to which the first user belongs.
[0074] In one possible embodiment, the server determines the cluster average representation of the first representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs, including: determining the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs and the mean of the first representation; and using the mean as the cluster average representation of the first representation corresponding to the first user.
[0075] In one possible embodiment, clusterk_heavyuser_emb represents the cluster average representation, and userk_emb represents the representation of the users included in the user cluster to which the first user belongs. The formula for calculating the cluster average representation can be as follows:
[0076] clusterk_heavyuser_emb=(userk1_emb+userk2_emb+...userkI_emb) / I
[0077] Where I is the number of user representations in the user cluster to which the first user belongs. If the number of users in the user cluster to which the first user belongs is 5 and the number of corresponding representations is 5, then I is 5.
[0078] For example, the user cluster to which the first user belongs includes three users, and the three representations corresponding to these three users are [10, 12, 19], [17, 24, 1], and [11, 18, 25]. The first representation corresponding to the first user is [11, 17, 24]. Then the average representation of the cluster is [10+17+11+11, 12+24+18+17, 19+1+25+24] / 4 = [12.25, 17.75, 17.25].
[0079] In this method, the average cluster representation can be accurately determined by taking the mean of multiple representations corresponding to multiple users in the user cluster to which the first user belongs, and the first representation. Users in the user cluster to which the first user belongs have similar representations to the first user. The average cluster representation is determined based on the multiple representations corresponding to multiple users in the user cluster to which the first user belongs, and the first representation. Therefore, the determined average cluster representation is correlated with the first user.
[0080] The server can update the representations of all users based on the clustering average representation. That is, regardless of the type of the first user, the first representation corresponding to that first user will be updated using the clustering average representation. Optionally, the server can update the representations of specific types of users based on the clustering average representation. For example, taking the personalized radio station scenario in a music app as an example, only about 20% of users who use the personalized radio station daily are heavy users (those who use the personalized radio station for a long time, resulting in rich behavioral sequence data), while the remaining about 80% are light users (low-frequency users). Light users' behavior in this personalized radio station scenario is sparse, and behavioral sequence data is scarce, making it impossible to accurately predict the listening preferences of light users based on their behavioral sequence data. Figure 4 As shown, Figure 4 The image marked 401 is the light user representation distribution map 401 (in a certain application, low-frequency types of users use the corresponding representation of the application). In the light user representation distribution map 401, the representations of light users are visualized clustered at a central point. Figure 4 The image marked 402 is the heavy user representation distribution map 402 (the representation of a high-frequency user type in an application). Compared to the light user representation distribution map 401, the heavy user representation distribution map 402 shows a more uniform distribution and richer information in the heavy user representations. To make the first representation (the light user's representation) represent richer information, the first representation corresponding to the first user (light user) can be updated based on the cluster average representation.
[0081] Updating only the representations corresponding to specific user types can improve data processing efficiency, reduce unnecessary processing steps, and save computing power. The following explains how to determine whether the first user is a low-frequency user type.
[0082] In one possible embodiment, before updating the first representation corresponding to the first user based on the cluster average representation, the first user is determined to be a low-frequency type user based on the behavioral sequence data of the first user.
[0083] Among them, low-frequency users are light users. As mentioned above, light users are those who listen to songs in a certain scenario (such as a personalized radio station) with few samples and do not often listen to music in that scenario. That is to say, if the first user is a low-frequency user, the first representation corresponding to the first user is updated based on the cluster average representation.
[0084] Optionally, if the first user is determined to be a high-frequency type user (heavy user) based on the first user's behavioral sequence data, then the first representation corresponding to the first user will not be updated.
[0085] For example, please see Figure 3 ,like Figure 3 As shown, Figure 3 As shown, if the first user is a low-frequency type of user ( Figure 3 If the user in the middle is dark-colored, then the first representation of that user needs to be updated; if the first user is a high-frequency type user ( Figure 3 If the user is represented by a light color, then there is no need to update the first representation of that user.
[0086] This method allows for a quick and convenient determination of whether the first user is a low-frequency user.
[0087] In one possible embodiment, the server determines that the first user is a low-frequency type user based on the first user's behavior sequence data, including: the server comparing the number of vectors of multiple songs included in the first user's behavior sequence data with a preset type threshold; if the number of vectors of songs included in the first user's behavior sequence data is less than the preset type threshold, then the first user is determined to be a low-frequency type user.
[0088] For example, if the behavior sequence data of the first user is: {song name 1, song name 2, song name 3....song name 23}, that is, the number of song vectors included in the behavior sequence data of the first user is 23, and the preset type threshold is 25. Since the number of song vectors included in the behavior sequence data of the first user is less than the preset type threshold (23 < 25), the first user is determined to be a low-frequency type user.
[0089] Optionally, if the number of song vectors included in the behavior sequence data of the first user is greater than or equal to a preset type threshold, then the first user is determined to be a high-frequency type user.
[0090] For example, if the behavior sequence data of the first user is: {song name 1, song name 2, song name 3....song name 27}, that is, the number of song vectors included in the behavior sequence data of the first user is 23, and the preset type threshold is 25. Since the number of song vectors included in the behavior sequence data of the first user is greater than the preset type threshold (27>25), the first user is determined to be a high-frequency type user.
[0091] In this way, based on the number of song vectors included in the first user's behavioral sequence data, it is possible to conveniently and quickly determine whether the first user is a low-frequency type user.
[0092] It should be noted that, in addition to determining the type of the first user through the behavioral sequence data of the first user, other methods can also be used to determine whether the first user is a low-frequency type user.
[0093] Optionally, the type of the first user can also be determined based on the duration of use of the scenario (such as radio) within a preset time period. Specifically, the duration of the first user's use of the scenario within the preset time period is compared with a preset duration; if the duration of the first user's use of the scenario within the preset time period is less than the preset duration, the first user is determined to be a low-frequency user. Conversely, if the duration of the first user's use of the scenario within the preset time period is greater than or equal to the preset duration, the second user is determined to be a high-frequency user.
[0094] For example, if a first user uses the radio for 29 minutes within a month (within a preset time period), and the preset duration is 180 minutes, the first user is determined to be a low-frequency user because the total usage time is less than the preset duration (29 minutes is less than 180 minutes). If the first user uses the radio for 290 minutes within a month, the first user is determined to be a high-frequency user because the total usage time is greater than the preset duration (290 minutes is less than 180 minutes).
[0095] The above provides a detailed explanation of how to determine if the first user is a low-frequency user. Below, we will further explain how to obtain the audio scoring results:
[0096] The first audio information is the song to be scored. The machine model is used to score the first audio information. The scoring result is the result obtained after scoring the first audio information. The scoring result can be a score (e.g., 84 points), a rating level (e.g., A level), or other forms. This application does not impose any restrictions on these.
[0097] like Figure 4 As shown, when the first user is a low-frequency type user, the first representation, the first user's behavioral sequence data, the cluster average representation of the first representation, and the first audio information are input into the machine model to obtain the audio score result. When the first user is a high-frequency type user (not a low-frequency type user), the first representation, behavioral sequence data, and the first audio information are input into the machine model to obtain the score result.
[0098] Optionally, before inputting the first audio information into the machine model, a representation can be extracted from the first audio information to obtain the representation corresponding to the first audio information. This process of obtaining the representation can employ the word2vec song representation model described above. After obtaining the representation corresponding to the first audio information, this representation is input into an embedding layer. This embedding layer is a network layer whose purpose is to map the representation corresponding to the first audio information into a dense low-dimensional vector. For example, if the representation corresponding to the first audio information is [4, 32, 67], the output of the embedding layer after passing through it is [[0.3, 0.9, 0.2], [-0.2, 0.1, 0, 8], [0.1, 0.3, 0.9]]. Similarly, behavioral sequence data can also be mapped into a dense low-dimensional vector through the embedding layer.
[0099] Optional, such as Figure 4 As shown, before inputting the first representation, the first user's behavior sequence data, the clustered average representation of the first representation, and the first audio information into the machine model, the first representation, the clustered average representation of the first representation, the behavior sequence data, and the first audio information can also be input into a Multi-Layer Perceptron (MLP). This MLP is a neural network, typically consisting of three layers: an input layer, a hidden layer, and an output layer. Different layers in an MLP neural network are fully connected, meaning that any neuron in one layer is connected to all neurons in the next layer. This MLP neural network mainly has three basic elements: weights, biases, and activation functions. Weights: The connection strength between neurons is represented by the weights, and the magnitude of the weights indicates the probability. Bias: The bias is set to correctly classify samples and is an important parameter in the model, ensuring that the output value calculated from the input cannot be arbitrarily activated. Activation function: It acts as a non-linear mapping function, limiting the output amplitude of neurons to a certain range, generally between (-1 to 1) or (0 to 1). The most commonly used activation function is the Sigmoid function, which maps numbers in the range (-∞, +∞) to the range (0 to 1). Other activation functions include tanh and ReLU. Tanh is a variation of the Sigmoid function, and its mean is 0. The ReLU function outputs 0 when the input signal is less than 0, and outputs the same value as the input signal when the input signal is greater than 0.
[0100] In one possible embodiment, the method further includes: the server determining a recommendation probability result corresponding to the first audio information based on the rating result corresponding to the first audio information; comparing the recommendation probability result with a preset recommendation threshold; and if the recommendation probability result is greater than the preset recommendation threshold, recommending the first audio information to the first user.
[0101] The recommendation probability result represents the probability of successfully recommending the song to the first user. A higher recommendation probability result indicates a greater likelihood of recommendation to the first user, suggesting the first user is more likely to like the song. Conversely, a lower recommendation probability result indicates a less likely recommendation to the first user, suggesting the first user is less likely to like the song. When the recommendation probability result is greater than the recommendation threshold, the first audio information is recommended to the first user; otherwise, when the recommendation probability result is less than the recommendation threshold, the first audio information is not recommended to the first user.
[0102] In one possible embodiment, the recommendation probability result corresponding to the first audio information is determined based on the rating result corresponding to the first audio information. Specifically, the server determines the recommendation probability result corresponding to the first audio information from a preset rating probability mapping table based on the rating result corresponding to the first audio information. The preset rating probability mapping table includes the mapping relationship between rating results and recommendation probability results.
[0103] For example, the preset rating probability mapping table is shown below:
[0104]
[0105]
[0106] Assuming a preset recommendation threshold of 65%, if the rating of the first audio information is 55 points, the recommendation probability of the first audio information is 1%. Since the recommendation probability is less than the preset recommendation threshold, the first audio information will not be recommended to the first user. If the rating of the first audio information is 65 points, the recommendation probability of the first audio information is 15%. Since the recommendation probability is less than the preset recommendation threshold, the first audio information will not be recommended to the first user. If the rating of the first audio information is 75 points, the recommendation probability of the first audio information is 45%. Since the recommendation probability is less than the preset recommendation threshold, the first audio information will not be recommended to the first user. If the rating of the first audio information is 85 points, the recommendation probability of the first audio information is 70%. Since the recommendation probability is greater than the preset recommendation threshold, the first audio information will be recommended to the first user. If the rating of the first audio information is 95 points, the recommendation probability of the first audio information is 99%. Since the recommendation probability is greater than the preset recommendation threshold, the first audio information will be recommended to the first user.
[0107] Optionally, the rating result corresponding to the first audio information is compared with a preset rating threshold. If the rating result corresponding to the first audio information is greater than the preset rating threshold, the first audio information is recommended to the first user. For example, if the preset rating threshold is 75 points and the rating result corresponding to the first audio information is 80 points, the rating result corresponding to the first audio information is greater than the preset rating threshold, and the first audio information is recommended to the first user. Conversely, if the rating result corresponding to the first audio information is less than or equal to the preset rating threshold, the first audio information is not recommended to the first user.
[0108] This method first determines the recommendation probability based on the rating results, and then determines whether to recommend the first audio information to the first user based on the recommendation probability results, making the song recommendation process more accurate.
[0109] The above embodiments introduce the audio clustering recommendation method in this application. The training and optimization of the machine model in the audio clustering recommendation method are explained below:
[0110] In one possible embodiment, the server acquires a sample dataset, which includes second behavioral sequence data of at least one second user, second audio information, and a labeled score corresponding to the second audio information; based on the second behavioral sequence data, a second representation corresponding to the second user is determined; if the second user is determined to be a low-frequency type user based on the behavioral sequence data, the server acquires the clustered average representation of the second representation, and inputs the clustered average representation of the second representation, the second audio information, the behavioral sequence data of the second user, and the second representation into an initial machine model to obtain a predicted score; the server trains the initial machine model with the goal of reducing the difference between the labeled score and the predicted score to obtain a machine model.
[0111] The users included in the sample dataset can be either low-frequency or high-frequency users. The labeled score can be assigned manually or based on the user's historical listening time. For example, if a user listens to a second song for a longer period within a month, the labeled score for that song will be higher; conversely, if a user listens to a second song for a shorter period, the labeled score will be lower. The difference between the labeled score and the predicted score can be calculated using a loss function. This loss function can be an absolute value loss function (1 for a difference between the predicted and target values, 0 for a difference between the two), a log-pair loss function (calculating the likelihood function following a Bernoulli distribution and then using the logarithm to find the extreme value), a squared loss function (optimally fitting the curve to minimize the sum of the distances from all points to the regression line), a loss function based on the mean square error (MSE) to construct the difference between the labeled and predicted scores, or any other loss function; this application does not impose any restrictions on this. The following section introduces the initial machine learning model training using the loss function that constructs the difference between the labeled score and the predicted score through mean square error (MSE). The parameters in the initial matching degree prediction model are updated through the loss function and the backpropagation algorithm. When the value of the loss function is less than the preset threshold, the initial machine learning model converges (which is equivalent to the initial machine learning model being trained and the parameters in the initial machine learning model being determined).
[0112] In one possible embodiment, the user information data further includes: song features and / or user features; inputting the updated first representation, behavioral sequence data, and first audio information into the machine model to obtain a scoring result includes: inputting the updated first representation, behavioral sequence data, first audio information, song features, and / or user features into the machine model to obtain a scoring result.
[0113] The user characteristics may include the first user's age, gender, city of residence, etc., while the song characteristics may include the number of times the first user regularly listens to a song, the number of times a song has been played in its entirety, or the melody characteristics of the songs the first user regularly listens to. It should be noted that user information data may also include other characteristics, which are not limited in this application.
[0114] For example, if the user information data of the first user includes behavioral series and user characteristics, the user information data of the first user can be as follows: {song name 1, song name 2, song name 3}, {34 years old, male, city 1}.
[0115] In this way, user information data can also include song features and / or user features. With more diverse and richer user information data, the rating of the first rated song can be determined more accurately, thereby more accurately predicting the user's listening preferences.
[0116] In one possible embodiment, the server can further optimize the machine model during its use. Specifically: the server obtains a labeled score for the first audio information; the server inputs the updated first representation, behavioral sequence data, and the first audio information into the machine model to obtain the score, which is then used as the predicted score. Based on the difference between the predicted score and the labeled score, the model is optimized (this optimization process can specifically involve adjusting the parameters in the model).
[0117] Optionally, a preset difference value can be used to determine whether the model needs to be optimized. Specifically, during the optimization process, if the difference between the predicted score and the labeled score is less than the preset difference value, the model is not optimized (the parameters in the model are not adjusted). If the difference between the predicted score and the labeled score is greater than or equal to the preset difference value, the model is optimized (the parameters in the model are adjusted).
[0118] By continuously optimizing the machine model during its use, the machine model can score songs more and more accurately.
[0119] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of an audio clustering recommendation device provided in an embodiment of this application. The audio clustering recommendation device includes an acquisition module 601 and a processing module 602. Wherein:
[0120] The acquisition module 601 is used to acquire user information data of the first user. The user information data includes behavior sequence data, and the behavior sequence data of the first user includes a vector of at least one song related to the first user.
[0121] Processing module 602 is used to determine the first representation corresponding to the first user based on the first user's behavior sequence data;
[0122] The processing module 602 is further configured to input the first representation, the behavioral sequence data of the first user, and the first audio information into the machine model if the first user is a high-frequency type user, to obtain an audio scoring result, wherein the first audio information includes the audio identifier of the first audio.
[0123] The processing module 602 is further configured to, if the first user is a low-frequency type user, obtain the cluster average representation of the first representation, input the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information into the machine model to obtain the audio scoring result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0124] In one possible implementation, the processing module 602 is further configured to compare the number of vectors of multiple songs included in the behavior sequence data of the first user with a preset type threshold; if the number of vectors of multiple songs included in the behavior sequence data of the first user is less than the preset type threshold, then the first user is determined to be a low-frequency type user.
[0125] In one possible implementation, the processing module 602 is further configured to determine, based on the first representation, the user cluster to which the first user belongs, the user cluster including multiple users; and to determine the cluster average representation of the first representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs.
[0126] In one possible implementation, when determining the user cluster to which the first user belongs, the processing module 602 is specifically used to: determine multiple cluster centers corresponding to multiple user clusters, wherein the cluster centers are determined based on the mean of the representations corresponding to all users in the user clusters; determine multiple error values based on the cluster centers corresponding to multiple user clusters and the first representation; and determine the user cluster to which the first user belongs based on the multiple error values, wherein the error value between the cluster center corresponding to the user cluster to which the first user belongs and the first representation is the minimum error value.
[0127] In one possible implementation, when the processing module 602 determines the cluster average representation of the first representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs, it is specifically used to: determine the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs and the mean of the first representation; and use the mean as the cluster average representation of the first representation corresponding to the first user.
[0128] In one possible implementation, when the processing module 602 determines the first representation corresponding to the first user based on the first user's behavior sequence data, it is specifically used to: determine at least one song representation corresponding to the first user based on the vectors of multiple songs included in the first user's behavior sequence data, wherein the vectors of the songs correspond one-to-one with the song representations; determine the mean of at least one song representation; and use the mean of at least one song representation as the first representation corresponding to the first user.
[0129] In one possible implementation, the processing module 602 is further configured to determine the recommendation probability result corresponding to the first audio information based on the rating result corresponding to the first audio information; compare the recommendation probability result with a preset recommendation threshold; and if the recommendation probability result is greater than the preset recommendation threshold, recommend the first audio information to the first user.
[0130] In one possible implementation, the acquisition module 601 is further configured to acquire a sample dataset, which includes second behavioral sequence data of at least one second user, second audio information, and labeled scores corresponding to the second audio information; the processing module 602 is further configured to determine a second representation corresponding to the second user based on the second behavioral sequence data; if the second user is determined to be a low-frequency type user based on the behavioral sequence data of the second user, then the cluster average representation of the second representation is acquired, and the cluster average representation of the second representation, the second audio information, the behavioral sequence data of the second user, and the second representation are input into the initial machine model to obtain a predicted score; the initial machine model is trained with the goal of reducing the difference between the labeled score and the predicted score to obtain a machine model.
[0131] It should be noted that the functions of each module of the audio clustering recommendation device in this application embodiment can be specifically implemented according to the methods in the above method embodiments. The specific implementation process and beneficial effects can be referred to the relevant descriptions in the above method embodiments, and will not be repeated here.
[0132] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device can be a server as described in the above method embodiments, and it may include one or more processors 701 and a memory 702. Optionally, the electronic device may also include a transceiver 703. The processor 701, memory 702, and transceiver 703 can be connected via a bus 704. The memory 702 is used to store a computer program, which includes program instructions. The processor 701 performs the following operations by running the program instructions stored in the memory 702:
[0133] Obtain the behavior sequence data of the first user, which includes vectors of multiple songs;
[0134] Based on the behavioral sequence data of the first user, determine the first representation corresponding to the first user;
[0135] If the first user is a high-frequency type user, then the first representation, the first user's behavior sequence data, and the first audio information are input into the machine model to obtain the audio score result. The first audio information includes the audio identifier of the first audio.
[0136] If the first user is a low-frequency type user, the cluster average representation of the first representation is obtained. The first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information are input into the machine model to obtain the audio score result. The cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs.
[0137] In one possible implementation, the processor 701 is further configured to compare the number of vectors of multiple songs included in the behavior sequence data of the first user with a preset type threshold; if the number of vectors of multiple songs included in the behavior sequence data of the first user is less than the preset type threshold, then the first user is determined to be a low-frequency type user.
[0138] In one possible implementation, the processor 701 is further configured to determine, based on the first representation, a user cluster to which the first user belongs, the user cluster including multiple users; and to determine the cluster average representation of the first representation based on multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs.
[0139] In one possible implementation, when determining the user cluster to which the first user belongs, the processor 701 specifically performs the following steps: determining multiple cluster centers corresponding to multiple user clusters, wherein the cluster centers are determined based on the mean of the representations corresponding to all users in the user clusters; determining multiple error values based on the cluster centers corresponding to multiple user clusters and the first representation; and determining the user cluster to which the first user belongs based on the multiple error values, wherein the error value between the cluster center corresponding to the user cluster to which the first user belongs and the first representation is the minimum error value.
[0140] In one possible implementation, the processor 701 is further configured to, when determining the cluster average representation of the first representation based on the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs, specifically: determine the multiple representations corresponding to the multiple users included in the user cluster to which the first user belongs and the mean of the first representation; and use the mean as the cluster average representation of the first representation corresponding to the first user.
[0141] In one possible implementation, the processor 701 is further configured to, when determining the first representation corresponding to the first user based on the first user's behavior sequence data, specifically: based on the vectors of multiple songs included in the first user's behavior sequence data, determine at least one song representation corresponding to the first user, wherein the vectors of the songs correspond one-to-one with the song representations; determine the mean of the at least one song representation; and use the mean of the at least one song representation as the first representation corresponding to the first user.
[0142] In one possible implementation, the processor 701 is further configured to determine a recommendation probability result corresponding to the first audio information based on the rating result corresponding to the first audio information; compare the recommendation probability result with a preset recommendation threshold; and if the recommendation probability result is greater than the preset recommendation threshold, recommend the first audio information to the first user.
[0143] In one possible implementation, processor 701 is further configured to acquire a sample dataset, which includes second behavioral sequence data of at least one second user, second audio information, and labeled scores corresponding to the second audio information; processing module 602 is further configured to determine a second representation corresponding to the second user based on the second behavioral sequence data; if the second user is determined to be a low-frequency type user based on the behavioral sequence data of the second user, then the cluster average representation of the second representation is acquired, and the cluster average representation of the second representation, the second audio information, the behavioral sequence data of the second user, and the second representation are input into an initial machine model to obtain a predicted score; the initial machine model is trained with the goal of reducing the difference between the labeled score and the predicted score to obtain a machine model.
[0144] It should be understood that in some feasible implementations, the processor 701 described above may be a central processing unit (CPU), which may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. The memory 702 may include read-only memory and random access memory, and provides instructions and data to the processor 501. A portion of the memory 702 may also include non-volatile random access memory. For example, the memory 702 may also store device type information.
[0145] In specific implementation, the implementation process and beneficial effects of the above-mentioned electronic device can be found in the specific content of the above method embodiments, and will not be repeated here.
[0146] This application also provides a computer-readable storage medium storing a computer program executed by the aforementioned audio clustering recommendation device. This computer program includes program instructions, which, when executed by a processor, enable the execution of the content described in the above method embodiments. Therefore, further details will not be repeated here. Additionally, the beneficial effects of using the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiments of this application, please refer to the description of the method embodiments of this application. As an example, the program instructions can be deployed on an electronic device, executed on multiple electronic devices located in one location, or executed on multiple electronic devices distributed across multiple locations and interconnected via a communication network. These multiple electronic devices distributed across multiple locations and interconnected via a communication network can constitute a blockchain system.
[0147] According to one aspect of this application, a computer program product is also provided, comprising a computer program stored in a computer-readable storage medium, including program instructions. A processor of an electronic device reads the program instructions from the computer-readable storage medium and executes the program instructions, enabling the electronic device to perform the content described in the above method embodiments; therefore, further details are omitted here.
[0148] The terms "first," "second," "third," "fourth," etc., in the claims, description, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0149] In the specific embodiments of this application, data related to user information (such as user information data of the first user) is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0150] The term "embodiment" as used herein means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The presentation of this phrase in various locations throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and / or" as used in this specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations. Those skilled in the art will recognize that the units and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0151] The methods and related apparatuses provided in this application are described with reference to the method flowcharts and / or structural diagrams provided in this application. Specifically, each block of the method flowchart and / or structural diagram, as well as combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to create a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, generate instructions for implementing the process. Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 A schematic diagram of one or more processes and / or structures. Figure 1 The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 A process or multiple processes and / or structures illustrate the steps of the functions specified in one or more boxes.
Claims
1. A recommendation method based on audio clustering, characterized in that, The method includes: Obtain the behavior sequence data of the first user, which includes vectors of multiple songs; Based on the behavioral sequence data of the first user, a first representation corresponding to the first user is determined; If the first user is a high-frequency type user, then the first representation, the first user's behavior sequence data, and the first audio information are input into the machine model to obtain the audio scoring result. The first audio information includes the audio identifier of the first audio. If the first user is a low-frequency type user, then the cluster average representation of the first representation is obtained, and the first representation, the behavioral sequence data of the first user, the cluster average representation of the first representation, and the first audio information are input into the machine model to obtain the audio scoring result; the cluster average representation of the first representation is determined based on the representations of users included in the user cluster to which the first user belongs and the first representation.
2. The method according to claim 1, characterized in that, The method includes: The number of vectors from multiple songs included in the first user's behavior sequence data is compared with a preset type threshold; If the number of vectors of multiple songs included in the behavioral sequence data of the first user is less than the preset type threshold, then the first user is determined to be a low-frequency user.
3. The method according to claim 1 or 2, characterized in that, The step of obtaining the cluster average representation of the first representation includes: Based on the first representation, the user cluster to which the first user belongs is determined, and the user cluster includes multiple users; Based on the multiple representations corresponding to multiple users in the user cluster to which the first user belongs, the average cluster representation of the first representation is determined.
4. The method according to claim 3, characterized in that, The step of determining the user cluster to which the first user belongs based on the first representation includes: Multiple cluster centers are determined for multiple user clusters, wherein the cluster centers are determined based on the mean of the representations of all users in the user clusters; Based on the cluster centers corresponding to the multiple user clusters and the first representation, multiple error values are determined; Based on the plurality of error values, the user cluster to which the first user belongs is determined, and the cluster center corresponding to the user cluster to which the first user belongs is the error value with the smallest error value between it and the first representation.
5. The method according to claim 3, characterized in that, The step of determining the cluster average representation of the first representation based on multiple representations corresponding to multiple users in the user cluster to which the first user belongs includes: Determine the mean of the first user's representation and the multiple representations corresponding to the multiple users in the user cluster to which the first user belongs; The mean is used as the cluster average representation of the first representation corresponding to the first user.
6. The method according to claim 1, characterized in that, The step of determining the first representation corresponding to the first user based on the first user's behavior sequence data includes: Based on the behavioral sequence data of the first user, which includes vectors of multiple songs, at least one song representation corresponding to the first user is determined, and the vectors of the songs correspond one-to-one with the song representations. Determine the mean of the at least one song representation; The mean of the at least one song representation is used as the first representation corresponding to the first user.
7. The method according to claim 1, characterized in that, The method further includes: Based on the audio rating result corresponding to the first audio information, the recommendation probability result corresponding to the first audio information is determined; The recommendation probability result is compared with a preset recommendation threshold; If the recommendation probability result is greater than the preset recommendation threshold, then the first audio information is recommended to the first user.
8. The method according to claim 1 or 7, characterized in that, The method further includes: Obtain a sample dataset, which includes second behavioral sequence data of at least one second user, second audio information, and labeled scores corresponding to the second audio information; Based on the second behavioral sequence data, determine the second representation corresponding to the second user; If, based on the behavioral sequence data of the second user, it is determined that the second user is a low-frequency type user, then the cluster average representation of the second representation is obtained, and the cluster average representation of the second representation, the second audio information, the behavioral sequence data of the second user, and the second representation are input into the initial machine model to obtain the predicted score. The initial machine model is trained with the goal of reducing the difference between the labeled score and the predicted score to obtain a machine model.
9. An electronic device, characterized in that, The electronic device includes a memory and a processor; The memory is used to store computer programs, the computer programs including program instructions; The processor is configured to call the program instructions from the memory, causing the electronic device to perform the method as described in any one of claims 1-8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions that, when executed by a processor, cause the processor to perform the method as described in any one of claims 1-8.