WO2012118087A1 - レコメンダシステム、レコメンド方法、及びプログラム - Google Patents

レコメンダシステム、レコメンド方法、及びプログラム Download PDF

Info

Publication number
WO2012118087A1
WO2012118087A1 PCT/JP2012/054961 JP2012054961W WO2012118087A1 WO 2012118087 A1 WO2012118087 A1 WO 2012118087A1 JP 2012054961 W JP2012054961 W JP 2012054961W WO 2012118087 A1 WO2012118087 A1 WO 2012118087A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information
users
value
management unit
Prior art date
Application number
PCT/JP2012/054961
Other languages
English (en)
French (fr)
Inventor
伸治 加美
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2013502372A priority Critical patent/JP5962926B2/ja
Priority to US13/824,771 priority patent/US9569499B2/en
Publication of WO2012118087A1 publication Critical patent/WO2012118087A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0278Product appraisal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Definitions

  • the present invention relates to a recommender system, a recommendation method, and a program.
  • a recommender system / platform that provides optimum items in consideration of context information that changes from moment to moment such as individual characteristics, preference information, and circumstances. For this purpose, static information that changes slowly with time, such as preference information of each user, and dynamic information that changes from moment to moment, such as the current position, are handled, and context-aware customized for each user.
  • a recommender system is required.
  • Patent Document 1 the similarity between items is extracted from an item history purchased by the user in the past, and an evaluation is performed from among items that are highly similar to items already known to be of interest to the user.
  • a system for displaying expensive items is described.
  • simply displaying items that are rated high on average will provide homogeneous information to all users, and may not work for users with a small number of users or users with a minority preference. There is.
  • Context can be static or dynamic.
  • An example of a static context that is relatively slow in time is user preference information for items such as books, movies, and news.
  • recommended products / items are determined by estimating preference information of active users. The process typically performed is to identify users having a behavior history with high similarity from the behavior history such as the purchase history of the user and display items highly evaluated by those users.
  • users who have similar purchase histories are considered to have similar selections, and that an item evaluated by one user is considered highly likely to be highly evaluated by the other user.
  • Non-Patent Document 1 describes a system for recommending news based on preference information of a user having a preference tendency similar to that of an active user.
  • An example of a recommender system using a dynamic context is a real space application.
  • the current position is a representative example of a user context that changes from moment to moment.
  • the current position of each user is acquired and managed using GPS or the like, and an item related to the current position is recommended.
  • the similarity here is close to the geodetic coordinate distance.
  • the real space application is applied to a social networking application that displays other users in the vicinity of an active user, a recommender system that displays popular nearby restaurants, sightseeing spots, and the like.
  • Patent Document 2 includes an information registration unit that registers and associates each browsing information with a classification tag that indicates which classification the content corresponds to, and an evaluation by a user who has browsed each browsing information.
  • An evaluation acquisition unit to be acquired a user information storage unit for storing evaluations for individual browsing information acquired by the evaluation acquisition unit together with identification information for each user, and a classification tag associated with the individual browsing information
  • a user's evaluation is determined by how other users have evaluated the user's evaluation itself.
  • the user's own evaluation also differs depending on the user, for example, a user who is highly evaluated by one user i does not always evaluate the same as another user j. Therefore, when the user k (active user) is a minority group compared to the evaluation tendency of a certain user, the value of the recommended item for the user k may be low. That is, when the user evaluation criteria for user k is significantly different from other majority users, a set of users having high similarity to user k is created, and among them, the evaluation of users with high evaluation is weighted. Even if an item is extracted, the value of the item is not necessarily high for the user k.
  • an object of the present invention is to perform a highly accurate recommendation even when there are few users with similar preference tendencies.
  • a recommender system is a recommender system that provides an information object to a user, and includes an input unit that receives a search request from the user, and a user management unit that manages context information representing the characteristics of the user An index table management unit that manages a plurality of information objects and outputs information objects related to the search request of the user, and similarity between users calculated from a comparison of the context information of the user and other users And a user authority value management unit that calculates an authority value representing the reliability of the user with respect to the other user based on the reliability of the plurality of users with respect to the other user, and the other user with respect to the information object The evaluation value is weighted according to the authority value of the other user A rating calculation unit that calculates an evaluation value of the user for the information object, and an ordering list creation unit that outputs a list of information objects ranked based on the evaluation value of the user. It is provided.
  • the block diagram which shows the structure of the recommender system by embodiment of this invention.
  • the figure which shows the example of the structure of the object which the recommender system makes object by embodiment of this invention.
  • the figure explaining the index table management part in detail by embodiment of this invention.
  • FIG. 1 is a block diagram showing a configuration of a recommender system 100 according to an embodiment of the present invention.
  • the recommender system 100 includes a user interface unit 101 typified by a browser installed on a computer that operates under program control and a network unit 102 typified by the Internet, which are used by a service recipient (user k, active user). Connected by.
  • the recommender system 100 includes an input unit 103 that processes input information from the user k, a user management unit 104 that manages information about the user k, and an index table management unit 105 that indexes and manages objects presented to the user k.
  • a user authority value management unit 106 that manages user evaluation information, a rating calculation unit 107 that calculates a rating of an object with respect to the user k, and a set of objects sorted according to the rating information of the object, and ranked.
  • An ordered list creation unit 108 for creating a list, and an output unit 109 that processes the processing result so as to be displayed on the user interface unit 101 and outputs the processed result through the network unit 102 are provided.
  • the recommender system 100 may be a dedicated or general-purpose computer including a CPU, a memory such as a ROM or a RAM, an external storage device that stores various types of information, an input interface, an output interface, a communication interface, and a bus connecting these. it can.
  • the recommender system 100 may be configured by a single computer or may be configured by a plurality of computers connected to each other via a communication line.
  • An input unit 103, a user management unit 104, an index table management unit 105, a user authority value management unit 106, a rating calculation unit 107, an ordered list creation unit 108, and an output unit 109 are predetermined programs stored in a ROM or the like by a CPU. It corresponds to the module of the function realized by executing.
  • the user interface unit 101 exchanges input / output information with the user k. For example, the user's situation such as a search keyword input and position information of the user k is transmitted to the recommender system 100. Further, the result of sorting the objects related to the search keyword is received from the recommender system 100 and output.
  • the network unit 102 is a computer network typified by the Internet that connects the client system (user interface unit 101) of the user k and the recommender system 100.
  • the input unit 103 has a function of enabling connection with the user interface unit 101 via the network unit 102, and receives input information to the recommender system 100 from the outside.
  • the user management unit 104 manages information on users who access the recommender system 100. Specifically, user profile information, object history and preference information referred to in the past, evaluation information of other users, and the like are managed. Further, based on information received via the input unit 103, a key represented by a keyword is created. When a keyword is directly input from the user, the user information is associated with the keyword. When position information or other indirect information is input, a key closely related to the information is automatically generated, and index table management is performed. Information in a format compatible with the key managed by the unit 105 is generated.
  • the index table management unit 105 manages an index table in which objects handled by the recommender system 100 are associated with keywords that are closely related, and outputs a set of objects that are closely related to the keywords in response to keyword input.
  • the user authority value management unit 106 outputs authority value information, which is an index for determining the reliability of evaluation of another user for the user k, using the user's action history and the user's mutual evaluation result.
  • the rating calculation unit 107 calculates an evaluation value of each object for the user k based on the object information and authority information.
  • the ordered list creation unit 108 sorts the objects based on the calculation result of the rating calculation unit 107, and creates a list in which the objects are ordered in the order that suits the user k.
  • the output unit 109 processes information so that the user k can correctly browse the ordered list of objects on the user interface unit 101, and outputs the processed list through the network unit 102.
  • FIG. 2 is a diagram illustrating an example of the structure of the object 200 targeted by the recommender system 100.
  • the object 200 includes a header 201 and a body 202.
  • the header 201 includes meta information related to the object, and the body 202 includes actual content information of the object or reference information that can refer to it.
  • the content information is information of one movie if, for example, the recommender system 100 is a movie review site. Further, if the recommender system 100 is a music information site, the information is music information.
  • Content information is generally a unit of information / data to be handled.
  • the header 201 includes general meta information such as an object ID and a category ID for classifying the object, as well as information on an evaluation result of a user who has viewed the object in the past.
  • the key information automatically generated by the user management unit 104 can be input as key information of the index table management unit 105, and is information that represents the user's context. For example, it may be a feature keyword of a file that is currently being browsed / edited, or a keyword that expresses information that is closely related to the current position information or time. Examples of information deeply associated with the current location information include information on facilities such as restaurants and sights near the location, and advertising information closely related to the location.
  • FIG. 3 is a diagram for explaining the index table management unit 105 in detail.
  • the index table management unit 105 is a function for creating an index in advance so that information related to a certain key can be instantaneously referred to from a set of objects managed by the recommender system 100.
  • the index table 302 is composed of key / value pairs, and stores information deeply related to the keys as values.
  • the key is typically a keyword, and the value is information such as a pointer that can refer to the object set 303 closely related to the key.
  • the top object pointer of the object set 303 may be stored, and the objects 304 belonging to the object set 303 may be collected as a linked list so that they can be cross-referenced.
  • any value that can refer to a set of objects 304 closely related to a key from a value value may be used.
  • the index table management unit 105 searches the corresponding row in the index table 302 in response to the input of the keyword 301, and outputs the object set 303 using the value value of that row.
  • the index table 302 can be configured by various methods.
  • the index table 302 can be configured by extracting a keyword deeply related to an object by, for example, natural language processing of the object and creating a reverse lookup dictionary thereof.
  • FIG. 4 is a diagram illustrating the user authority value management unit 106 in detail.
  • the user authority value management unit 106 includes a user reference network management unit 402, a user action history 403, a weight calculation unit 404, and an authority value calculation unit 405, and is based on the user mutual evaluation result 401 and the user action history 403.
  • the calculated authority value vector 406 is output.
  • the user mutual evaluation result 401 is a user evaluation index which is determined from the evaluation result of each user with respect to other users and who evaluates who and how much. For example, when a user reviews a past review content and evaluates the user highly for the reason that he / she has the same opinion as himself / herself, a high value such as 4 or 5 is assigned in a five-step evaluation. Note that it is not necessary for all users to evaluate each other, and only some users may be evaluated.
  • the user reference network management unit 402 uses the user mutual evaluation result 401 to represent the evaluation relationship in a graph. For example, if the evaluation is expressed in binary and the user A evaluates the user B, an edge is created as A-> B, and an edge is not created for the user who does not evaluate. Alternatively, users may be connected with a full mesh, and a user evaluation value may be assigned as the weight.
  • the user action history 403 is a past action history of each user used to extract context similarity between users from context information such as user characteristics and preference information.
  • the action history can be recorded either directly or indirectly.
  • An example of a static context is preference information for an object.
  • a direct recording method there is a method of recording what evaluation each user has performed on each object. For example, it is information that the user i has given a 10-level rating of 7 for the object x, and is the information that is input to the rating information of the header 201. It should be noted that not all users need to have an evaluation for an object.
  • Indirect recording methods include information based on the number of times an object is referenced based on the click history and the reference time.
  • the user's profile (age, sex, address, etc.) and the interest range explicitly indicated by the user himself / herself may be included.
  • the user action history as dynamic context information
  • positional information such as accumulated data of geodetic coordinate data by GPS.
  • transient position information such as where the person has been in the last few hours is strong context information, and the similarity is considered to have a strong correlation with the similarity of necessary information.
  • information including both static and dynamic information may be handled.
  • These are heterogeneous sets of information, but typically can be expressed as a set of vectors, and the similarity can be defined by the distance between sets.
  • the weight calculation unit 404 calculates the similarity between users based on the user action history 403, and outputs the weight used by the authority value calculation unit 405. This weight is information on the importance of other users as seen from each user, and can be typically expressed in a matrix, but is not limited thereto.
  • the authority value calculation unit 405 calculates the authority value of each user based on the user reference network management information and the weight information, and outputs authority value information, which is an evaluation value for other users as seen by each user.
  • FIG. 5 is a diagram for explaining a weight calculation method of the weight calculation unit 404.
  • the weight is calculated from the similarity of the user behavior history, it is necessary to efficiently calculate the similarity with respect to heterogeneous information instead of using a simple set.
  • the user action history is once converted into a context expression unit 602 in a compressed form.
  • the context expression unit 602 has an information compression effect that expresses user behavior histories representing preferences for highly similar objects as the same except for small differences.
  • rating information for an object is user action history.
  • the feature of the object x is expressed by a vector v x of an arbitrary dimension (D dimension) and the rating information s x is expressed by a real value
  • d (x, y)
  • the similarity between the user i and the user j is increased.
  • the degree of similarity between the users who have evaluated the same object in the same way as high (low) is increased.
  • the following method is an example of a method for realizing the above function.
  • the user action history 403 (601 in FIG. 5) holds characteristic information of each object and user preference information acquired by a direct or indirect method.
  • feature information is represented by a multidimensional vector v x
  • preference information is represented by an integer s x of ⁇ 5 to 5
  • (v x , s x ) is held.
  • an atomic label value for the object x is calculated using the following hash function f (v).
  • C and W are parameters specified in advance by the user, and are a natural number of 2 or more and a real number, respectively.
  • R is a uniform random number between 0 and W
  • A is a vector having the same dimension as v
  • each element is a random number according to an independent standard normal distribution N (0, 1).
  • L (v x ) ⁇ f 1 (v x ),..., F B (v x )>, in which B hash functions are independently created and each atomic label is multiplexed, is a label for the object x. And This multiplexed label has a feature that there is a high possibility that objects having similar feature vectors have the same label.
  • An extended histogram is a frequency distribution of objects registered in a plurality of bins with different labels.
  • it can also have a negative value.
  • B L is a bin having a label L
  • the frequency h i (L) is the sum of the evaluation values of all objects registered in the bin.
  • h i (L) can also be a negative value since s x can have a negative value. If this h i (L) is used, the expanded histogram H i can be expressed by the following equation.
  • extended histogram H i can be represented as a point D L dimensional vector when the total number of labels was D L.
  • ⁇ e L ⁇ is an orthonormal system
  • e L is a unit vector corresponding to the label L.
  • the expanded histogram has a large positive frequency for the label corresponding to the preferred object, and a negative negative frequency for the label corresponding to the unfavorable object.
  • the frequency of the label corresponding to an object that has been evaluated or hardly evaluated has a value close to zero. Since users having similar preferences have similar extended histograms, the similarity calculation unit 603 can be used to evaluate the similarity.
  • the similarity calculation unit 603 evaluates the similarity between users using the extended histogram of each user. For example, an inner product between normalized extended histograms can be used, but the present invention is not necessarily limited thereto.
  • the similarity calculation unit 603 outputs a weight 604, which may use the value of the similarity as it is, may be converted into another real number by an appropriate function, and other users viewed from a certain user k It only needs to be an increasing function for the importance of. In other words, the higher the importance, the higher the evaluation value may be.
  • scaling is made to be a positive real number in the range of 0 to 1 by adding 1 and dividing by 2.
  • the weight 604 is an N ⁇ N matrix, and the value of i row and j column is an importance index for evaluation of the user j as viewed from the user i.
  • This processing is basically performed off-line, but information may be updated by performing necessary correction processing on-line.
  • FIG. 6 is a diagram illustrating a method in which the authority value calculation unit 405 calculates the authority value of each user viewed from the user k.
  • the basic idea is an algorithm (Weighted HITS) in which a weight is added to the HITS algorithm developed for Web page search, and the weight of context similarity is added as a weight. HITS is disclosed in Non-Patent Document 2.
  • the authority value of each user expressed by each node of the graph is calculated using the weight 604 output from the weight calculation unit 404 and the inter-user graph G output from the user reference network management unit 402.
  • the authority value calculation unit 405 uses this W and G to repeatedly obtain the authority value of the user i according to the following recurrence formula.
  • G T is the transpose matrix of the matrix G
  • t is an integer t ⁇ 1
  • a i (0) 1 for all i.
  • ⁇ i indicates a “hub” value
  • a i indicates an “authority” value
  • ⁇ i indicates a high authority node
  • a i Let's say how much is referenced from a hub-like node.
  • the importance index W of the node actually pointed is calculated as a weight. That is, the hub user who refers to the user having higher importance for the user k is highly evaluated, and the user who is referred to by the important hub is highly evaluated.
  • a certain node 701 points to nodes 702 and 703 as hubs.
  • the node 702 has importance and authority values w k, 1 and a k, 1 respectively.
  • ⁇ k, i the authority values a k, i are then calculated.
  • FIG. 7 is a diagram for explaining a calculation process of rating information for the user k of the object x.
  • the rating calculation unit 107 outputs the object rating table 501 output by the index table management unit 105 in response to the key input of the user k and the authority value information of other users for the user k output by the user authority value management unit 106. Based on the user authority value table 502, the rating information for the user k of each object in the object set is calculated.
  • the object rating table 501 has one table for all the objects belonging to the object set output by the index table management unit 105, and as shown in FIG. Rating information.
  • a set of users registered in the object rating table 501 for the object x is U x
  • a rating for the object x of the user i ⁇ U x is r i
  • the user authority value table 502 for the user k has evaluation value information of other users defined for the user k
  • authority values for the user j are a k , j .
  • the weighted rating calculation unit 503 outputs a rating value 504 for the user k as ⁇ r> k for the object x, and there are various specific forms. It can be expressed.
  • the following equation represents a weighted average of user rating values using the evaluation weight ⁇ of each user.
  • ⁇ (a) is a function uniquely determined for the authority value a, and is generally a monotonically increasing function of a.
  • the recommender system 100 may use the user's direct input as a trigger for the operation, or may change dynamic user context information typified by automatically detected position information. Furthermore, a predetermined periodic update may be used as a trigger.
  • the above-described extended histogram creation unit is used as the context expression unit 602, and the object history extended histogram creation unit 802 and the GPS history extended histogram creation unit 804 respectively generate an extended histogram as a context representation from the object evaluation history 801 and the GPS history 803. Output.
  • GPS data is a three-dimensional vector
  • the above hash function that can be defined with respect to the Euclidean distance may be used.
  • the cosine similarity Another distance measure such as cos (defined by u ⁇ v /
  • a corresponding hash function cannot be defined for some distance defined between the elements of the user behavior history information, for example, an average multiplied by a weight reflecting the evaluation value of the element set is not used without using the hash function.
  • representative information of the user action history may be extracted. Here, they are expressed as a point in a vector space of appropriate dimensions (D1 and D2 dimensions).
  • the correlation analysis unit 805 calculates a correlation matrix (variance covariance matrix) of context expressions between users.
  • a correlation matrix (variance covariance matrix) of context expressions between users.
  • it is considered to be a (D1 + D2) -dimensional vector formed from the direct sum of each vector space, and its correlation matrix is created, but each component is weighted appropriately to control the importance of information for each component. May be.
  • the principal component analysis unit 806 uses the generated correlation matrix to perform eigenvalue calculation of the matrix, takes out an appropriate number in descending order of the absolute value of the eigenvalue, and considers only the subspace spanned by the eigenvector. Perform dimension compression with. As a result, it is possible to represent each user's context information with a principal component that roughly captures the characteristics of the user context distribution, and the similarity analysis unit 807 has a positional relationship in the subspace represented only by this principal component. User similarity is calculated.
  • one method for extracting the principal component is to find a direction in which the variance is large (there is a difference in features for each user).
  • the component difference between users can be increased and selected as the principal component.
  • the rotation matrix is R ( ⁇ )
  • the scale transformation matrix that is multiplied by u in the x axis direction is S (u).
  • An arbitrary vector v is expressed by R ( ⁇ ) S (u) R ( ⁇ ) v. Since the output weight generally has a larger value as the degree of similarity is higher, the degree of similarity in this embodiment can be expressed by an inner product between vectors, and this is output as a weight 808 between users.
  • p is an integer of 1 or more. Assume that the sum is taken in all context expressions, and in this example, C io and C iG .
  • the present invention can be applied to an application for providing products and information optimized for each user in an information providing service based on online shopping or word-of-mouth.
  • the present invention is also applicable to a service that senses a dynamic situation such as the current user position and provides information such as news, events, and advertisements according to the situation.
  • a recommender system that provides an information object to a user, An input unit for receiving a search request from the user; A user management unit that manages context information representing the characteristics of the user; An index table management unit for managing a plurality of information objects and outputting an information object related to the search request of the user; The reliability of the user with respect to the other user is expressed based on the similarity between the users calculated from the comparison of the context information of the user and the other user and the reliability of the plurality of users with respect to the other user.
  • a user authority value management unit for calculating authority values
  • a rating calculation unit that calculates the evaluation value of the user for the information object using a value obtained by weighting the evaluation value of the other user for the information object according to the authority value of the other user
  • a recommender system comprising: an ordered list creating unit that outputs an ordered list of information objects based on the evaluation value of the user.
  • Supplementary note 2 The recommendation according to Supplementary note 1, wherein the search request is a keyword input by the user or a trigger automatically generated by a software program installed in the terminal of the user. Da system.
  • the context information is The recommender system according to supplementary note 1, including preference information for each information object and a user action history including the current position of the user.
  • the context information is The recommender system according to appendix 1, including past evaluation information for each information object of the user.
  • the user authority value management unit comprising a context expression unit that expresses a feature of a specific part in the context information using a probabilistic arithmetic means, and calculates a similarity between users based on the similarity of the specific part. Recommender system.
  • Appendix 7 The user authority value management unit The recommender system according to appendix 1, wherein the authority value is calculated based on reliability of a plurality of users with respect to past evaluation information with respect to the information object of the other user and similarity between the users.
  • the context expression unit The feature of the specific part is expressed by extracting the principal component from the context information and dimensionally compressing, and the user authority value management unit is based on the positional relationship on the partial space expressed only by the principal component,
  • the recommender system according to appendix 6 which calculates similarity between users.
  • a recommendation method for providing an information object to a user Receiving a search request from the user; Managing a plurality of information objects and outputting an information object related to the search request of the user;
  • the reliability of the user with respect to the other user is expressed based on the similarity between the users calculated from the comparison of the context information of the user and the other user and the reliability of the plurality of users with respect to the other user.
  • Calculating an authority value Calculating the user's evaluation value for the information object using a value obtained by weighting the evaluation value of the other user for the information object according to the authority value of the other user; And a step of outputting a list of information objects ordered based on the evaluation value of the user.
  • a program that functions as a recommender system that provides information objects to users The computer, An input unit for receiving a search request from the user; A user management unit that manages context information representing the characteristics of the user; An index table management unit for managing a plurality of information objects and outputting an information object related to the search request of the user; The reliability of the user with respect to the other user is expressed based on the similarity between the users calculated from the comparison of the context information of the user and the other user and the reliability of the plurality of users with respect to the other user.
  • a user authority value management unit for calculating authority values;
  • a rating calculation unit that calculates the evaluation value of the user for the information object using a value obtained by weighting the evaluation value of the other user for the information object according to the authority value of the other user;
  • a program that functions as an ordered list creating unit that outputs a list of information objects ordered based on the evaluation value of the user.
  • the present invention is suitable for highly accurate recommendation even when there are few users with similar preference tendencies.
  • 100 recommender system 101 user interface part, 102 network part, 103 input part, 104 user management part, 105 index table management part, 106 user authority value management part, 107 rating calculation part, 108 ordered list creation part, 109 output Part, 200 object, 201 header, 202 body, 301 keyword, 302 index table, 303 object set, 304 object, 401 user mutual evaluation result, 402 user reference network management part, 403 user action history, 404 weight calculation part, 405 authority Value calculation unit, 406 authority value, 501 object rating table, 502 user authority value table, 03 Weighted rating calculation unit, 504 rating value, 601 user action history, 602 context expression unit, 603 similarity calculation unit, 604 weight, 701, 702, 703, 704, 705, 706 node, 801 object evaluation history, 802 object History extended histogram creation unit, 803 GPS history, 804 GPS history extended histogram creation unit, 805 correlation analysis unit, 806 principal component analysis unit, 807 similarity analysis unit, 808 weight

Abstract

ユーザからの検索要求を受信する入力部103と、ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部104と、ユーザの検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部105と、ユーザと他のユーザのコンテキスト情報の比較から算出されるユーザ間の類似度と、他のユーザに対する複数のユーザの信頼度に基づいて、他のユーザに対するユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部106と、情報オブジェクトに対する他のユーザの評価値を他のユーザのオーソリティ値に応じて重み付けした値を用いて、情報オブジェクトに対するユーザの評価値を計算するレーティング計算部107と、ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部108とを備える。

Description

レコメンダシステム、レコメンド方法、及びプログラム
 本発明は、レコメンダシステム、レコメンド方法、及びプログラムに関する。
 ネットワークを通して入手可能なリソース・情報(アイテム)の爆発的な量的増加、質的多様化により、個々のユーザが欲しい時に欲しいアイテムにアクセスすることが困難になってきている。そのため、個々人の特性や選好情報、状況などの時々刻々と変化するコンテキスト情報を考慮して最適なアイテムを提供するレコメンダシステム/プラットフォームが求められている。この目的のためには、各ユーザの選好情報のような時間的変化が緩やかなスタティック情報や、現在位置のように時々刻々と変化するダイナミック情報を取り扱い、各ユーザ向けにカスタマイズされたコンテキストアウェアなレコメンダシステムが必要となってくる。
 レコメンダシステムでは、各ユーザが良質と評価する可能性の高いアイテムを提供する必要があるが、従来のレコメンダシステムにおいても、提供する情報の満足度向上のために様々な手法が提案されている。もっともシンプルで一般的な手法として、他のユーザのこれまでの経験を参考にし、各アイテムの評価結果(レーティング)の平均を取る手法がある。良質なアイテムは多くのユーザが高評価を与える確率が高いため、特にユーザ数が多い場合は一定の効果が期待できる。
 例えば、特許文献1には、ユーザが過去に購入したアイテム履歴からアイテム間の類似性を抽出し、ユーザが興味を持つことが既に判明しているアイテムと類似性の高いアイテムの中から評価の高いアイテムを表示するシステムが記載されている。しかし、単に平均的に評価の高いアイテムを表示するだけでは全てのユーザに対して均質な情報を提供することになり、ユーザ数が少ない場合や、選好が少数派であるユーザの場合はうまくいかない場合がある。
 そのため、ユーザの履歴などかユーザの選好特性を分析し、レコメンドする対象ユーザ(アクティブユーザ)と類似度の高いユーザの意見に重みをおいた加重平均をとる方法が知られている。これはCollaborative Filteringと呼ばれる手法で、価値観の似ているユーザの意見はより高い確率でアクティブユーザが良質と感じることを前提にしており、多くのレコメンダシステムで取り入れられている。類似性を考慮するうえで必要なことは、ユーザの関心をきめる選好傾向や現在状況(コンテキスト)を考慮することである。
 コンテキストにはスタティックなものとダイナミックなものがある。時間的変化が比較的緩やかなスタティックなコンテキストの例として、本や映画、ニュースなどのアイテムに対するユーザの選好情報がある。オンラインショッピングサイトや口コミ情報サイトなどでは、レコメンドする商品・アイテムをアクティブユーザの選好情報を推定することで決定している。典型的に行われる処理は、ユーザの購買履歴などの行動履歴から、類似性の高い行動履歴をもつユーザを特定し、それらのユーザが高く評価したアイテムを表示することである。ここでは、購入履歴が類似しているユーザ同士は選考が似ていると考えられ、一方のユーザが評価したアイテムは他方のユーザも高く評価する可能性が高いと考えられることを前提としている。例えば、非特許文献1には、アクティブユーザと類似した選好傾向をもつユーザの選好情報をもとにニュースをレコメンドするシステムが記載されている。
 ダイナミックなコンテキストを用いたレコメンダシステムの例としては、実空間アプリケーションがあげられる。現在位置は時々刻々と変化するユーザコンテキストの代表例であり、実空間アプリケーションでは各ユーザの現在位置をGPSなどを用いて取得・管理し、現在位置と関係のあるアイテムをレコメンドする。ここでの類似性とは測地座標的な距離の近さである。実空間アプリケーションは、アクティブユーザの近くにいる他のユーザを表示するソーシャルネットワーキングアプリケーションや、近隣の人気レストランや観光スポットなどを表示するレコメンダシステムなどに応用されている。
 一方、類似性の高いユーザが必ずしも正しい価値判断を行うスキルを有しているとは限らない。そのため、ユーザの評価自体を評価することでオーソリティユーザをシステマティックに選択する手法がある。この手法は、例えば質問者の質問に対して複数のユーザが回答するQ&Aサイトなどにおいて、評価の高いアドバイザを抽出することなどに応用されている。具体的には、ユーザのコメントを他のユーザが評価し、皆の評価が高いオーソリティユーザのアドバイスを選択することにより実現される。
 ユーザ間の類似性とオーソリティ度合いの情報を組み合わせ、類似性の高いユーザの中で、オーソリティ度合いの高いユーザがレコメンドするアイテムを優先的に選択することで、精度の高いレコメンドを行うことが可能である。
 特許文献2には、個々の閲覧用情報について、その内容がいずれの分類に該当するかを表す分類タグを関連付けて登録する情報登録部と、個々の閲覧用情報について閲覧済みのユーザによる評価を取得する評価取得部と、評価取得部により取得された個々の閲覧用情報についての評価を、ユーザごとの識別情報とともに蓄積するユーザ情報蓄積部と、個々の閲覧用情報に関連付けられた分類タグごとに、ユーザ情報蓄積部に蓄積された複数のユーザ間でみた評価の相対関係からユーザ相互の関係性を判断するユーザ分類判断部と、互いに異なる複数の分類タグの間でみて、ユーザ分類判断部により判断されたユーザ相互の関係性の違いと、それぞれの分類タグが付された閲覧用情報に対するユーザごとの評価の違いから、これら複数の分類タグ相互の関係性を判断する情報分類判断部と、特定のユーザによりいずれかの閲覧用情報についてキーワードを用いた閲覧要求がなされた場合、このキーワードが属する特定の分類タグとは別の分類タグに関してユーザ分類判断部により判断された特定のユーザとその他のユーザとの関係性と、情報分類判断部により判断された特定の分類タグと別の分類タグとの関係性とに基づいて、特定のユーザに適した閲覧用情報を選択する情報出力部とを備えた情報提供システムが開示されている。
US6266649 Gregory D. Linden, Jennifer A. Jacobi, Eric A. Benson, Collaborative recommendations using item-to-item similarity mappings 特開2009-181428号公報
Abhinandan S. Das, Mayur Datar, Ashutosh Garg, Shyam Rajaram, "Google news personalization: scalable online collaborative filtering", In WWW '07: Proceedings of the 16th international conference on World Wide Web (2007), pp. 271-280. J. Kleinberg, "Authoritative sources in a hyperlinked environment", In Proceedings of the Ninth Annual ACM-SIAM, Symposium on Discrete Algorithms, 1998, pp. 668-677.
 従来手法では、あるユーザの評価を、他のユーザがそのユーザの評価自体をどう評価したかによって決めている。しかし、ユーザ自体の評価もユーザによって異なるため、たとえばあるユーザiが高く評価したユーザを別のユーザjも同じく高く評価するとは限らない。そのため、あるユーザの評価傾向に比べてユーザk(アクティブユーザ)が少数派であった場合は、レコメンドされたアイテムのユーザkにとっての価値は低くなる可能性がある。すなわち、ユーザkのユーザ評価基準が他の多数派ユーザと大きく異なった場合、ユーザkと類似性の高いユーザの集合を作成し、その中で、皆の評価の高いユーザの評価に加重をおいてアイテムを抽出しても、必ずしもユーザkにとってそのアイテムの価値が高いとは限らない。
 特に、類似ユーザ集合の中にオーソリティユーザが少ない場合は、ユーザkの価値基準とそのオーソリティユーザとの価値基準が異なる確率が大きいため、レコメンド性能は低下する。さらに、このことはコンテキストの観点が多様化するほど顕著になる傾向がある。これは、ある観点においては類似性が高いユーザが、別の観点においても類似性が高いとは限らないからである。
 そこで、本発明の目的は、選好傾向が類似するユーザが少ない場合でも、精度の高いレコメンドを行うことである。
 本発明に係るレコメンダシステムは、ユーザに情報オブジェクトを提供するレコメンダシステムであって、前記ユーザからの検索要求を受信する入力部と、前記ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部と、複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部と、前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部と、前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算するレーティング計算部と、前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部と、を備えたものである。
 本発明によれば、選好傾向が類似するユーザが少ない場合でも、精度の高いレコメンドを行うことができる。
本発明の実施の形態による、レコメンダシステムの構成を示すブロック図。 本発明の実施の形態による、レコメンダシステムが対象とするオブジェクトの構造の例を示す図。 本発明の実施の形態による、インデックステーブル管理部を詳細に説明する図。 本発明の実施の形態による、ユーザオーソリティ値管理部を詳細に説明する図。 本発明の実施の形態による、重み計算部の重み計算の方法について説明する図。 本発明の実施の形態による、オーソリティ値計算部が、ユーザkからみた各ユーザのオーソリティ値を計算する方法について説明する図。 本発明の実施の形態による、オブジェクトxのユーザkに対するレーティング情報の計算処理を説明する図。 本発明の実施例を説明する図。
 次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
 図1は、本発明の実施の形態によるレコメンダシステム100の構成を示すブロック図である。レコメンダシステム100は、サービス受容者(ユーザk、アクティブユーザ)が利用する、プログラム制御により動作するコンピュータ上に実装されたブラウザに代表されるユーザインターフェース部101と、インターネットに代表されるネットワーク部102によって接続される。
 レコメンダシステム100は、ユーザkからの入力情報を処理する入力部103と、ユーザkの情報を管理するユーザ管理部104と、ユーザkに提示するオブジェクトをインデックス化して管理するインデックステーブル管理部105と、ユーザの評価情報を管理するユーザオーソリティ値管理部106と、オブジェクトのユーザkに対するレーティングを計算するレーティング計算部107と、オブジェクトのレーティング情報に基づいてオブジェクトの集合をソートして序列化されたリストを作成する序列化リスト作成部108と、処理結果をユーザインターフェース部101で表示可能なように加工し、ネットワーク部102を通して出力する出力部109を備えている。
 レコメンダシステム100は、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。なお、レコメンダシステム100は、単一のコンピュータにより構成されるものであっても、通信回線を介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
 入力部103、ユーザ管理部104、インデックステーブル管理部105、ユーザオーソリティ値管理部106、レーティング計算部107、序列化リスト作成部108、出力部109は、CPUがROM等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。
 ユーザインターフェース部101は、ユーザkとの入出力情報のやり取りを行う。例えば、ユーザkの検索キーワード入力や位置情報などのユーザの状況をレコメンダシステム100に送信する。また、レコメンダシステム100から検索キーワードに関連するオブジェクトがソートされた結果を受けて出力する。
 ネットワーク部102は、ユーザkのクライアントシステム(ユーザインターフェース部101)とレコメンダシステム100を接続するインターネットに代表されるコンピュータネットワークである。
 入力部103は、ネットワーク部102を介したユーザインターフェース部101との接続を可能にする機能を有し、また、外部からレコメンダシステム100への入力情報を受信する。
 ユーザ管理部104は、レコメンダシステム100にアクセスするユーザの情報を管理する。具体的には、ユーザプロファイル情報や、過去に参照したオブジェクト履歴や趣向情報、他のユーザの評価情報などを管理する。また、入力部103を介して受信された情報に基づいて、キーワードに代表されるキーを作成する。ユーザから直接キーワードが入力された場合は、ユーザ情報とそのキーワードを関連付けるが、位置情報やその他の間接的情報が入力されたときは、その情報に関連の深いキーを自動生成し、インデックステーブル管理部105の管理するキーと互換性のある形式の情報を生成する。
 インデックステーブル管理部105は、レコメンダシステム100が取り扱うオブジェクトが関連の深いキーワードと関連付けられているインデックステーブルを管理しており、キーワード入力に対し、そのキーワードと関連の深いオブジェクト集合を出力する。
 ユーザオーソリティ値管理部106は、ユーザの行動履歴やユーザの相互評価結果を用いて、ユーザkにとっての他のユーザの評価の信頼度を決める指標であるオーソリティ値情報を出力する。
 レーティング計算部107は、オブジェクト情報とオーソリティ情報に基づいて、ユーザkにとっての各オブジェクトの評価値を計算する。
 序列化リスト作成部108は、レーティング計算部107の計算結果に基づいてオブジェクトをソートし、ユーザkの趣向にあった順でオブジェクトを序列化したリストを作成する。
 出力部109は、オブジェクトの序列化リストをユーザkがユーザインターフェース部101で正しく閲覧できるように情報を加工し、ネットワーク部102を通して出力する。
 図2は、レコメンダシステム100が対象とするオブジェクト200の構造の例を示す図である。オブジェクト200は、ヘッダ201とボディ202を有し、ヘッダ201はそのオブジェクトに関するメタ情報を、ボディ202はそのオブジェクトの実際のコンテンツ情報もしくはそれを参照可能な参照情報を含む。
 コンテンツ情報は、例えばレコメンダシステム100が映画の口コミサイトであれば、1つの映画の情報である。また、レコメンダシステム100が音楽情報サイトなら楽曲情報などである。コンテンツ情報は、一般には取り扱う情報・データの一単位である。
 ヘッダ201は、オブジェクトIDやそのオブジェクトを分類するカテゴリIDなどの一般的なメタ情報の他、過去にこのオブジェクトを閲覧したユーザの評価結果の情報などを有している。
 ユーザ管理部104が自動生成するキー情報は、インデックステーブル管理部105のキー情報として入力可能なものであり、ユーザのコンテキストを表現する情報である。例えば、現在、閲覧・編集中のファイルの特徴キーワードであったり、現在の位置情報や時間と深く関連付けられた情報を表現するキーワードであったりする。現在の位置情報と深く関連付けられた情報の例として、その場所の近くにあるレストラン・名所などの施設の情報や、その場所と関連の深い広告情報などが挙げられる。
 図3は、インデックステーブル管理部105を詳細に説明する図である。インデックステーブル管理部105は、レコメンダシステム100が管理するオブジェクトの集合から、あるキーに関連する情報を瞬時に参照できるように、予めインデックスを作成しておく機能である。インデックステーブル302はキーとバリューのペアで構成され、キーに関連の深い情報をバリューとして保存する。キーは典型的にはキーワードであり、バリューはそのキーに関連の深いオブジェクト集合303を参照可能なポインタなどの情報である。
 例えば、オブジェクト集合303の先頭オブジェクトポインタを保存し、オブジェクト集合303に属するオブジェクト304はリンクドリストとして相互参照が可能なようにまとめられていてもよい。この他にも、バリュー値からキーに関連の深いオブジェクト304の集合が参照できるものであればよい。インデックステーブル管理部105は、キーワード301の入力に対して、インデックステーブル302の中で対応する行をサーチし、その行のバリュー値を用いてオブジェクト集合303を出力する。インデックステーブル302は様々な手法で構成可能であるが、例えばオブジェクトの自然言語処理などによりオブジェクトに関連の深いキーワードを抽出し、その逆引き辞書を作成することで構成することができる。
 図4は、ユーザオーソリティ値管理部106を詳細に説明する図である。ユーザオーソリティ値管理部106は、ユーザ参照ネットワーク管理部402と、ユーザ行動履歴403と、重み計算部404と、オーソリティ値計算部405とを備え、ユーザ相互評価結果401とユーザ行動履歴403に基づいて算出したオーソリティ値ベクトル406を出力する。
 ユーザ相互評価結果401は、各ユーザの他のユーザに対する評価結果から決定され、誰が誰をどれくらい評価するかというユーザ評価指標である。例えば、あるユーザの過去のレビュー内容を見て、自分と同じ意見であるなどの理由からそのユーザを高く評価する場合は、5段階評価で4や5などの高い値が付けられる。なお、全てのユーザがお互いを評価する必要はなく、一部のユーザのみの評価でもよい。
 ユーザ参照ネットワーク管理部402は、ユーザ相互評価結果401を用いて、評価関係をグラフに表す。例えば、評価をバイナリで表現し、ユーザAがユーザBを評価する場合はA->Bとエッジを作成し、評価しないユーザにはエッジを作成しない、というようにグラフを作成する。また、ユーザをフルメッシュで接続し、その重みとしてユーザ評価値を割り当てるようにしてもよい。
 ユーザ行動履歴403は、ユーザの特徴や選好情報などのコンテキスト情報から、ユーザ間のコンテキストの類似性を抽出するために用いる、それぞれのユーザの過去の行動履歴である。行動履歴は直接的な手法でも間接的な手法でも記録可能である。
 スタティックなコンテキストの例として、オブジェクトに対する選好情報が挙げられる。直接的な記録手法としては、各オブジェクトに対して各ユーザがどのような評価を行ったかを記録する方法が挙げられる。例えば、オブジェクトxに対して、ユーザiが10段階評価の7を付けた、などの情報であり、ヘッダ201のレーティング情報に入力する元となる情報になる。なお、あるオブジェクトに対し、必ずしも全てのユーザの評価が存在する必要はない。
 間接的な記録手法としては、クリック履歴に基づくオブジェクトの参照回数や、参照時間などに基づく情報が挙げられる。また、これ以外にも、ユーザのプロファイル(年齢、性別、住所など)やユーザ自身が明示的に示した興味範囲を含めるようにしてもよい。
 ダイナミックなコンテキスト情報となるユーザ行動履歴の例として、GPSによる測地座標データの累積データのような位置的情報が挙げられる。例えば、最近数時間の間にどこにいたかなどの過渡的な位置情報は強いコンテキスト情報であり、その類似性は、必要な情報の類似性と強い相関があると考えられる。
 さらに、一般にはこれらのスタティックおよびダイナミックな情報の両者を含む情報を取り扱ってもよい。これらは、ヘテロな情報の集合であるが、典型的にはベクトルの集合として表現可能であり、集合間の距離によって類似度を定義することが可能である。
 重み計算部404は、ユーザ行動履歴403に基づいてユーザ間の類似度を計算し、オーソリティ値計算部405で用いる重みを出力する。この重みは、各ユーザからみたその他のユーザの重要度の情報であり、典型的には行列で表現可能であるがこの限りではない。
 オーソリティ値計算部405は、ユーザ参照ネットワーク管理情報と重み情報に基づいて各ユーザのオーソリティ値を計算し、各ユーザからみた他のユーザに対する評価値であるオーソリティ値情報を出力する。
 図5は、重み計算部404の重み計算の方法について説明する図である。重みは、ユーザ行動履歴の類似性から計算するものであるが、単なる集合を使うのではなく、ヘテロな情報に対して効率よく類似性を計算する必要がある。そのために、ユーザ行動履歴を直接扱うのではなく、一度、情報圧縮された形態であるコンテキスト表現部602に変換する。コンテキスト表現部602は、小さい違いを除き、類似性の高いオブジェクトへの選好を表すユーザ行動履歴を同じものとして表現するような情報圧縮効果を有するものである。
 例えば、スタティックなコンテキスト情報の例として、オブジェクトへのレーティング情報をユーザ行動履歴とした場合を考える。オブジェクトxの特徴を任意次元(D次元)のベクトルvで表現し、そのレーティング情報sを実数値で表現すると、ユーザ行動履歴Uは、U={x}={(v、s)∈R×R}のように、D次元ベクトルと実数値のペアの集合で表すことができる。今、オブジェクトxとyがあり、その類似度が距離d(x,y)=|v-v|で定義されるとし、d(x,y)が小さい(類似している)とする。ユーザiは、オブジェクトxを高く評価し(s大)、ユーザjはオブジェクトyを高く評価する場合(s大)、ユーザiとユーザjの類似度を大きくする。また、評価したオブジェクトが複数ある場合は、その評価傾向として、同じようなオブジェクトを同じように高く(低く)評価したユーザ同士の類似度を高くする。上記のような機能を実現する手法の例として以下の方法がある。
 ユーザ行動履歴403(図5では601)は、各オブジェクトに対して、その特徴情報と、直接的もしくは間接的手法によって取得されたユーザの選好情報を保持している。以後の例として、オブジェクトxに対して、特徴情報を多次元ベクトルvで、選好情報を-5~5の整数sで表現し、(v、s)が保持されているとする。各オブジェクトxに対して、下記のハッシュ関数f(v)を用いて、オブジェクトxに対するアトミックラベル値を計算する。
Figure JPOXMLDOC01-appb-M000001
 ここで、
Figure JPOXMLDOC01-appb-M000002
はzを超えない最大の整数、CとWはユーザによってあらかじめ指定されるパラメータで、それぞれ2以上の自然数、および実数である。また、Rは0以上W未満の一様乱数、Aはvと同じ次元をもつベクトルで、各要素は独立な標準正規分布N(0,1)に従うランダム数とする。このハッシュ関数を独立にB個作成し、各々のアトミックラベルを多重化したL(v)=<f(v),・・・,f(v)>を、オブジェクトxに対するラベルとする。この多重化ラベルは、特徴ベクトルの近いオブジェクト同士では同じラベルをもつ可能性が高いという特徴を有する。
 以下、コンテキスト表現部602がこのラベル計算を用いて拡張ヒストグラムを作成する、拡張ヒストグラム作成手法について説明する。拡張ヒストグラムとは、複数の異なるラベルが付けられたビンの中に登録されたオブジェクトの度数分布である。ここでは、通常のヒストグラムと違い、負の値も持てるものとする。あるユーザiに対して、ユーザiのユーザ行動履歴である集合T={(v、s)}が与えられたとき、そのユーザiに対する拡張ヒストグラムHを求める。集合Tに属する全てのオブジェクトxに対して上記のラベルを計算し、そのラベルを付けたビンに登録する操作を行う。全てのオブジェクトが登録し終わったところで、各ビンの度数を計算するが、その際の計算式として以下の式を用いる。 
Figure JPOXMLDOC01-appb-M000003
 ここで、BはラベルLを持つビンであり、その度数h(L)は、そのビンに登録された全てのオブジェクトの評価値の和である。ここで、sが負の値を持ち得ることからh(L)は負の値にもなり得ることに注意が必要である。このh(L)を用いれば、拡張ヒストグラムHは下記式で表すことができる。
Figure JPOXMLDOC01-appb-M000004
 上式において、拡張ヒストグラムHは、全ラベル数をDとした時のD次元ベクトルの一点として表現可能である。ただし、{e}は正規直交系をなすとし、eはラベルLに対応した単位ベクトルとする。本手法によれば、拡張ヒストグラムは、好むオブジェクトに対応するラベルの度数は正の大きな数を有し、逆に好まないオブジェクトに対応するラベルの度数は負の大きな度数を有し、中立的な評価もしくはほとんど評価したことのないオブジェクトに対応するラベルの度数は0に近い値を有する。同じような選好をもつユーザ同士は同じような拡張ヒストグラムを有することになるため、類似度計算部603を用いて類似度を評価することができる。
 類似度計算部603は、各ユーザの拡張ヒストグラムを用いて、ユーザ間の類似度を評価する。例えば、正規化した拡張ヒストグラム間の内積を用いることができるが、必ずしもこれに限るものではない。類似度計算部603は重み604を出力するが、これは類似度の値をそのまま用いてもよいし、適当な関数によって他の実数に変換してもよく、あるユーザkから見た他のユーザの重要度に対する増加関数となっていればよい。すなわち、重要度が高いほど高い評価値となっていればよい。さらに、拡張ヒストグラムのうち絶対値のある程度大きいラベルのみを取り出して、他のラベルを無視することで次元を圧縮することも可能である。具体的には、例えば上位Q個等あらかじめ決めたルールに従って抽出する。また、ラベルを現在興味のある部分のみに限ることで、類似度を計算する観点を絞り込むことも可能である。例えば、入力キーワードに関連の深いオブジェクトに対応するラベル範囲のみに限定してもよい。
 以下では、1を足して2で割り0~1の範囲の正の実数になるようスケーリングすることとする。一般に、重み604は、ユーザがN人いればNxN行列となり、i行j列の値はユーザiからみたユーザjの評価の重要度指標となる。この処理は基本的にオフラインで行われるが、オンラインで必要な補正処理を入れて情報のアップデートを行ってもよい。
 図6は、オーソリティ値計算部405が、ユーザkからみた各ユーザのオーソリティ値を計算する方法について説明する図である。基本的なアイデアは、Webページ検索のために開発されたHITSアルゴリズムに重みを追加したアルゴリズム(Weighted HITS)であり、重みとしてコンテキスト類似性の重みを加えている。HITSについては非特許文献2に開示されている。
 重み計算部404の出力である重み604と、ユーザ参照ネットワーク管理部402の出力であるユーザ間グラフGを用いて、グラフの各ノードで表現される各ユーザのオーソリティ値を計算する。先の説明の例を用いると、重み604は行列で表現されるが、その中のk行の情報を抽出し、ユーザkに対するユーザiの評価の重要度wkiを取得する。さらに、このwkiを対角成分とする重要度行列W={wk,1,・・・,wk,N}を作成する。ここで、ユーザ間グラフGの各要素は1か0の値をもち、i行j列の値gij=1の場合はユーザiからユーザjに向かってエッジがあるとする。オーソリティ値計算部405は、このWとGを用いて、以下の漸化式に従って反復的にユーザiのオーソリティ値を求める。
Figure JPOXMLDOC01-appb-M000005
 ただし、Gは行列Gの転置行列であり、tはt≧1の整数で、全てのiに関してa(0)=1とする。ここで、W、Wγは対角行列であり、重要度による加重和をとるためのものであり、W=Wγ=Wでもよいし、どちらか一方は単位行列としてもよい。すなわち、Iを単位行列として、W=WかつWγ=I、もしくはW=IかつWγ=Wとする。
 あるノードiに対して、γは“ハブ的”な値を示し、aは“オーソリティ的”な値を示すとし、γはどれだけ高いオーソリティ的なノードを指しているか、aはどれだけハブ的なノードから参照されているかを表すとする。このとき、実際に指しているノードの重要度指標Wを重みとしてかけて計算している。すなわち、ユーザkにとってより重要度の高いユーザを参照しているハブユーザを高く評価し、また重要なハブから参照されているユーザを高く評価する。図6に示すように、あるノード701は、ハブとしてノード702、703を指しているが、ノード702はその重要度とオーソリティ値がそれぞれwk,1、ak,1であり、ノード703はその重要度とオーソリティ値がそれぞれwk,2、ak,2であるとする。ここで、添字kはユーザkに対するという意味である。そのとき、ノード701のγk,iは、γk,i=wk,1×ak,1+wk,2×ak,2と計算される。
 全てのノードに対するγk,iを計算したら、次にオーソリティ値ak,iを計算する。ノード704のak,iは、ノード705と706から接続されており、重要度とγの値はそれぞれ(wk,1、γk,1)、(wk,2、γk,2)であるので、先と同様に、ak,i=wk,1×γk,1+wk,2×γk,2と計算される。上記の漸化式の加重和としてはWa=Wγ=Wの例を示したが、ユーザの判断の類似度に基づく重要度を加重和に反映させる限り、どちらかのWを単位行列に変えるなどの変更も可能である。γk,iとak,iは相互に関連しているため、収束するまである一定期間反復的な計算を行うことで、全てのユーザiのユーザkに対するオーソリティ値ak,iを得る。これはユーザkに対する他のユーザのオーソリティ値として出力される。
 図7は、オブジェクトxのユーザkに対するレーティング情報の計算処理を説明する図である。レーティング計算部107は、ユーザkのキー入力に対して、インデックステーブル管理部105が出力するオブジェクトレーティングテーブル501と、ユーザオーソリティ値管理部106によって出力される、ユーザkに対する他のユーザのオーソリティ値情報であるユーザオーソリティ値テーブル502に基づいて、オブジェクト集合のそれぞれのオブジェクトのユーザkに対するレーティング情報を計算する。
 オブジェクトレーティングテーブル501は、インデックステーブル管理部105が出力するオブジェクト集合に属する全てのオブジェクトに対して一つのテーブルを有し、図2に示したように、ヘッダ201の中に含まれる他のユーザのレーティング情報である。
 以下、このオブジェクトxに対するオブジェクトレーティングテーブル501の中に登録があるユーザの集合をUとし、ユーザi∈Uのオブジェクトxに対するレーティングをrとする。また、ユーザkに対するユーザオーソリティ値テーブル502は、ユーザkに対して定義された他のユーザの評価値情報を有しており、ユーザjに対するオーソリティ値をa,とする。
 重みつきレーティング計算部503は、オブジェクトxに対して、ユーザkに対するレーティング値504を<r>として出力するものであり、具体的な形は様々であるが、典型的には以下の式で表現可能である。下記の式は、各ユーザの評価重みωを用いた、ユーザレーティング値の重みつき平均を表す。
Figure JPOXMLDOC01-appb-M000006
 ここで、ω(a)は、オーソリティ値aに対して一意に決まる関数であり、一般にはaの単調増加関数である。具体的な形は管理者依存できめるパラメータであるが、簡単にはω(a)=pa+q(pとqは実数)のような一次関数で表現される。
 なお、インデックステーブル管理部105とユーザオーソリティ値管理部106における計算自体は一般にオフラインであらかじめ行っておくが、必要に応じてオンラインで補正計算を行うことも可能である。
 また、レコメンダシステム100は、その動作のトリガーを、ユーザの直接的な入力としてもよいし、自動的に検知した位置情報などに代表される動的なユーザコンテキスト情報の変化としてもよい。さらに、あらかじめ定められた定期的なアップデートをトリガーとしてもよい。
 以上のように、本実施形態によれば、ユーザのコンテキストに合わせて選好傾向の類似度が高く、かつ評価基準も類似した評価能力の高いユーザをシステマティックに選択するため、ユーザのコンテキストの変化や直接的なキーワード入力による検索要求に対して、各ユーザにカスタマイズされた情報を提供することができる。
 次に、ヘテロなユーザ行動履歴情報に対する重み計算の実施例について図8を用いて詳細に説明する。ここでは、ヘテロなユーザ行動履歴情報の例として、ユーザのオブジェクトに対する選好情報(オブジェクト評価履歴801)と現在位置(GPS履歴803)の両方を扱う。
 コンテキスト表現部602として上記の拡張ヒストグラム作成部を用い、オブジェクト履歴用拡張ヒストグラム作成部802と、GPS履歴用拡張ヒストグラム作成部804が、それぞれオブジェクト評価履歴801とGPS履歴803からコンテキスト表現として拡張ヒストグラムを出力する。
 一般に、GPSデータは3次元のベクトルであるので、ユークリッド距離に関して定義できる上記のハッシュ関数でよいが、例えばオブジェクトの類似度を考えるときに上記の例のようなユークリッド距離ではなく、コサイン類似度(ベクトルu、vに対して、cos(u・v/|u||v|)で定義される)など、別の距離尺度を用いてもよい。
 対象の履歴データの類似度を表現する上で定義される距離尺度として、上記のユークリッド距離やコサイン類似度以外にもLp距離、ハミング距離、Jacard係数など様々な距離が考えられるが、考慮する距離尺度に対して対応するハッシュ関数が定義できればよい。
 ユーザ行動履歴情報のエリメント間で定義されたなんらかの距離に対して対応するハッシュ関数が定義できない場合は、ハッシュ関数は用いずに、例えば単にそのエリメント集合の評価値を反映した加重をかけた平均をとるなどしてユーザ行動履歴の代表的情報を抽出してもよい。ここで、それらは適当な次元(D1、D2次元とする)のベクトル空間の一点として表現されている。
 ここで、二人のユーザiとjの類似度を計算することを考える。まず相関分析部805は、各ユーザ間のコンテキスト表現の相関行列(分散共分散行列)を計算する。簡単にはそれぞれのベクトル空間の直和から形成される(D1+D2)次元のベクトルと考え、その相関行列を作成するが、各成分に適当な重みをかけて成分ごとの情報の重要度を制御してもよい。
 生成された相関行列を用いて、主成分分析部806はその行列の固有値演算を行い、固有値の絶対値が大きいものから順に適当な数だけ取り出し、その固有ベクトルで張られる部分空間のみを考慮することで次元圧縮を行う。これにより、ユーザコンテキスト分布の特徴を大まかに捉える主成分で各ユーザのコンテキスト情報を表現することが可能であり、類似度分析部807はこの主成分のみで表現された部分空間上の位置関係をもってユーザの類似度を算出する。
 ここで、主成分を抽出する一つの方法は、分散が大きい(ユーザ毎に特徴に差がある)方向を見つけることである。ある特定の観点でユーザの類似度を比較したい場合は、例えば、その対応する成分の重みを大きくすることでユーザ間での当該成分差を大きくし、主成分として選択することも可能である。
 これは、コンテキスト表現であるベクトルを適当な線形変換行列で変換することで表現が可能である。例えば二次元ベクトルの場合は、強調したい方向がx軸から角度θの方向であった場合、回転行列をR(θ)、x軸方向にu倍するスケール変換行列をS(u)としたとき、任意のベクトルvはR(θ)S(u)R(-θ)vで表現される。出力される重みは一般に類似度が高いほど大きな値を持つため、本実施例における類似度はベクトル間の内積によって表現可能で、これをユーザ間の重み808として出力する。
 さらに、複数の種類のユーザ行動履歴を用いる場合のユーザ間類似度を表現する他の例について説明する。上記の実施例において、ユーザ行動履歴としてオブジェクト評価履歴801とGPS履歴803とがあり、そのコンテキスト表現が得られたとする。ここで、ユーザiのオブジェクト評価履歴801のコンテキスト表現をCioとし、GPS履歴803のコンテキスト表現をCiGとする。ここで、ユーザiとjのオブジェクト評価履歴やGPS履歴のコンテキスト表現の類似度が定義されているとする。例えば、上記のハッシュ関数を用いた例ではベクトルの内積などを用いて定義可能である。ユーザiとjのあるコンテキスト表現Cに関する類似度をSi,j(C)とすると、ユーザiとjの類似度は次の式で定義できる。
Figure JPOXMLDOC01-appb-M000007
 ここで、pは1以上の整数である。和は全てのコンテキスト表現で取るとし、この例では、CioとCiGである。また、αは各コンテキスト表現に対してあらかじめ定められた加重であり、0≦α≦1かつ、
Figure JPOXMLDOC01-appb-M000008
を満たし、どのコンテキストをどれくらい重視するかを表すパラメータである。p=1のときは単なる加重和であり、pが非常に大きいときは、最も類似度の大きいコンテキストのみを考慮することになる。
 本発明は、オンラインショッピングや口コミなどをベースにした情報提供サービスなどにおいて、ユーザ毎に最適化された商品や情報を提供する用途に適用できる。また、現在のユーザの位置などのダイナミックな状況を感知し、その状況に合わせたニュースや事象、広告などの情報を提供するサービスにも適用可能である。
 この出願は、2011年3月3日に出願された日本出願特願2011-46855を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)ユーザに情報オブジェクトを提供するレコメンダシステムであって、
 前記ユーザからの検索要求を受信する入力部と、
 前記ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部と、
 複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部と、
 前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部と、
 前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算するレーティング計算部と、
 前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部と、を備えたレコメンダシステム。
