WO2007037139A1 - 情報処理装置、方法、およびプログラム - Google Patents

情報処理装置、方法、およびプログラム Download PDF

Info

Publication number
WO2007037139A1
WO2007037139A1 PCT/JP2006/318373 JP2006318373W WO2007037139A1 WO 2007037139 A1 WO2007037139 A1 WO 2007037139A1 JP 2006318373 W JP2006318373 W JP 2006318373W WO 2007037139 A1 WO2007037139 A1 WO 2007037139A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
content
cluster
music
information
Prior art date
Application number
PCT/JP2006/318373
Other languages
English (en)
French (fr)
Inventor
Noriyuki Yamamoto
Kei Tateno
Mari Saito
Tomohiro Tsunoda
Mitsuhiro Miyazaki
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP06798036A priority Critical patent/EP1835419A4/en
Priority to CN200680001299A priority patent/CN100594496C/zh
Priority to US11/791,361 priority patent/US8117211B2/en
Publication of WO2007037139A1 publication Critical patent/WO2007037139A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/916Audio

Definitions

  • the present invention relates to an information processing device, an information processing method, and a program, and in particular, classifies content into clusters, manages content features using the classified clusters, and searches and recommends content.
  • the present invention relates to an information processing apparatus, an information processing method, and a program that are used in the future.
  • CF collaborative filtering
  • CBF content best filtering
  • the CF method manages the purchase history of each user, detects other user X with a similar purchase history for user A who wants to recommend content, and detects the other user X recommends content purchased by user A but not purchased by user A. For example, it has been adopted by mail order sites on the Internet.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-194107
  • the present invention has been made in view of such a situation, and suppresses concentration of recommendations to some content in the CF method, and also for users with little history information.
  • the content can be recommended.
  • An information processing apparatus is an information processing apparatus that selects content that satisfies a predetermined condition from the power of a content group and presents the content to a user, and configures the content group
  • Content classification means for classifying each content to be classified into one of the plurality of first clusters in each hierarchy according to the content metadata, and each content and each content is classified
  • a holding unit that holds a database indicating a correspondence relationship with the first cluster in the hierarchy, a management unit that manages history information on the user's content, and a first first to be noted based on the history information
  • Selecting means for identifying a cluster and selecting content classified into the identified first cluster; and presenting means for presenting the selected content.
  • the selection means does not exist on the history information of the first user, the detection means for detecting the second user whose history information is similar to the first user, A specifying means for specifying the first cluster in which the content existing in the history information of the second user is classified, and an extracting means for extracting the content classified in the specified first cluster
  • the presenting means can present the extracted content to the first user.
  • An information processing apparatus includes user history information and the database. And generating means for generating preference information indicating the user's preferences in the first cluster unit, and grouping means for grouping users based on the preference information!
  • the selection means includes a detection means for detecting a second user belonging to the same group as the first user, and is not present in the history information of the first user, and is not the second user's history information.
  • the presenting means includes: identification means for identifying a first cluster in which content existing in history information is classified; and extraction means for extracting content classified in the identified first cluster. Can prompt the first user to present the extracted content.
  • the information processing apparatus generates preference information indicating the user's preference in units of the first cluster based on the user's history information and the database.
  • Generating means detecting means for detecting a second user having a preference similar to that of the first user and the preference information, and a preference of the first user;
  • a specifying means for specifying the first cluster of interest based on the information and the preference information of the second user, and an extracting means for extracting the content classified into the specified first cluster.
  • the presenting means can present the extracted content to the first user.
  • the detecting means includes a normalizing means for normalizing user preference information and a weight calculation for calculating a weight for each layer for each user from the normalized user preference information. The first user among the users from the means, the weight for each layer and the preference information
  • a similarity calculation means for calculating a similarity indicating the degree of preference similarity with other users among the users, and the preference is similar to that of the first user based on the calculated similarity.
  • the second user can be detected.
  • preference information indicating the user preference in units of the first cluster is generated based on the user history information and the database.
  • generating means and grouping means for grouping users based on the preference information, and the selecting means detects a second user belonging to the same group as the first user.
  • Detection means; identification means for identifying a first cluster of interest based on preference information of the first user and preference information of the second user; and the identified first Extraction means for extracting the content classified into the cluster is provided, and the presentation means can present the extracted content to the first user.
  • a setting unit that sets a keyword for each of the first clusters into which the metadata is classified by the content classification unit, and a setting by the setting unit
  • creating means for creating a reason sentence that represents the reason for presenting the content by using the keyword, and the presenting means can present the reason sentence.
  • a metadata classification unit that classifies content metadata into one of a plurality of second clusters and assigns the hierarchy to the second cluster is further provided, and each content is allocated to the content classification unit It is possible to classify the plurality of first clusters into one or more!
  • generation means for generating preference information indicating the user's preference in the first cluster unit, and the selection means includes all of the hierarchy levels Among all the first clusters, it is possible to select the first cluster indicated by the preference information and classified as the most first cluster.
  • An information processing method is an information processing method for an information processing apparatus that selects content that satisfies a predetermined condition from the power of a content group and presents the content to a user.
  • Each content constituting the content group is classified into one of a plurality of clusters in each hierarchy according to the content metadata, and each content and each content is classified in the hierarchy.
  • Maintains a database indicating the correspondence with the cluster manages history information for the user's content, identifies a cluster of interest based on the history information, and is classified into the identified cluster Selecting a content and presenting the selected content.
  • a program is a program for selecting content that satisfies a predetermined condition from the power of a content group and recommending it to a user. , Multiple in each hierarchy according to content metadata A database indicating the correspondence between each content and each cluster in which the content is classified, and managing history information on the content of the user, Based on the history information, the target cluster is specified, the content classified into the specified cluster is selected, and the computer is caused to execute a process including the step of presenting the selected content.
  • each content constituting the content group is classified into one of a plurality of clusters in each hierarchy according to content metadata.
  • a database indicating the correspondence between each content and the cluster in the hierarchy in which each content is classified is held.
  • history information for the user's content is managed. Then, based on the history information, the cluster of interest is identified, the content classified into the identified cluster is selected, and the selected content is presented.
  • FIG. 1 is a block diagram showing a configuration example of a recommendation system to which the present invention is applied.
  • FIG. 2 is a diagram showing the concept of clusters and cluster layers for classifying music metadata.
  • FIG. 3 is a diagram showing an example of a music cluster correspondence table.
  • FIG. 4 is a diagram showing an example of a cluster music correspondence table.
  • FIG. 5 is a diagram showing an example of a user preference vector.
  • FIG. 6 is a flowchart for explaining preprocessing when offline.
  • FIG. 7 is a flowchart for explaining a first recommendation process.
  • FIG. 8 is a flowchart for explaining second and third recommendation processing.
  • FIG. 9 is a flowchart illustrating a fourth recommendation process.
  • FIG. 10 is a flowchart for explaining fifth and sixth recommendation processes.
  • FIG. 11 is a flowchart for explaining a seventh recommendation process.
  • FIG. 12 is a block diagram illustrating a configuration example of a general-purpose personal computer.
  • FIG. 13 is a block diagram showing another example of the configuration of the recommendation system according to one embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating another example of pre-processing when offline.
  • FIG. 15 is a diagram showing an example of metadata of each piece of music subjected to soft clustering.
  • FIG. 16 is a diagram showing an example of metadata of each music piece.
  • FIG. 17 is a diagram showing an example of metadata for each clustered music piece.
  • FIG. 18 is a block diagram showing an example of the configuration of a similar user detection unit.
  • FIG. 19 is a flowchart illustrating processing for detecting a user X with similar preferences.
  • FIG. 20 is a diagram showing an example of a preference vector.
  • FIG. 21 is a diagram showing an example of a regularized preference vector.
  • FIG. 22 is a diagram showing an example of weights.
  • FIG. 23 is a diagram showing an example of similarity calculated without weighting.
  • FIG. 24 is a diagram showing an example of similarity calculated by weighting.
  • FIG. 1 shows a configuration example of a recommendation system according to an embodiment of the present invention.
  • This recommendation system 1 manages user history information (information on music data purchase, trial listening, search, possession, etc.) at a music data sales site established on the Internet, and recommends it using the CF method. The music to be selected is selected and presented to the user.
  • the recommendation system 1 can also be applied to sales sites that sell contents other than music, such as television programs, movies, and books.
  • the recommendation system 1 includes a music database (DB) 11 and a music database 11 in which metadata of a large number of music data (hereinafter simply referred to as music) to be recommended and sold to users is recorded.
  • the clustering unit 12 Based on the metadata of each recorded song, the clustering unit 12 that clusters each song to generate cluster information for each song, and a keyword that indicates the characteristics of each cluster in each cluster layer and cluster layer. It consists of a keyword setting unit 13 to be set and a clustered database (DB) 14 that holds the clustering result of each music piece.
  • the clustered DB 14 retains, as clustering results, a cluster music correspondence table 15 indicating the music belonging to each cluster and a music cluster correspondence table 16 indicating the cluster to which each music belongs.
  • the recommendation system 1 is a user history information database (DB) 17 that manages each user's history information, and selects a plurality of songs that are recommended candidates based on the user information.
  • Selection unit 18 music selection unit 25 for selecting one song from a plurality of selected recommendation candidates, new for determining whether or not the selected music is novel for the recommended user From the sex determination unit 26, the selection reason generation unit 27 that generates a recommendation reason sentence when presenting the selected music to the user, and the presentation unit 28 that presents the selected music and the recommendation reason sentence to the user Composed.
  • DB user history information database
  • the recommendation candidate selection unit 18 includes a preference vector generation unit 19, a user grouping unit 20, a similar user detection unit 21, a difference detection unit 22, a recommended cluster determination unit 23, and an extraction unit 24.
  • the music DB 11 is an Internet that supplies metadata of music recorded on a music CD. Like the above data servers such as CDDB (CD Data Base) and Music Navi, it holds metadata of songs that are recommended and sold.
  • CDDB CD Data Base
  • Music Navi it holds metadata of songs that are recommended and sold.
  • the clustering unit 12 applies to each piece of music metadata items (artist name, genre, album, artist review, song review, title, tempo, beat, rhythm, etc.) Based on the combination (tempo, beat, rhythm, etc.), a cluster layer (1st to nth layers) as shown in Fig. 2 is created, and the music is one of a plurality of clusters provided in each cluster layer, or Classify into multiple groups (clustering).
  • music metadata items artist name, genre, album, artist review, song review, title, tempo, beat, rhythm, etc.
  • the power described in the example of music is also clustered in multiple layers for each artist and album using many metas.
  • a multi-layer cluster for music a multi-layer cluster for artists, and a multi-layer cluster for album are used, respectively.
  • any method may be used for clustering, but an optimum clustering method and distance measure are selected for each cluster layer.
  • the metadata's actual information is a numeric attribute such as tempo
  • a distance measure such as Euclidean distance by converting it into a numerical value using a quantification method such as principal component analysis if it is a nominal attribute such as title.
  • Typical clustering methods include K-means method, hierarchical clustering method (group average method, farthest method, Ward method), and soft clustering method.
  • clustering for example, constrained clustering
  • a partial collection of correct answers (a set of real information close to preference, a set of distant real information, etc.) is created by a preliminary survey, and numerical expressions, distances, and clustering methods that match it are used.
  • a clustering method that increases the independence of each formed cluster layer (that is, a clustering method with different characteristics).
  • cluster information consisting of cluster IDs (eg, CL11 in Fig. 2) of clusters that classify actual information of each item of metadata is generated and output to the clustered DB14.
  • each cluster is arbitrary and can include a plurality of actual information.
  • a cluster that can classify only single real information may be provided.
  • real information IDs (artist ID, album, title ID) that can only be classified into the cluster ID of the cluster may be used.
  • the clustered DB 14 generates and holds a cluster-one song correspondence table 15 and a song-one cluster correspondence table 16 based on the cluster information of each song generated by the clustering unit 12.
  • the clustered DB 14 also holds the keywords set for each cluster layer and each cluster set by the keyword setting unit 13.
  • FIG. 3 shows an example of the music-cluster correspondence table 16.
  • FIG. 4 shows an example of the cluster music correspondence table 15 corresponding to the music cluster correspondence table 16 shown in FIG.
  • User history information DB17 holds history information that indicates the songs that each user has purchased, listened to, or searched for on the sales site, or the songs that have been purchased and declared as possessed by either user. Has been.
  • the user history information DB17 contains The preference vector of each user generated by the preference vector generation unit 19 is held.
  • the user history information DB 17 holds the result of grouping users by the user group section 20, that is, information indicating which user group each user belongs to.
  • the preference vector generation unit 19 is based on the history information of each user stored in the user history information DB 17, and for each user, a multidimensional preference in which all clusters are one-dimensional.
  • a vector is generated and output to the user history information DB17.
  • the music cluster correspondence table 16 of the clustered DB 14 is referred to, and a predetermined value is added to the dimension of the preference vector corresponding to the cluster to which the music belongs.
  • the generated user preferences are managed in the user history information DB17. If the user's history information is updated, such as by purchasing music, the preference vector will be updated.
  • the cluster ID to which the first song belongs is CL11, CL22, CL32, CL43
  • the dimension values corresponding to these 1 is added to each.
  • the cluster ID to which the second music piece belongs is CL12, CL22, CL33, CL42, 1 is added to each of the dimension values corresponding thereto.
  • the cluster ID to which the third song belongs is CL13, CL24, CL33, CL41, 1 is added to the dimension values corresponding to these.
  • user X preference A solid (1, 1, 1, 0, 2, 0, 1, 0, 1, 2, 1, 1, 1) force is generated.
  • each dimension may be changed according to the type of history information (that is, purchase, audition, search, or possession). For example, 1 may be added for purchase or possession, 0.5 may be added for trial listening, and 0.3 may be added for search.
  • the user group section 20 groups all users based on the similarity of each user's preference stored in the user history information DB17.
  • the value of each dimension of each user's preference vector is binarized. That is, when the value of each dimension is 1 or more, it is replaced with 1, and when it is 0, it remains 0. In this way, binarizing the values of each dimension of the preference vector makes it possible to reduce the amount of computation required to determine similarity compared to the case where binarization is not performed, and to easily perform grouping. be able to.
  • This group result is managed by the user history information DB17.
  • the similar user detection unit 21 compares the history information of each user held in the user history information DB 17 to make the history information similar to the user whose music is recommended. Detect users. In addition, the similar user detection unit 21 compares the preference vectors of each user stored in the user history information DB 17 to determine whether the preference vector is similar to the user whose music is recommended. Detect users. Based on the history information of each user stored in the user history information DB 17, the difference detection unit 22 determines whether the user whose music is recommended and the other users detected by the similar user detection unit 21. Detect differences in history information. The recommended cluster determination unit 23 determines a recommended cluster based on the difference in preference vectors between the user whose music is recommended and the other users detected by the similar user detection unit 21. Based on the processing results of the similar user detection unit 21 to the recommended cluster determination unit 23 and the clustered DB 14, the extraction unit 24 extracts songs that are recommended candidates.
  • the music selection unit 25 selects one music from a plurality of extracted music according to a predetermined condition. For example, a song that belongs to a larger number of recommended clusters, a song that belongs to a recommended cluster in a cluster layer with a high priority set in advance, or one music at random is selected, and the selection result is a novelty determination unit. 26 and selection reason generation unit 27.
  • the novelty determination unit 26 selects the music based on the preference vector of the user whose music is recommended. If the degree of overlap of the cluster to which the song belongs is greater than or equal to a predetermined percentage (for example, 30%), it is determined that there is no novelty, and if it is less than the prescribed percentage, it is novelty The judgment result is output to the selection reason generation unit 27.
  • a predetermined percentage for example, 30%
  • the selection reason generation unit 27 acquires a cluster layer to which the selected music belongs and a keyword corresponding to the cluster from the clustered DB 14, and uses the acquired keyword or the like to display a selection reason sentence indicating the reason for the selection. Generate. Also, based on the judgment result from the novelty judgment unit 26, for example, “unexpected” is for a novelty, “, one” is for a novelty, “familiar” The reason for selection is generated including the words such as. Then, the generated selection reason sentence is output to the presentation unit 28 together with the music ID of the selected music.
  • the review text of the selected music piece may be directly quoted as the selection reason sentence, or the selection reason sentence may be generated using a word extracted from the review text of the selected music piece.
  • Tf / idlf leaving can be applied to extract the word used in the selection reason sentence from the review text.
  • the presentation unit 29 acquires information on the selected music piece from the music DB and presents it to the user side together with the generated selection reason sentence.
  • step S1 the clustering unit 12 classifies all the music pieces in the music DB 11 into each item cluster layer (first to nth layers) of the music metadata, and stores the actual information of each item. Classification (clustering) is made into one of multiple clusters provided in the classified cluster layer. Then, the clustering unit 12 generates cluster information including the cluster ID power of the cluster that classifies the actual information of each item of the metadata as information indicating the characteristics of the music instead of the metadata, and outputs it to the clustered DB 14 To do. It should be noted that clustering may be omitted for music that has already been clustered, and clustering only for music that has not been clustered.
  • the clustered DB 14 generates a cluster music correspondence table 15 and a music cluster correspondence table 16 based on the cluster information of each music generated by the clustering unit 12.
  • the preference vector generation unit 19 of the recommendation candidate selection unit 18 generates a preference vector for each user based on the history information of each user held in the user history information DB 17. And output to the user history information DB17.
  • the user grouping section 20 groups all users based on the similarity of each user's preference vector held in the user history information DB17. However, in order to facilitate the process of determining the similarity of multidimensional preference vectors, the value of each dimension of each user's preference vector is binarized. The grouping result is output to the user history information DB17. This completes the offline preprocessing.
  • the clustering of all the songs held in the music DB 11, the generation of each user's preference vector, and the user's grouping are performed as pre-processing, so that the first described later is performed.
  • Thru 7 recommendation processes can be executed promptly. Note that some of the first to seventh recommendation processes do not use the user group information. Therefore, when only the recommendation process is executed without using the user group information, the process of step S3 is omitted. You can omit it.
  • the first recommendation process will be described with reference to the flowchart of FIG.
  • the user whose music is recommended is described as user A. This process is started, for example, when user A accesses the sales site.
  • step S11 the similar user detection unit 21 compares the history information of the user A stored in the user history information DB 17 with the history information of the other users, thereby obtaining the user A. And detect other user X whose history information is most similar.
  • step S12 the difference detection unit 22 has the user X (which has been purchased or held in the past) based on the user A and user history information stored in the user history information DB17. Yes) Detect music that user A does not have. If there are multiple songs that satisfy this condition, one of them is selected at random, for example. Let the detected music be song a.
  • the recommended cluster determining unit 23 refers to the music-cluster correspondence table 16 of the clustered DB 14, and identifies a cluster of each cluster layer to which the music a belongs.
  • the extractor 24 supports clustered DB14 cluster-single music. Referring to Table 15, the music that is classified in common for all the clusters specified in the process of step S13 is extracted. The music extracted here is set as a recommendation candidate. There can be multiple recommendation candidates. If there are no songs that are classified in common in all the clusters identified in step S13, the clusters identified in step S13 are classified into as many clusters as possible. The music that is present is extracted and set as a candidate for recommendation.
  • step S15 the music selection unit 25 selects one song having the cluster information most similar to the music a detected in step S12 among the recommended candidate songs, and the selection result is the novelty determination unit 26. , And the selection reason generation unit 27.
  • step S16 the novelty determination unit 26 determines the presence / absence of novelty based on the preference vector of user A and the cluster to which the selected music belongs, and outputs the determination result to the selection reason generation unit 27.
  • the selection reason generation unit 27 obtains the cluster layer to which the selected music belongs and the keyword corresponding to the cluster from the clustered DB 14 and generates a selection reason sentence indicating the reason for the selection using the obtained keyword. To do.
  • the selection reason sentence is also generated based on the determination result from the novelty determination unit 26.
  • the generated selection reason sentence is output to the presentation unit 28 together with the music ID of the selected music.
  • the presentation unit 29 acquires information about the selected music piece from the music DB and presents it to the user side along with the generated selection reason sentence. This completes the first recommendation process.
  • This process is started when, for example, user A accesses the sales site.
  • step S21 the similar user detection unit 21 compares user A's preference vector held in the user history information DB 17 with another user's preference vector and The other user X with the most similar preference vector is detected.
  • the similarity between the preference vector of user A and the preference vector of another user is determined by, for example, calculating the cosine correlation value of both.
  • step S22 the difference detection unit 22 has a value of 0 in the user A's preference vector and a dimension of the preference vector that has a value other than 0 in the user X's preference vector! And a cluster corresponding to the detected dimension is determined as a recommended cluster.
  • the preference vector of user A is (1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1) shown in A of FIG.
  • User X's preference power S In the case of (1, 1, 1, 0, 2, 0, 1, 0, 1, 2, 1, 1, 1) shown in Fig. 5B, Fig. 5 Clusters CL13 and CL42 are determined as recommended clusters as indicated by diagonal lines in B of FIG.
  • step S23 the extraction unit 24 refers to the cluster music correspondence table 15 of the user history information DB 17 and the clustered DB 14, and among all the music categorized as the recommended cluster, the user X The candidate that user A does not have is extracted as a candidate for recommendation.
  • step S24 the music selection unit 25 selects one music from among the recommended candidate music by one of the following three methods or a combination of the three methods, and determines the selection result as a novelty: Output to the unit 26 and the selection reason generation unit 27.
  • the first method is to select songs that belong to more recommended clusters.
  • the second method is a method in which priorities are given to the cluster layer in advance, and music pieces classified into recommended clusters belonging to the cluster layer with higher priorities are selected.
  • the third method is a random selection method.
  • step S25 the novelty determination unit 26 determines the presence / absence of novelty based on the preference vector of user A and the cluster to which the selected music belongs, and generates a determination result as a selection reason. Output to part 27.
  • the selection reason generation unit 27 also acquires the keywords corresponding to the cluster layer cluster to which the selected music belongs, and also generates a selection reason sentence indicating the reason for selection using the acquired keywords and the like.
  • the selection reason sentence is also generated based on the determination result from the novelty determination unit 26. Then, the generated selection reason sentence is output to the presentation unit 28 together with the music ID of the selected music.
  • step S26 the presentation unit 29 acquires information on the selected music from the music DB and presents it to the user side along with the generated selection reason sentence. This completes the second recommendation process.
  • the third recommendation process is a candidate for recommendation by extracting all the songs classified by the recommended cluster in step S23 in the second recommendation process described above, which user A does not have. And so on. Ie use The person X has and can also be a recommendation candidate. Since the other processes are the same as the second recommendation process, the description thereof is omitted.
  • step S41 the similar user detecting unit 21 stores another user X belonging to the same group as the user A based on the group information of the user A held in the user history information DB 17. Determine at random.
  • step S42 the difference detection unit 22 is a song held by the user X based on the history information of the user A and the user X held in the user history information DB 17, Detect music that A does not have. If there are multiple songs that satisfy this condition, one of them is selected at random, for example. The detected music is called music a.
  • the recommended cluster determination unit 23 refers to the music-to-cluster correspondence table 16 in the clustered DB 14, and identifies a cluster in each cluster layer to which the music a belongs.
  • step S44 the extraction unit 24 refers to the cluster-to-music-correspondence table 15 of the clustered DB 14, and extracts music that is classified in common for all the clusters specified in the process of step S43.
  • the music extracted here is set as a recommendation candidate. There can be multiple recommendation candidates. If there are no songs that are classified in common in all clusters identified in step S43, the clusters identified in step S43 are classified in as many clusters as possible. Extract music and make it a recommended candidate.
  • step S45 the music selection unit 25 selects one music whose cluster information is most similar to the music a detected in step S42 among the recommended candidates, and the selection result is the novelty determination unit 26. , And the selection reason generation unit 27.
  • step S46 the novelty determination unit 26 determines the presence / absence of novelty based on the preference vector of the user A and the cluster to which the selected music belongs, and outputs the determination result to the selection reason generation unit 27.
  • the selection reason generation unit 27 obtains the cluster layer to which the selected music belongs and the keyword corresponding to the cluster from the clustered DB 14 and generates a selection reason sentence indicating the reason for the selection using the obtained keyword. To do.
  • the selection reason sentence is also generated based on the determination result from the novelty determination unit 26.
  • step S47 the presentation unit 29 acquires information on the selected music piece from the music DB and presents it to the user side along with the generated selection reason sentence. This completes the fourth recommendation process.
  • the group information of users who have been grouped by the offline pre-processing is used, and therefore user X similar to the history of user A is speeded up. It can be determined.
  • step S51 the similar user detecting unit 21 stores another user X belonging to the same group as the user A based on the group information of the user A held in the user history information DB17. Determine at random.
  • step S52 the difference detection unit 22 determines that the preference vector of user A has a value of 0 and the preference vector of user X has a value other than 0 /! And a cluster corresponding to the detected dimension is determined as a recommended cluster.
  • step S53 the extraction unit 24 uses the user history information DB 17 and the clustered DB.
  • step S54 the music selection unit 25 selects one song from among the recommended candidate songs by one of the following three methods or a combination of the three methods, and determines the selection result as a novelty: Output to the unit 26 and the selection reason generation unit 27.
  • the first method is to select songs that belong to more recommended clusters.
  • the second method is a method in which priorities are assigned in advance to the cluster layer, and music pieces classified into recommended clusters belonging to the cluster layer with higher priorities are selected.
  • the third method is a random selection method.
  • step S55 the novelty determination unit 26 determines the presence / absence of novelty based on the preference vector of user A and the cluster to which the selected music belongs, and the determination result is sent to the selection reason generation unit 27. Output.
  • the selection reason generation unit 27 also acquires the keywords corresponding to the cluster layer cluster to which the selected music belongs, and also generates a selection reason sentence indicating the reason for selection using the acquired keywords.
  • the selection reason sentence is also generated based on the determination result from the novelty determination unit 26. Then, the generated selection reason sentence is output to the presentation unit 28 together with the music ID of the selected music.
  • the presentation unit 29 acquires information on the selected music from the music DB and presents it to the user side along with the generated selection reason sentence. This completes the fifth recommendation process.
  • the sixth recommendation process is a candidate for recommendation by extracting all the music pieces classified into the recommended cluster by user A in step S53 in the fifth recommendation process described above and not having user A. And so on. That is, what the user X has can also be a recommendation candidate. Since the other processes are the same as the fifth recommendation process, the description thereof is omitted.
  • the group information of the users who are grouped by the offline pre-processing is used, so that the user X similar to the history of the user A is promptly used. Can be determined.
  • the seventh recommendation process will be described with reference to the flowchart of FIG. First, the seventh recommendation process will be described. This process is suitable when the history information of user A is extremely small or when there are few other users, for example, when user A accesses the sales site.
  • step S61 the difference detection unit 22 detects a dimension whose value is equal to or greater than a predetermined value from the dimensions of the preference vector of the user A, and determines a cluster corresponding to the dimension as a recommended cluster. To do.
  • step S62 the extraction unit 24 refers to the cluster music correspondence table 15 of the user history information DB 17 and the clustered DB 14, and among all the music classified as the recommended cluster, the user A Those not possessed are extracted and set as recommended candidates.
  • step S63 the music selection unit 25 selects the most recommended music from among the recommended music candidates. One piece of music belonging to the cluster is selected, and the selection result is output to the novelty judgment unit 26 and the selection reason generation unit 27. If there are multiple songs belonging to the most recommended clusters, for example, one song is selected at random.
  • step S64 the novelty determination unit 26 determines the presence / absence of novelty based on the preference vector of user A and the cluster to which the selected music belongs, and generates the determination result as a selection reason. Output to part 27.
  • the selection reason generation unit 27 also acquires the keywords corresponding to the cluster layer cluster to which the selected music belongs, and also generates a selection reason sentence indicating the reason for selection using the acquired keywords and the like.
  • the selection reason sentence is also generated based on the determination result from the novelty determination unit 26. Then, the generated selection reason sentence is output to the presentation unit 28 together with the music ID of the selected music.
  • step S65 the presentation unit 29 acquires information on the selected music from the music DB and presents it to the user side along with the generated selection reason sentence. This completes the seventh recommendation process.
  • the user's history information is replaced with a preference vector with each cluster as a one dimension, and the CF method is applied. Can be prevented from concentrating on a part of all songs existing in the song DB11.
  • music can be recommended to users with little history information, and so-called cold start problems can be avoided.
  • the reason why the recommended music is selected can be presented to User A, for example, User A knows whether the recommended music is novel to himself or herself. be able to.
  • the present invention can be applied not only to recommending music, but also to sales sites that sell contents other than music, such as television programs, movies, books, and the like.
  • the series of processes described above can be executed by a force software that can be executed by hardware.
  • various functions can be executed by installing a computer built in dedicated hardware or various programs that make up the software.
  • it is installed from a recording medium in a general-purpose personal computer configured as shown in FIG.
  • This personal computer 100 incorporates a CPU (Central Processing Unit) 101.
  • An input / output interface 105 is connected to the CPU 101 via the bus 104.
  • a ROM (Read Only Memory) 102 and a RAM (Random Access Memory) 103 are connected to the node 104.
  • the input / output interface 105 includes an input unit 106 including an input device such as a keyboard and a mouse for a user to input an operation command, a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display) for displaying a screen. ) Etc., an output unit 107 consisting of a display, a storage unit 108 consisting of a hard disk drive etc. that stores programs and various data, a modem, a LAN (Local Area Network) adapter, etc., via a network typified by the Internet A communication unit 109 that executes communication processing is connected.
  • an input unit 106 including an input device such as a keyboard and a mouse for a user to input an operation command, a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display) for displaying a screen. ) Etc., an output unit 107 consisting of a display, a storage unit 108 consisting of a hard disk drive etc. that stores programs and various data,
  • magnetic disks including flexible disks
  • optical disks including CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)), magneto-optical disks (including MD (Mini Disc)
  • MD Magneto-optical disks
  • a drive 110 for reading / writing data from / to a recording medium 111 such as a semiconductor memory is connected.
  • a program for causing the personal computer 100 to execute the above-described series of processing is supplied to the personal computer 100 in a state stored in the recording medium 111, read by the drive 110, and built in the storage unit 108. Installed in the drive.
  • the program installed in the storage unit 108 is loaded from the storage unit 108 to the RAM 103 and executed by a command of the CPU 101 corresponding to a command from the user input to the input unit 106.
  • FIG. 13 is a block diagram showing another example of the configuration of the recommendation system 1 according to the embodiment of the present invention.
  • the same parts as those shown in FIG. 1 are denoted by the same reference numerals, and the description thereof is omitted.
  • the recommendation system 1 shown in FIG. 13 includes a music DB 11, a keyword setting unit 13, a clustered DB 14, a user history information DB 17, a recommendation candidate selection unit 18, a music selection unit 25, a novelty determination unit 26,
  • the selection reason generation unit 27, the presentation unit 28, the metadata clustering unit 201, and the music clustering unit 202 are configured.
  • the metadata clustering unit 201 stores each piece of music recorded in the music database 11. Cluster metadata for. In other words, the metadata clustering unit 201 classifies the metadata of music pieces that are contents into a plurality of clusters, and assigns a hierarchy to the clusters.
  • the metadata clustering unit 201 supplies the result of the clustering of the metadata of each music piece to the music clustering unit 202.
  • the song clustering unit 202 clusters each song and generates cluster information of each song, similar to the clustering unit 12. To do. That is, the music clustering unit 202 generates cluster information corresponding to the result of clustering each music and outputs the cluster information to the clustered DB 14.
  • the recommendation candidate selection unit 18 of the recommendation system 1 shown in FIG. 13 includes a preference vector generation unit 19, a user grouping unit 20, a difference detection unit 22, a recommended cluster determination unit 23, an extraction unit 24, and A similar user detection unit 203 is included.
  • the similar user detection unit 203 compares each user's preference vector stored in the user history information DB 17 to determine whether the preference vector is similar to the user whose music is recommended. Detect users. More specifically, the similar user detection unit 203 normalizes a preference vector, which is an example of user preference information, and uses each normalized user preference vector for each user level. The weight is calculated, the similarity indicating the degree of preference similarity between users is calculated from the weight and preference vector for each hierarchy, and the preference is similar to that of the first user based on the calculated similarity. Detect a second user.
  • step S201 the metadata clustering unit 201 acquires the metadata of the music from the music DB 11, and compresses the dimension of the acquired metadata. For example, in step S201, the metadata clustering unit 201 determines whether the metadata metadata obtained from the music DB 11 is the next of the metadata, LbA (the latent semantic analysis), PLbA (the probabilistic latent se mantic analysis), or quantification. Compress using methods such as Class III. [0104] Note that in step S201, the metadata clustering unit 201 may vectorize the song metadata.
  • step S202 the metadata clustering unit 201 clusters the metadata of each music piece.
  • the metadata clustering unit 201 performs soft clustering on the metadata of each music piece.
  • the metadata clustering unit 201 sets each item so that the sum of the belonging weights to each cluster becomes 1 in each hierarchy. Soft clustering of song metadata.
  • the attribution weights to the first cluster, the second cluster, the third cluster, and the fourth cluster in the first hierarchy of the metadata of the music specified by the music ID of ABC123 are respectively , 0.0, 0.8, 0.0, and 0.2.
  • the attribution weights for the 5th, 6th, 7th, and 8th clusters in the 2nd hierarchy of the metadata of the music identified by the music ID of ABC123 are 0.4, 0.6, 0.0, and 0.0.
  • the attribution weight to the ninth cluster, the tenth cluster, and the eleventh cluster in the third layer of the metadata of the music specified by the music ID of ABC123 is 0.0, 0.0, and 1. 0.
  • the attribution weight to each of the four clusters in the nth layer of the metadata of the music specified by the music ID of ABC123 is 1.0, 0.0, 0.0, and 0.0, respectively. is there.
  • the attribution weights to the first cluster, the second cluster, the third cluster, and the fourth cluster in the first hierarchy of the metadata of the music specified by the music ID of CTH863 are respectively , 1.0, 0.0, 0.0, and 0.0.
  • the attribution weights for the fifth cluster, the sixth cluster, the seventh cluster, and the eighth cluster in the second layer of the metadata of the music specified by the music ID of CTH863 are 0.0, 0.5, 0.5, and 0.0.
  • the attribution weights for the ninth, tenth, and eleventh clusters in the third layer of the metadata of the song identified by the song ID that is CTH863 are 0.7, 0.3, and 0.0.
  • the attribution weight to each of the four clusters in the nth layer of the metadata of the music specified by the music ID of CTH863 is 0.0, 0.8, 0.2, and 0.0, respectively. is there. [0109]
  • the attribution weights to the first cluster, the second cluster, the third cluster, and the fourth cluster in the first layer of the metadata of the music specified by the music ID of XYZ567 are respectively , 0.0, 0.4, 0.6, and 0.0.
  • the attribution weights for the fifth cluster, the sixth cluster, the seventh cluster, and the eighth cluster in the second layer of the metadata of the music specified by the music ID of XYZ567 are 0.0, 0.0, 0.0, and 1.0.
  • the attribution weight to the ninth cluster, the tenth cluster, and the eleventh cluster in the third layer of the metadata of the music specified by the music ID of XYZ567 is 0.9, 0.0, and 0.
  • the attribution weight to each of the four clusters in the nth layer of the metadata of the music specified by the music ID of XYZ567 is 0.3, 0.0, 0.0, and 0.7, respectively. is there.
  • the soft clustering of the metadata of each music piece is not limited to one in which the sum of the weights belonging to each cluster of items, ie, music pieces, is 1 in each hierarchy. Each item may not belong to any cluster in each hierarchy.
  • step S203 the metadata clustering unit 201 assigns a cluster layer.
  • FIG. 16 is a diagram illustrating an example of metadata.
  • the metadata shown in Fig. 16 is categorical data with a value of either 0 or 1 for simplicity.
  • Metadata 1, metadata 2, and metadata 3 belong to the higher-level classification, and metadata 4, metadata 5, and metadata 3 belong to the higher-order classification.
  • metadata 6 belongs.
  • metadata relating to an artist belongs to the meta group 1
  • the meta data 1 indicates the appearance of the artist
  • the meta data 2 indicates a group.
  • metadata related to a genre belongs to the meta group 2
  • the meta data 4 indicates pops
  • the meta data 5 indicates locks.
  • the metadata 1 to sol metadata 6 of the song identified by the song ID ABC123 are 1, 1, 1, 1, 1, 1 and CTH863, respectively.
  • the metadata 1 to metadata 6 of the music specified by the music ID are 0, 1, 0, 0, 1, 1, and XY
  • the metadata 1 to metadata 6 of the music specified by the music ID of Z567 are 1, 1, 1, 1, 1, 1, respectively.
  • the metadata 1 to metadata 6 of the music specified by the music ID of EKF534 are 1, 0, 1, 0, 0, 1 respectively, and the music specified by the music ID of OPQ385 is specified.
  • Metadata 1 to metadata 6 are 1, 0, 1, 1, 0, and 0, respectively.
  • metadata 1 regarding the music specified by the music ID of ABC123 or the music specified by the music ID of OPQ385 is regarded as a vector.
  • each of the metadata 2 to metadata 6 regarding the music specified by the music ID of ABC123 or the music specified by the music ID of OPQ385 is regarded as a vector.
  • one metadata value for multiple songs is regarded as a vector.
  • metadata 1, metadata 3, and metadata 4 regarded as vectors are in clusters within a Manhattan distance of 1, and metadata 2, metadata 5, and metadata. 6 is lumped into other clusters within a Manhattan distance of one.
  • FIG. 17 shows an example of metadata that is clustered and assigned layers in this way.
  • metadata 1, metadata 3, and metadata 4 belong to the first layer
  • metadata 2, metadata 5, and metadata 6 belong to the second layer.
  • each layer is formed by a collection of highly correlated metadata, and content clustering is performed in it, so in normal hierarchies where the genre, artist, etc. are hierarchized as they are, Differences between subtle contents that cannot be expressed can be reflected in the cluster.
  • step S204 the music clustering unit 202 clusters music for each layer. That is, the music clustering unit 202 classifies each content as one of a plurality of clusters in each of the assigned hierarchies.
  • Step S205 and step S206 are the same as step S2 and step S3 in Fig. 6, respectively, and thus description thereof is omitted.
  • the level of detail of the content expression by metadata (the level of detail of the expression)
  • the content can be clustered by reducing the amount of data and the amount of calculation while maintaining the degree.
  • FIG. 18 is a block diagram showing an example of the configuration of the similar user detection unit 203.
  • the similar user detection unit 203 includes a normalization unit 231, a weight calculation unit 232, and a similarity calculation unit 233.
  • the normalizing unit 231 normalizes a preference vector that is an example of user preference information.
  • the weight calculation unit 232 calculates a weight for each layer for each user from the preference vector of each user that has been normalized.
  • the similarity calculation unit 233 calculates a similarity indicating the degree of preference similarity between the user who recommends music and other users from the weights and preference titles for each layer.
  • step S231 the normalization unit 231 normalizes each user's preference vector.
  • FIG. 20 is a diagram showing an example of each user's preference vector generated by the preference vector generation unit 19 and held in the user history information DB 17. That is, FIG. 20 shows an example of the preference vector before being normalized.
  • the first four elements belong to the first layer, the next four elements belong to the second layer, and the next three elements belong to the third layer. The last four elements belong to the fourth layer.
  • the user preference vector specified by the user ID U001 is (0. 0, 2. 8, 0. 0, 2. 2, 0. 4, 0. 6 , 0. 8, 0. 0, 0. 5, 0. 4, 0. 4, 0. 0, 0. 5, 0. 4, 0. 0).
  • the first four elements which are 0.0, 2. 8, 0. 0, 2.2 respectively, belong to the first layer, and are 0.4, 0. 6, 0. 8, 0.
  • the next four elements that are 0 are the second
  • the last four elements belong to the fourth layer.
  • the user preference vector specified by the user ID U002 is (0. 2, 0. 8, 0. 5, 0. 6, 0. 0, 0.5. , 0. 5, 0. 0, 0. 7, 0. 3, 0. 6, 0. 0, 0. 6, 0. 2, 0. 0).
  • the first four elements which are 0.2, 0. 8, 0. 5, 0.6, respectively, belong to the first layer and are 0.0, 0, 5, 0.5, 0.5.
  • the next four elements that are 0 belong to the second layer, and the next three elements that are 0.7, 0. 3, and 0.6 respectively belong to the third layer and are 0.0, 0, 0, respectively.
  • the last four elements, 6, 0. 2, 0. 0, belong to the fourth layer.
  • the user preference vector specified by the user ID U003 is (0. 0, 2. 2, 0. 1, 1. 6, 0. 0, 1.0. , 2. 0, 1. 4, 0. 0, 1. 2, 0. 1, 0. 3, 0. 4, 0. 6, 0. 7).
  • the first four elements which are 0.0, 2. 2, 0. 1, 1. 6, respectively, belong to the first layer, and are 0.0, 1. 0, 2. 0, 1.
  • the next four elements that are 4 belong to the second layer, and the next three elements that are 0.0, 1. 2, and 0.1, respectively, belong to the third layer, and are 0.3, 0, respectively.
  • the last four elements, 4, 0. 6, 0. 7, belong to the fourth layer.
  • step S231 the normal part 231 normalizes each preference vector so that the norm in each layer is 1.
  • FIG. 21 is a diagram showing an example of a preference vector obtained by regularizing the preference vector of FIG. 20 so that the norm in each layer is 1.
  • FIG. 21 is a diagram showing an example of a preference vector obtained by regularizing the preference vector of FIG. 20 so that the norm in each layer is 1.
  • the normalized preference vector of the user identified by the user ID U001 is (0. 0, 0. 8, 0. 0, 0. 6, 0.4. , 0. 6, 0. 7, 0. 0, 0. 7, 0. 5, 0. 5, 0. 0, 0. 5, 0. 4, 0. 0).
  • the first four elements, which are 0. 0, 0. 8, 0. 0, 0. 6 respectively belong to the first layer and are 0. 4, 0. 6, 0. 7, 0. 0, respectively.
  • the next four elements that belong to the second layer are 0.7, 0.5, 0.5, respectively, and the next three elements that belong to the third layer belong to the third layer, which are 0.0, 0, respectively.
  • the last four elements, 5, 0. 4, 0. 0, belong to the fourth layer.
  • the normalized preference vector of the user specified by the user ID U002 is (0. 2, 0. 7, 0. 4, 0. 5, 0. 0. , 0. 7, 0. 7, 0. 0, 0. 7, 0. 3, 0. 6, 0. 0, 0. 8, 0. 3, 0. 0).
  • 0, 2, 0, 7, 0. 4, 0.5 respectively The first four elements belong to the first layer, and the next four elements, which are 0.0, 0. 7, 0. 7, and 0. 0, respectively, belong to the second layer and are each 0.7.
  • the next three elements, 0. 3, 0. 6 belong to the third layer, and the last four elements, which are 0. 0, 0. 8, 0. 3, 0. 0 respectively, Belongs to a layer.
  • the normalized preference vector of the user specified by the user ID U003 is (0. 0, 0. 8, 0. 0, 0. 6, 0. 0 , 0. 4, 0. 8, 0. 5, 0. 0, 1. 0, 0. 1, 0. 3, 0. 2, 0. 2, 0. 3).
  • the first four elements, which are 0. 0, 0. 8, 0. 0, 0. 6 respectively belong to the first layer and are 0. 0, 0. 4, 0. 8, 0. 5 respectively.
  • the next four elements belonging to the second layer belong to the second layer, and the next three elements that are 0.0, 1. 0, and 0.1 respectively belong to the third layer and are each 0.3, 0.
  • step S232 the weight calculation unit 232 calculates the weight for each of the user's preference vector hierarchies. For example, in step S232, the weight calculation unit 232 calculates a weight that is a variance of elements belonging to one layer for each layer.
  • FIG. 22 is a diagram illustrating an example of weights that are variances of elements belonging to each hierarchy, calculated for each hierarchy for each user.
  • the weight of the first layer, the weight of the second layer, the weight of the third layer, and the weight of the fourth layer for the user specified by the user ID U001 are 0, respectively. 17, 0. 10, 0. 01, and 0.06.
  • the weight of the first layer, the weight of the second layer, the weight of the third layer, and the weight of the fourth layer for the user specified by the user ID U002 are 0.05, 0. 17, 0.05, and 0.16.
  • the weight of the first layer, the weight of the second layer, the weight of the third layer, and the weight of the fourth layer for the user specified by the user ID U003 are 0.16, 0. 10, 0.31, and 0.00.
  • step S233 the similarity calculation unit 233 calculates the weighted preference similarity for each user.
  • step S234 the similar user detecting unit 203 detects the user X having the highest preference similarity from the users, and the process ends.
  • L is a value indicating the number of preference vector hierarchies
  • 1 is a value specifying the preference vector hierarchies
  • C (l) represents the entire cluster of preference vectors
  • c is a value that identifies the cluster
  • h indicates a value of a normalized preference vector element.
  • the first layer element and the user preference vector elements specified by the user ID U002 When the elements in the first layer are multiplied by the corresponding elements, and the multiplied results are added up, the value placed in the first layer of the user ID U002 in FIG. 23 is obtained as 0.88.
  • elements of the user preference vector specified by the user ID U001 and the user preference vector specified by the user ID U002 are multiplied by the corresponding elements, and the result of multiplication is added to each of the second, third, and fourth layers of the user ID that is U00 2 in FIG. The values 0.99, 0.97, and 0.50 are obtained.
  • the preference similarity between the user specified by the user ID U001 and the user specified by the user ID U002 is the first layer, the second layer, and the third layer.
  • the values obtained by caloring 0.88, 0.92, 0.97, and 0.50 obtained in this way are 3. 27.
  • the value 1.00 which is the value placed in the first layer of the user ID U003 in FIG. 23, is obtained. It is done.
  • the user preference vector element specified by the user ID U001 and the user preference specified by the user ID U003 are used. Tuttle elements are multiplied by the corresponding elements, and when the multiplied results are accumulated, they are placed in the second, third, and fourth layers of user ID U003 in FIG. The values 0.77, 0.57, 0.15 are calculated.
  • the preference similarity between the user specified by the user ID U001 and the user specified by the user ID U003 is the first layer, the second layer, the third layer , And the 4th layer, respectively, are calculated as 2.50, which is the value obtained by caloring 1.00, 0.77, 0.57, and 0.15.
  • the preference similarity U001 between the user identified by the user ID U001 and the user identified by the user ID U002 is U001.
  • the user ID specified by the user ID and the user ID specified by the user ID U003 is greater than the preference similarity, so the user ID U002 is the user ID having the maximum preference similarity.
  • the user specified by is detected.
  • step S233 the similarity calculation unit 233 calculates the weighted similarity sim (u, v) of the user u and the user V according to the equation (2).
  • L is a value indicating the number of preference vector hierarchies
  • 1 is a value specifying the preference vector hierarchies.
  • C (l) represents the entire cluster of preference vectors
  • c is a value that identifies the cluster.
  • h indicates a value of a normalized preference vector element.
  • b indicates the weight of each layer! /.
  • Figure 24 shows the case where user X is a user identified by a user ID U001 and a user identified by a user ID U002 and a user identified by a user ID U003. It is a figure which shows the example of the similarity of weighted preference.
  • the values shown in FIG. 24 are values obtained by multiplying the similarity sim (u, v) calculated by equation (2) by 100.
  • each of the elements of the first layer has the weight of the first layer of the user specified by the user ID U001.
  • the first layer Each of the elements is multiplied by the weight of the first layer of the user specified by the user ID U002, multiplied by the corresponding elements, and the multiplied results are added up to calculate U 002 in FIG.
  • the value 0.72 that is the value placed in the first layer of the user ID is obtained.
  • each of the elements of the user preference vector specified by the user ID U001 is the interest specified by the user ID U001.
  • the weight of the first layer of the user is multiplied, and the weight of the first layer of the user specified by the user ID of U002 is added to each element of the user preference vector specified by the user ID of U002.
  • the weighted preference similarity between the user specified by the user ID U001 and the user specified by the user ID U002 is the first layer, the second layer, It is assumed that 2.76, 1.54, 0.03, and 0.48 obtained by calculating each of the third and fourth layers are 2.76.
  • each of the elements of the first layer of the user preference vector elements of the user ID U001 is the first layer of the user specified by the user ID U001.
  • the first layer of the user specified by the user ID U003 is added to each of the first layer elements of the user preference vector elements specified by the user ID U003 multiplied by the weight. If the corresponding weights are multiplied, the corresponding elements are multiplied, and the multiplied results are integrated, the value 2.74, which is the value placed in the first layer of the user ID U003 in FIG. 24, is obtained.
  • the user's preference vector identified by the user ID U001 is added to each of the elements of the user preference vector identified by the user ID U001.
  • Each of the user's preference vector elements specified by the user ID U003 is multiplied by the weight of the first layer, and the first layer weight of the user specified by the user ID U003 is multiplied to correspond.
  • the multiplied results are multiplied, and the multiplied results are accumulated, the values are arranged in the second layer, the third layer, and the fourth layer of the user ID U 003 in FIG. , 0.10, 1.00 force is required.
  • the user identified by the user ID U001 and the user ID U003 are special.
  • the similarity of the weighted preference with the defined users is the following: 2.74, 0.79, obtained for each of the first, second, third, and fourth layers. It is 3.64, which is the value obtained by caloring 0.10 and 0.00.
  • the value of each element of the user's preference vector specified by the user ID U001 is the first value compared to the second to fourth layers. As compared to the second to fourth layers, the value of each element in the first layer is predicted to be related to the user's preference specified by the user ID U001.
  • the user preference vector specified by the user ID U002 and the value of each element of the first layer of the user preference vector specified by the user ID U003 are U003.
  • the value of each element of the first layer of the user's preference vector specified by the user ID is U001 by the value of each element of the first layer of the user's preference vector specified by the user ID U002. It approximates the value of each element of the first layer of the user's preference vector specified by a user ID. Therefore, compared to the user specified by the user ID U002, the user preference specified by the user ID U003 is similar to the user preference specified by the user ID U001. It is predicted that
  • the value changes more greatly depending on the value predicted to be related to the user's preference compared to the value expected to be less related to the user's preference. Since the similarity of preferences can be obtained, users with similar preferences can be detected more accurately.
  • step S232 the weight calculation unit 232 has been described as calculating weights that are the variances of elements belonging to each layer, for example.
  • the present invention is not limited to this.
  • the entropy H is calculated by the equation (3) and the entropy H is subtracted from 1. Try to calculate a certain weight.
  • the program may be processed by a single computer, or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
  • the system represents the entire apparatus constituted by a plurality of apparatuses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本発明は、CF手法において一部のコンテンツに推薦が集中されてしまうことを抑止するとともに、履歴情報の少ない利用者に対してもコンテンツを推薦することができる情報処理装置、情報処理方法、およびプログラムに関する。ステップS11で、楽曲が推薦される利用者Aと履歴情報が最も類似している他の利用者Xを検出し、ステップS12で、利用者Xが有している楽曲であって、利用者Aが有していない楽曲aを検出する。ステップS13で、楽曲aが属する各クラスタ層のクラスタを特定する。そして、ステップS14で、特定した全てのクラスタに共通して分類されている楽曲を抽出して推薦候補とする。さらに、ステップS15で、推薦候補の楽曲のうち、楽曲aとクラスタ情報が最も類似している1楽曲を選択する。ここで選択した楽曲を利用者Aに推薦する。本発明は、例えばインタネットに開設されるコンテンツ販売サイトに適用できる。

Description

情報処理装置、情報処理方法、およびプログラム
技術分野
[0001] 本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、コンテ ンッをクラスタに分類し、コンテンツが分類されたクラスタを用いてコンテンツの特徴を 管理し、コンテンツの検索や推薦に利用するようにした情報処理装置、情報処理方 法、およびプログラムに関する。
背景技術
[0002] 従来、利用者の嗜好に基づ!/、てテレビジョン番組、楽曲などのコンテンツを検索し て推薦する(いわゆる、コンテンツパーソナライゼーシヨン)ための発明が提案されて いる(例えば、特許文献 1参照)。
[0003] コンテンツパーソナライゼーシヨンには、協調フィルタリング (CF)と称する手法ゃコン テントべ一ストフィルタリング (CBF)と称される手法が広く使われている。
[0004] CF手法は、各利用者の購入履歴を管理し、コンテンツを推薦しょうとする利用者 A に対し、購入履歴が似ている他の利用者 Xを検出して、当該他の利用者 Xが購入し ており、かつ、利用者 Aが購入していないコンテンツを推薦するようにしたものであり、 例えば、インタネット上の通信販売サイトにぉ 、て採用されて 、る。
[0005] CBF手法は、コンテンツに対して配信側や販売側によって予め付与されているメタ データが直接的に嗜好の抽出やコンテンツの推薦に利用されていた。すなわち、利 用者の嗜好を示す特徴ベクトルと、候補となる各楽曲の特徴ベクトルとの距離 (余弦 相関など)を算出し、算出された距離の短い楽曲が利用者の嗜好に合致したものとし て推薦されるようになされて!、る。
[0006] 特許文献 1 :特開 2004— 194107号公報
発明の開示
発明が解決しょうとする課題
[0007] 上述した CF手法の以下の不都合が生じてしまう。
(1)どの利用者にも購入されていないコンテンツは、誰に対しても推薦されることがな い。したがって、膨大に用意されているコンテンツのうち、推薦されるコネテンッがー 部に集中し、残りの大多数のコンテンツが推薦されない。
(2)新規の利用者に対してコンテンツを推薦する場合、当該利用者の購入履歴が少 ないので、履歴情報が類似している他の利用者を検出することができず、コンテンツ を推薦することができな 、 (V、わゆる、コールドスタート問題)。
(3)通常、コンテンツの数も利用者の数も増力!]していくが、その場合、購入履歴が似 ている他の利用者を検出する際の演算が多くなり、推薦するコンテンツを速やかに決 定することができない。
[0008] 本発明はこのような状況に鑑みてなされたものであり、 CF手法において一部のコン テンッに推薦が集中されてしまうことを抑止するとともに、履歴情報の少ない利用者 に対してもコンテンツを推薦できるようにするものである。
課題を解決するための手段
[0009] 本発明の一側面である情報処理装置は、コンテンツ群のな力から所定の条件を満 たすコンテンツを選択して利用者に提示する情報処理装置であって、前記コンテンツ 群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにお V、て複数の第 1のクラスタの 、ずれかに分類するコンテンツ分類手段と、各コンテン ッと各コンテンツのそれぞれが分類された前記階層における前記第 1のクラスタとの 対応関係を示すデータベースを保持する保持手段と、前記利用者のコンテンツに対 する履歴情報を管理する管理手段と、前記履歴情報に基づき、注目する第 1のクラス タを特定し、特定した前記第 1のクラスタに分類されているコンテンツを選択する選択 手段と、選択された前記コンテンツを提示する提示手段とを含む。
[0010] 前記選択手段は、第 1の利用者と前記履歴情報が類似している第 2の利用者を検 出する検出手段と、前記第 1の利用者の履歴情報上に存在せず、前記第 2の利用者 の履歴情報上に存在するコンテンツが分類されている第 1のクラスタを特定する特定 手段と、特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽出手 段とを含み、前記提示手段は、前記第 1の利用者に対して抽出された前記コンテン ッを提示するようにすることができる。
[0011] 本発明の一側面である情報処理装置は、利用者の履歴情報と前記データベース に基づき、前記利用者の嗜好を前記第 1のクラスタ単位で示す嗜好情報を生成する 生成手段と、前記嗜好情報に基づ!/ヽて利用者をグループ化するグループ化手段と をさらに含み、前記選択手段は、第 1の利用者と同じグループに属する第 2の利用者 を検出する検出手段と、前記第 1の利用者の履歴情報上に存在せず、前記第 2の利 用者の履歴情報上に存在するコンテンツが分類されている第 1のクラスタを特定する 特定手段と、特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽 出手段とを含み、前記提示手段は、前記第 1の利用者に対して抽出された前記コン テンッを提示するよう〖こすることができる。
[0012] 本発明の一側面である情報処理装置には、利用者の履歴情報と前記データべ一 スに基づき、前記利用者の嗜好を前記第 1のクラスタ単位で示す嗜好情報を生成す る生成手段をさらに設け、前記選択手段には、第 1の利用者と前記嗜好情報で示さ れる嗜好が類似している第 2の利用者を検出する検出手段と、前記第 1の利用者の 嗜好情報と前記第 2の利用者の嗜好情報に基づいて注目する第 1のクラスタを特定 する特定手段と、特定された前記第 1のクラスタに分類されているコンテンツを抽出す る抽出手段とを設け、前記提示手段には、前記第 1の利用者に対して抽出された前 記コンテンツを提示させることができる。
[0013] 前記検出手段には、利用者の嗜好情報を正規化する正規化手段と、正規化された 各利用者の嗜好情報から、利用者のそれぞれについて階層毎の重みを計算する重 み計算手段と、階層毎の重みと前記嗜好情報とから、利用者のうちの第 1の利用者と
、利用者のうちの他の利用者との嗜好の類似の度合いを示す類似度を計算する類 似度計算手段とを設け、計算された類似度から、第 1の利用者と嗜好が類似している 第 2の利用者を検出させることができる。
[0014] 本発明の一側面である情報処理装置には、利用者の履歴情報と前記データべ一 スに基づき、前記利用者の嗜好を前記第 1のクラスタ単位で示す嗜好情報を生成す る生成手段と、前記嗜好情報に基づ 、て利用者をグループ化するグループ化手段と をさらに設け、前記選択手段には、第 1の利用者と同じグループに属する第 2の利用 者を検出する検出手段と、前記第 1の利用者の嗜好情報と前記第 2の利用者の嗜好 情報に基づいて注目する第 1のクラスタを特定する特定手段と、特定された前記第 1 のクラスタに分類されているコンテンツを抽出する抽出手段とを設け、前記提示手段 には、前記第 1の利用者に対して抽出された前記コンテンツを提示させることができ る。
[0015] 本発明の一側面である情報処理装置には、前記コンテンツ分類手段によって前記 メタデータが分類される第 1のクラスタのそれぞれに対してキーワードを設定する設定 手段と、前記設定手段によって設定されたキーワードを用い、コンテンツの提示理由 を表す理由文を作成する作成手段とをさらに設け、前記提示手段には、前記理由文 ち提示させることがでさる。
[0016] コンテンツのメタデータを複数の第 2のクラスタのいずれかに分類し、第 2のクラスタ に前記階層を割り当てるメタデータ分類手段を更に設け、前記コンテンツ分類手段 には、各コンテンツを、割り当てられた前記階層のそれぞれにおいて複数の第 1のク ラスタの!/、ずれかに分類させることができる。
[0017] 利用者の履歴情報と前記データベースに基づき、前記利用者の嗜好を前記第 1の クラスタ単位で示す嗜好情報を生成する生成手段をさらに設け、前記選択手段には 、全部の前記階層の全部の前記第 1のクラスタのうち、前記嗜好情報で示される前記 第 1のクラスタであって、最も多くの前記第 1のクラスタに分類されているコンテンツを 選択させることができる。
[0018] 本発明の一側面である情報処理方法は、コンテンツ群のな力から所定の条件を満 たすコンテンツを選択して利用者に提示する情報処理装置の情報処理方法であつ て、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた各 階層にお ヽて複数のクラスタの ヽずれかに分類し、各コンテンツと各コンテンツのそ れぞれが分類された前記階層における前記クラスタとの対応関係を示すデータべ一 スを保持し、前記利用者のコンテンツに対する履歴情報を管理し、前記履歴情報に 基づき、注目するクラスタを特定し、特定した前記クラスタに分類されているコンテン ッを選択し、選択された前記コンテンッを提示するステップを含む。
[0019] 本発明の一側面であるプログラムは、コンテンツ群のな力から所定の条件を満たす コンテンツを選択して利用者に推薦するためのプログラムであって、前記コンテンツ 群を構成する各コンテンツを、コンテンツのメタデータに応じた各階層において複数 のクラスタの ヽずれかに分類し、各コンテンツと各コンテンツのそれぞれが分類された 前記階層における前記クラスタとの対応関係を示すデータベースを保持し、前記利 用者のコンテンツに対する履歴情報を管理し、前記履歴情報に基づき、注目するク ラスタを特定し、特定した前記クラスタに分類されているコンテンツを選択し、選択さ れた前記コンテンツを提示するステップを含む処理をコンピュータに実行させる。
[0020] 本発明の一側面においては、前記コンテンツ群を構成する各コンテンツが、コンテ ンッのメタデータに応じた各階層にお ヽて複数のクラスタの!/ヽずれかに分類される。 そして、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記 クラスタとの対応関係を示すデータベースが保持される。また、前記利用者のコンテ ンッに対する履歴情報が管理される。そして、前記履歴情報に基づき、注目するクラ スタが特定され、特定された前記クラスタに分類されているコンテンツが選択され、選 択された前記コンテンツが提示される。
発明の効果
[0021] 以上のように、本発明の一側面によれば、 CF手法により利用者にコンテンツを推薦 することが可能となる。
[0022] また、本発明の一側面によれば、全コンテンツのうち、一部のコンテンツに推薦が集 中されてしまうことを抑止することが可能となる。
[0023] さらに、本発明の一側面によれば、履歴情報の少ない利用者に対してもコンテンツ を推薦することが可能となる。
図面の簡単な説明
[0024] [図 1]本発明を適用した推薦システムの構成例を示すブロック図である。
[図 2]楽曲のメタデータを分類するクラスタとクラスタ層の概念を示す図である。
[図 3]楽曲 クラスタ対応表の一例を示す図である。
[図 4]クラスター楽曲対応表の一例を示す図である。
[図 5]利用者の嗜好ベクトルの一例を示す図である。
[図 6]オフライン時の前処理を説明するフローチャートである。
[図 7]第 1の推薦処理を説明するフローチャートである。
[図 8]第 2および 3の推薦処理を説明するフローチャートである。 [図 9]第 4の推薦処理を説明するフローチャートである。
[図 10]第 5および 6の推薦処理を説明するフローチャートである。
[図 11]第 7の推薦処理を説明するフローチャートである。
[図 12]汎用パーソナルコンピュータの構成例を示すブロック図である。
[図 13]本発明の一実施の形態の推薦システムの他の構成の例を示すブロック図であ る。
[図 14]オフライン時の前処理の他の例を説明するフローチャートである。
[図 15]ソフトクラスタリングされた各楽曲のメタデータの例を示す図である。
[図 16]各楽曲のメタデータの例を示す図である。
[図 17]クラスタリングされた各楽曲のメタデータの例を示す図である。
[図 18]類似利用者検出部の構成の例を示すブロック図である。
[図 19]嗜好の類似する利用者 Xの検出の処理を説明するフローチャートである。
[図 20]嗜好ベクトルの例を示す図である。
[図 21]正規ィ匕された嗜好ベクトルの例を示す図である。
[図 22]重みの例を示す図である。
[図 23]重み付けせずに計算した類似度の例を示す図である。
[図 24]重み付けして計算した類似度の例を示す図である。
符号の説明
1 推薦システム, 11 楽曲 DB, 12 クラスタリング部, 13 キーワード設定部 , 14 クラスタリング済 DB, 15 クラスタ一楽曲対応表, 16 楽曲一クラスタ対応 表, 17 利用者履歴情報 DB, 18 推薦候補選択部, 19 嗜好ベクトル生成部 , 20 類似利用者検出部, 21 利用者グループィ匕部, 22 差分検出部, 23 推薦クラスタ決定部, 24 抽出部, 25 楽曲選択部, 26 新規性判定部, 27 選択理由生成部, 28 提示部, 100 パーソナルコンピュータ, 101 CPU, 111 記録媒体, 201 メタデータクラスタリング部, 202 楽曲クラスタリング部, 203 類似利用者検出部, 231 正規化部, 232 重み計算部, 233 類似度 十异部
発明を実施するための最良の形態 [0026] 以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細 に説明する。
[0027] 図 1は本発明の一実施の形態である推薦システムの構成例を示している。この推薦 システム 1は、例えばインタネット上に開設された楽曲データの販売サイトにおいて、 利用者の履歴情報 (楽曲データの購入、試聴、検索、保有などの情報)を管理し、 C F法を用いて推薦する楽曲を選択し、利用者に提示するものである。なお、推薦シス テム 1は、楽曲以外のコンテンツ、例えばテレビジョン番組、映画、書籍などを販売す る販売サイトにも適用することが可能である。
[0028] 推薦システム 1は、利用者に推薦して販売するための数多くの楽曲データ (以下、 単に楽曲とも記述する)のメタデータが記録されている楽曲データベース (DB) 11、 楽曲データベース 11に記録されて ヽる各楽曲のメタデータを基に、各楽曲をクラスタ リングして各楽曲のクラスタ情報を生成するクラスタリング部 12、各クラスタ層とクラス タ層における各クラスタの特徴をそれぞれ示すキーワードを設定するキーワード設定 部 13、および、各楽曲のクラスタリング結果を保持するクラスタリング済データベース (DB) 14から構成される。
[0029] クラスタリング済 DB14には、クラスタリング結果として、各クラスタに属する楽曲を示 すクラスター楽曲対応表 15と、各楽曲が属するクラスタを示す楽曲 クラスタ対応表 16が保持されている。
[0030] さらに、推薦システム 1は、各利用者の履歴情報を管理している利用者履歴情報デ ータベース (DB) 17、利用者情報に基づいて推薦候補となる複数の楽曲を選択する 推薦候補選択部 18、選択された複数の推薦候補の中から 1楽曲を選択する楽曲選 択部 25、選択された楽曲が推薦される利用者にとって新規性のあるものである力否 かを判定する新規性判定部 26、選択された楽曲を利用者に提示するときの推薦理 由文を生成する選択理由生成部 27、および、選択された楽曲と推薦理由文を利用 者に提示する提示部 28から構成される。
[0031] 推薦候補選択部 18は、嗜好ベクトル生成部 19、利用者グループ化部 20、類似利 用者検出部 21、差分検出部 22、推薦クラスタ決定部 23、および抽出部 24を含む。
[0032] 楽曲 DB11は、音楽 CDに収録されている楽曲のメタデータを供給するインタネット 上のデータサーバである CDDB(CD Data Base)や Music Naviなどと同様、推薦して販 売する楽曲のメタデータを保持して 、る。
[0033] クラスタリング部 12は、楽曲 DB11の全ての楽曲に対し、楽曲のメタデータの各項 目(アーティスト名、ジャンル、アルバム、アーティストレビュー、楽曲レビュー、タイトル 、テンポ、ビート、リズムなど)あるいはそれらの組み合わせ (テンポ、ビート、リズムな ど)を基にして、図 2に示すようなクラスタ層(第 1乃至 n層)を作り、楽曲を各クラスタ層 に設けられる複数のクラスタのいずれか、あるいは複数に分類する(クラスタリングす る)。
[0034] ここでは楽曲を例に説明されている力 アーティスト、アルバムに対しても同様に多 くのメタを使ってそれぞれ多層にクラスタリングする。楽曲推薦、アーティスト推薦、ァ ルバム推薦のために、それぞれ楽曲用多層クラスタ、アーティスト用多層クラスタ、ァ ルバム用多層クラスタを用いる。
[0035] クラスタリングはいかなる手法を用いてもよいが、クラスタ層毎に最適なクラスタリング 手法、距離尺度を選ぶようにする。例えば、メタデータの実情報がテンポなどの数値 属性であるならばそのまま、タイトルなどの名義属性の場合は主成分分析等の数量 化手法を用いて数値にして、ユークリッド距離などの距離尺度を定義してクラスタリン グすること〖こなる。代表的なクラスタリング手法としては、 K-means法、階層クラスタリン グ法 (群平均法、最遠法、ウォード法)、ソフトクラスタリング法などを挙げることができ る。
[0036] この際、嗜好距離を反映したクラスタリング (例えば、制約付きクラスタリング)によつ て実施することが望ましい。そのためには、事前調査により部分的な正解集 (嗜好的 に近い実情報の集合、遠い実情報の集合など)を作り、それに適合する数値表現、 距離、クラスタリング手法を用いるものとする。またさらに、形成される各クラスタ層の 独立性が高くなるクラスタリング手法 (すなわち、特性の異なるクラスタリング手法)を 選ぶことが望ましい。
[0037] なお、 1つの実情報を同一クラスタ層の複数のクラスタに分類してもよい。同一クラス タ層に存在するクラスタ間の距離 (類似の程度を示す)は既知であるものとする。この クラスタリングの手法については後述する。そして、メタデータの代わりに楽曲の特徴 を示す情報として、メタデータの各項目の実情報を分類したクラスタのクラスタ ID (図 2における CL11など)から成るクラスタ情報を生成してクラスタリング済 DB14に出力 する。
[0038] なお、分類に適したクラスタが存在しな 、場合、新たにクラスタを新設してもよ ヽ。各 クラスタのサイズは任意であって複数の実情報を包含できるものである。なお、単一 の実情報だけしか分類することができないクラスタを設けてもよい。この場合、当該ク ラスタのクラスタ IDに唯一分類可能な実情報の ID (アーティスト ID、アルバム 、タイ トル ID)を用いてもよい。
[0039] クラスタリング済 DB14は、クラスタリング部 12によって生成された各楽曲のクラスタ 情報に基づいて、クラスタ一楽曲対応表 15と楽曲一クラスタ対応表 16を生成して保 持している。また、クラスタリング済 DB14は、キーワード設定部 13によって設定され た各クラスタ層や各クラスタに対して設定されたキーワードも保持している。
[0040] 図 3は楽曲一クラスタ対応表 16の一例を示している。同図においては、例えば、楽 曲 ID=ABC123の楽曲のクラスタ情報は、(CL12、 CL21、 CL35, CL47, CL52, · ··, CLn2)であることを示している。また例えば、楽曲 ID=CTH863の楽曲のクラスタ 情報は、クラスタ ID (CL11、 CL25、 CL31, CL42, CL53, · ··, CLnl)であることを 示している。
[0041] 図 4は、図 3に示された楽曲 クラスタ対応表 16に応じたクラスター楽曲対応表 15 の一例を示している。同図においては、例えば、クラスタ ID = CL11には、楽曲 ID= CTH863が対応することを示している。また例えば、クラスタ ID = CL21には、楽曲 ID =ABC123が対応することを示している。さらに例えば、クラスタ ID = CL32には、楽 曲 ID = XYZ567が対応することを示している。
[0042] なお、クラスタリング部 12、キーワード設定部 13、およびクラスタリング済 DB14の処 理は、楽曲 DB11に新たな楽曲のメタデータが追加される毎に実行しておく必要があ る。
[0043] 図 1に戻る。利用者履歴情報 DB17には、各利用者が当該販売サイトにて購入、試 聴、または検索した楽曲、あるいは、いずれかで購入し既に保有していることを申告 した楽曲を示す履歴情報が保持されている。また、利用者履歴情報 DB17には、嗜 好ベクトル生成部 19によって生成される各利用者の嗜好ベクトルが保持されている。 さらに、利用者履歴情報 DB17には、利用者グループィ匕部 20による利用者のグルー プ化結果、すなわち、各利用者がどの利用者グループに属するかを示す情報が保 持されている。
[0044] 嗜好ベクトル生成部 19は、利用者履歴情報 DB17に保持されている各利用者の履 歴情報に基づき、各利用者に対して、全てのクラスタをそれぞれ 1次元とする多次元 の嗜好ベクトルを生成し、利用者履歴情報 DB17に出力する。具体的には、利用者 の履歴情報にある各楽曲について、クラスタリング済 DB 14の楽曲 クラスタ対応表 16を参照し、楽曲の属するクラスタに対応する嗜好ベクトルの次元に所定の値を加 算する。生成された各利用者の嗜好べ外ルは、利用者履歴情報 DB17で管理され る。楽曲の購入などによって利用者の履歴情報が更新されれば、嗜好ベクトルも更 新されること〖こなる。
[0045] ここで説明の便宜上、全てのクラスタが図 5に示すにょうに、第 1層には 3クラスタ CL 11, CL12, CL13,第 2層に ίま 4クラスタ CL21, CL22, CL23, CL24,第 3層に【ま 3クラスタ CL31, CL32, CL33,第 4層には 3クラスタ CL41, CL42, CL43のみ力 S 存在していると仮定する。この場合、嗜好ベクトルは 13次元である。
[0046] 例えば、利用者 Αの履歴情報に 2楽曲を購入した記録があり、 1つ目の楽曲の属す るクラスタ IDが CL11, CL22, CL33, CL41であれば、これらに対応する次元の値 にそれぞれ 1が加算される。また、 2つ目の楽曲の属するクラスタ IDが CL12, CL24 , CL32, CL43であれば、これらに対応する次元の値にそれぞれ 1が加算される。そ して、利用者 Aの嗜好ベクトル(1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1)が生成される
[0047] また例えば、利用者 Xの履歴情報に 3楽曲を購入した記録があり、 1つ目の楽曲の 属するクラスタ IDが CL11, CL22, CL32, CL43であれば、これらに対応する次元 の値にそれぞれ 1が加算される。また、 2つ目の楽曲の属するクラスタ IDが CL12, C L22, CL33, CL42であれば、これらに対応する次元の値にそれぞれ 1が加算され る。さらに、 3つ目の楽曲の属するクラスタ IDが CL13, CL24, CL33, CL41であれ ば、これらに対応する次元の値にそれぞれ 1が加算される。そして、利用者 Xの嗜好 ベタ卜ノレ(1, 1, 1, 0, 2, 0, 1, 0, 1, 2, 1, 1, 1)力生成される。
[0048] なお、各次元への加算値は履歴情報の種別 (すなわち、購入、試聴、検索、または 保有)に応じて変更するようにしてもよい。例えば、購入または保有であれば 1を加算 し、試聴であれば 0. 5を加算し、検索であれば 0. 3を加算するようにしてもよい。
[0049] 図 1に戻る。利用者グループィ匕部 20は、利用者履歴情報 DB17に保持されている 各利用者の嗜好べ外ルの類似性に基づき、全利用者をグループ化する。ただし、 多次元の嗜好ベクトルの類似性を判定する処理を容易にするため、各利用者の嗜好 ベクトルの各次元の値を 2値ィ匕する。すなわち、各次元の値が 1以上であるときには 1 に置換し、 0であるときには 0のままとする。このように、嗜好ベクトルの各次元の値を 2 値化すると、 2値化しな ヽ場合に比較して類似性の判定これに要する演算量を減少 させることができ、容易にグループィ匕を行うことができる。このグループィ匕結果は、利 用者履歴情報 DB17で管理される。
[0050] 類似利用者検出部 21は、利用者履歴情報 DB17に保持されている各利用者の履 歴情報を比較することにより、楽曲が推薦される利用者と履歴情報が類似している他 の利用者を検出する。また、類似利用者検出部 21は、利用者履歴情報 DB17に保 持されている各利用者の嗜好ベクトルを比較することにより、楽曲が推薦される利用 者と嗜好ベクトルが類似している他の利用者を検出する。差分検出部 22は、利用者 履歴情報 DB17に保持されている各利用者の履歴情報に基づき、楽曲が推薦される 利用者と、類似利用者検出部 21によって検出された他の利用者との履歴情報の差 分を検出する。推薦クラスタ決定部 23は、楽曲が推薦される利用者と、類似利用者 検出部 21によって検出された他の利用者との嗜好ベクトルの差に基づいて推薦クラ スタを決定する。抽出部 24は、類似利用者検出部 21乃至推薦クラスタ決定部 23の 処理結果と、クラスタリング済 DB14に基づき、推薦候補となる楽曲を抽出する。
[0051] 楽曲選択部 25は、抽出された複数の楽曲の中から所定の条件に従って 1楽曲を選 択する。例えば、より多くの推薦クラスタに属しているもの、予め設定されている優先 順位が高いクラスタ層における推薦クラスタに属しているもの、またはランダムで 1楽 曲を選択し、選択結果を新規性判定部 26、および選択理由生成部 27に出力する。 新規性判定部 26は、楽曲が推薦される利用者の嗜好ベクトルに基づき、選択された 楽曲が属するクラスタの、当該嗜好ベクトルに対する重複度が所定の割合 (例えば 3 0%)以上である場合には新規性がないものと判定し、所定の割合未満である場合に は新規性があるものと判定し、判定結果を選択理由生成部 27に出力する。
[0052] 選択理由生成部 27は、選択された楽曲の属するクラスタ層やクラスタに対応するキ 一ワードをクラスタリング済 DB14から取得し、取得したキーワードなどを用いて選択 の理由を示す選択理由文を生成する。また、新規性判定部 26からの判定結果に基 づいても例えば、新規性のあるものについては「意外な」、新規性のないものについ ては「 、つもの」ある 、は「なじみの」などの文言を含めて選択理由文を生成する。そ して、生成した選択理由文を、選択された楽曲の楽曲 IDとともに提示部 28に出力す る。
[0053] なお、選択された楽曲のレビューテキストをそのまま選択理由文として引用したり、 選択された楽曲のレビューテキストから抽出した単語を用いて選択理由文を生成して もよい。なお、レビューテキストから選択理由文に用いる単語を抽出するには Tf/idlf去 を適用することができる。
[0054] 提示部 29は、選択された楽曲に関する情報を楽曲 DBから取得して、生成された 選択理由文とともに利用者側に提示する。
[0055] 次に、推薦システム 1の動作について説明する。まず、楽曲を推薦する処理の準備 であるオフライン時の前処理にっ 、て、図 6のフローチャートを参照して説明する。
[0056] ステップ S1において、クラスタリング部 12は、楽曲 DB11の全ての楽曲を、楽曲のメ タデータの各項目クラスタ層(第 1乃至 n層)の 、ずれかに分類し、各項目の実情報を 分類したクラスタ層に設けられる複数のクラスタの ヽずれかに分類 (クラスタリング)す る。そして、クラスタリング部 12は、メタデータの代わりに楽曲の特徴を示す情報とし て、メタデータの各項目の実情報を分類したクラスタのクラスタ ID力も成るクラスタ情 報を生成してクラスタリング済 DB14に出力する。なお、既にクラスタリング済の楽曲 については、クラスタリングを省略し、未クラスタリング済の楽曲についてのみ、クラス タリングするようにしても力まわない。クラスタリング済 DB14は、クラスタリング部 12に よって生成された各楽曲のクラスタ情報に基づいて、クラスター楽曲対応表 15と楽曲 クラスタ対応表 16を生成する。 [0057] ステップ S2において、推薦候補選択部 18の嗜好ベクトル生成部 19は、利用者履 歴情報 DB17に保持されている各利用者の履歴情報に基づき、各利用者に対して 嗜好ベクトルを生成し、利用者履歴情報 DB17に出力する。ステップ S3において、 利用者グループィ匕部 20は、利用者履歴情報 DB17に保持されている各利用者の嗜 好ベクトルの類似性に基づき、全利用者をグループィ匕する。ただし、多次元の嗜好 ベクトルの類似性を判定する処理を容易にするため、各利用者の嗜好ベクトルの各 次元の値を 2値ィ匕する。そして、このグループィ匕結果を利用者履歴情報 DB17に出 力する。以上で、オフライン時の前処理は終了される。
[0058] このように、楽曲 DB11に保持されている全楽曲のクラスタリングと、各利用者の嗜 好ベクトルの生成、および利用者のグループィ匕を前処理として実施することにより、 後述する第 1乃至 7の推薦処理を速やかに実行することができる。なお、第 1乃至 7の 推薦処理のうち、利用者のグループ情報を利用しないものがあるので、利用者のグ ループ情報を利用しな 、推薦処理のみを実行するときには、ステップ S3の処理を省 略してもかまわない。
[0059] 次に第 1の推薦処理について、図 7のフローチャートを参照して説明する。以下に おいては、楽曲が推薦される利用者を利用者 Aと記述する。この処理は、例えば、利 用者 Aが当該販売サイトにアクセスしたときに開始される。
[0060] ステップ S11において、類似利用者検出部 21は、利用者履歴情報 DB17に保持さ れて 、る利用者 Aの履歴情報と他の利用者の履歴情報を比較することにより、利用 者 Aと履歴情報が最も類似している他の利用者 Xを検出する。ステップ S12において 、差分検出部 22は、利用者履歴情報 DB17に保持されている利用者 Aと利用者 の 履歴情報に基づき、利用者 Xが有している(過去に購入した、または保有している)楽 曲であって、利用者 Aが有していない楽曲を検出する。なお、この条件を満たす楽曲 が複数存在する場合、そのうちの 1楽曲を例えばランダムに選択する。検出された楽 曲を楽曲 aとする。
[0061] ステップ S13において、推薦クラスタ決定部 23は、クラスタリング済 DB14の楽曲— クラスタ対応表 16を参照し、楽曲 aが属する各クラスタ層のクラスタを特定する。 ステップ S14において、抽出部 24は、クラスタリング済 DB14のクラスタ一楽曲対応 表 15を参照し、ステップ S 13の処理で特定された全てのクラスタに共通して分類され ている楽曲を抽出する。ここで抽出された楽曲を推薦候補とする。推薦候補は複数あ つてかまわない。なお、ステップ S 13の処理で特定した全てのクラスタに共通して分 類されている楽曲が存在しない場合、ステップ S13の処理で特定したクラスタのうち、 できるだけ多くのクラスタに共通して分類されている楽曲を抽出し、推薦候補とする。
[0062] ステップ S15において、楽曲選択部 25は、推薦候補の楽曲のうち、ステップ S12で 検出した楽曲 aとクラスタ情報が最も類似している 1楽曲を選択し、選択結果を新規性 判定部 26、および選択理由生成部 27に出力する。ステップ S16において、新規性 判定部 26は、利用者 Aの嗜好ベクトルと、選択された楽曲が属するクラスタに基づき 、新規性の有無を判定し、判定結果を選択理由生成部 27に出力する。選択理由生 成部 27は、選択された楽曲の属するクラスタ層やクラスタに対応するキーワードをク ラスタリング済 DB14から取得し、取得したキーワードなどを用いて選択の理由を示 す選択理由文を生成する。また、新規性判定部 26からの判定結果に基づいても選 択理由文を生成する。
そして、生成した選択理由文を、選択された楽曲の楽曲 IDとともに提示部 28に出力 する。ステップ S17において、提示部 29は、選択された楽曲に関する情報を楽曲 DB カゝら取得して、生成された選択理由文とともに利用者側に提示する。以上で第 1の推 薦処理が終了される。
[0063] 次に第 2および 3の推薦処理について、図 8のフローチャートを参照して説明する。
まず第 2の推薦処理について説明する。この処理は、例えば、利用者 Aが当該販売 サイトにアクセスしたときに開始される。
[0064] ステップ S21において、類似利用者検出部 21は、利用者履歴情報 DB17に保持さ れている利用者 Aの嗜好ベクトルと他の利用者の嗜好ベクトルを比較することにより、 利用者 Aと嗜好ベクトルが最も類似している他の利用者 Xを検出する。なお、利用者 Aの嗜好ベクトルと他の利用者の嗜好ベクトルとの類似は、例えば両者の余弦相関 値を算出して判断する。
[0065] ステップ S22において、差分検出部 22は、利用者 Aの嗜好ベクトルにおいては値 が 0であり、利用者 Xの嗜好ベクトルにお!/、ては 0以外の値である嗜好ベクトルの次元 を検出し、検出した次元に相当するクラスタを推薦クラスタに決定する。
[0066] 例えば、利用者 Aの嗜好ベクトルが図 5の Aに示す(1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1)であり、禾 IJ用者 Xの嗜好べク卜ノレ力 S図 5の Bに示す(1, 1, 1, 0, 2, 0, 1, 0, 1, 2, 1, 1, 1)である場合、図 5の Bに斜線で示すように、クラスタ CL13、および CL 42が推薦クラスタに決定される。
[0067] ステップ S23において、抽出部 24は、利用者履歴情報 DB17とクラスタリング済 DB 14のクラスタ 楽曲対応表 15を参照し、推薦クラスタに分類されて ヽる全ての楽曲 のうち、利用者 Xが有しており、利用者 Aが有していないものを抽出して推薦候補と する。
[0068] ステップ S24において、楽曲選択部 25は、推薦候補の楽曲のうち、以下の 3方法の いずれか、または 3方法を組み合わせた方法により、 1楽曲を選択し、選択結果を新 規性判定部 26、および選択理由生成部 27に出力する。 1つ目の方法は、より多くの 推薦クラスタに共通して属している楽曲を選択する方法である。 2つ目の方法は、クラ スタ層に予め優先順位を付与し、より優先順位の高 、クラスタ層に属する推薦クラス タに分類されている楽曲を選択する方法である。 3つ目の方法は、ランダムに選択す る方法である。
[0069] ステップ S25にお 、て、新規性判定部 26は、利用者 Aの嗜好ベクトルと、選択され た楽曲が属するクラスタに基づき、新規性の有無を判定し、判定結果を選択理由生 成部 27に出力する。選択理由生成部 27は、選択された楽曲の属するクラスタ層ゃク ラスタに対応するキーワードをクラスタリング済 DB14力も取得し、取得したキーワード などを用いて選択の理由を示す選択理由文を生成する。また、新規性判定部 26から の判定結果に基づいても選択理由文を生成する。そして、生成した選択理由文を、 選択された楽曲の楽曲 IDとともに提示部 28に出力する。ステップ S26において、提 示部 29は、選択された楽曲に関する情報を楽曲 DBから取得して、生成された選択 理由文とともに利用者側に提示する。以上で第 2の推薦処理が終了される。
[0070] 次に第 3の推薦処理について説明する。第 3の推薦処理は、上述した第 2の推薦処 理におけるステップ S23の処理で、推薦クラスタに分類されている全ての楽曲のうち 、利用者 Aが有していないものを抽出して推薦候補とするようにする。すなわち、利用 者 Xが有して 、な 、ものも推薦候補とすることができる。このほかの処理にっ 、ては 第 2の推薦処理と同様であるので、その説明は省略する。
[0071] 次に第 4の推薦処理について、図 9のフローチャートを参照して説明する。この処理 は、例えば、利用者 Aが当該販売サイトにアクセスしたときに開始される。
[0072] ステップ S41において、類似利用者検出部 21は、利用者履歴情報 DB17に保持さ れて 、る利用者 Aのグループ情報に基づき、利用者 Aと同じグループに属する他の 利用者 Xをランダムに決定する。ステップ S42において、差分検出部 22は、利用者 履歴情報 DB 17に保持されて 、る利用者 Aと利用者 Xの履歴情報に基づき、利用者 Xが有している楽曲であって、利用者 Aが有していない楽曲を検出する。なお、この 条件を満たす楽曲が複数存在する場合、そのうちの 1楽曲を例えばランダムに選択 する。検出された楽曲を楽曲 aとする。
[0073] ステップ S43において、推薦クラスタ決定部 23は、クラスタリング済 DB14の楽曲一 クラスタ対応表 16を参照し、楽曲 aが属する各クラスタ層のクラスタを特定する。
ステップ S44において、抽出部 24は、クラスタリング済 DB14のクラスタ一楽曲対応 表 15を参照し、ステップ S43の処理で特定された全てのクラスタに共通して分類され ている楽曲を抽出する。ここで抽出された楽曲を推薦候補とする。推薦候補は複数あ つてかまわない。なお、ステップ S43の処理で特定した全てのクラスタに共通して分 類されている楽曲が存在しない場合、ステップ S43の処理で特定したクラスタのうち、 できるだけ多くのクラスタに共通して分類されている楽曲を抽出し、推薦候補とする。
[0074] ステップ S45において、楽曲選択部 25は、推薦候補の楽曲のうち、ステップ S42で 検出した楽曲 aとクラスタ情報が最も類似している 1楽曲を選択し、選択結果を新規性 判定部 26、および選択理由生成部 27に出力する。ステップ S46において、新規性 判定部 26は、利用者 Aの嗜好ベクトルと、選択された楽曲が属するクラスタに基づき 、新規性の有無を判定し、判定結果を選択理由生成部 27に出力する。選択理由生 成部 27は、選択された楽曲の属するクラスタ層やクラスタに対応するキーワードをク ラスタリング済 DB14から取得し、取得したキーワードなどを用いて選択の理由を示 す選択理由文を生成する。また、新規性判定部 26からの判定結果に基づいても選 択理由文を生成する。 そして、生成した選択理由文を、選択された楽曲の楽曲 IDとともに提示部 28に出力 する。ステップ S47において、提示部 29は、選択された楽曲に関する情報を楽曲 DB カゝら取得して、生成された選択理由文とともに利用者側に提示する。以上で第 4の推 薦処理が終了される。
[0075] 第 4の推薦処理にぉ 、ては、オフライン時の前処理によってグループィ匕されて 、る 利用者のグループ情報を利用するので、利用者 Aの履歴に類似した利用者 Xを速や 力 こ決定することができる。
[0076] 次に第 5および 6の推薦処理について、図 10のフローチャートを参照して説明する まず第 5の推薦処理について説明する。この処理は、例えば、利用者 Aが当該販売 サイトにアクセスしたときに開始される。
[0077] ステップ S51において、類似利用者検出部 21は、利用者履歴情報 DB17に保持さ れて 、る利用者 Aのグループ情報に基づき、利用者 Aと同じグループに属する他の 利用者 Xをランダムに決定する。
[0078] ステップ S52において、差分検出部 22は、利用者 Aの嗜好ベクトルにおいては値 が 0であり、利用者 Xの嗜好ベクトルにお!/、ては 0以外の値である嗜好ベクトルの次元 を検出し、検出した次元に相当するクラスタを推薦クラスタに決定する。
[0079] ステップ S53において、抽出部 24は、利用者履歴情報 DB17とクラスタリング済 DB
14のクラスタ 楽曲対応表 15を参照し、推薦クラスタに分類されて ヽる全ての楽曲 のうち、利用者 Xが有しており、利用者 Aが有していないものを抽出して推薦候補と する。
[0080] ステップ S54において、楽曲選択部 25は、推薦候補の楽曲のうち、以下の 3方法の いずれか、または 3方法を組み合わせた方法により、 1楽曲を選択し、選択結果を新 規性判定部 26、および選択理由生成部 27に出力する。 1つ目の方法は、より多くの 推薦クラスタに共通して属している楽曲を選択する方法である。 2つ目の方法は、クラ スタ層に予め優先順位を付与し、より優先順位の高 、クラスタ層に属する推薦クラス タに分類されている楽曲を選択する方法である。 3つ目の方法は、ランダムに選択す る方法である。 [0081] ステップ S55において、新規性判定部 26は、利用者 Aの嗜好ベクトルと、選択され た楽曲が属するクラスタに基づき、新規性の有無を判定し、判定結果を選択理由生 成部 27に出力する。選択理由生成部 27は、選択された楽曲の属するクラスタ層ゃク ラスタに対応するキーワードをクラスタリング済 DB14力も取得し、取得したキーワード などを用いて選択の理由を示す選択理由文を生成する。また、新規性判定部 26から の判定結果に基づいても選択理由文を生成する。そして、生成した選択理由文を、 選択された楽曲の楽曲 IDとともに提示部 28に出力する。ステップ S56において、提 示部 29は、選択された楽曲に関する情報を楽曲 DBから取得して、生成された選択 理由文とともに利用者側に提示する。以上で第 5の推薦処理が終了される。
[0082] 次に第 6の推薦処理について説明する。第 6の推薦処理は、上述した第 5の推薦処 理におけるステップ S53の処理で、推薦クラスタに分類されている全ての楽曲のうち 、利用者 Aが有していないものを抽出して推薦候補とするようにする。すなわち、利用 者 Xが有して 、な 、ものも推薦候補とすることができる。このほかの処理にっ 、ては 第 5の推薦処理と同様であるので、その説明は省略する。
[0083] 第 5および 6の推薦処理においては、オフライン時の前処理によってグループィ匕さ れて 、る利用者のグループ情報を利用するので、利用者 Aの履歴に類似した利用 者 Xを速やかに決定することができる。
[0084] 次に第 7の推薦処理について、図 11のフローチャートを参照して説明する。まず第 7の推薦処理について説明する。この処理は、利用者 Aの履歴情報が極端に少ない 場合、他の利用者が少ない場合などに適し、例えば、利用者 Aが当該販売サイトに アクセスしたときに開始される。
[0085] ステップ S61において、差分検出部 22は、利用者 Aの嗜好ベクトルの各次元のうち 、その値が所定の値以上のものを検出し、その次元に相当するクラスタを推薦クラス タに決定する。
[0086] ステップ S62において、抽出部 24は、利用者履歴情報 DB17とクラスタリング済 DB 14のクラスタ 楽曲対応表 15を参照し、推薦クラスタに分類されて ヽる全ての楽曲 のうち、利用者 Aが有していないものを抽出して推薦候補とする。
[0087] ステップ S63において、楽曲選択部 25は、推薦候補の楽曲のうち、最も多くの推薦 クラスタに属する 1楽曲を選択し、選択結果を新規性判定部 26、および選択理由生 成部 27に出力する。なお、最も多くの推薦クラスタに属する楽曲が複数存在する場 合、その中から例えばランダムに 1楽曲を選択する。
[0088] ステップ S64にお 、て、新規性判定部 26は、利用者 Aの嗜好ベクトルと、選択され た楽曲が属するクラスタに基づき、新規性の有無を判定し、判定結果を選択理由生 成部 27に出力する。選択理由生成部 27は、選択された楽曲の属するクラスタ層ゃク ラスタに対応するキーワードをクラスタリング済 DB14力も取得し、取得したキーワード などを用いて選択の理由を示す選択理由文を生成する。また、新規性判定部 26から の判定結果に基づいても選択理由文を生成する。そして、生成した選択理由文を、 選択された楽曲の楽曲 IDとともに提示部 28に出力する。ステップ S65において、提 示部 29は、選択された楽曲に関する情報を楽曲 DBから取得して、生成された選択 理由文とともに利用者側に提示する。以上で第 7の推薦処理が終了される。
[0089] 上述した第 1乃至 7の推薦処理によれば、利用者の履歴情報を、各クラスタを 1次 元とする嗜好ベクトルに置き換えて CF手法を適用するので、利用者 Aに対する楽曲 の推薦が楽曲 DB11に存在する全楽曲のうちの一部に集中してしまうことを抑止する ことができる。また、履歴情報が少ない利用者に対しても楽曲を推薦することができ、 いわゆるコールドスタート問題を回避することができる。さらに、推薦された楽曲が選 択された理由を利用者 Aに提示することができ、例えば、利用者 Aは、推薦された楽 曲が自身にとって新規性のあるものであるのか否かを知ることができる。
[0090] なお、本発明は、楽曲を推薦する場合のみならず、楽曲以外のコンテンツ、例えば テレビジョン番組、映画、書籍などを販売する販売サイトにも適用することが可能であ る。
[0091] ところで、上述した一連の処理は、ハードウェアにより実行させることもできる力 ソフ トウエア〖こより実行させることもできる。一連の処理をソフトウェアにより実行させる場合 には、そのソフトウェアを構成するプログラム力 専用のハードウェアに組み込まれて いるコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を 実行することが可能な、例えば図 12に示すように構成される汎用のパーソナルコンビ ユータなどに、記録媒体からインストールされる。 [0092] このパーソナルコンピュータ 100は、 CPU(Central Processing Unit)101を内蔵して いる。 CPU101にはバス 104を介して、入出力インタフェース 105が接続されている。 ノ ス 104には、 ROM(Read Only Memory)102および RAM(Random Access Memory) 103が接続されている。
[0093] 入出力インタフェース 105には、利用者が操作コマンドを入力するキーボード、マウ ス等の入力デバイスよりなる入力部 106、画面を表示する CRT(Cathode Ray Tube)ま たは LCD(Liquid Crystal Display)等のディスプレイよりなる出力部 107、プログラムや 各種データを格納するハードディスクドライブなどよりなる記憶部 108、およびモデム 、 LAN (Local Area Network)アダプタなどよりなり、インタネットに代表されるネットヮー クを介した通信処理を実行する通信部 109が接続されている。また、磁気ディスク(フ レキシブルディスクを含む)、光ディスク(CD- ROM(Compact Disc-Read Only Memor y)、 DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、も しくは半導体メモリなどの記録媒体 111に対してデータを読み書きするドライブ 110 が接続されている。
[0094] このパーソナルコンピュータ 100に上述した一連の処理を実行させるプログラムは、 記録媒体 111に格納された状態でパーソナルコンピュータ 100に供給され、ドライブ 110によって読み出されて記憶部 108に内蔵されるハードディスクドライブにインスト ールされている。記憶部 108にインストールされているプログラムは、入力部 106に入 力される利用者からのコマンドに対応する CPU101の指令によって、記憶部 108から RAM103にロードされて実行される。
[0095] 図 13は、本発明の一実施の形態の推薦システム 1の他の構成の例を示すブロック 図である。図 13において、図 1に示す場合と同様の部分には同一の符号を付してあ り、その説明は省略する。
[0096] 図 13に示される推薦システム 1は、楽曲 DB11、キーワード設定部 13、クラスタリン グ済 DB14、利用者履歴情報 DB17、推薦候補選択部 18、楽曲選択部 25、新規性 判定部 26、選択理由生成部 27、提示部 28、メタデータクラスタリング部 201、および 楽曲クラスタリング部 202から構成される。
[0097] メタデータクラスタリング部 201は、楽曲データベース 11に記録されている各楽曲 のメタデータをクラスタリングする。すなわち、メタデータクラスタリング部 201は、コン テンッである楽曲のメタデータを複数のクラスタの 、ずれかに分類し、クラスタに階層 を割り当てる。
[0098] メタデータクラスタリング部 201は、各楽曲のメタデータのクラスタリングの結果を楽 曲クラスタリング部 202に供給する。
[0099] 楽曲クラスタリング部 202は、メタデータクラスタリング部 201による各楽曲のメタデ ータのクラスタリングの結果を基に、クラスタリング部 12と同様に、各楽曲をクラスタリ ングして各楽曲のクラスタ情報を生成する。すなわち、楽曲クラスタリング部 202は、 各楽曲のクラスタリングの結果に応じたクラスタ情報を生成してクラスタリング済 DB14 に出力する。
[0100] また、図 13に示される推薦システム 1の推薦候補選択部 18は、嗜好ベクトル生成 部 19、利用者グループ化部 20、差分検出部 22、推薦クラスタ決定部 23、抽出部 24 、および類似利用者検出部 203を含む。
[0101] 類似利用者検出部 203は、利用者履歴情報 DB17に保持されている各利用者の 嗜好ベクトルを比較することにより、楽曲が推薦される利用者と嗜好ベクトルが類似し ている他の利用者を検出する。より詳細には、類似利用者検出部 203は、利用者の 嗜好情報の一例である嗜好ベクトルを正規化し、正規化された各利用者の嗜好べク トルから、利用者のそれぞれについて階層毎の重みを計算し、階層毎の重みと嗜好 ベクトルとから、利用者間の嗜好の類似の度合いを示す類似度を計算し、計算され た類似度から、第 1の利用者と嗜好が類似している第 2の利用者を検出する。
[0102] 次に、図 14のフローチャートを参照して、図 13に示される推薦システム 1における、 楽曲を推薦する処理の準備であるオフライン時の前処理の他の例について説明する
[0103] ステップ S201において、メタデータクラスタリング部 201は、楽曲 DB11から楽曲の メタデータを取得して、取得したメタデータの次元を圧縮する。例えば、ステップ S20 1において、メタデータクラスタリング部 201は、楽曲 DB11から取得した楽曲のメタデ ~~タの次兀 、 LbA {the latent semantic analysis)、 PLbA {the probabilistic latent se mantic analysis)、または数量化 III類などの手法により圧縮する。 [0104] なお、ステップ S201において、メタデータクラスタリング部 201は、楽曲のメタデー タをベクトルィ匕するようにしてもょ 、。
[0105] ステップ S202において、メタデータクラスタリング部 201は、各楽曲のメタデータを クラスタリングする。例えば、ステップ S 202において、メタデータクラスタリング部 201 は、各楽曲のメタデータをソフトクラスタリングする。
[0106] より具体的には、例えば、図 15で示されるように、メタデータクラスタリング部 201は 、それぞれの階層内において、アイテムの各クラスタへの帰属重みの和が 1となるよう に、各楽曲のメタデータをソフトクラスタリングする。
[0107] 例えば、 ABC123である楽曲 IDで特定される楽曲のメタデータの第 1階層における 第 1のクラスタ、第 2のクラスタ、第 3のクラスタ、および第 4のクラスタへの帰属重みは 、それぞれ、 0. 0、 0. 8、 0. 0、および 0. 2である。 ABC123である楽曲 IDで特定され る楽曲のメタデータの第 2階層における第 5のクラスタ、第 6のクラスタ、第 7のクラスタ 、および第 8のクラスタへの帰属重みは、それぞれ、 0. 4、 0. 6、 0. 0、および 0. 0で ある。 ABC123である楽曲 IDで特定される楽曲のメタデータの第 3階層における第 9 のクラスタ、第 10のクラスタ、および第 11のクラスタへの帰属重みは、それぞれ、 0. 0 、 0. 0、および 1. 0である。また、 ABC123である楽曲 IDで特定される楽曲のメタデー タの第 n階層における 4つのクラスタのそれぞれへの帰属重みは、それぞれ、 1. 0, 0 . 0、 0. 0、および 0. 0である。
[0108] 例えば、 CTH863である楽曲 IDで特定される楽曲のメタデータの第 1階層における 第 1のクラスタ、第 2のクラスタ、第 3のクラスタ、および第 4のクラスタへの帰属重みは 、それぞれ、 1. 0、 0. 0、 0. 0、および 0. 0である。 CTH863である楽曲 IDで特定され る楽曲のメタデータの第 2階層における第 5のクラスタ、第 6のクラスタ、第 7のクラスタ 、および第 8のクラスタへの帰属重みは、それぞれ、 0. 0、 0. 5、 0. 5、および 0. 0で ある。 CTH863である楽曲 IDで特定される楽曲のメタデータの第 3階層における第 9 のクラスタ、第 10のクラスタ、および第 11のクラスタへの帰属重みは、それぞれ、 0. 7 、 0. 3、および 0. 0である。また、 CTH863である楽曲 IDで特定される楽曲のメタデー タの第 n階層における 4つのクラスタのそれぞれへの帰属重みは、それぞれ、 0. 0、 0 . 8、 0. 2、および 0. 0である。 [0109] 例えば、 XYZ567である楽曲 IDで特定される楽曲のメタデータの第 1階層における 第 1のクラスタ、第 2のクラスタ、第 3のクラスタ、および第 4のクラスタへの帰属重みは 、それぞれ、 0. 0、 0. 4、 0. 6、および 0. 0である。 XYZ567である楽曲 IDで特定され る楽曲のメタデータの第 2階層における第 5のクラスタ、第 6のクラスタ、第 7のクラスタ 、および第 8のクラスタへの帰属重みは、それぞれ、 0. 0、 0. 0、 0. 0、および 1. 0で ある。 XYZ567である楽曲 IDで特定される楽曲のメタデータの第 3階層における第 9の クラスタ、第 10のクラスタ、および第 11のクラスタへの帰属重みは、それぞれ、 0. 9、 0. 0、および 0. 1である。また、 XYZ567である楽曲 IDで特定される楽曲のメタデータ の第 n階層における 4つのクラスタのそれぞれへの帰属重みは、それぞれ、 0. 3、 0. 0、 0. 0、および 0. 7である。
[0110] なお、各楽曲のメタデータのソフトクラスタリングは、それぞれの階層内において、ァ ィテム、すなわち楽曲の各クラスタへの帰属重みの和が 1となるものに限られない。ま た、各アイテムが各階層において、いずれのクラスタに属さないものとしてもよい。
[0111] ステップ S203において、メタデータクラスタリング部 201は、クラスタの層を割り当て る。
[0112] ここで、図 16および図 17を参照して、メタデータのクラスタリングおよびクラスタの層 の割り当てについて説明する。図 16は、メタデータの例を示す図である。図 16で示さ れるメタデータは、簡単のため、 0または 1のいずれかの値のカテゴリカルデータとさ れている。
[0113] 高次の分類としてのメタグループ 1には、メタデータ 1、メタデータ 2、およびメタデー タ 3が属し、高次の分類としてのメタグループ 2には、メタデータ 4、メタデータ 5、およ びメタデータ 6が属する。例えば、メタグループ 1には、アーティストに関するメタデー タが属し、メタデータ 1は、アーティストの外観を示し、メタデータ 2は、グループである ことを示す。また、例えば、メタグループ 2には、ジャンルに関するメタデータが属し、 メタデータ 4は、ポップスであることを示し、メタデータ 5は、ロックであることを示す。
[0114] 図 16に示す例において、 ABC123である楽曲 IDで特定される楽曲のメタデータ 1乃 至メタデータ 6は、それぞれ、 1, 1, 1, 1, 1, 1であり、 CTH863である楽曲 IDで特定 される楽曲のメタデータ 1乃至メタデータ 6は、それぞれ、 0, 1, 0, 0, 1, 1であり、 XY Z567である楽曲 IDで特定される楽曲のメタデータ 1乃至メタデータ 6は、それぞれ、 1 , 1, 1, 1, 1, 1である。また、 EKF534である楽曲 IDで特定される楽曲のメタデータ 1 乃至メタデータ 6は、それぞれ、 1, 0, 1, 0, 0, 1であり、 OPQ385である楽曲 IDで特 定される楽曲のメタデータ 1乃至メタデータ 6は、それぞれ、 1, 0, 1, 1, 0, 0である。
[0115] このとき、 ABC123である楽曲 IDで特定される楽曲乃至 OPQ385である楽曲 IDで特 定される楽曲についての、メタデータ 1をベクトルとみなす。同様に、 ABC123である 楽曲 IDで特定される楽曲乃至 OPQ385である楽曲 IDで特定される楽曲についての、 メタデータ 2乃至メタデータ 6のそれぞれをベクトルとみなす。すなわち、複数の楽曲 についての 1つのメタデータの値をベクトルとみなす。
[0116] このベクトル同士の距離に注目する。
[0117] 図 16で示される例において、ベクトルとみなされたメタデータ 1、メタデータ 3、メタデ ータ 4が、マンハッタン距離 1以内のクラスタに、また、メタデータ 2、メタデータ 5、メタ データ 6が、マンハッタン距離 1以内の他のクラスタに、まとまつている。
[0118] そこで、これらのクラスタを、新たなメタデータの階層とする。すなわち、階層のそれ ぞれの層に、より近 、メタデータが割り付けられる。
[0119] 図 17は、このようにクラスタリングされ、層が割り付けられたメタデータの例を示す。
図 17に示す例において、第 1層には、メタデータ 1、メタデータ 3、およびメタデータ 4 が属し、第 2層には、メタデータ 2、メタデータ 5、およびメタデータ 6が属する。
[0120] このように、相関の高いメタデータの集まりでそれぞれの層が形成され、その中でコ ンテンッのクラスタリングが行われるので、ジャンルやアーティストなどをそのまま階層 とするような通常の階層分けでは表現しきれない微妙なコンテンツ間の差をクラスタ に反映することができる。
[0121] 図 14に戻り、ステップ S204において、楽曲クラスタリング部 202は、層毎に楽曲を クラスタリングする。すなわち、楽曲クラスタリング部 202は、各コンテンツを、割り当て られた階層のそれぞれにお ヽて複数のクラスタの ヽずれかに分類する。
[0122] ステップ S205およびステップ S206は、それぞれ、図 6のステップ S2およびステツ プ S3と同様なので、その説明は省略する。
[0123] このようにすることで、メタデータによるコンテンツの表現の詳細度(表現の詳細さの 度合い)を保ったまま、データ量および計算量を削減して、コンテンツをクラスタリング することができる。
[0124] また、以上のように、メタデータを階層化することにより、コンテンツ間の微妙な相違 力 く表現されるようにコンテンツをクラスタリングすることができる。
[0125] 次に、類似利用者検出部 203の詳細について説明する。
[0126] 図 18は、類似利用者検出部 203の構成の例を示すブロック図である。類似利用者 検出部 203は、正規化部 231、重み計算部 232、および類似度計算部 233から構成 される。
[0127] 正規化部 231は、利用者の嗜好情報の一例である嗜好ベクトルを正規化する。重 み計算部 232は、正規ィ匕された各利用者の嗜好ベクトルから、利用者のそれぞれに ついて階層毎の重みを計算する。類似度計算部 233は、階層毎の重みと嗜好べタト ルとから、楽曲を推薦しょうとする利用者と、他の利用者との嗜好の類似の度合いを 示す類似度を計算する。
[0128] 次に、図 8のステップ S21に対応する、類似利用者検出部 203による、嗜好の類似 する利用者 Xの検出の処理を、図 19のフローチャートを参照して説明する。
[0129] ステップ S231において、正規化部 231は、利用者それぞれの嗜好ベクトルを正規 化する。
[0130] 図 20および図 21を参照して、嗜好ベクトルの正規化について説明する。図 20は、 嗜好ベクトル生成部 19にお 、て生成され、利用者履歴情報 DB 17に保持されて 、る 各利用者の嗜好ベクトルの例を示す図である。すなわち、図 20は、正規化される前 の嗜好ベクトルの例を示す。
[0131] 図 20で示される嗜好ベクトルの要素のうち、最初の 4つの要素が第 1層に属し、次 の 4つの要素が第 2層に属し、さらに次の 3つの要素が第 3層に属し、最後の 4つの要 素が第 4層に属する。
[0132] 図 20に示す例において、 U001であるユーザ IDで特定される利用者の嗜好ベクトル は、 (0. 0, 2. 8, 0. 0, 2. 2, 0. 4, 0. 6, 0. 8, 0. 0, 0. 5, 0. 4, 0. 4, 0. 0, 0. 5 , 0. 4, 0. 0)である。ここで、それぞれ 0. 0, 2. 8, 0. 0, 2. 2である最初の 4つの要 素は、第 1層に属し、それぞれ 0. 4, 0. 6, 0. 8, 0. 0である次の 4つの要素は、第 2 層に属し、それぞれ 0. 5, 0. 4, 0. 4であるさらに次の 3つの要素は、第 3層に属し、 それぞれ 0. 0, 0. 5, 0. 4, 0. 0である最後の 4つの要素は、第 4層に属する。
[0133] 図 20に示す例において、 U002であるユーザ IDで特定される利用者の嗜好ベクトル は、 (0. 2, 0. 8, 0. 5, 0. 6, 0. 0, 0. 5, 0. 5, 0. 0, 0. 7, 0. 3, 0. 6, 0. 0, 0. 6 , 0. 2, 0. 0)である。ここで、それぞれ 0. 2, 0. 8, 0. 5, 0. 6である最初の 4つの要 素は、第 1層に属し、それぞれ 0. 0, 0. 5, 0. 5, 0. 0である次の 4つの要素は、第 2 層に属し、それぞれ 0. 7, 0. 3, 0. 6であるさらに次の 3つの要素は、第 3層に属し、 それぞれ 0. 0, 0. 6, 0. 2, 0. 0である最後の 4つの要素は、第 4層に属する。
[0134] 図 20に示す例において、 U003であるユーザ IDで特定される利用者の嗜好ベクトル は、 (0. 0, 2. 2, 0. 1, 1. 6, 0. 0, 1. 0, 2. 0, 1. 4, 0. 0, 1. 2, 0. 1, 0. 3, 0. 4 , 0. 6, 0. 7)である。ここで、それぞれ 0. 0, 2. 2, 0. 1, 1. 6である最初の 4つの要 素は、第 1層に属し、それぞれ 0. 0, 1. 0, 2. 0, 1. 4である次の 4つの要素は、第 2 層に属し、それぞれ 0. 0, 1. 2, 0. 1であるさらに次の 3つの要素は、第 3層に属し、 それぞれ 0. 3, 0. 4, 0. 6, 0. 7である最後の 4つの要素は、第 4層に属する。
[0135] 例えば、ステップ S231において、正規ィ匕部 231は、それぞれの層におけるノルム が 1になるように、それぞれの嗜好ベクトルを正規化する。
[0136] 図 21は、図 20の嗜好ベクトルを、それぞれの層におけるノルムが 1になるように正 規ィ匕した嗜好ベクトルの例を示す図である。
[0137] 図 21に示す例において、 U001であるユーザ IDで特定される利用者の正規化され た嗜好ベクトルは、 (0. 0, 0. 8, 0. 0, 0. 6, 0. 4, 0. 6, 0. 7, 0. 0, 0. 7, 0. 5, 0 . 5, 0. 0, 0. 5, 0. 4, 0. 0)である。ここで、それぞれ 0. 0, 0. 8, 0. 0, 0. 6である 最初の 4つの要素は、第 1層に属し、それぞれ 0. 4, 0. 6, 0. 7, 0. 0である次の 4つ の要素は、第 2層に属し、それぞれ 0. 7, 0. 5, 0. 5であるさらに次の 3つの要素は、 第 3層に属し、それぞれ 0. 0, 0. 5, 0. 4, 0. 0である最後の 4つの要素は、第 4層に 属する。
[0138] 図 21に示す例において、 U002であるユーザ IDで特定される利用者の正規化され た嗜好ベクトルは、 (0. 2, 0. 7, 0. 4, 0. 5, 0. 0, 0. 7, 0. 7, 0. 0, 0. 7, 0. 3, 0 . 6, 0. 0, 0. 8, 0. 3, 0. 0)である。ここで、それぞれ 0. 2, 0. 7, 0. 4, 0. 5である 最初の 4つの要素は、第 1層に属し、それぞれ 0. 0, 0. 7, 0. 7, 0. 0である次の 4つ の要素は、第 2層に属し、それぞれ 0. 7, 0. 3, 0. 6であるさらに次の 3つの要素は、 第 3層に属し、それぞれ 0. 0, 0. 8, 0. 3, 0. 0である最後の 4つの要素は、第 4層に 属する。
[0139] 図 21に示す例において、 U003であるユーザ IDで特定される利用者の正規化され た嗜好ベクトルは、 (0. 0, 0. 8, 0. 0, 0. 6, 0. 0, 0. 4, 0. 8, 0. 5, 0. 0, 1. 0, 0 . 1, 0. 3, 0. 2, 0. 2, 0. 3)である。ここで、それぞれ 0. 0, 0. 8, 0. 0, 0. 6である 最初の 4つの要素は、第 1層に属し、それぞれ 0. 0, 0. 4, 0. 8, 0. 5である次の 4つ の要素は、第 2層に属し、それぞれ 0. 0, 1. 0, 0. 1であるさらに次の 3つの要素は、 第 3層に属し、それぞれ 0. 3, 0. 2, 0. 2, 0. 3である最後の 4つの要素は、第 4層に 属する。
[0140] 図 19に戻り、ステップ S232において、重み計算部 232は、利用者それぞれの嗜好 ベクトルの階層のそれぞれについて、重みを計算する。例えば、ステップ S232にお いて、重み計算部 232は、それぞれの階層毎に、 1つの階層に属する要素の分散で ある重みを計算する。
[0141] 図 22は、利用者それぞれについて階層毎に計算された、それぞれの階層に属す る要素の分散である重みの例を示す図である。図 22に示す例において、 U001である ユーザ IDで特定される利用者についての第 1層の重み、第 2層の重み、第 3層の重 み、および第 4層の重みは、それぞれ、 0. 17、 0. 10、 0. 01、および 0. 06である。
[0142] U002であるユーザ IDで特定される利用者についての第 1層の重み、第 2層の重み 、第 3層の重み、および第 4層の重みは、それぞれ、 0. 05、 0. 17、 0. 05、および 0 . 16である。また、 U003であるユーザ IDで特定される利用者についての第 1層の重 み、第 2層の重み、第 3層の重み、および第 4層の重みは、それぞれ、 0. 16、 0. 10 、 0. 31、および 0. 00である。
[0143] ステップ S233において、類似度計算部 233は、利用者のそれぞれについて、重み 付けした嗜好の類似度を計算する。ステップ S234において、類似利用者検出部 20 3は、利用者から、最大の嗜好の類似度の利用者 Xを検出して、処理は終了する。
[0144] 仮に、式(1)により、利用者 uおよび利用者 Vの類似度 sim (u,v)を重み付けせずに 計算するとすれば、利用者 Xを U001であるユーザ IDで特定される利用者とした場合 、 U002であるユーザ IDで特定される利用者および U003であるユーザ IDで特定され る利用者にっ 、ての類似度は、図 23に示されるようになる。
[0145] [数 1] s i m ( u, V) = ∑ ∑ hu| G hv| G ' · ' ( 1 )
l eL ceC ( l )
[0146] 式(1)において、 Lは、嗜好ベクトルの階層の数を示す値であり、 1は、嗜好ベクトル の階層を特定する値である。 C(l)は、嗜好ベクトルのクラスタの全体を示し、 cは、クラ スタを特定する値である。 hは、正規化された嗜好ベクトルの要素の値を示す。
[0147] U001であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、第 1層の要 素と、 U002であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、第 1層 の要素とが、対応する要素同士で乗算され、乗算された結果が積算されると、図 23 の U002であるユーザ IDの第 1層に配置した値である 0. 88が求められる。同様に、第 2層、第 3層、および第 4層について、 U001であるユーザ IDで特定される利用者の嗜 好ベクトルの要素と、 U002であるユーザ IDで特定される利用者の嗜好ベクトルの要 素とが、対応する要素同士で乗算され、乗算された結果が積算されると、図 23の U00 2であるユーザ IDの第 2層、第 3層、および第 4層のそれぞれに配置した値である 0. 92、 0. 97、 0. 50力求められる。
[0148] 最終的に、 U001であるユーザ IDで特定される利用者と U002であるユーザ IDで特 定される利用者との嗜好の類似度は、第 1層、第 2層、第 3層、および第 4層のそれぞ れ【こつ 、て求められた 0. 88、 0. 92、 0. 97、および 0. 50をカロ算した値である 3. 2 7とされる。
[0149] 同様に、 U001であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、 第 1層の要素と、 U003であるユーザ IDで特定される利用者の嗜好ベクトルの要素の うち、第 1層の要素とが、対応する要素同士で乗算され、乗算された結果が積算され ると、図 23の U003であるユーザ IDの第 1層に配置した値である 1. 00が求められる。 同様に、第 2層、第 3層、および第 4層について、 U001であるユーザ IDで特定される 利用者の嗜好ベクトルの要素と、 U003であるユーザ IDで特定される利用者の嗜好べ タトルの要素とが、対応する要素同士で乗算され、乗算された結果が積算されると、 図 23の U003であるユーザ IDの第 2層、第 3層、および第 4層のそれぞれに配置した 値である 0. 77、 0. 57、 0. 15力求められる。
[0150] 最終的に、 U001であるユーザ IDで特定される利用者と U003であるユーザ IDで特 定される利用者との嗜好の類似度は、第 1層、第 2層、第 3層、および第 4層のそれぞ れ【こつ 、て求められた 1. 00、 0. 77、 0. 57、および 0. 15をカロ算した値である 2. 5 0とされる。
[0151] このように、重み付けせずに類似度を計算すると、 U001であるユーザ IDで特定され る利用者と U002であるユーザ IDで特定される利用者との嗜好の類似度力 U001で あるユーザ IDで特定される利用者と U003であるユーザ IDで特定される利用者との嗜 好の類似度より大きいので、最大の嗜好の類似度の利用者 Xとして、 U002であるュ 一ザ IDで特定される利用者が検出されることになる。
[0152] これに対して、ステップ S233において、類似度計算部 233は、式(2)により、重み 付けした、利用者 uおよび利用者 Vの類似度 sim (u,v)を計算する。
[0153] [数 2] s i m ( u,v) = ∑ L u| hu |G - bv| hv| c ' · ' ( 2 )
l eL ceC ( l )
[0154] 式(1)において、 Lは、嗜好ベクトルの階層の数を示す値であり、 1は、嗜好ベクトル の階層を特定する値である。 C(l)は、嗜好ベクトルのクラスタの全体を示し、 cは、クラ スタを特定する値である。 hは、正規化された嗜好ベクトルの要素の値を示す。 bは、 階層のそれぞれにつ!/、ての重みを示す。
[0155] 図 24は、利用者 Xを U001であるユーザ IDで特定される利用者とした場合、 U002で あるユーザ IDで特定される利用者および U003であるユーザ IDで特定される利用者 についての重み付けした嗜好の類似度の例を示す図である。なお、図 24に示される 値は、式(2)で算出される類似度 sim (u,v)を 100倍したものである。
[0156] U001であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、第 1層の要 素のそれぞれに、 U001であるユーザ IDで特定される利用者の第 1層の重みが乗算 され、 U002であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、第 1層 の要素のそれぞれに、 U002であるユーザ IDで特定される利用者の第 1層の重みが 乗算され、対応する要素同士で乗算され、乗算された結果が積算されると、図 24の U 002であるユーザ IDの第 1層に配置した値である 0. 72が求められる。
[0157] 同様に、第 2層、第 3層、および第 4層について、 U001であるユーザ IDで特定され る利用者の嗜好ベクトルの要素のそれぞれに、 U001であるユーザ IDで特定される利 用者の第 1層の重みが乗算され、 U002であるユーザ IDで特定される利用者の嗜好 ベクトルの要素のそれぞれに、 U002であるユーザ IDで特定される利用者の第 1層の 重みが乗算され、対応する要素同士で乗算され、乗算された結果が積算されると、 図 24の U002であるユーザ IDの第 2層、第 3層、および第 4層のそれぞれに配置した 値である 1. 54、 0. 03、 0. 48力求められる。
[0158] 最終的に、 U001であるユーザ IDで特定される利用者と U002であるユーザ IDで特 定される利用者との重み付けされた嗜好の類似度は、第 1層、第 2層、第 3層、および 第 4層のそれぞれ【こつ!ヽて求められた 0. 72、 1. 54、 0. 03、および 0. 48をカロ算し た値である 2. 76とされる。
[0159] 同様に、 U001であるユーザ IDで特定される利用者の嗜好ベクトルの要素のうち、 第 1層の要素のそれぞれに、 U001であるユーザ IDで特定される利用者の第 1層の重 みが乗算され、 U003であるユーザ IDで特定される利用者の嗜好ベクトルの要素のう ち、第 1層の要素のそれぞれに、 U003であるユーザ IDで特定される利用者の第 1層 の重みが乗算され、対応する要素同士で乗算され、乗算された結果が積算されると、 図 24の U003であるユーザ IDの第 1層に配置した値である 2. 74が求められる。同様 に、第 2層、第 3層、および第 4層について、 U001であるユーザ IDで特定される利用 者の嗜好ベクトルの要素のそれぞれに、 U001であるユーザ IDで特定される利用者の 第 1層の重みが乗算され、 U003であるユーザ IDで特定される利用者の嗜好ベクトル の要素のそれぞれに、 U003であるユーザ IDで特定される利用者の第 1層の重みが 乗算され、対応する要素同士で乗算され、乗算された結果が積算されると、図 24の U 003であるユーザ IDの第 2層、第 3層、および第 4層のそれぞれに配置した値である 0 . 79、 0. 10、 0. 00力求められる。
[0160] 最終的に、 U001であるユーザ IDで特定される利用者と U003であるユーザ IDで特 定される利用者との重み付けされた嗜好の類似度は、第 1層、第 2層、第 3層、および 第 4層のそれぞれ【こつ!ヽて求められた 2. 74、 0. 79、 0. 10、および 0. 00をカロ算し た値である 3. 64とされる。
[0161] この結果、重み付けして類似度を計算すると、 U001であるユーザ IDで特定される 利用者と U003であるユーザ IDで特定される利用者との嗜好の類似度力 U001であ るユーザ IDで特定される利用者と U002であるユーザ IDで特定される利用者との嗜 好の類似度より大きいので、最大の嗜好の類似度の利用者 Xとして、 U003であるュ 一ザ IDで特定される利用者が検出される。
[0162] 図 20で示される嗜好ベクトルに注目すると、 U001であるユーザ IDで特定される利 用者の嗜好ベクトルの各要素の値は、第 2層乃至第 4層に比較して、第 1層において 大きく変化しているので、第 2層乃至第 4層に比較して、第 1層の各要素の値が、 U00 1であるユーザ IDで特定される利用者の嗜好により関係すると予測される。
[0163] U002であるユーザ IDで特定される利用者の嗜好ベクトル、および U003であるユー ザ IDで特定される利用者の嗜好ベクトルの第 1層の各要素の値について注目すると 、 U003であるユーザ IDで特定される利用者の嗜好ベクトルの第 1層の各要素の値が 、 U002であるユーザ IDで特定される利用者の嗜好ベクトルの第 1層の各要素の値よ り、 U001であるユーザ IDで特定される利用者の嗜好ベクトルの第 1層の各要素の値 に近似している。従って、 U002であるユーザ IDで特定される利用者に比較して、 U00 3であるユーザ IDで特定される利用者の嗜好は、 U001であるユーザ IDで特定される 利用者の嗜好に類似していると予測される。
[0164] このように、重み付けすることによって、利用者の嗜好にあまり関係しないと予測さ れる値に比較して、利用者の嗜好により関係すると予測される値によって、その値が より大きく変化する嗜好の類似度を求めることができるので、より正確に、嗜好の類似 する利用者を検出することができる。
[0165] なお、ステップ S232において、重み計算部 232は、例えば、それぞれの階層に属 する要素の分散である重みを計算すると説明したが、これに限らず、階層における要 素のばらつきが大きい場合により大きい値となる重みを計算すればよぐ例えば、式( 3)によりエントロピー Hを算出し、 1からエントロピー Hを引き算した結果得られる値で ある重みを計算するようにしてもょ 、。
[0166] [数 3]
H(i) = ∑ h|Glogh|G … (3)
ceC(l)
[0167] このように、情報の欠落を最小限に抑えつつ、適切なコンテンツを選択するための 計算量を削減することができる。また、利用者がどのような情報に着目してコンテンツ を選択して ヽるかを確実に反映したコンテンツを提示することができるようになる。
[0168] なお、本明細書にぉ 、て、プログラムに基づ 、て実行されるステップは、記載された 順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されな くとも、並列的あるいは個別に実行される処理をも含むものである。
[0169] また、プログラムは、 1台のコンピュータにより処理されるものであってもよいし、複数 のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠 方のコンピュータに転送されて実行されるものであってもよい。
[0170] また、本明細書において、システムとは、複数の装置により構成される装置全体を 表すものである。
[0171] なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなぐ本 発明の要旨を逸脱しな 、範囲にぉ 、て種々の変更が可能である。

Claims

請求の範囲
[1] コンテンツ群のなカゝから所定の条件を満たすコンテンツを選択して利用者に提示す る情報処理装置において、
前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層 のそれぞれにおいて複数の第 1のクラスタのいずれか〖こ分類するコンテンツ分類手 段と、
各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記第 1の クラスタとの対応関係を示すデータベースを保持する保持手段と、
前記利用者のコンテンツに対する履歴情報を管理する管理手段と、
前記履歴情報に基づき、注目する第 1のクラスタを特定し、特定した前記第 1のクラ スタに分類されているコンテンツを選択する選択手段と、
選択された前記コンテンツを提示する提示手段と
を含む情報処理装置。
[2] 前記選択手段は、
第 1の利用者と前記履歴情報が類似している第 2の利用者を検出する検出手段と 前記第 1の利用者の履歴情報上に存在せず、前記第 2の利用者の履歴情報上に 存在するコンテンツが分類されている第 1のクラスタを特定する特定手段と、
特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽出手段と を含み、
前記提示手段は、前記第 1の利用者に対して抽出された前記コンテンツを提示す る
請求項 1に記載の情報処理装置。
[3] 利用者の履歴情報と前記データベースに基づき、前記利用者の嗜好を前記第 1の クラスタ単位で示す嗜好情報を生成する生成手段と、
前記嗜好情報に基づいて利用者をグループィヒするグループィヒ手段とをさらに含み 前記選択手段は、 第 1の利用者と同じグループに属する第 2の利用者を検出する検出手段と、 前記第 1の利用者の履歴情報上に存在せず、前記第 2の利用者の履歴情報上に 存在するコンテンツが分類されている第 1のクラスタを特定する特定手段と、
特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽出手段と を含み、
前記提示手段は、前記第 1の利用者に対して抽出された前記コンテンツを提示す る
請求項 1に記載の情報処理装置。
[4] 利用者の履歴情報と前記データベースに基づき、前記利用者の嗜好を前記第 1の クラスタ単位で示す嗜好情報を生成する生成手段をさらに含み、
前記選択手段は、
第 1の利用者と前記嗜好情報で示される嗜好が類似している第 2の利用者を検出 する検出手段と、
前記第 1の利用者の嗜好情報と前記第 2の利用者の嗜好情報に基づいて注目す る第 1のクラスタを特定する特定手段と、
特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽出手段と を含み、
前記提示手段は、前記第 1の利用者に対して抽出された前記コンテンツを提示す る
請求項 1に記載の情報処理装置。
[5] 前記検出手段は、
利用者の嗜好情報を正規化する正規化手段と、
正規化された各利用者の嗜好情報から、利用者のそれぞれについて階層毎の重 みを計算する重み計算手段と、
階層毎の重みと前記嗜好情報とから、利用者のうちの第 1の利用者と、利用者の うちの他の利用者との嗜好の類似の度合いを示す類似度を計算する類似度計算手 段と
を含み、 計算された類似度から、第 1の利用者と嗜好が類似している第 2の利用者を検出す る
請求項 4に記載の情報処理装置。
[6] 利用者の履歴情報と前記データベースに基づき、前記利用者の嗜好を前記第 1の クラスタ単位で示す嗜好情報を生成する生成手段と、
前記嗜好情報に基づいて利用者をグループィヒするグループィヒ手段とをさらに含み 前記選択手段は、
第 1の利用者と同じグループに属する第 2の利用者を検出する検出手段と、 前記第 1の利用者の嗜好情報と前記第 2の利用者の嗜好情報に基づいて注目す る第 1のクラスタを特定する特定手段と、
特定された前記第 1のクラスタに分類されているコンテンツを抽出する抽出手段と を含み、
前記提示手段は、前記第 1の利用者に対して抽出された前記コンテンツを提示す る
請求項 1に記載の情報処理装置。
[7] 前記コンテンツ分類手段によって前記メタデータが分類される第 1のクラスタのそれ ぞれに対してキーワードを設定する設定手段と、
前記設定手段によって設定されたキーワードを用い、コンテンツの提示理由を表す 理由文を作成する作成手段とをさらに含み、
前記提示手段は、前記理由文も提示する
請求項 1に記載の情報処理装置。
[8] コンテンツのメタデータを複数の第 2のクラスタのいずれかに分類し、第 2のクラスタ に前記階層を割り当てるメタデータ分類手段を更に含み、
前記コンテンツ分類手段は、各コンテンツを、割り当てられた前記階層のそれぞれ にお 、て複数の第 1のクラスタの 、ずれかに分類する
請求項 1に記載の情報処理装置。
[9] 利用者の履歴情報と前記データベースに基づき、前記利用者の嗜好を前記第 1の クラスタ単位で示す嗜好情報を生成する生成手段をさらに含み、
前記選択手段は、全部の前記階層の全部の前記第 1のクラスタのうち、前記嗜好 情報で示される前記第 1のクラスタであって、最も多くの前記第 1のクラスタに分類さ れて ヽるコンテンツを選択する
請求項 1に記載の情報処理装置。
[10] コンテンツ群のなカゝから所定の条件を満たすコンテンツを選択して利用者に提示す る情報処理装置の情報処理方法にぉ 、て、
前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた各階 層にお 、て複数のクラスタの!/、ずれかに分類し、
各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラス タとの対応関係を示すデータベースを保持し、
前記利用者のコンテンッに対する履歴情報を管理し、
前記履歴情報に基づき、注目するクラスタを特定し、特定した前記クラスタに分類さ れて ヽるコンテンツを選択し、
選択された前記コンテンッを提示する
ステップを含む情報処理方法。
[11] コンテンツ群のなカゝから所定の条件を満たすコンテンツを選択して利用者に推薦す るためのプログラムであって、
前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた各階 層にお 、て複数のクラスタの!/、ずれかに分類し、
各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラス タとの対応関係を示すデータベースを保持し、
前記利用者のコンテンッに対する履歴情報を管理し、
前記履歴情報に基づき、注目するクラスタを特定し、特定した前記クラスタに分類さ れて ヽるコンテンツを選択し、
選択された前記コンテンッを提示する
ステップを含む処理をコンピュータに実行させるプログラム。
PCT/JP2006/318373 2005-09-28 2006-09-15 情報処理装置、方法、およびプログラム WO2007037139A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP06798036A EP1835419A4 (en) 2005-09-28 2006-09-15 DEVICE, METHOD AND INFORMATION PROGRAM FOR INFORMATION PROCESSING
CN200680001299A CN100594496C (zh) 2005-09-28 2006-09-15 信息处理装置和方法
US11/791,361 US8117211B2 (en) 2005-09-28 2006-09-15 Information processing device and method, and program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-281357 2005-09-28
JP2005281357 2005-09-28
JP2006-151012 2006-05-31
JP2006151012A JP4378646B2 (ja) 2005-09-28 2006-05-31 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2007037139A1 true WO2007037139A1 (ja) 2007-04-05

Family

ID=37899569

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/318373 WO2007037139A1 (ja) 2005-09-28 2006-09-15 情報処理装置、方法、およびプログラム

Country Status (6)

Country Link
US (1) US8117211B2 (ja)
EP (1) EP1835419A4 (ja)
JP (1) JP4378646B2 (ja)
KR (1) KR20080045659A (ja)
CN (1) CN100594496C (ja)
WO (1) WO2007037139A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920630A (zh) * 2018-06-29 2018-11-30 联想(北京)有限公司 一种数据处理方法及电子设备

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9065727B1 (en) 2012-08-31 2015-06-23 Google Inc. Device identifier similarity models derived from online event signals
US8244673B2 (en) * 2006-08-30 2012-08-14 Panasonic Corporation Information presenting device, information presenting method, information presenting program, and integrated circuit
JP5392808B2 (ja) * 2007-11-27 2014-01-22 日本電気株式会社 コンテクスト対応情報推薦装置、コンテクスト対応情報推薦方法およびコンテクスト対応情報推薦プログラム
JP4538758B2 (ja) * 2007-12-04 2010-09-08 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
EP2068276A1 (en) 2007-12-04 2009-06-10 Sony Corporation Information processing device and method, program, and recording medium
JP4433326B2 (ja) 2007-12-04 2010-03-17 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP4538760B2 (ja) * 2007-12-04 2010-09-08 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US20090198666A1 (en) * 2008-02-01 2009-08-06 Winston Ronald H Affinity matching system and method
CN101547167A (zh) * 2008-03-25 2009-09-30 华为技术有限公司 内容分类方法、装置及系统
JP5166949B2 (ja) * 2008-04-10 2013-03-21 株式会社エヌ・ティ・ティ・ドコモ レコメンド情報生成装置およびレコメンド情報生成方法
JP4790753B2 (ja) * 2008-04-28 2011-10-12 日本電信電話株式会社 情報推薦装置、情報推薦方法、プログラム及び記録媒体
US8386486B2 (en) * 2008-07-02 2013-02-26 Palo Alto Research Center Incorporated Method for facilitating social networking based on fashion-related information
CN101661483B (zh) * 2008-08-29 2012-10-03 株式会社理光 一种推荐系统及推荐方法
JP4650552B2 (ja) * 2008-10-14 2011-03-16 ソニー株式会社 電子機器、コンテンツ推薦方法及びプログラム
KR101111121B1 (ko) * 2009-06-29 2012-02-13 주식회사 모임 인공지능에 기반한 개인별 맞춤형 컨텐츠 제공 장치 및 방법, 그 기록 매체
US8635255B2 (en) * 2009-06-30 2014-01-21 Verizon Patent And Licensing Inc. Methods and systems for automatically customizing an interaction experience of a user with a media content application
EP2481018A4 (en) * 2009-09-21 2013-06-12 Ericsson Telefon Ab L M METHOD AND DEVICE FOR PERFORMING A RECOMMENDATION
JP5609056B2 (ja) * 2009-10-14 2014-10-22 ソニー株式会社 コンテンツ関係可視化装置、表示制御装置、コンテンツ関係可視化方法およびプログラム
JP2011158980A (ja) * 2010-01-29 2011-08-18 Brother Industries Ltd 消費者情報処理装置
CN102870114B (zh) * 2010-04-28 2016-05-25 Jvc建伍株式会社 项目选择装置和项目选择方法
CN102486926B (zh) * 2010-12-03 2015-04-08 上海博泰悦臻电子设备制造有限公司 个性化音乐媒体信息获取方法及系统
US8719248B2 (en) * 2011-05-26 2014-05-06 Verizon Patent And Licensing Inc. Semantic-based search engine for content
US8990208B2 (en) * 2011-09-22 2015-03-24 Fujitsu Limited Information management and networking
JP5727920B2 (ja) * 2011-11-21 2015-06-03 株式会社Nttドコモ レコメンドコンテンツ出力装置及びレコメンドコンテンツ出力方法
JP5696025B2 (ja) * 2011-11-22 2015-04-08 日本電信電話株式会社 商品情報推薦装置及び方法及びプログラム
JP5785864B2 (ja) * 2011-12-06 2015-09-30 株式会社日立製作所 製造ラインシミュレーション装置、データ入力支援装置、およびデータ入力支援方法
US9053185B1 (en) 2012-04-30 2015-06-09 Google Inc. Generating a representative model for a plurality of models identified by similar feature data
US8914500B1 (en) 2012-05-21 2014-12-16 Google Inc. Creating a classifier model to determine whether a network user should be added to a list
JP5846442B2 (ja) * 2012-05-28 2016-01-20 ソニー株式会社 情報処理装置、情報処理方法、および、プログラム
JP6127388B2 (ja) * 2012-06-13 2017-05-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US8886575B1 (en) 2012-06-27 2014-11-11 Google Inc. Selecting an algorithm for identifying similar user identifiers based on predicted click-through-rate
US8874589B1 (en) 2012-07-16 2014-10-28 Google Inc. Adjust similar users identification based on performance feedback
US8782197B1 (en) 2012-07-17 2014-07-15 Google, Inc. Determining a model refresh rate
US8886799B1 (en) 2012-08-29 2014-11-11 Google Inc. Identifying a similar user identifier
JP5235251B1 (ja) * 2012-09-28 2013-07-10 楽天株式会社 情報処理装置、情報処理方法及び情報処理プログラム
KR101464044B1 (ko) * 2012-09-28 2014-11-20 주식회사 엘지유플러스 관심 키워드 제공 장치 및 방법
CN102917269B (zh) * 2012-09-29 2016-06-29 青岛海信电器股份有限公司 一种电视节目推荐系统及方法
JP6014515B2 (ja) * 2013-02-22 2016-10-25 株式会社エヌ・ティ・ティ・データ レコメンド情報提供システム、レコメンド情報生成装置、レコメンド情報提供方法、およびプログラム
KR101581917B1 (ko) * 2014-08-12 2016-01-04 네이버 주식회사 컨텐츠 표시 제어 장치, 컨텐츠 표시 제어 방법 및 이를 컴퓨터에서 실행하기 위한 컴퓨터 프로그램
CN104731954B (zh) * 2015-04-01 2018-01-26 天翼爱音乐文化科技有限公司 基于群透视音乐推荐方法与系统
WO2017133007A1 (en) * 2016-02-05 2017-08-10 Hewlett Packard Enterprise Development Lp User interest and relationship determination
CN108681919A (zh) * 2018-05-10 2018-10-19 苏州跃盟信息科技有限公司 一种内容推送方法及装置
CN109086813B (zh) * 2018-07-23 2021-05-14 广州虎牙信息科技有限公司 主播相似度的确定方法、装置、设备及存储介质
KR101922725B1 (ko) * 2018-07-25 2018-11-27 (주)엔터랩 인공지능 과제매칭 방법, 장치 및 프로그램
JP7003088B2 (ja) * 2019-05-27 2022-01-20 楽天グループ株式会社 レコメンド装置、レコメンド方法、及びレコメンドプログラム
KR102284393B1 (ko) * 2020-08-26 2021-08-04 (주)인더스트리미디어 학습 콘텐츠 추천 장치 및 방법
CN113949931A (zh) * 2021-10-13 2022-01-18 深圳市视壮科技有限公司 一种iptv节目推荐方法及系统
WO2024084691A1 (ja) * 2022-10-21 2024-04-25 ヤマハ発動機株式会社 対話型提案出力システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216636A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd 最新記事推薦方法およびシステム
JP2004178521A (ja) * 2002-11-29 2004-06-24 Superstation Inc 推薦システム
JP2004355340A (ja) * 2003-05-29 2004-12-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617127B2 (en) * 2000-04-28 2009-11-10 Netflix, Inc. Approach for estimating user ratings of items
JP3672023B2 (ja) * 2001-04-23 2005-07-13 日本電気株式会社 番組推薦システムおよび番組推薦方法
US20030033370A1 (en) * 2001-08-07 2003-02-13 Nicholas Trotta Media-related content personalization
US9374451B2 (en) * 2002-02-04 2016-06-21 Nokia Technologies Oy System and method for multimodal short-cuts to digital services
JP4161701B2 (ja) 2002-12-12 2008-10-08 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びにプログラム
JP2004194108A (ja) 2002-12-12 2004-07-08 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びにプログラム
EP1571835A4 (en) 2002-12-12 2010-10-20 Sony Corp DEVICE, METHOD AND SYSTEM FOR PROCESSING DATA, RECORDING MEDIUM, AND PROGRAM
JP4547596B2 (ja) 2002-12-12 2010-09-22 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
JP4003127B2 (ja) 2002-12-12 2007-11-07 ソニー株式会社 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム
JPWO2004055302A1 (ja) 2002-12-13 2006-04-20 松下電器産業株式会社 車載機器制御システム、車載機器制御装置、及び車載機器制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216636A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd 最新記事推薦方法およびシステム
JP2004178521A (ja) * 2002-11-29 2004-06-24 Superstation Inc 推薦システム
JP2004355340A (ja) * 2003-05-29 2004-12-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1835419A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920630A (zh) * 2018-06-29 2018-11-30 联想(北京)有限公司 一种数据处理方法及电子设备

Also Published As

Publication number Publication date
CN101069184A (zh) 2007-11-07
JP4378646B2 (ja) 2009-12-09
US8117211B2 (en) 2012-02-14
EP1835419A4 (en) 2009-09-16
EP1835419A1 (en) 2007-09-19
JP2007122683A (ja) 2007-05-17
US20090077132A1 (en) 2009-03-19
CN100594496C (zh) 2010-03-17
KR20080045659A (ko) 2008-05-23

Similar Documents

Publication Publication Date Title
JP4378646B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US7953735B2 (en) Information processing apparatus, method and program
Liang et al. Connecting users and items with weighted tags for personalized item recommendations
US7743059B2 (en) Cluster-based management of collections of items
US8560545B2 (en) Item recommendation system which considers user ratings of item clusters
US7966225B2 (en) Method, system, and medium for cluster-based categorization and presentation of item recommendations
US20140040280A1 (en) System and method for identifying similar media objects
US20100325126A1 (en) Recommendation based on low-rank approximation
US20090063568A1 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
JP2011175362A (ja) 情報処理装置、重要度算出方法及びプログラム
US20080243816A1 (en) Processes for calculating item distances and performing item clustering
WO2017013667A1 (en) Method for product search using the user-weighted, attribute-based, sort-ordering and system thereof
US20090055376A1 (en) System and method for identifying similar media objects
WO2007063328A2 (en) Information retrieval system and method using a bayesian algorithm based on probabilistic similarity scores
US20060085405A1 (en) Method for analyzing and classifying electronic document
Chang et al. Music recommender using deep embedding-based features and behavior-based reinforcement learning
WO2008121872A1 (en) Cluster-based assessment of user interests
KR102249466B1 (ko) 인공지능 추천 모델을 사용하여 추천 정보를 제공하는 데이터 카탈로그 제공 방법 및 시스템
Donaldson A hybrid social-acoustic recommendation system for popular music
Gaikwad et al. E-commerce recommendation system using improved probabilistic model
JP2007115222A (ja) 情報処理装置および方法、並びにプログラム
Lin et al. Association rule mining with a correlation-based interestingness measure for video semantic concept detection
CN111708945A (zh) 产品的推荐方法及装置、电子设备、计算机存储介质
Hsu et al. Designing a graph-based framework to support a multi-modal approach for music information retrieval
JP2007183927A (ja) 情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2006798036

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 3809/DELNP/2007

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 1020077011814

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 200680001299.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2006798036

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11791361

Country of ref document: US