Personalized music recommendation method and system
A recommendation method and music technology, applied in special data processing applications, instruments, electrical and digital data processing, etc., can solve problems such as slow and irregular changes, adjustment of recommended content, noise recommended data, etc., to achieve the effect of improving accuracy
Inactive Publication Date: 2012-09-05
北京多米在线科技股份有限公司
2 Cites 120 Cited by
AI-Extracted Technical Summary
Problems solved by technology
[0005] The problem with the above-mentioned existing technologies is that the user’s taste usually changes with time, not only with slow and non-periodic changes over a long time span, but also according to short time spans such as days and weeks and application scenarios. cyclical changes
If it is only mechanically identified that the user has tastes for country music and RAP music, w...
Method used
[0090] In addition, steps 102-105 are executed sequentially every first predetermined time cycle. Since the user performs operations on the song from time to time, step 101 is performed from time to time. Steps 102-105 are executed cyclically at specific time intervals to continuously collect user behavior data, ana...
Abstract
The invention discloses a personalized music recommendation method and system. The method comprises the following steps of: 1, generating user behavior data by a music recommendation server according to the operation of a user terminal on songs, wherein the user behavior data includes an operation time label, an operation frequency label and a song label; 2, performing clustering calculation of the user behavior data to obtain multiple result labels; 3, weighting the operation frequencies of the user behavior data according to the time interval thereof, wherein the weight is higher when the time interval is closer to the current moment; 4, normalizing the user behavior data after the weighting; 5, performing permutation and combination of the multiple result labels, calculating the similarity between the normalized user behavior data and each permutation and combination sequentially, obtaining the user taste according to the calculation result, and selecting a user taste model from the user taste; and 6, recommending songs to the user terminal by the music recommendation server according to the user taste model.
Application Domain
Special data processing applications
Technology Topic
PersonalizationRecommendation service +3
Image
Examples
- Experimental program(1)
Example Embodiment
[0030] The following describes the implementation process of the present invention in detail through specific embodiments.
[0031] The present invention is used to obtain user tastes, especially user tastes associated with time. At the same time, according to the acquired tastes of the users, songs that meet the tastes of the users are recommended for the users.
[0032] Such as Figure 1A Shown is a schematic diagram of the structure of the personalized music recommendation system of the present invention. At least one user terminal 1 is connected to the music recommendation server 2 through the network. The music recommendation server 2 includes a user data storage management module 21, a similarity calculation module 22, a user taste discovery module 23, and a recommendation filtering module 24. The user terminal 1 includes a PC, a mobile phone, a PDA, a tablet computer, a vehicle-mounted mobile terminal, and the like.
[0033] The user terminal 1 logs in to the music recommendation server 2 in a wired or wireless manner, performs operations on the songs in the interface provided by the music recommendation server 2, and generates operation data correspondingly.
[0034] Generally, operations on songs can include positive operations or negative operations, such as playing a song, adding a song to a playlist, reading related information about a song, recommending a song, scoring a song, etc., as positive operations, skipping songs, adding Deleting a song from the playlist is a negative operation.
[0035] The user terminal operates the song, and the corresponding operation data is sent to the music recommendation server 2, and the user data storage management module 21 is used to store/manage the operation data, and correspondingly generate user behavior data according to the operation data. The user behavior data includes at least operation time tags, operation times tags, and song tags. The user data storage management module 21 is also used to store environmental factor information of the user terminal, such as the model of the user terminal, the geographic location when logging in to the music recommendation server, and so on. The user behavior data may also include environmental tags (model of the user terminal, location when logging in, etc.).
[0036] Regarding the operation times label, different operations can be assigned according to a preset data table corresponding to different operation times. For example, for the operation of listening, the number of operations is +1, and the operation of adding to the playlist is + 2. For skipping operations, the number of operations is -1. Positive operation counts the positive direction, and negative operation counts the negative direction. Other common operations are also included in the scope of the disclosure of the present invention.
[0037] When the user listens to the song "Ocean" and adds it to the playlist, the user data storage management module 21 generates a corresponding user behavior data, including the operation time label as afternoon (or 16:00), and the number of operations label as +3 (1 +2), the song tag is all the tags of the song "The Sea".
[0038] Those skilled in the art may know that each song is preset with a label set related to its song content, which is used to reflect the characteristics of the song from multiple dimensions. For example, song tags include dimensions related to audio attributes such as speed, orchestration, rhythm, and voice; dimensions related to music attributes such as genre and timbre; dimensions related to content attributes such as mood and theme; and dimensions related to human attributes such as region and singer. Each dimension includes at least one optional specific label. Taking the orchestration as an example, it may include multiple specific labels such as piano, cello, erhu, and pipa. The label of the song "The Sea" includes: medium speed, piano, lyric...
[0039] Subsequently, the similarity calculation module 22 starts to perform clustering calculation for all user behavior data currently collected by the user data storage management module 21. Alternatively, the similarity calculation module 22 may perform cluster calculation on user behavior data collected within a certain time range, for example, within the last 6 months. Those skilled in the art know that clustering calculation includes similarity calculation, and the final clustering needs to be based on similarity calculation data. The clustering calculation uses common algorithms in the prior art, such as the DENCLUE algorithm. The similarity calculation module 22 can also perform subsequent similarity calculations involved.
[0040] Since user behavior data is composed of tags, the clustering calculation will obtain multiple result tags for the user, which can reflect part of the user's operating characteristics. For example, result tags may include morning, afternoon, rock, country, China, United States, etc. Since these tags frequently appear in the user's operation behavior, these result tags will be used as candidate tags to determine the user's taste.
[0041] The user taste discovery module 23 will discover the user's taste of listening to the song based on the result tag and user behavior data. The taste is the user's preference for appreciation and the preference for song selection.
[0042] Such as Figure 2A , 2B Shown is a schematic diagram of the structure of the personalized music recommendation system of the present invention.
[0043] The user taste discovery module 23 further includes a weighting processing module 231, a normalization module 232, and a user taste model selection module 233.
[0044] The weighting processing module 231 performs weighting processing for all user behavior data targeted for the current clustering calculation. The specific processing includes: weighting the number of operations in the user behavior data according to the time period they are in. Weighted value=time coefficient K*number of operations of user behavior data. The time factor K is shown in the table below. The "time range of the user behavior" is the length of time the user behavior is from the current moment. The closer the user behavior is to the current moment, the higher the time coefficient (weight). The following table is for example only.
[0045] User behavior time range (days) time coefficient K
[0046] 0~7(not included) 1
[0047] 7~14 (not included) 0.7
[0048] 14~21(not included) 0.4
[0049] 21~∞ 0.2
[0050] If the user has 3 user behavior data, user behavior data A listens to the song "Ocean" 3 days ago and adds it to the playlist, user behavior data B listens to the song "Ocean" once 10 days ago, user behavior data C If you skip listening to the song "Ocean" 20 days ago, for user behavior data A, the weighted value = 1*3=3, for user behavior data B, the weighted value = 0.7*1=0.7, for user behavior data C , The weighted value=0.4*(-1)=-0.4, then the weighted value for "The Sea" can be accumulated to 3+0.7-0.4=3.3. Other weighting processing methods are also possible, for example, weighting value=K*K*number of operations.
[0051] Since the time coefficient K of the time period close to the current moment is large, recent operation behaviors will cause the weight value to increase significantly, which can reflect the user's taste in a short time in time, and the time coefficient K of the time period gradually away from the current time exists The gradual decrease, but still greater than 0, so the weighted value can also reflect the user's taste for a long time.
[0052] Subsequently, the normalization module 232 performs normalization processing on the weighted user behavior data.
[0053] The purpose of the normalization process is to avoid the absolute suppression of a certain song that the user listens to other songs. For example, if a song is listened to 50 times due to the user's favorite or misoperation (loop playback), it will be greatly affected. It affects the result of subsequent song recommendation, so the user behavior data needs to be normalized. The normalization method can refer to the following table, but it is not limited thereto, and other normalization methods are also within the scope of the disclosure of the present invention.
[0054] Numbering
[0055] The weighted user behavior value X includes the weighted value obtained by weighting the number of operations described above.
[0056] For example, when the weighted value of the song "Ocean" is accumulated to 3.3, it belongs to the range of 0-10 of the number 1, and the normalized value is 3.3/20=0.165. The normalized value is regarded as the weight attached to the user behavior data, especially the weight attached to the song tag in the user behavior data.
[0057] The user taste model selection module 233 performs permutation and combination of the multiple result tags, and calls the similarity calculation module 22 to perform multi-dimensional similarity calculation with each permutation and combination of the normalized user behavior data in turn, according to the calculation As a result, the user taste is obtained, and the user taste model is selected from the user taste.
[0058] Specifically, following the above example, the result label may include morning, afternoon, rock, country, China, America, etc. The user taste model selection module 233 arranges and combines all the result labels according to the dimensions. Morning and afternoon are the same dimension, rock and country are the same dimension, China and the United States are the same dimension, then each dimension is selected and a label is selected for permutation and combination. The results obtained are, for example, morning Chinese rock, afternoon Chinese rock, morning American country, etc Wait. In this way, user tastes can appear in a fixed combination, which is closer to the actual taste of the user. At the same time, it can also reflect the changes in user tastes throughout the day, and reflect the relationship between taste and time attributes.
[0059] The normalized user behavior data is used to calculate the multi-dimensional similarity with each permutation and combination in turn. The normalized user behavior data is composed of tags, and each permutation and combination is also composed of tags. The multi-dimensional similarity calculation between the two can use the cosine similarity algorithm or the user collaborative filtering algorithm.
[0060] Those skilled in the art may know that the cosine similarity algorithm is a calculation model proposed to solve the similarity between entities with multi-dimensional attributes. It can be considered that the similarity S between two entities is the superposition of the similarity in multiple dimensions of the two entities multiplied by the weight.
[0061] S=D1*S1+D2*S2+……+Dn*Sn (1)
[0062] Sn is the similarity between two entities in the nth dimension, Dn is the weight of the nth dimension, and Dn is preset.
[0063] Within the same dimension, there is a certain degree of similarity between any two optional values. For example, in the dimension of speed, slow speed and medium speed are different optional values, and each optional value has a preset similarity assignment, so that the similarity between any two optional values in this dimension The degree can be calculated by assigning a value to the similarity. The multi-dimensional similarity calculation between the normalized user behavior data and each permutation and combination is to calculate the similarity between the label belonging to the user behavior data and the label belonging to the permutation and combination in each dimension. Sn, and perform the cumulative calculation of formula (1).
[0064] In particular, the normalized user behavior data also includes the normalized value, which can be regarded as adding a weight value to the formula (1), that is, S=(D1*S1+D2*S2+... +Dn*Sn)* normalized value.
[0065] Specifically, the user taste model selection module 233 includes a user taste acquisition module 2331, which is used to select from the results of the multi-dimensional similarity calculation according to predetermined rules, determine the corresponding user taste, and form a user taste set.
[0066] The predetermined rules include but are not limited to:
[0067] From the results of the multi-dimensional similarity calculation, a result with a similarity greater than a predetermined value is selected, and the permutation and combination corresponding to the result is regarded as the user's taste.
[0068] Or, for permutations and combinations in which the multi-dimensional similarity calculation result does not exceed a predetermined value, accumulation is performed according to the dimension of the label. That is, calculate the similarity between the result labels in the same dimension in any two permutation combinations where the multi-dimensional similarity calculation results do not exceed the predetermined value, and perform the calculation for the two result labels whose similarity is greater than a threshold (for example, 0.8) Merging, re-arranging and combining the merged result labels to perform the multi-dimensional similarity calculation, and if the result is greater than the predetermined value, the permutation and combination of the merged result labels are also determined to be the user's taste.
[0069] For example, due to the fine division of some dimensions, the threshold cannot be reached. Users like hard rock, slow rock, and avant-garde rock at the same time in the dimension of genre. Through the above clustering steps, three result labels of hard rock, slow rock and avant-garde rock can be obtained. However, the calculation of the multi-dimensional similarity according to the three result labels cannot reach the predetermined value. It can be seen that since users like multiple rock forms at the same time, they also disperse the similarity count of rock at the same time. At this time, calculate the similarity between hard rock, slow rock, and avant-garde rock. According to the aforementioned similarity calculation rules, assuming that the two of the three are above the threshold, then the genre can be under the dimension The three result labels are merged. That is, the user behavior data for the three result tags can be combined into one and accumulated. Treat the three result labels as a whole for subsequent calculations.
[0070] Since the three result labels are combined, when performing the above-mentioned multi-dimensional similarity calculation, the three result labels are arranged and combined with the result labels of other dimensions, and the similarity calculation with the user behavior data is performed. The calculated similarity values of the three result labels can be accumulated, and the accumulated result may exceed the predetermined value, and the combined result label can also be regarded as user taste, that is, the three result labels are regarded as user taste.
[0071] The user's taste reflects the characteristics of the user's operating behavior, and can directly recommend songs for the user according to the user's taste, or the user's taste model can also be selected from it.
[0072] Furthermore, the user taste model selection module 233 of the present invention may also include a user taste model acquisition module 2332, which is used to select users who actually recommend songs for the user from the user tastes obtained according to predetermined rules. Taste model.
[0073] The predetermined rules followed by the user taste model acquisition module 2332 include sequentially determining whether the proportion of the number of songs corresponding to each user taste to the total number of songs in the user taste set exceeds a predetermined value (for example, 30%), if so, This user taste is regarded as a user taste model. For example, the American Country in the morning is a user’s taste, and it is judged whether the number of songs with the label Morning American Country in the songs that the user has operated exceeds the predetermined value. If it exceeds, it means that the song of this type is better. Many, the user taste can be used as a user taste model.
[0074] Or, among the user tastes that have been obtained, the proportion of the songs corresponding to each result label in the same dimension to the total number of songs is sequentially counted, and if the proportion exceeds a proportion threshold, the result label becomes the user taste model.
[0075] That is, within the range of user tastes that have been obtained, judgments are made on dimensions such as region, theme, and genre. For example, in the genre dimension, if songs with popular tags account for 20% of the total number of songs, rock 45%, classical 20%, and ethnic 15%. The ratio threshold is, for example, set to 30%. According to the above rule, if rock (45%) exceeds the ratio threshold, rock becomes the user's taste model in the genre.
[0076] Alternatively, the user taste model acquisition module 2332, for all m user tastes, further sorts each user taste according to the number of songs corresponding to the user taste, and the total number of songs corresponding to the first n user tastes in the sort accounts for the total number of songs The ratio is c, when c/(n/m)>4, the first n user tastes are regarded as user taste models;
[0077] Alternatively, the user taste model obtaining module 2332 directly uses all user tastes as user taste models.
[0078] The user taste model acquisition module 2332 further realizes the selection of a user taste model that is more in line with the user's operating tendency and the user's needs from a large number of user tastes, so as to improve the accuracy of the recommendation.
[0079] The recommendation filtering module 24, according to the user taste or the user taste model provided by the user taste discovery module 23, selects songs that meet the user’s taste or the user’s taste model from a large number of songs stored in the music recommendation server, and recommends them to the user .
[0080] Based on the above description, the flow chart of the personalized music recommendation method of the present invention is as follows: Figure 1B Shown:
[0081] Step 101: The music recommendation server generates user behavior data according to the operation of the user terminal on the song, and the user behavior data includes at least an operation time tag, an operation frequency tag, and a song tag;
[0082] Step 102: Perform clustering calculation on the user behavior data to obtain multiple result tags;
[0083] Step 103: The number of operations on the user behavior data is weighted according to the time period it is in, and the time period closer to the current time has a higher weight;
[0084] Step 104: Perform normalization processing on the weighted user behavior data;
[0085] Step 105: Perform permutation and combination on the multiple result labels, perform multi-dimensional similarity calculation on the normalized user behavior data with each permutation and combination in turn, obtain user tastes according to the calculation results, and select users from user tastes Taste model
[0086] Step 106: The music recommendation server recommends songs for the user terminal according to the user taste model.
[0087] Figure 3A Shown is a schematic diagram of the structure of the personalized music recommendation system of the present invention, Figure 3B Shown is a schematic flowchart of the personalized music recommendation method of the present invention.
[0088] The user taste discovery module 23 further includes a user behavior data filtering module 234. It corresponds to a step of deleting user behavior data according to a predetermined rule between steps 102 and 103 (step 1021). Used to filter out noise from currently collected user behavior data.
[0089] Step 1021: For the song whose operation mode of the user terminal is to play the song and the number of operations is less than the predetermined number of times, it is regarded as noise, and the user behavior data corresponding to the song is deleted, or the number of songs corresponding to the result tag is less than the predetermined number , Treat as noise, delete user behavior data corresponding to the result label, or, because people cannot include multiple tastes with large differences at the same time, when the similarity of one of the result labels to other result labels is less than a predetermined value (Large difference), the result tag is considered to be a user's misoperation, the user behavior data corresponding to the result tag is deleted, no subsequent operations are performed on it, and it is not used as the basis for discovering user tastes.
[0090] In addition, steps 102-105 are executed sequentially every first predetermined time cycle. Since the user performs operations on the song from time to time, step 101 is performed from time to time. Steps 102-105 are executed cyclically at specific time intervals to continuously collect user behavior data, analyze the user's long-term and short-term taste changes through weighted calculations, and finally reflect them in the automatically selected user taste model to improve The accuracy of user recommended music. And when the user logs in irregularly, step 106 is executed to finally realize the recommendation.
[0091] See Figure 4A , 4B Shown is a schematic diagram of the structure of the personalized music recommendation system of the present invention. Figure 4C Shown is a schematic flowchart of the personalized music recommendation method of the present invention.
[0092] The music recommendation server 2 may further include a model training evolution module 25. The model training evolution module 25 is used to automatically make further precise adjustments to the user's taste model according to the continuously accumulated user history data, so as to be infinitely close to the user's preferences, and to improve the matching degree of subsequent music recommendations with user needs. The corresponding steps are executed between steps 105 and 106.
[0093] The model training evolution module 25 further includes a weight adjustment module 251 and a model adjustment module 252.
[0094] The weight adjustment module 251 calculates the aggregation ratio of tags of each dimension for the currently generated user behavior data, and adjusts the weight Sn of the tags of the dimension when calculating the similarity according to the aggregation ratio. The higher the aggregation ratio, the higher the weight value. (Step 1051), when steps 102 and 105 are executed in the next cycle, the adjusted weights will be used for calculation, which will be further highlighted in the subsequently selected user tastes.
[0095] Regarding the calculation of the aggregation ratio, it is performed separately for each dimension. Take the genre dimension as an example, accumulate the genres involved in the user behavior data within a predetermined time period, and find that the user behavior data in this predetermined time period involves a total of N genres. According to the experience value n%, an empirical data N* is calculated n%.
[0096] Accumulate the number of auditions for each genre so far, sort the number of auditions, extract the top N*n% genres sorted, and add up the number of auditions for the first N*n% genres to get a total data, Calculate the proportion of the total data in the total number of auditions. This proportion is the aggregate proportion of the genre dimension.
[0097] For example, m is the aggregation ratio of the genre dimension, and the weight of the genre dimension is Sn=m/0.2.
[0098] The model adjustment module 252 adjusts the user taste model according to predetermined rules according to historical user behavior data or user terminal feedback operations on songs recommended by the music recommendation server (step 1052). That is, to make more precise adjustments that conform to the user's personal habits for subsequent recommended operations.
[0099] The predetermined rules in step 1052 include:
[0100] A. Calculate the user tastes of the same user at different times, and find out whether the user has different user tastes at different times. If so, use different user taste models to make recommendations according to time in this step 106; and/or
[0101] B. In calculating user behavior data, the operation mode is play, and the number of songs labeled as popular accounts for the proportion of the total number of songs that are played in all operation modes, as the popularity following of the user taste model; and/or
[0102] C. Calculate the proportion of the operation mode of playing all the songs recommended in step 106 in the user behavior data as the new thing acceptance of the user taste model.
[0103] D. The predetermined rule covers the user's listening habits in all aspects, and other specific rules are also within the scope of the disclosure of the present invention.
[0104] Among them, for the predetermined rule A, the present invention divides different time periods, for example, 7-9 o'clock is a time period, and 9-18, 18-19, and 19-7 are each a time period. Other time segments are also within the scope of the disclosure of the present invention.
[0105] First, calculate user tastes in each time period according to the above method, that is to say, collect user behavior data in these four time periods, according to Figure 1B According to the user behavior data collected in these four time periods, the method calculates user tastes. For the calculated user tastes in each time period, the coincidence or similarity calculation is performed in pairs. If the coincidence or similarity between the two time periods is less than the threshold (for example, 50%), the user is deemed to be in the two time periods If there is a large difference in tastes, it is determined that users need to use different user taste models for recommendation in different time periods.
[0106] That is, if the difference is large, the user taste in each time period is used as the user taste model for recommendation. If the difference is not significant, the user taste in any time period can be used as a user taste model for recommendation. This makes the songs recommended for users more in line with the needs of users at this moment.
[0107] Steps 1051 and 1052 are performed cyclically every second predetermined time, and the second predetermined time is greater than or equal to the first predetermined time.
[0108] Step 106 performed by the recommendation filtering module 24 may further perform the following steps:
[0109] Step 1061: Calculate the similarity between all songs in the database of the music recommendation server and the user's taste model according to the user's taste model;
[0110] Step 1062: According to a predetermined recommendation control strategy, a recommended song is selected from songs whose similarity is higher than a predetermined value.
[0111] The recommended control strategy further includes:
[0112] According to the access time of the user terminal, select the song corresponding to the user taste model corresponding to the access time; and/or
[0113] According to the popularity following degree, control the proportion of popular songs among recommended songs; and/or
[0114] According to the acceptance of the new thing, control the similarity between the recommended song and the song that the user has played. The higher the acceptance of the new thing, the lower the similarity; and/or
[0115] According to preset special events/time points, recommend corresponding songs (for example, recommend songs such as "I Love My Motherland" on the National Day or within a few days); and/or
[0116] According to the preset song sound quality requirements, recommend songs that meet the corresponding sound quality requirements.
[0117] The recommendation control strategy will combine the adjustment factors involved in the predetermined rules in step 1052 to specifically select recommended content.
[0118] In addition, the recommendation control strategy also includes the device type according to the user terminal (the same user provides the current device model every time a different user device (mobile phone, audio, computer) logs in to the music recommendation server 2), based on the user’s current device type Recommend related songs.
[0119] In addition, the user taste model of each user calculated in the present invention can also be used to distinguish user groups and find friends for a user. When the similarity of the user taste models of different users is greater than a predetermined value, the different users may be classified into the same group, or the different users may be recommended as friends with each other. Or, use the similarity between user taste models as the distance between users, and perform clustering calculation according to the distance. Divide the user group according to the result of the clustering calculation, or recommend friends for the user.
[0120] Based on the above technical solutions, the technical effect achieved by the present invention is to discover user tastes and reflect user tastes associated with time, which can reflect taste combinations and improve the accuracy of the discovered user tastes. And adaptively adjust the recommendation strategy and content according to the user's feedback data on the recommended content.
[0121] The foregoing are specific embodiments of the present invention and are not used to limit the protection scope of the present invention. The specific protection scope is subject to the subsequent claims.
PUM


Description & Claims & Application Information
We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
Similar technology patents
Imaging apparatus and flicker detection method
Owner:RENESAS ELECTRONICS CORP
Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network
Owner:ORACLE INT CORP
Emotion classifying method fusing intrinsic feature and shallow feature
Owner:CHONGQING UNIV OF POSTS & TELECOMM
Scene semantic segmentation method based on full convolution and long and short term memory units
Owner:UNIV OF ELECTRONIC SCI & TECH OF CHINA
Classification and recommendation of technical efficacy words
- improve accuracy
Golf club head with adjustable vibration-absorbing capacity
Owner:FUSHENG IND CO LTD
Stent delivery system with securement and deployment accuracy
Owner:BOSTON SCI SCIMED INC
Method for improving an HS-DSCH transport format allocation
Owner:NOKIA SOLUTIONS & NETWORKS OY
Catheter systems
Owner:ST JUDE MEDICAL ATRIAL FIBRILLATION DIV
Gaming Machine And Gaming System Using Chips
Owner:UNIVERSAL ENTERTAINMENT CORP