(付記2)前記検索要求は、前記ユーザによって入力されるキーワード、または前記ユーザの端末に実装されたソフトウェアプログラムによって自動的に生成されるトリガーであることを特徴とする、付記1に記載のレコメンダシステム。
(付記3)前記コンテキスト情報は、
 各々の情報オブジェクトに対する選好情報と、前記ユーザの現在位置を含むユーザ行動履歴を含む、付記1に記載のレコメンダシステム。
(付記4)前記コンテキスト情報は、
 前記ユーザの各々の情報オブジェクトに対する過去の評価情報を含む、付記1に記載のレコメンダシステム。
(付記5)前記ユーザ管理部は、
 前記コンテキスト情報に基づいて、前記検索要求に関連するキー情報を生成し、
 前記インデックステーブル管理部は、
 各々の情報オブジェクトを前記キー情報と関連付けて管理し、前記検索要求に関連するキー情報に対応する情報オブジェクトを出力する、付記1に記載のレコメンダシステム。
(付記6)前記ユーザオーソリティ値管理部は、
 前記コンテキスト情報の中の特定部分の特徴を確率的な演算手段を用いて表現するコンテキスト表現部を備え、前記特定部分の類似度に基づいて、ユーザ間の類似度を算出する、付記1に記載のレコメンダシステム。
