Song recommendation method and device and computer storage mediumTechnical Field
The present application relates to the field of multimedia technologies, and in particular, to a song recommendation method, an apparatus, and a computer storage medium.
Background
After a user logs in a music application program through a terminal, a server corresponding to the music application program usually recommends songs to the terminal, so as to improve the experience of the user in using the music application program.
In the related art, the server may determine a recommendation list according to the historical song listening data of the user or according to the historical song listening data of all songs, and send the recommendation list to the terminal, and the terminal displays the recommendation list.
The above process of recommending songs is easily affected by the user's subjective factors, such as user preferences, or by external factors, such as click rate or play volume, so that the recommended songs may not be able to be judged from the aspect of music quality and are not favorable for exploring the music quality of new songs.
Disclosure of Invention
The embodiment of the application provides a song recommending method, a song recommending device and a computer storage medium, which can improve the quality of recommended songs, so that the recommended songs meet the requirements of users on high-quality songs. The technical scheme is as follows:
in a first aspect, a song recommendation method is provided, where the method includes a song recommendation model that is trained by an initialized neural network model, and the method includes:
acquiring a plurality of songs to be recommended;
determining audio characteristics of each of the plurality of songs, the audio characteristics indicating a tone, a pitch, and a timbre of the audio;
determining the tone quality score of each song according to the audio characteristics of each song and the song recommendation model;
and determining a recommendation list according to the tone quality score of each song in the plurality of songs.
Optionally, the method further comprises: acquiring a plurality of training audios and tone quality scores corresponding to the training audios one by one, and a plurality of verification audios and tone quality scores corresponding to the verification audios one by one; determining an audio feature of each of the plurality of training audios and an audio feature of each of the plurality of verification audios; and training the initialized neural network model according to the tone quality scores which are in one-to-one correspondence with the plurality of training audios, the audio characteristics of each of the plurality of training audios, the tone quality scores which are in one-to-one correspondence with the plurality of verification audios and the audio characteristics of each of the plurality of verification audios to obtain the song recommendation model.
Optionally, the training the initialized neural network model according to the tone quality scores corresponding to the training audios one to one, the audio features of each of the training audios, and the tone quality scores corresponding to the verification audios one to one, and the audio features of each of the verification audios, to obtain the song recommendation model, includes: acquiring a neural network model after each training in the process of training the initialized neural network model according to the tone quality scores corresponding to the training audios one by one and the audio characteristics of each training audio in the training audios; determining a value of a loss function according to the tone quality scores corresponding to the verification audios one by one, the audio features of each verification audio in the verification audios and the trained neural network model, wherein the loss function is used for indicating the difference between the predicted value and the actual value of the neural network model; determining the trained neural network model as the song recommendation model if the value of the loss function reaches a minimum value; and if the value of the loss function does not reach the minimum value, returning to the step of executing the training of the trained neural network model according to the tone quality scores which are in one-to-one correspondence with the plurality of training audios and the audio features of each of the plurality of training audios.
Optionally, before determining the neural network model after training as the song recommendation model, the method further includes: testing the trained neural network model according to the tone quality scores which correspond to a plurality of test audios one by one and the audio characteristics of each test audio in the plurality of test audios; sending the test result to a background management terminal; and if a training termination instruction sent by the background management terminal is received, executing the operation of determining the trained neural network model as the song recommendation model.
Optionally, the obtaining a plurality of training audios and tone quality scores corresponding to the training audios one to one, and a plurality of verification audios and tone quality scores corresponding to the verification audios one to one includes: for a first audio, acquiring a score labeled for the first audio to obtain a sound quality score of the first audio; or determining the tone quality score of the first audio according to the historical collection times and the historical playing times of the first audio; wherein the first audio is any one of the plurality of training audios and the plurality of verification audios.
Optionally, before the obtaining of the plurality of songs to be recommended, the method further includes: acquiring historical listening data of a user; and screening the plurality of songs from a song database according to the historical song listening data of the user.
In a second aspect, a song recommendation apparatus is provided, the apparatus including a song recommendation model trained by an initialized neural network model, the apparatus including:
the first acquisition module is used for acquiring a plurality of songs to be recommended;
a first determining module for determining audio characteristics of each of the plurality of songs, the audio characteristics being indicative of a tone, a pitch, and a timbre of the audio;
and the second determination module is used for determining the tone quality score of each song according to the audio characteristics of each song and the song recommendation model, and determining a recommendation list according to the tone quality score of each song in the plurality of songs.
Optionally, the apparatus further comprises:
the second acquisition module is used for acquiring a plurality of training audios and tone quality scores corresponding to the training audios one by one, and a plurality of verification audios and tone quality scores corresponding to the verification audios one by one;
a third determining module for determining an audio feature of each of the plurality of training audios and an audio feature of each of the plurality of verification audios;
and the training module is used for training the initialized neural network model according to the tone quality scores which are in one-to-one correspondence with the training audios, the audio characteristics of each training audio in the training audios, the tone quality scores which are in one-to-one correspondence with the verification audios and the audio characteristics of each verification audio in the verification audios, so as to obtain the song recommendation model.
Optionally, the training module is specifically configured to:
acquiring a neural network model after each training in the process of training the initialized neural network model according to the tone quality scores corresponding to the training audios one by one and the audio characteristics of each training audio in the training audios; determining a value of a loss function according to the tone quality scores corresponding to the verification audios one by one, the audio features of each verification audio in the verification audios and the trained neural network model, wherein the loss function is used for indicating the difference between the predicted value and the actual value of the neural network model; determining the trained neural network model as the song recommendation model if the value of the loss function reaches a minimum value; and if the value of the loss function does not reach the minimum value, returning to the step of executing the training of the trained neural network model according to the tone quality scores which are in one-to-one correspondence with the plurality of training audios and the audio features of each of the plurality of training audios.
Optionally, the training module is further specifically configured to:
testing the trained neural network model according to the tone quality scores which correspond to a plurality of test audios one by one and the audio characteristics of each test audio in the plurality of test audios; sending the test result to a background management device; and if a training termination instruction sent by the background management device is received, determining the neural network model after training as the song recommendation model.
Optionally, the second obtaining module is specifically configured to:
for a first audio, acquiring a score labeled for the first audio to obtain a sound quality score of the first audio; or determining the tone quality score of the first audio according to the historical collection times and the historical playing times of the first audio; wherein the first audio is any one of the plurality of training audios and the plurality of verification audios.
Optionally, the apparatus further comprises:
the third acquisition module is used for acquiring historical listening data of a user;
and the screening module is used for screening the plurality of songs from a song database according to the historical song listening data of the user.
In a third aspect, there is provided a song recommendation apparatus, the apparatus comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to perform the steps of any of the methods of the first aspect described above.
In a fourth aspect, a computer-readable storage medium is provided, having instructions stored thereon, which when executed by a processor, implement the steps of any of the methods of the first aspect described above.
In a fifth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the steps of any of the methods of the first aspect described above.
The technical scheme provided by the embodiment of the application has the following beneficial effects:
in the method and the device, the audio characteristics of each song in the plurality of songs to be recommended are obtained, and the recommendation list is determined according to the audio characteristics of each song in the plurality of songs. The method and the device have the advantages that the audio features are used for indicating the tone, the pitch and the tone of the audio, so that the embodiment of the application recommends the songs according to the tone, the pitch and the tone of the songs, the high-quality songs can be recommended to the user, the influence of personal subjective factors of the user or the influence of external factors in the process of recommending the songs can be avoided, and the recommended songs meet the requirements of the user on the high-quality songs. In addition, the song recommendation model is configured in the application and used for rapidly determining the tone quality score of each song, so that the efficiency of determining the recommendation list is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of a song recommendation system provided by an embodiment of the present application;
FIG. 2 is a flowchart of a song recommendation method provided in an embodiment of the present application;
FIG. 3 is a flowchart of a training method for training a song recommendation model according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a song recommending apparatus according to an embodiment of the present application;
FIG. 5 is a schematic structural diagram of another song recommendation apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another song recommending apparatus according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a song recommendation system according to an embodiment of the present application, and as shown in fig. 1, the song recommendation system 100 includes a server 101, a user terminal 102, and a background management terminal 103. The user terminal 102 and the server 101 are connected in a wireless or wired manner for communication, and the background management terminal 103 and the server 101 are also connected in a wireless or wired manner for communication.
The server 101 is configured to send a recommendation list to the user terminal 102, and the user terminal 102 displays the recommendation list, where the recommendation list includes a plurality of songs, so as to recommend songs to a user. The background management terminal 103 is used for managing the server 101.
In addition, the user terminal 102 and the background management terminal 103 may be both devices such as a mobile phone, a tablet computer, or a desktop computer. Fig. 1 is merely an example in which the user terminal 102 is a mobile phone and the background management terminal 103 is a desktop computer, and does not specifically limit the embodiment of the present application.
In addition, the server 101 may be connected to a plurality of user terminals 102 to enable songs to be recommended to each of the plurality of user terminals. Fig. 1 illustrates only 1 ue 102, and does not specifically limit the embodiments of the present application.
Fig. 2 is a flowchart of a song recommendation method provided in an embodiment of the present application, and is applied to the server shown in fig. 1. As shown in fig. 2, the method comprises the steps of:
step 201: and acquiring a plurality of songs to be recommended.
In one possible implementation manner, when the user terminal detects a song recommendation instruction, the user terminal sends a song recommendation request to the server. The song recommendation request carries the identifier of the user terminal. When the server receives the song recommendation request, a plurality of songs are obtained from the database, and then a recommendation list is determined from the plurality of songs according to steps 202 and 203 described below. And after determining the recommendation list, the server sends the recommendation list to the user terminal, and the user terminal displays the recommendation list.
Step 202: audio characteristics are determined for each of the plurality of songs, the audio characteristics indicating a tone, pitch, and timbre of the audio.
For any piece of audio, the audio typically has three attributes of tone, pitch, and tone. Wherein the tone is used to indicate the frequency of the corresponding audio, the pitch is used to indicate the intensity of the corresponding audio, and the tone is used to indicate the harmonic component of the corresponding audio. Also, high quality audio often has a commonality in these three attributes. For example, the amplitude distribution corresponding to each frequency point in the audio is uniform, and harmonic components in the audio are rich. Therefore, in the embodiment of the application, in order to recommend high-quality songs to the user, the songs can be recommended to the user according to the audio characteristics of each song in a plurality of songs to be recommended.
The implementation manner of obtaining the audio characteristics of each song of the plurality of songs to be recommended may be: for any one of the plurality of songs, the tone of the song may be acquired by a tone extraction technique, the pitch of the song may be acquired by a pitch extraction technique, and the tone of the song may be acquired by a tone extraction technique, respectively. For the pitch extraction technique, and the tone extraction technique, reference may be made to the related techniques, and details thereof are not repeated here.
Step 203: and determining the tone quality score of each song according to the audio characteristics of each song and the song recommendation model, and determining a recommendation list according to the tone quality score of each song in the plurality of songs.
In order to improve the efficiency of determining the recommendation list, a neural network model for song recommendation is stored in the server, and is referred to as a song recommendation model in the embodiment of the application. Therefore, in a possible implementation manner, step 202 may specifically be: determining the tone quality score of each song according to the audio characteristics of each song in the plurality of songs and the song recommendation model; and determining a recommendation list according to the tone quality score of each song in the plurality of songs.
The implementation manner of determining the recommendation list according to the tone quality score of each song in the plurality of songs may be: and selecting songs with the sound quality scores larger than the reference scores from the plurality of songs, and using the selected songs as the songs in the recommendation list. Optionally, the plurality of songs may be ranked according to the tone quality score of each of the plurality of songs, and then at least one song with a larger tone quality score is selected from the ranking results, and the selected song is used as the song in the recommendation list.
In addition, in the embodiment of the application, in order to enable the recommended songs to meet not only the requirements of the user on high-quality songs but also the requirements of the user on music types, the server may obtain the historical listening data of the user before determining the recommendation list through the steps 201 to 203, and then screen out a plurality of songs from the song database according to the historical listening data of the user, so as to determine the recommendation list according to the screened out plurality of songs.
Specifically, after the server acquires the historical listening data, at least one music type is determined according to the historical listening data, and the at least one music type can represent the music type preferred by the user. A plurality of songs satisfying the at least one music genre may then be selected from the song database to determine a recommendation list from the selected plurality of songs through steps 201 through 203 as described above.
That is, in the embodiment of the present application, the server may determine the recommendation list not only based on the audio characteristics of the songs alone. The server may also determine the recommendation list in conjunction with the user's listening data and the audio characteristics of the songs. Of course, the server may also determine the recommendation list in conjunction with audio characteristics of other data and songs, for example, the server may also determine the recommendation list in conjunction with audio characteristics of network media recommendation data and songs. The songs recommended by the server not only meet the requirements of the user on high-quality songs, but also meet the self requirements of the user or the requirements of the current music platform, and the flexibility of recommending songs is further improved.
The song recommendation model is obtained through training of an initialized neural network model. The specific process of training the initialized neural network model to obtain the song recommendation model is explained in detail herein.
Fig. 3 is a flowchart of a method for training a song recommendation model according to an embodiment of the present application. The method for training the song recommendation model can be applied to the server shown in fig. 1, and of course, can also be implemented by other servers or terminals, and then the obtained song recommendation model is stored in the server. Specifically, as shown in fig. 3, the method includes the steps of:
step 301: the method comprises the steps of obtaining a plurality of training audios and tone quality scores corresponding to the training audios one to one, and a plurality of verification audios and tone quality scores corresponding to the verification audios one to one.
In a possible implementation manner, step 301 may specifically be: for a first audio, acquiring a score labeled for the first audio to obtain a tone quality score of the first audio; alternatively, the timbre score of the first audio is determined from historical listened-to data of the first audio. The first audio is any one of a plurality of training audios and a plurality of verification audios.
That is, for the first audio, the voice quality score of the first audio can be obtained by means of manual labeling. The timbre score of the first audio may also be determined from historical listened-to data of the first audio. Because the manual marking can be completed by special music experts, the tone quality score of the first audio is obtained in a manual marking mode, and the tone quality score can represent the quality of the first audio.
However, the manual labeling method requires a lot of manpower resources. The server may also determine the timbre score of the first audio directly from the historical listened-to data of the first audio to improve the efficiency of tagging the training samples and the validation samples.
Because the historical collection times of the audio can represent the quality of the audio to a certain extent, the implementation manner of determining the tone quality score of the first audio according to the historical listened data of the first audio may specifically be: and determining the tone quality score of the first audio according to the historical collection times and the historical playing times of the first audio. For example, the server may divide the historical collection times and the historical play times of the first audio, and the obtained quotient may be used as the sound quality score of the first audio.
Of course, in the embodiment of the present application, the server may also determine the sound quality score of the first audio through other implementations as long as the sound quality score of the first audio can represent the quality of the audio. For example, the server may divide the number of times of the first audio being praised and the number of times of the historical playing, and the obtained quotient may also be used as the sound quality score of the first audio.
In addition, in the process of training the neural network, besides the training samples and the verification samples, test samples are generally required to test the model after training through the test samples after training is finished. Therefore, in step 301, a plurality of test audios and timbre scores corresponding to the plurality of test audios one to one may also be obtained.
Specifically, in a possible implementation manner, the server may obtain a large number of audio samples, divide the large number of audio samples into a training sample, a verification sample, and a test sample according to a certain proportion, and determine the tone quality score of each sample through any one of the above implementation manners. For example, the server may divide the mass audio samples into training samples, validation samples, and test samples in an 8:1:1 ratio.
Optionally, to avoid that some samples of the tone quality score are too concentrated, resulting in a less accurate trained model. After the server determines the training samples, the verification samples and the test samples and the sound quality scores of all the samples, for any sample, the distribution histogram of the sound quality scores of the sample is counted, and some samples with too high or too low scores are removed, so that the distribution of the sound quality scores of the removed samples accords with normal distribution.
In addition, after the server determines the training samples, the verification samples and the test samples, and the voice quality scores of each sample, each audio in the training samples can be directly used as a training audio, each audio in the verification samples can be used as a verification audio, each audio in the test samples can be used as a test audio,
of course, the server may also intercept each sample so that the audio duration of each sample is the reference duration. For example, it may be 1 minute. And taking the intercepted sample as corresponding training audio, verification audio and test audio.
Step 302: an audio feature of each of the plurality of training audios is determined, and an audio feature of each of the plurality of verification audios is determined.
The implementation of step 302 may refer to step 202 in the embodiment of fig. 2, and is not described herein again.
Optionally, if the server needs to test the trained model through the test sample after the training is finished, in this case, in step 302, the audio feature of each test audio in the multiple test audios may also be obtained
Step 303: and training the initialized neural network model according to the tone quality scores which are in one-to-one correspondence with the plurality of training audios, the audio characteristics of each of the plurality of training audios, the tone quality scores which are in one-to-one correspondence with the plurality of verification audios and the audio characteristics of each of the plurality of verification audios to obtain a song recommendation model.
In a possible implementation manner, step 303 may specifically be: acquiring a neural network model after each training in the process of training the initialized neural network model according to the tone quality scores corresponding to the training audios one by one and the audio characteristics of each training audio in the training audios; and determining the value of the loss function according to the sound quality scores which correspond to the verification audios one by one, the audio characteristics of each verification audio in the verification audios and the trained neural network model. And if the value of the loss function reaches the minimum value, determining the neural network model after training as a song recommendation model. And if the value of the loss function does not reach the minimum value, returning to execute the step of training the trained neural network model according to the tone quality scores corresponding to the training audios one by one and the audio features of each training audio in the training audios.
Wherein the loss function is used to indicate a gap between a predicted value and a true value of the neural network model, and thus whether to terminate the current training can be determined by the value of the loss function. In addition, an evaluation function may be set in advance, and it may be determined whether the value of the current loss function reaches a minimum value by the evaluation function. In the embodiment of the present application, the loss function may be a mean square error function, and the evaluation function may use a mean absolute error function.
Optionally, if the server needs to test the trained model through the test sample after the training is finished, at this time, before the server determines the trained neural network model as the song recommendation model, the trained neural network model may be tested according to the tone quality scores corresponding to the plurality of test audios one to one and the audio features of each of the plurality of test audios; sending the test result to a background management terminal; and if a training termination instruction sent by the background management terminal is received, executing the operation of determining the trained neural network model as the song recommendation model.
Correspondingly, if a continuous training instruction sent by the background management terminal is received, relevant parameters in the initialized neural network model can be adjusted. And continuing training the neural network model after the parameters are adjusted according to the plurality of training audios and the plurality of verification audios. That is, the step 303 is executed back.
The initialized neural network model may be a one-dimensional convolutional neural network model, a two-dimensional convolutional neural network model, or other neural network models, and is not limited specifically herein. When the initialized neural network model is a one-dimensional convolutional neural network model or a two-dimensional convolutional neural network model, an activation function may be configured for the initialized neural network model, for example, the activation function may be a sigmoid growth curve (sigmoid) function.
In the embodiment of the application, the audio characteristics of each song in a plurality of songs to be recommended are obtained, and the sound quality score of each song is determined according to the audio characteristics of each song in the plurality of songs; and determining a recommendation list according to the tone quality score of each song in the plurality of songs. The method and the device have the advantages that the audio features are used for indicating the tone, the pitch and the tone of the audio, so that the embodiment of the application recommends the songs according to the tone, the pitch and the tone of the songs, the high-quality songs can be recommended to the user, the influence of personal subjective factors of the user or the influence of external factors in the process of recommending the songs can be avoided, and the recommended songs meet the requirements of the user on the high-quality songs. In addition, the song recommendation model is configured in the embodiment of the application and used for rapidly determining the tone quality score of each song, so that the efficiency of determining the recommendation list is improved.
Fig. 4 is a song recommending apparatus 400 according to an embodiment of the present application, where the apparatus includes a song recommending model, and the song recommending model is obtained by training an initialized neural network model, where the apparatus 400 includes:
a first obtaining module 401, configured to obtain a plurality of songs to be recommended;
a first determining module 402 for determining audio characteristics of each of a plurality of songs, the audio characteristics being indicative of a tone, a pitch, and a timbre of the audio;
and a second determining module 403, configured to determine a sound quality score of each song according to the audio feature of each song and the song recommendation model, and determine a recommendation list according to the sound quality score of each song in the multiple songs.
Optionally, as shown in fig. 5, the apparatus 400 further includes:
a second obtaining module 404, configured to obtain a plurality of training audios and tone quality scores corresponding to the plurality of training audios one to one, and a plurality of verification audios and tone quality scores corresponding to the plurality of verification audios one to one;
a third determining module 405, configured to determine an audio feature of each of the plurality of training audios and an audio feature of each of the plurality of verification audios;
the training module 406 is configured to train the initialized neural network model according to the tone quality scores corresponding to the plurality of training audios one to one, the audio features of each of the plurality of training audios, the tone quality scores corresponding to the plurality of verification audios one to one, and the audio features of each of the plurality of verification audios, so as to obtain a song recommendation model.
Optionally, the training module 406 is specifically configured to:
acquiring a neural network model after each training in the process of training the initialized neural network model according to the tone quality scores corresponding to the training audios one by one and the audio characteristics of each training audio in the training audios;
determining a value of a loss function according to the tone quality scores corresponding to the verification audios one by one, the audio characteristics of each verification audio in the verification audios and the trained neural network model, wherein the loss function is used for indicating the difference between the predicted value and the true value of the neural network model;
if the value of the loss function reaches the minimum value, determining the trained neural network model as a song recommendation model;
and if the value of the loss function does not reach the minimum value, returning to execute the step of training the trained neural network model according to the tone quality scores corresponding to the training audios one by one and the audio features of each training audio in the training audios.
Optionally, the training module 406 is further specifically configured to:
testing the trained neural network model according to the tone quality scores corresponding to the test audios one by one and the audio characteristics of each test audio in the test audios;
sending the test result to a background management device;
and if receiving a training termination instruction sent by the background management device, executing the operation of determining the neural network model after training as the song recommendation model.
Optionally, the second obtaining module 404 is specifically configured to:
for a first audio, acquiring a score labeled for the first audio to obtain a tone quality score of the first audio; or,
determining a timbre score of the first audio based on historical listened-to data of the first audio;
the first audio is any one of a plurality of training audios and a plurality of verification audios.
Optionally, the apparatus 400 further comprises:
the third acquisition module is used for acquiring historical listening data of a user;
and the screening module is used for screening a plurality of songs from the song database according to the historical song listening data of the user.
In the embodiment of the application, the audio characteristics of each song in a plurality of songs to be recommended are obtained, and the sound quality score of each song is determined according to the audio characteristics of each song in the plurality of songs; and determining a recommendation list according to the tone quality score of each song in the plurality of songs. The method and the device have the advantages that the audio features are used for indicating the tone, the pitch and the tone of the audio, so that the embodiment of the application recommends the songs according to the tone, the pitch and the tone of the songs, the high-quality songs can be recommended to the user, the influence of personal subjective factors of the user or the influence of external factors in the process of recommending the songs can be avoided, and the recommended songs meet the requirements of the user on the high-quality songs. In addition, the song recommendation model is configured in the embodiment of the application and used for rapidly determining the tone quality score of each song, so that the efficiency of determining the recommendation list is improved.
It should be noted that: in the song recommendation apparatus provided in the above embodiment, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the song recommendation apparatus and the song recommendation method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are described in detail in the method embodiments and are not described herein again.
Fig. 6 is a schematic structural diagram of a song recommending apparatus according to an embodiment of the present application, and the server shown in fig. 1 may be implemented by the apparatus shown in fig. 6. The server may be a server in a cluster of background servers. Specifically, the method comprises the following steps:
the song recommending apparatus 600 includes a Central Processing Unit (CPU)601, a system memory 604 including a Random Access Memory (RAM)602 and a Read Only Memory (ROM)603, and a system bus 605 connecting the system memory 604 and the central processing unit 601. The song recommender 600 also includes a basic input/output system (I/O system) 606 to facilitate the transfer of information between various devices within the computer, and a mass storage device 607 for storing an operating system 613, application programs 614, and other program modules 615. The upper central processing unit may also be referred to as a processor.
The basic input/output system 606 includes a display 608 for displaying information and an input device 609 such as a mouse, keyboard, etc. for user input of information. Wherein a display 608 and an input device 609 are connected to the central processing unit 601 through an input output controller 610 connected to the system bus 605. The basic input/output system 606 may also include an input/output controller 610 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, input/output controller 610 may also provide output to a display screen, a printer, or other type of output device.
The mass storage device 607 is connected to the central processing unit 601 through a mass storage controller (not shown) connected to the system bus 605. The mass storage device 607 and its associated computer-readable media provide non-volatile storage for the song recommender 600. That is, mass storage device 607 may include a computer-readable medium (not shown), such as a hard disk or CD-ROM drive.
Without loss of generality, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that computer storage media is not limited to the foregoing. The system memory 604 and mass storage device 607 described above may be collectively referred to as memory.
According to various embodiments of the present application, the song recommendation apparatus 600 may also operate with a remote computer connected to a network through a network such as the internet. That is, the song recommender 600 may be connected to the network 612 through a network interface unit 611 connected to the system bus 605, or may be connected to another type of network or a remote computer system (not shown) using the network interface unit 611.
The memory further includes one or more programs, and the one or more programs are stored in the memory and configured to be executed by the CPU. The one or more programs include instructions for performing the song recommendation method provided by the embodiments of the present application.
Embodiments of the present application also provide a non-transitory computer-readable storage medium, and when instructions in the storage medium are executed by a processor of the song recommendation apparatus 600, the song recommendation apparatus 600 is enabled to execute the song recommendation method provided in the above embodiments.
Embodiments of the present application further provide a computer program product containing instructions, which when executed on a computer, cause the computer to execute the song recommendation method provided in the above embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.