(付記7)前記ユーザオーソリティ値管理部は、
 前記他のユーザの情報オブジェクトに対する過去の評価情報に対する、複数のユーザの信頼度と、前記ユーザ間の類似度に基づいて、前記オーソリティ値を算出する、付記1に記載のレコメンダシステム。
(付記8)前記コンテキスト表現部は、
 前記コンテキスト情報から主成分を抽出して次元圧縮することにより前記特定部分の特徴を表現し、前記ユーザオーソリティ値管理部は、前記主成分のみで表現される部分空間上の位置関係に基づいて、ユーザ間の類似度を算出する、付記6に記載のレコメンダシステム。
(付記9)ユーザに情報オブジェクトを提供するレコメンド方法であって、
 前記ユーザからの検索要求を受信する工程と、
 複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力する工程と、
 前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出する工程と、
 前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算する工程と、
 前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する工程と、を備えたレコメンド方法。
(付記10)コンピュータを、
 ユーザに情報オブジェクトを提供するレコメンダシステムとして機能させるプログラムであって、
 前記コンピュータを、
 前記ユーザからの検索要求を受信する入力部と、
 前記ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部と、
 複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部と、
 前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部と、
 前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算するレーティング計算部と、
 前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部、として機能させるプログラム。
 本発明は、選好傾向が類似するユーザが少ない場合でも、精度の高いレコメンドを行うことに適している。
 100 レコメンダシステム、101 ユーザインターフェース部、102 ネットワーク部、103 入力部、104 ユーザ管理部、105 インデックステーブル管理部、106 ユーザオーソリティ値管理部、107 レーティング計算部、108 序列化リスト作成部、109 出力部、200 オブジェクト、201 ヘッダ、202 ボディ、301 キーワード、302 インデックステーブル、303 オブジェクト集合、304 オブジェクト、401 ユーザ相互評価結果、402 ユーザ参照ネットワーク管理部、403 ユーザ行動履歴、404 重み計算部、405 オーソリティ値計算部、406 オーソリティ値、501 オブジェクトレーティングテーブル、502 ユーザオーソリティ値テーブル、503 重みつきレーティング計算部、504 レーティング値、601 ユーザ行動履歴、602 コンテキスト表現部、603 類似度計算部、604 重み、701,702,703,704,705,706 ノード、801 オブジェクト評価履歴、802 オブジェクト履歴用拡張ヒストグラム作成部、803 GPS履歴、804 GPS履歴用拡張ヒストグラム作成部、805 相関分析部、806 主成分分析部、807 類似度分析部、808 重み

Claims (10)

  1.  ユーザに情報オブジェクトを提供するレコメンダシステムであって、
     前記ユーザからの検索要求を受信する入力部と、
     前記ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部と、
     複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部と、
     前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部と、
     前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算するレーティング計算部と、
     前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部と、を備えたレコメンダシステム。
  2.  前記検索要求は、前記ユーザによって入力されるキーワード、または前記ユーザの端末に実装されたソフトウェアプログラムによって自動的に生成されるトリガーであることを特徴とする、請求項1に記載のレコメンダシステム。
  3.  前記コンテキスト情報は、
     各々の情報オブジェクトに対する選好情報と、前記ユーザの現在位置を含むユーザ行動履歴を含む、請求項1に記載のレコメンダシステム。
  4.  前記コンテキスト情報は、
     前記ユーザの各々の情報オブジェクトに対する過去の評価情報を含む、請求項1に記載のレコメンダシステム。
  5.  前記ユーザ管理部は、
     前記コンテキスト情報に基づいて、前記検索要求に関連するキー情報を生成し、
     前記インデックステーブル管理部は、
     各々の情報オブジェクトを前記キー情報と関連付けて管理し、前記検索要求に関連するキー情報に対応する情報オブジェクトを出力する、請求項1に記載のレコメンダシステム。
  6.  前記ユーザオーソリティ値管理部は、
     前記コンテキスト情報の中の特定部分の特徴を確率的な演算手段を用いて表現するコンテキスト表現部を備え、前記特定部分の類似度に基づいて、ユーザ間の類似度を算出する、請求項1に記載のレコメンダシステム。
  7.  前記ユーザオーソリティ値管理部は、
     前記他のユーザの情報オブジェクトに対する過去の評価情報に対する、複数のユーザの信頼度と、前記ユーザ間の類似度に基づいて、前記オーソリティ値を算出する、請求項1に記載のレコメンダシステム。
  8.  前記コンテキスト表現部は、
     前記コンテキスト情報から主成分を抽出して次元圧縮することにより前記特定部分の特徴を表現し、前記ユーザオーソリティ値管理部は、前記主成分のみで表現される部分空間上の位置関係に基づいて、ユーザ間の類似度を算出する、請求項6に記載のレコメンダシステム。
  9.  ユーザに情報オブジェクトを提供するレコメンド方法であって、
     前記ユーザからの検索要求を受信する工程と、
     複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力する工程と、
     前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出する工程と、
     前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算する工程と、
     前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する工程と、を備えたレコメンド方法。
  10.  コンピュータを、
     ユーザに情報オブジェクトを提供するレコメンダシステムとして機能させるプログラムであって、
     前記コンピュータを、
     前記ユーザからの検索要求を受信する入力部と、
     前記ユーザの特徴を表すコンテキスト情報を管理するユーザ管理部と、
     複数の情報オブジェクトを管理し、前記ユーザの前記検索要求に関連する情報オブジェクトを出力するインデックステーブル管理部と、
     前記ユーザと他のユーザの前記コンテキスト情報の比較から算出されるユーザ間の類似度と、前記他のユーザに対する複数のユーザの信頼度に基づいて、前記他のユーザに対する前記ユーザの信頼度を表すオーソリティ値を算出するユーザオーソリティ値管理部と、
     前記情報オブジェクトに対する前記他のユーザの評価値を前記他のユーザの前記オーソリティ値に応じて重み付けした値を用いて、前記情報オブジェクトに対する前記ユーザの評価値を計算するレーティング計算部と、
     前記ユーザの評価値に基づいて序列化された情報オブジェクトのリストを出力する序列化リスト作成部、として機能させるプログラム。
PCT/JP2012/054961 2011-03-03 2012-02-28 レコメンダシステム、レコメンド方法、及びプログラム WO2012118087A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013502372A JP5962926B2 (ja) 2011-03-03 2012-02-28 レコメンダシステム、レコメンド方法、及びプログラム
US13/824,771 US9569499B2 (en) 2011-03-03 2012-02-28 Method and apparatus for recommending content on the internet by evaluating users having similar preference tendencies

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011046855 2011-03-03
JP2011-046855 2011-03-03

Publications (1)

Publication Number Publication Date
WO2012118087A1 true WO2012118087A1 (ja) 2012-09-07

Family

ID=46758018

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/054961 WO2012118087A1 (ja) 2011-03-03 2012-02-28 レコメンダシステム、レコメンド方法、及びプログラム

Country Status (3)

Country Link
US (1) US9569499B2 (ja)
JP (1) JP5962926B2 (ja)
WO (1) WO2012118087A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104428785A (zh) * 2012-05-04 2015-03-18 罗文有限公司 使用图标的关键字的图标密码设定装置以及图标密码设定方法
JP2018124966A (ja) * 2017-02-01 2018-08-09 富士通株式会社 ソーシャル・メディア・アカウントおよびコンテンツの相互に補強するランキング
WO2018207734A1 (ja) * 2017-05-11 2018-11-15 学校法人国際大学 情報処理装置、相関モデルのデータ構造、プログラム、情報処理方法および相関モデルのデータ構造の製造方法
CN111143684A (zh) * 2019-12-30 2020-05-12 腾讯科技(深圳)有限公司 基于人工智能的泛化模型的训练方法及装置
CN112364151A (zh) * 2020-10-26 2021-02-12 西北大学 一种基于图、引文和内容的论文混合推荐方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445782B2 (en) * 2010-12-22 2019-10-15 Facebook, Inc. Expanded tracking and advertising targeting of social networking users
JP2014142876A (ja) * 2013-01-25 2014-08-07 Sony Corp データ生成装置、コンテンツ再生装置、および記憶媒体
CN104516879B (zh) * 2013-09-26 2019-09-13 Sap欧洲公司 用于管理含有具有缺失值的记录的数据库的方法和系统
US9336278B2 (en) 2013-09-30 2016-05-10 Google Inc. User experience and user flows for third-party application recommendation in cloud storage systems
US9633081B1 (en) * 2013-09-30 2017-04-25 Google Inc. Systems and methods for determining application installation likelihood based on user network characteristics
US9390141B2 (en) 2013-09-30 2016-07-12 Google Inc. Systems and methods for determining application installation likelihood based on probabilistic combination of subordinate methods
IN2013CH05994A (ja) * 2013-12-20 2015-06-26 Infosys Ltd
WO2015102514A1 (en) * 2013-12-30 2015-07-09 Odnoklassniki Company Limited Systems and methods for providing music recommendations
CN105989146B (zh) * 2015-02-28 2019-07-23 阿里巴巴集团控股有限公司 对象展示方法及装置
CN105989154B (zh) * 2015-03-03 2020-07-14 华为技术有限公司 相似性度量的方法及设备
US11281639B2 (en) 2015-06-23 2022-03-22 Microsoft Technology Licensing, Llc Match fix-up to remove matching documents
US20170004434A1 (en) * 2015-06-30 2017-01-05 International Business Machines Corporation Determining Individual Performance Dynamics Using Federated Interaction Graph Analytics
US20210295344A1 (en) * 2015-11-09 2021-09-23 Dentsu Inc. Customer relation management device and method
CN107798012B (zh) * 2016-09-05 2021-12-14 腾讯科技(深圳)有限公司 阅读资源评论推送方法和系统
KR101871747B1 (ko) * 2017-04-07 2018-06-27 주식회사 화성 유사성향 기반 사용자-관광상품 추천 방법 및 시스템
CN110069717B (zh) * 2017-07-19 2023-11-10 阿里巴巴集团控股有限公司 一种搜索方法及装置
CN109903107A (zh) * 2017-12-08 2019-06-18 北京京东尚科信息技术有限公司 用于生成信息的方法和装置
US11244326B2 (en) * 2018-03-06 2022-02-08 Verizon Media Inc. Analytical precursor mining for personalized recommendation
CN108509560B (zh) * 2018-03-23 2021-04-09 广州杰赛科技股份有限公司 用户相似度获得方法和装置、设备、存储介质
US11010411B2 (en) * 2019-03-29 2021-05-18 Fuji Xerox Co., Ltd. System and method automatically sorting ranked items and generating a visual representation of ranked results
US10867000B2 (en) 2019-03-31 2020-12-15 Td Ameritrade Ip Company, Inc. Recommendation system for providing personalized and mixed content on a user interface based on content and user similarity
US11532025B2 (en) * 2019-08-12 2022-12-20 International Business Machines Corporation Deep cognitive constrained filtering for product recommendation
CN112035738B (zh) * 2020-08-14 2023-09-26 北京奇艺世纪科技有限公司 一种电子书单推荐方法及装置、电子设备
CN112036987B (zh) * 2020-09-11 2024-04-02 杭州海康威视数字技术股份有限公司 确定推荐商品的方法和装置
US20230410159A1 (en) * 2022-06-15 2023-12-21 At&T Intellectual Property I, L.P. Method and system for personalizing metaverse object recommendations or reviews
CN115017417B (zh) * 2022-08-08 2022-11-11 杭州实在智能科技有限公司 基于标签智能过滤和推荐的政策匹配方法及系统
CN117539638B (zh) * 2024-01-04 2024-03-22 江西拓荒者科技有限公司 一种用于工业大数据平台的数据处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007025925A (ja) * 2005-07-14 2007-02-01 Fuji Xerox Co Ltd 関連記述提示システム
JP2008077386A (ja) * 2006-09-21 2008-04-03 Sony Corp 情報処理装置および方法、プログラム並びに記録媒体
JP2008165490A (ja) * 2006-12-28 2008-07-17 Nec Corp 情報選別装置、情報選別方法、プログラムおよび記録媒体
JP2009503751A (ja) * 2005-08-03 2009-01-29 ウィンク テクノロジ−ズ インコ−ポレイテッド 関連性判定方法、情報収集方法、オブジェクト組織化方法及び検索システム
JP2009140042A (ja) * 2007-12-04 2009-06-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
WO2009097153A1 (en) * 2008-02-01 2009-08-06 Winston Ronald H Affinity matching system and method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266649B1 (en) 1998-09-18 2001-07-24 Amazon.Com, Inc. Collaborative recommendations using item-to-item similarity mappings
US6968334B2 (en) * 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
KR101102638B1 (ko) * 2003-11-13 2012-01-04 파나소닉 주식회사 프로그램 추천장치, 프로그램 추천장치의 프로그램 추천방법 및 기록매체
US7698270B2 (en) * 2004-12-29 2010-04-13 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
US20070143128A1 (en) * 2005-12-20 2007-06-21 Tokarev Maxim L Method and system for providing customized recommendations to users
US7703030B2 (en) * 2005-01-11 2010-04-20 Trusted Opinion, Inc. Method and system for providing customized recommendations to users
US7590616B2 (en) * 2006-11-17 2009-09-15 Yahoo! Inc. Collaborative-filtering contextual model based on explicit and implicit ratings for recommending items
JP2010536102A (ja) * 2007-08-08 2010-11-25 ベイノート,インク. コンテキストに基づくコンテンツレコメンデーションの方法及び装置
JP5140449B2 (ja) 2008-01-31 2013-02-06 共同印刷株式会社 情報提供システム
JP4678546B2 (ja) * 2008-09-08 2011-04-27 ソニー株式会社 推薦装置および方法、プログラム、並びに記録媒体
JP4650541B2 (ja) * 2008-09-08 2011-03-16 ソニー株式会社 推薦装置および方法、プログラム、並びに記録媒体
US20100312644A1 (en) * 2009-06-04 2010-12-09 Microsoft Corporation Generating recommendations through use of a trusted network
WO2011052315A1 (ja) * 2009-10-26 2011-05-05 日本電気株式会社 コンテンツ推薦システム、推薦方法及び推薦プログラム
US20120166377A1 (en) * 2010-12-27 2012-06-28 Nokia Corporation Method and apparatus for providing recommendations based on a recommendation model and a context-based rule

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007025925A (ja) * 2005-07-14 2007-02-01 Fuji Xerox Co Ltd 関連記述提示システム
JP2009503751A (ja) * 2005-08-03 2009-01-29 ウィンク テクノロジ−ズ インコ−ポレイテッド 関連性判定方法、情報収集方法、オブジェクト組織化方法及び検索システム
JP2008077386A (ja) * 2006-09-21 2008-04-03 Sony Corp 情報処理装置および方法、プログラム並びに記録媒体
JP2008165490A (ja) * 2006-12-28 2008-07-17 Nec Corp 情報選別装置、情報選別方法、プログラムおよび記録媒体
JP2009140042A (ja) * 2007-12-04 2009-06-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
WO2009097153A1 (en) * 2008-02-01 2009-08-06 Winston Ronald H Affinity matching system and method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104428785A (zh) * 2012-05-04 2015-03-18 罗文有限公司 使用图标的关键字的图标密码设定装置以及图标密码设定方法
JP2018124966A (ja) * 2017-02-01 2018-08-09 富士通株式会社 ソーシャル・メディア・アカウントおよびコンテンツの相互に補強するランキング
JP7003481B2 (ja) 2017-02-01 2022-01-20 富士通株式会社 ソーシャル・メディア・アカウントおよびコンテンツの相互に補強するランキング
WO2018207734A1 (ja) * 2017-05-11 2018-11-15 学校法人国際大学 情報処理装置、相関モデルのデータ構造、プログラム、情報処理方法および相関モデルのデータ構造の製造方法
JPWO2018207734A1 (ja) * 2017-05-11 2020-03-19 学校法人国際大学 情報処理装置、相関モデルのデータ構造、プログラム、情報処理方法および相関モデルのデータ構造の製造方法
CN111143684A (zh) * 2019-12-30 2020-05-12 腾讯科技(深圳)有限公司 基于人工智能的泛化模型的训练方法及装置
CN111143684B (zh) * 2019-12-30 2023-03-21 腾讯科技(深圳)有限公司 基于人工智能的泛化模型的训练方法及装置
CN112364151A (zh) * 2020-10-26 2021-02-12 西北大学 一种基于图、引文和内容的论文混合推荐方法

Also Published As

Publication number Publication date
US9569499B2 (en) 2017-02-14
US20130185294A1 (en) 2013-07-18
JP5962926B2 (ja) 2016-08-03
JPWO2012118087A1 (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
JP5962926B2 (ja) レコメンダシステム、レコメンド方法、及びプログラム
CN107424043B (zh) 一种产品推荐方法及装置,电子设备
CN105426528B (zh) 一种商品数据的检索排序方法及系统
TWI636416B (zh) 內容個人化之多相排序方法和系統
US10210179B2 (en) Dynamic feature weighting
Jiang et al. Fema: flexible evolutionary multi-faceted analysis for dynamic behavioral pattern discovery
CN107644036B (zh) 一种数据对象推送的方法、装置及系统
WO2018040069A1 (zh) 信息推荐系统及方法
KR20140091530A (ko) 소셜 네트워크 피쳐들을 갖는 이름 및 기타 검색 질의의 적합도
CN104216881A (zh) 一种个性化标签的推荐方法及装置
KR20150023432A (ko) 사용자 데모그래픽을 추정하는 방법 및 장치
US20130073618A1 (en) Information Providing System, Information Providing method, Information Providing Device, Program, And Information Storage Medium
JP6767342B2 (ja) 検索装置、検索方法および検索プログラム
US11551281B2 (en) Recommendation engine based on optimized combination of recommendation algorithms
CN113850649A (zh) 一种基于多平台用户数据的定制化推荐方法及推荐系统
US10402414B2 (en) Scalable system and method for weighted similarity estimation in massive datasets revealed in a streaming fashion
Yin et al. Exploring social activeness and dynamic interest in community-based recommender system
CN111159563A (zh) 用户兴趣点信息的确定方法、装置、设备及存储介质
CN111651678A (zh) 一种基于知识图谱的个性化推荐方法
CN111429161B (zh) 特征提取方法、特征提取装置、存储介质及电子设备
Babu et al. An implementation of the user-based collaborative filtering algorithm
CN111654714B (zh) 信息处理方法、装置、电子设备和存储介质
Zhao et al. Personalized recommendation by exploring social users’ behaviors
TW201243627A (en) Multi-label text categorization based on fuzzy similarity and k nearest neighbors
US20150206220A1 (en) Recommendation Strategy Portfolios

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12751811

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13824771

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2013502372

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12751811

Country of ref document: EP

Kind code of ref document: A1