CN107038169B - Object recommendation method and object recommendation device - Google Patents

Object recommendation method and object recommendation device Download PDF

Info

Publication number
CN107038169B
CN107038169B CN201610078101.XA CN201610078101A CN107038169B CN 107038169 B CN107038169 B CN 107038169B CN 201610078101 A CN201610078101 A CN 201610078101A CN 107038169 B CN107038169 B CN 107038169B
Authority
CN
China
Prior art keywords
user
feature vector
feature
weight matrix
recommendation
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610078101.XA
Other languages
Chinese (zh)
Other versions
CN107038169A (en
Inventor
王萌
刘贺飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to CN201610078101.XA priority Critical patent/CN107038169B/en
Publication of CN107038169A publication Critical patent/CN107038169A/en
Application granted granted Critical
Publication of CN107038169B publication Critical patent/CN107038169B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles

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)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application relates to an object recommendation method and an object recommendation device, wherein the object recommendation method comprises the following steps: a feature vector extraction step of extracting at least one of a user feature vector representing a feature of a corresponding user and an object feature vector representing a feature of a corresponding object from history data of the user and the object, each of the user feature vectors being updated independently of each other and each of the object feature vectors being updated independently of each other in a case of updating the history data; a weight matrix generation step of generating a weight matrix representing a mapping of a user feature to an object feature using the history data; and a recommendation score determining step of determining scores of a plurality of candidate objects for the selected user based on the user feature vector, the object feature vector and the weight matrix.

Description

Object recommendation method and object recommendation device
Technical Field
The present application relates generally to an object recommendation method and an object recommendation apparatus for recommending an object to a user based on history data.
Background
Many object recommendation services for users are provided on the internet, such as book, music, movie and news recommendations. The recommendation is made based on the collected historical data to learn the characteristics of the user and the characteristics of the object. In general, the collection of historical data may be represented in the form of a user object matrix (e.g., FIG. 1). The matrix has one dimension of a list of users and one dimension of a list of objects, each element being registered in relation to a user and an object. The content of the record may be a user rating (e.g., 0-5 points) for the object, or a digitized access record, such as, 1: liking; 0: dislike; or, 1: the purchase is finished; 0: not purchased, etc. The user features may be learned from a row of the user object matrix corresponding to the user. Similarly, object features may be learned from a column of the user object matrix corresponding to the object.
A typical problem associated with recommended applications is data sparsity. As explained above, the user features and object features are learned from the user object matrix. The number of users and objects becomes larger and larger at the time of actual recommendation. However, it is very difficult to collect the history data of each element of the matrix. Thus, more and more elements in the matrix become "unknown", which makes the learned user and object features unstable and unreliable, as shown in fig. 1.
Especially in a scene recommendation application, historical data (such as user's access records to scenes, etc.) are highly correlated with the user and the location of the scene, which often results in more severe data sparsity.
In US patent publication US 2010/0030764a1, "recommendation System (recommendation System) Utilizing joint Filtering through combined Explicit and Implicit Feedback of proximity and Latent Factor Models With bounded neighbor and immediate Feedback" is disclosed. This document includes the following recommendations: a user object matrix representing the historical data is decomposed into a user factor matrix and an object factor matrix. In the user factor matrix, each user is represented by a row factor vector. In the object factor matrix, each object is represented by a column of factor vectors. A recommendation score for an object for a particular user is calculated by the dot product of the corresponding user factor vector and the object factor vector. After calculating a recommendation score for each object of a specific user, at least one object to be recommended is determined according to the ranking of the scores.
This document may address data sparsity in object recommendation applications. However, in this document, the user factor matrix and the object factor matrix are learned offline from history data as training data. This means that once the user object matrix is updated, at least one of the user factor matrix and the object factor matrix all need to be retrained. For example, if we know that the user has visited an object newly, we need to retrain the entire user factor matrix or the entire object factor matrix. The retraining process is a highly time consuming operation and therefore the methods proposed in the prior art documents are not feasible for recommended applications where the user object matrix is updated frequently. Moreover, the recommendation result is not interpretable, and it is difficult to explain the meaning of each element of the user factor matrix and the object factor matrix in the method.
For example, in a scenic point recommendation application, the scenic point recommendations are highly relevant to the location of the user and the sights, which often results in data sparsity and in practical applications the user sight matrix is frequently updated. The use of the recommended method of this document requires frequent retraining and is therefore incompatible with such dynamic data sources. Finally, the recommendation is also difficult to interpret, which means that it is difficult to explain why the sights are recommended to the user and to analyze and improve.
Disclosure of Invention
One of the objectives of the present application is to avoid retraining the entire user factor matrix or the entire object factor matrix when historical data is updated, thereby making object recommendations both accurate and efficient. Further, it is desirable that the object recommendation result is interpretable.
One aspect of the present application relates to an object recommendation method, including: a feature vector extraction step of extracting at least one user feature vector representing a feature of a corresponding user and at least one object feature vector representing a feature of a corresponding object from a plurality of history data of the user and the object, each of the user feature vectors being updated independently of each other and each of the object feature vectors being updated independently of each other in the case of history data update; a weight matrix generation step of generating a weight matrix representing a mapping of a user feature to an object feature using the history data; and a recommendation score determining step of determining scores of a plurality of candidate objects for the selected user based on the user feature vector, the object feature vector and the weight matrix.
Another aspect of the present application relates to an object recommending apparatus, including: a feature vector extraction means configured to extract at least one user feature vector representing a corresponding user feature and at least one object feature vector representing a corresponding object feature from a plurality of history data of the user and the object, each of the user feature vectors being updated independently of each other and each of the object feature vectors being updated independently of each other in a case of history data update; a weight matrix generation means configured to generate a weight matrix representing a mapping of a user feature with respect to an object feature using the history data; and recommendation score determination means configured to determine scores for a plurality of candidate objects for the selected user based on the user feature vector, the object feature vector and the weight matrix.
Therefore, according to aspects of the present application, it is possible to prevent the retraining of the entire user factor matrix or the entire object factor matrix when updating the history data, thereby performing object recommendation accurately and efficiently. In addition, object recommendations may also be interpretable.
Drawings
The foregoing and other objects and advantages of the application are further described in the following detailed description of the preferred embodiments, taken in conjunction with the accompanying drawings. In the drawings, the same or corresponding technical features or components will be denoted by the same or corresponding reference numerals.
FIG. 1 is a diagram showing a user object matrix as historical data;
FIG. 2 shows a flow diagram of a sight recommendation method according to one embodiment of the present application;
FIG. 3 shows a flow chart of a feature vector extraction process in a sight recommendation method according to an embodiment of the present application;
FIGS. 4A and 4B illustrate examples of extracted user feature vectors and sight feature vectors, respectively;
FIGS. 5A and 5B respectively illustrate weight matrices generated according to different embodiments of the present application;
FIGS. 6A and 6B are diagrams illustrating, respectively, the determination of a point recommendation score according to various embodiments of the present application;
FIG. 7 is a block diagram illustrating an exemplary configuration of an attraction recommendation device according to an embodiment of the application;
FIG. 8 shows a schematic diagram of a recommendation system for implementing a sight recommendation method according to an embodiment of the application; and
fig. 9 shows a block diagram of a hardware configuration of a computer system capable of implementing an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described hereinafter with reference to the accompanying drawings. In the interest of clarity and conciseness, not all features of an embodiment have been described in the specification. It should be appreciated, however, that in the development of any such actual embodiment, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with device-related and business-related constraints, which may vary from one implementation to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
It should also be noted herein that in order to avoid obscuring the present application with unnecessary detail, only the process steps and/or device structures germane to at least the scheme according to the present application are shown in the drawings, while other details not germane to the present application are omitted.
The following will be described with reference to a scenic point recommendation application as an example, since the user scenic point matrix is updated frequently as described above. It should be understood that the example is not limiting, and the present application may also be applied to other object recommendation applications, such as a book recommendation application, a music recommendation application, a movie recommendation application, and the like, which will be described in detail later. Next, description is made in the following order.
1. Flow chart of scenic spot recommendation method
2. Feature vector extraction process
2-1 user feature vector extraction process
2-2 scenic spot feature vector extraction process
3. Weight matrix generation process
4. Recommendation score determination process
5. Block diagram of scenic spot recommendation apparatus
6. Advantages of scenic spot recommendation method and device
7. Recommendation system for implementing object recommendation method
8. Other embodiments
9. Computer device for implementing the method and device of the present application
1. Flow chart of scenic spot recommendation method
First, a flowchart of an attraction recommendation method according to an embodiment of the present application is described with reference to fig. 2. In the method, a user sight point matrix which is used as historical data is decomposed into the following three matrixes: a user feature matrix, a weight matrix, and a sight feature matrix. Recommendation scores for sights, i.e., scores related to unknown elements of the user sight matrix, are then calculated based on these three matrices.
Step S101 is a user feature vector extraction step in which at least one user feature vector representing a corresponding user feature is extracted from a plurality of history data of the user and the scenery spot, each of the user feature vectors being updated independently of each other in the case of history data update. Step S101 is triggered by a user recommendation request described later.
An example form of the user's history data and the history data of attractions may be a user attraction matrix as shown in figure 1, in which the user's access to attractions is recorded, and each row may be considered as history data representing the characteristics of the user and each column may be considered as history data representing the characteristics of the attraction. The historical data is not limited to this example form, for example, another form could be a collection of photographs of different sights taken by different users, or ratings scores of different sights by different users on the internet, etc.
Thus, the user's historical data may be from, for example, a list that includes at least one of:
a) a sight spot visited by the user;
b) the scenic spot scored by the user, and the evaluation score;
c) a sight spot picture shot by a user;
d) a sight spot photo taken by a user, the photo having a photo tag; and
e) photos of sights scored by the user, and rating scores.
On the other hand, historical data of attractions may be from, for example, at least one of the following:
a) users who access the scenery;
b) users who score the sights, and rating scores;
c) photos taken when the scenery spot is shot; and
d) photos taken when the sight is taken, the photos having a photo tag.
The photo tag is, for example, the time and place of photo shooting, and the name of the photographer.
In one example, the historical data of the photo attractions can be obtained by clustering the collected photos with location information, which can be GPS information, stored in the photo file.
Herein, the user feature distinguishes the users from each other, and a user feature vector representing the user feature may be obtained based on various feature extraction methods using history data of the corresponding user. As previously described, in attraction recommendation applications, historical data, such as a user attraction matrix, is updated frequently. The method and the device enable each of the extracted user feature vectors to be updated independently of each other under the condition, so that updating of the whole user factor matrix is avoided, and therefore the efficiency of scenic spot recommendation is greatly improved. The process of feature vector extraction will be described in detail later.
Step S102 is a sight feature vector extraction step in which at least one sight feature vector representing a corresponding sight feature is extracted from a plurality of history data of the user and the sight, each of the sight feature vectors being updated independently of each other in the case of updating the history data.
This step is similar to step S101, and for example, a sight feature vector representing a sight feature may be obtained based on various feature extraction methods using history data of the corresponding sight. Similarly, the present application also enables each of the extracted sight feature vectors to be updated independently of each other. This avoids updating the entire sight factor matrix and therefore will greatly improve the efficiency of sight recommendations.
Step S103 is a weight matrix generation step in which a weight matrix representing the mapping of the user feature vector with respect to the sight feature vector is generated using the user history data and the history data of the sight.
As previously described, the user feature vector or sight feature vector may be extracted using an appropriate feature extraction method based on user history data or sight history data from any source, respectively. To enable knowledge of the relationship between the user feature vector and the sight feature vector to more accurately determine the recommendation score of sight to the user, we need to generate a weight matrix representing a mapping of user features relative to sight features. For example, representing a user feature in a row and a sight feature in a column, the elements (weights) of the weight matrix may be considered as the degree to which a user with that feature likes the feature in a sight. The recommendation result of the proposed method is therefore an explanation of the reason why the sights are recommended to the user. The process of generating the weight matrix will be described in detail later.
Step S104 is a recommendation score determining step in which scores for a plurality of candidate sights of the selected user are determined based on the user feature vector, the sight feature vector, and the weight matrix.
After the user feature vector and the sight spot feature vector are extracted and the weight matrix is generated, the recommendation score of the sight spot to the selected user can be calculated, and the content of the unknown item in the sight spot matrix of the user is basically determined. Because the ranked sights generally better match the user, the ranked sights should be selected for recommendation. The number of recommended sights may be determined based on multiple factors, such as a total threshold of recommendation scores, a personal recommendation score, or a human-defined number of recommendations.
Therefore, according to the scenic spot recommendation method provided by the embodiment of the application, the whole user factor matrix or the whole scenic spot factor matrix can be prevented from being retrained when the historical data is updated, and therefore the scenic spot recommendation efficiency is improved. In addition, the sight recommendation may also be interpretable. These advantages will be better understood upon reading the following detailed description.
2. Feature vector extraction process
Fig. 3 shows a flow diagram of a feature vector extraction process according to an embodiment of the application. In fig. 3, step S201 is an information receiving step in which a recommendation request and specific information from a user are received. Step S202 is a data acquisition step in which the latest user and attraction history data is acquired. Step S203 is a feature definition step in which features to be extracted from the history data are defined in advance. Step S204 is a feature vector updating step in which a user feature vector or a sight point feature vector is extracted and updated based on history data. This will be explained in further detail later.
2-1 user feature vector extraction process
The process of extracting the user feature vector is described in detail next with reference to the flowchart of fig. 3.
First, a scene point recommendation request transmitted from a user is received.
The request is for example from a communication module of the user equipment. The request preferably includes at least two types of information: a user ID, which is a generic index in a database storing user feature vectors; and a user-specified location at which the user is seeking a point of sight.
The manner in which the user specifies the location may be explicit or implicit. In an explicit approach, a user may specify a location by, for example, entering a location name, manually drawing an area on an interactive map, or sending a voice command to their device, etc. In an implicit approach, the location may be automatically determined by the user device. For example, the current location of the user may be provided by a GPS module in the user device. Further, the location radius may indicate an area in which the user desires to recommend sights. The location radius may be specified by the user or automatically determined based on the user's contextual information.
Next, the latest historical data of the user and the attraction is obtained. This historical data may come from information on the internet regarding the user's records of visiting the attraction, or various sources of information provided by the user, such as a group of photographs. The various sources of historical data are as described above and are not repeated here.
Then, user characteristics to be extracted from the history data are defined in advance. For example, where the historical data is a set of photos of attractions or a record of attractions visited by the user or rated attractions, the user characteristic may be scene information in the photos, such as "street", "animal", "plant", "sea", etc. Whereby the user feature vector may be a vector comprising at least one of:
a) the number of photographs taken by the respective user belonging to the predetermined scene;
b) a percentage of photographs taken by a respective user belonging to a predetermined scene;
c) the number of photos scored by the respective user belonging to the predetermined scene;
d) a percentage of photos scored by the respective user that belong to a predetermined scene;
e) a number of sights accessed by a respective user belonging to a predetermined scene;
f) a percentage of sights visited by a respective user that belong to a predetermined scene;
g) a number of sights scored by a respective user belonging to a predetermined scene; and
h) the percentage of sights scored by the respective user that belong to the predetermined scene.
Alternatively, the user characteristics may be statistical information of the sights visited by the respective users, which can be the types, access frequencies and durations of the sights visited by the users and the user characteristic vector is composed of its respective statistical values.
Finally, a user feature vector is extracted and updated based on the user information, the historical data, and the defined user features.
In one example, the user feature vector is here a scene label histogram. The extraction method comprises the following steps: adopting N photos (N >0) uploaded by a user who makes a recommendation request; iterating through each of the N photos to identify photo scene information based on corresponding image content using, for example, an object recognition method, the identified photo scene information for each photo being one or more scene tags in a predefined set of scene tags (features); the sum of the identified scene tag information for all N photos is calculated to form a calculation vector; the computation vector is then normalized by N into a histogram, each element of which is a percentage of the corresponding scene label. The scene tag histogram is then stored as a user feature vector in the user database, as shown in fig. 4A. Each time a user uploads a new set of photos, the scene tag histogram of the corresponding user can be updated independently without affecting the feature vectors of other users, despite the change in user history data.
In other examples, instead of a set of photos uploaded by the user, the historical data may come from sights scored by the respective user. In the case where scene information is defined as a user feature, a user feature vector may be extracted similarly to the foregoing example.
In another example, the types of sights visited by the user, the access frequency and duration, etc. may be statistically derived based on historical data as the user feature vector for the user.
2-2 scenic spot feature vector extraction process
This process is similar to the user feature vector extraction process. Only the differences are described below.
First, if a position and a radius are specified in the user information, a candidate sight is selected according to the position and the radius. Here, if the position and the radius are not specified, step S201 may be omitted.
Thus, given a user-specified location with known latitude and longitude, the distance between the user-specified location and each attraction may be calculated. After calculating and comparing the distance from the user-specified location to each sight, only sights that are within the radius are considered candidate sights.
Then, where the historical data is a set of sight photos or a record of sights or scored sights visited by the user, the sight characteristics may also be scene information in the photos, such as "street," "animal," "plant," "sea," etc. The sight feature vector is different from the user feature vector and includes at least one of:
a) the number of photos belonging to a predetermined scene taken of the corresponding sight spot;
b) a percentage of photographs belonging to a predetermined scene taken of the respective sight;
c) the number of photographs taken of the respective sights with a specified average rating score; and
d) the percentage of photographs taken with a given average rating score for the corresponding sight.
Alternatively, the sight characteristics may be statistical information for each user accessing the corresponding sight, which can be the age, gender, and education level of the accessing user and the sight characteristic vector is composed of its corresponding statistics.
Finally, a sight feature vector is extracted and updated based on the user information, the historical data, and the defined sight features.
In one example, the sight feature vector is a scene label histogram. The extraction method comprises the following steps: taking M pictures (M >0) within the range of the targeted candidate sight; each of the M photos is iterated to identify photo scene information based on the corresponding image content. The identified photo scene information for each photo is one or more scene tags in a predefined set of scene tags (features); summing the identified scene tag information for the M photos to form a computation vector; the computation vector is then normalized by M into a histogram, each element of which is a percentage of the corresponding scene label. The scene tag histogram is then stored as a sight feature vector in the sight database, as shown in figure 4B. When a new set of photos is uploaded within the range of the sight, the scene tag histograms of the corresponding sights can be updated independently without affecting the feature vectors of other sights despite changes in sight history data.
In other examples, instead of a set of photographs within the range of candidate sights, the historical data may be users who scored the sights as well as rating scores. In the case where the evaluation score is defined as the sight feature, the sight feature vector may be extracted similarly to the foregoing example.
In another example, the age, gender, education, etc. of each user visiting the attraction may be statistically derived based on historical data as the attraction feature vector for the candidate attraction.
3. Weight matrix generation process
The weight matrix is, for example, a square matrix in which each element is a real number. The elements of the weight matrix are the weights for the user features to transition to the sight features. Roughly speaking, the greater the weight, the greater the degree to which a user with a certain class of features matches an attraction with a certain class of features.
In one example, the weight matrix is generated using historical data offline training. Several algorithms can be applied in the training process, such as the stochastic gradient descent SGD algorithm, in which:
1) inputting a learning rate factor gamma and a normalization factor lambda;
2) randomly initializing a weight matrix S;
3) defining a loss function:
Figure BDA0000922059940000113
wherein the content of the first and second substances,
ru,iis the true value of the user u for the sight spot i;
Figure BDA0000922059940000114
is the recommendation score of user u for sight i
Figure BDA0000922059940000115
puIs the feature vector of user u;
qiis the feature vector of the sight point i;
4) for user u and sight i, a gradient is calculated:
Figure BDA0000922059940000111
5) and updating the corresponding S:
Figure BDA0000922059940000112
6) repeating steps 4) and 5) for each user u and each sight i within the training data until convergence;
7) training is completed and the learned weight matrix S is output.
The weight matrix S obtained at this time can be used for calculating data at least corresponding to unknown items in the user sight spot matrix through multiplication operation together with the user characteristic vector and the sight spot characteristic vector. Fig. 5A shows a weight matrix generated according to this example. Each element in the matrix represents the degree to which a user with a certain class of features likes a sight with a certain class of features. The more sufficient the training data is as historical data, the more stable the generated weight matrix will remain when the user's and object historical data is updated. This will therefore become an important factor in adapting to dynamic data sources.
In another example, instead of an offline training method, a statistical method may also be used to generate the weight matrix based on historical data. Each element in the matrix represents the joint probability of a certain class of feature of the user and a certain class of feature of the sight, and the sum of the joint probabilities in the matrix should be equal to 1. FIG. 5B illustrates a weight matrix generated according to this example, where, for example, 0.11 represents the probability that a user with a "like shoot" plant "feature has shot an attraction containing a" street "feature. During statistics, given a set of photos taken by each user, a joint probability distribution of each user feature and each sight spot feature is calculated. The statistical method is not limited to the joint probabilities listed here, and other methods such as conditional probabilities and the like may be used as needed.
4. Recommendation score determination process
After the user feature vector, the sight feature vector, and the weight matrix are extracted, recommendation scores for candidate sights of the user can be determined, and then one or more sights are recommended as needed.
In one example, the source of the historical data used to extract the user feature vector and the sight feature vector is the same as the source of the historical data used to generate the weight matrix. In particular, the user-provided photo collection is treated as historical data from which a matrix of user sights such as that shown in FIG. 1 may be derived. The user feature vector and the sight feature vector are extracted from the photo collection based on the scene information, as previously described. In addition, the weight matrix is obtained by off-line training based on the user sight matrix, the user feature vector and the sight feature vector, as described above.
Therefore, the recommendation score for each candidate sight is calculated separately for the same user u using the following formula:
Figure BDA0000922059940000121
i.e. feature vectors p based on user uuA weight matrix S and a feature vector q of the sight point iiTo calculate the recommendation score of the sight i to the user u
Figure BDA0000922059940000122
As shown in fig. 6A.
The recommendation score indicates a degree of matching of the feature vector of the corresponding user and the feature vectors of the sights. For a particular user, if an attraction has a recommendation score greater than another attraction, that attraction has a greater likelihood of being accepted by the user and is therefore suitable for being recommended. In this example, because the sources of the historical data are the same, the relevance of the data and the stability of the recommendation are better.
In one variation, the weight matrix described above may not be generated by off-line training. Alternatively, it may be generated using a statistical method based on a set of photographs as historical data, as described previously. Using the weight matrix thus statistically generated, recommendation scores are similarly determined as shown in FIG. 6B
Figure BDA0000922059940000131
In another example, unlike the previous example, the source of the historical data used to extract the user feature vector and the sight feature vector is different from the source of the historical data used to generate the weight matrix. In particular, data such as sights visited by the user is referred to as historical data from which a matrix of user sights such as that shown in FIG. 1 can be derived directly. On the other hand, the user feature vector and the sight feature vector are extracted based on scene information from a user-provided photo album, as described previously. In addition, the weight matrix is based on the user sight matrix, the user feature vector andthe sight feature vectors are trained offline, as described above. Similarly, a recommendation score can be determined as shown in FIG. 6A
Figure BDA0000922059940000132
In a variation of this example similar to the preceding variation, the weight matrix may not be generated by offline training. Alternatively, the weight matrix may be generated using statistical methods based on a collection of photos as historical data, where each element represents a joint probability of a certain class of features of the user and a certain class of features of the sights. Similarly, a recommendation score can be determined as shown in FIG. 6B
Figure BDA0000922059940000133
Therefore, the sight point recommendation method according to the embodiment of the application does not need to retrain the whole user factor matrix or the whole sight point factor matrix when the historical data is updated. Furthermore, since the elements in the weight matrix have specific meanings, interpretation of the recommendation is facilitated.
5. Block diagram of scenic spot recommendation apparatus
A block diagram of an exemplary configuration of an attraction recommendation device 700 according to one embodiment of the present application is described next with reference to fig. 7. The attraction recommendation device 700 includes: a feature vector extraction means 701 configured to extract at least one user feature vector representing a corresponding user feature and at least one sight feature vector representing a corresponding sight feature from a plurality of history data of the user and the sight, each of the user feature vectors being updated independently of each other and each of the sight feature vectors being updated independently of each other in case of history data update; a weight matrix generation device 702 configured to generate a weight matrix representing a mapping of the user feature with respect to the sight feature using the history data; and a recommendation score determining means 703 configured to determine scores for a plurality of candidate sights for the selected user based on the user feature vector, the sight feature vector and the weight matrix.
The above device 701-703 can be configured to perform the steps S101-S104 of the sight recommendation method respectively.
Preferably, the feature vector extraction means 701 may further include: an information receiving device 704 configured to receive a recommendation request and specific information from a user; a data acquisition device 705 configured to acquire the latest user history data and attraction history data; a feature definition means 706 configured to define in advance features to be extracted from the history data; and a vector updating means 707 configured to extract and update the feature vector based on the history data.
The above-described apparatus is an exemplary and/or preferred apparatus for implementing the attraction recommendation method described in this application. These means may be hardware units, such as a central processing unit (CPU 901 in fig. 9), a field programmable gate array, a digital signal processor, an application specific integrated circuit or a computer, etc., and/or software means, such as a computer readable program. The apparatus for performing the various steps has not been described in detail above. However, as long as there is a step of performing a certain process, there may be corresponding means (implemented by hardware and/or software) for implementing the same process. All the technical solutions defined by all the combinations of the described steps and the devices corresponding to these steps are included in the disclosure of the present application as long as they constitute these technical solutions in a complete and applicable way.
Further, the above-described apparatus constituted by various means may be incorporated as a functional module into a hardware device such as a computer. In addition to these functional modules, the computer may of course have other hardware or software components.
6. Advantages of scenic spot recommendation method and device
According to the scenic spot recommendation method and the scenic spot recommendation equipment, the user scenic spot matrix is decomposed into the following three matrixes: the system comprises a user feature matrix formed by user feature vectors, a weight matrix and a scenery feature matrix formed by scenery feature vectors. Then, a recommendation score for the sight of the respective user is calculated using the respective user feature vector, the sight feature vector, and the weight matrix.
First, the user features and sight features are described using, for example, a photo scene histogram. Because the photo sight histogram is a type of low dimensional feature, data sparsity issues in location-dependent recommendations can be reduced. And secondly, the user characteristic matrix and the scenery spot characteristic matrix are respectively formed by a user photo scene histogram and a scenery spot photo scene histogram and are independent of the user scenery spot matrix. The weight matrix is trained offline or statistically learned according to historical data, and the more sufficient the training data as the historical data is, the more stable the learned weight matrix can be kept when the historical data of the user and the scenic spot is updated. When historical data related to a user or a sight is updated, only the corresponding user feature vector or sight feature vector is updated, and other user feature vectors or sight feature vectors will not change. Depending on such a local retraining mechanism, the proposed method achieves compatibility with dynamic data sources. Finally, because the weight matrix can be considered as a mapping matrix, each element of which is the degree of matching of a particular feature of the user with a particular feature of the attraction, the reason why the attraction is recommended to the user can be explained in the proposed method.
7. Recommendation system for realizing scenic spot recommendation method
FIG. 8 shows a schematic diagram of a recommendation system for implementing the attraction recommendation method according to an embodiment of the application. The recommendation system comprises a user database, a scenery spot database, an image analysis module, an offline training module, a user extractor, a scenery spot filter and a recommendation engine. The user database and the sight database store user feature vectors (as shown in fig. 4A) and sight feature vectors (as shown in fig. 4B), respectively, which are generated by an image analysis module (feature vector extraction means) using image data uploaded by a user. From the above image data, an offline training module (weight matrix generation means) learns the weight matrix used by the recommendation engine (as shown in fig. 5A). When the recommendation system receives a request from a particular user for a recommendation of a photo attraction, a user extractor is invoked to select a corresponding user feature vector from a user database, and an attraction filter is invoked to select a plurality of attraction databases according to the location of the attractionAnd forming a candidate sight set by the sight feature vectors. Recommendation engine (recommendation score determining means) using user feature vectors (e.g. p)u) Sight feature vector (e.g., q)i) And a weight matrix (e.g., S) to calculate a recommendation score for each candidate sight (e.g., S)
Figure BDA0000922059940000161
). A higher recommendation score refers to a better match between the user and the corresponding sight. The candidate sights are sorted in the list according to the recommendation score, and several top ranked candidate sights are output as recommendation results. Finally, the recommendation is returned to the user device and presented to the user.
8. Other embodiments
Although the foregoing embodiments have focused on attraction recommendation applications, the present application is clearly not limited to such applications, but may be used broadly in various object recommendation fields such as those common on networks.
For example, in the field of book recommendation, similar to the field of sight recommendation, recommendation scores for certain books for a selected user may be determined by extracting a user feature vector by characterizing the type of book (or the score of the book) accessed by the user and a book feature vector by characterizing the education level of the user accessing the book, and then training a weight matrix offline using the user feature vector and the book feature vector and a user book matrix.
For another example, in the field of video recommendation, similar to the field of sight point recommendation, recommendation scores of certain videos for a selected user may be determined by extracting a user feature vector by using the type and viewing duration, etc., of the video accessed by the user (or the rating of the video) as features and extracting a video feature vector by using the age, gender, and education level of the user accessing the video as features, and then training a weight matrix offline using the user feature vector and the video feature vector and the user video matrix.
9. Computer device for implementing the method and device of the present application
Fig. 9 is a block diagram showing a hardware configuration of a computer system capable of implementing an embodiment of the present application.
As shown in fig. 9, the computer system includes a processing unit 901, a read only memory 902, a random access memory 903, and an input/output interface 905 connected via a system bus 904, and an input unit 906, an output unit 907, a storage unit 908, a communication unit 909, and a driver 910 connected via the input/output interface 905. The program may be recorded in advance in a ROM (read only memory) 902 or a storage unit 908 as a recording medium built in the computer. Alternatively, the program may be stored (recorded) in the removable medium 911. Herein, the removable medium 911 includes, for example, a flexible disk, a CD-ROM (compact disc read only memory), an MO (magneto optical) disk, a DVD (digital versatile disc), a magnetic disk, a semiconductor memory, and the like.
The input unit 906 is used for inputting a user request, and is configured with a keyboard, a mouse, a touch screen, a microphone, and the like. In addition, the output unit 907 is configured with an LCD (liquid crystal display), a speaker, and the like.
The communication unit 909 may be, for example, a wireless communication unit that includes at least one transceiver module and a positioning module. The transceiver module is used for sending a recommendation request to the remote server and receiving an object recommendation result from the remote server. The positioning module is, for example, a GPS module 912 for acquiring the position of the user.
The storage unit 908 or the ROM 902 stores basic user information, history data, interests, and the like. The RAM 903 may store temporary state information and intermediate calculation results.
Further, in addition to the configuration in which the program is installed from the above-mentioned removable medium 911 to the computer through the drive 910, the program may be downloaded to the computer through a communication network or a broadcasting network to be installed in the built-in storage unit 908. In other words, the program may be transmitted from a download point to the computer by a satellite for digital satellite broadcasting, for example, in a wireless manner, or to the computer by a wired manner through a network such as a LAN (local area network) or the internet.
If a command is input to the computer system via the input/output interface 905 by a user manipulation or the like to the input unit 906, the CPU 901 executes a program stored in the ROM 902 in accordance with the command. Alternatively, the CPU 901 loads a program stored in the storage unit 908 on the RAM 903 to execute the program.
Therefore, the CPU 901 executes some processing according to the above-mentioned flowchart or processing executed by the above-mentioned configuration of the block diagram. Next, if necessary, the CPU 901 allows the result of the processing to be output from an output unit 907, transmitted via a communication unit 909, recorded in a storage unit 908, or the like, for example, through an input/output interface 905.
In addition, the program may be executed by a computer (processor). In addition, the program may be processed by a plurality of computers in a distributed manner. In addition, the program may be transferred to a remote computer for execution.
The computer system shown in FIG. 9 is illustrative only and is in no way intended to be limiting of the present application, its applications, or uses. The computer system shown in fig. 9 may be implemented in any embodiment, as a stand-alone computer, or as a processing system in a device, and one or more components may be removed from the computer system or added thereto as additional components as desired.
The methods and systems of the present application may be implemented in a number of ways. For example, the methods and systems of the present application may be implemented by software, hardware, firmware, or any combination thereof. The order of the method steps described above is merely illustrative, and the method steps of the present application are not limited to the order specifically described above unless explicitly stated otherwise. Further, in some embodiments, the present application may also be embodied as a program recorded in a recording medium, which includes machine-readable instructions for implementing a method according to the present application. Thus, the present application also covers a recording medium storing a program for implementing the method according to the present application.
Although some specific embodiments of the present application have been described in detail by way of examples, it should be understood by those skilled in the art that the foregoing examples are illustrative only and are not limiting upon the scope of the present application. It will be appreciated by those skilled in the art that the above-described embodiments may be modified without departing from the scope and spirit of the application. The scope of the application is defined by the appended claims.

Claims (14)

1. An object recommendation method, comprising:
a feature vector extraction step of extracting at least one user feature vector representing a feature of a corresponding user and at least one object feature vector representing a feature of a corresponding object from a plurality of history data of the user and the object, each of the user feature vectors being updated independently of each other and each of the object feature vectors being updated independently of each other in the case of history data update;
a weight matrix generation step of generating a weight matrix representing a mapping of a user feature vector with respect to an object feature vector using history data, wherein each element in the weight matrix represents a degree of matching of a specific feature of a user with a specific feature of an object; and
and a recommendation score determining step of determining scores of a plurality of candidate objects for the selected user based on the user feature vector, the object feature vector and the weight matrix, wherein the determined scores represent the matching degree of the user feature vector of the corresponding user and the object feature vector of the object.
2. The object recommendation method of claim 1, wherein a source of the history data used to extract the user feature vector and the object feature vector is different from a source of the history data used to generate the weight matrix.
3. The object recommendation method according to claim 1, wherein a source of the history data for extracting the user feature vector and the object feature vector is the same as a source of the history data used for generating the weight matrix.
4. The object recommendation method according to one of claims 1-3, wherein the weight matrix is generated statistically using historical data of users and objects.
5. The object recommendation method of one of claims 1-3, wherein the generating weight matrix is trained offline using historical data of users and objects.
6. The object recommendation method of claim 5, wherein the step of generating the weight matrix by off-line training comprises:
the weight matrix is trained offline using historical data of the user and the object, and a user feature vector and an object feature vector acquired based on the historical data.
7. The object recommendation method according to one of claims 1-3, wherein the historical data of a user is from at least one of:
a) an object accessed by a user;
b) the objects scored by the user, and the rating scores;
c) a picture taken by the user;
d) a photograph taken by a user, the photograph having a photograph tag; and
e) photos scored by the user, and rating scores.
8. The object recommendation method according to one of claims 1-3, wherein the historical data of an object is from at least one of:
a) a user accessing the object;
b) a user scoring the object, and an evaluation score;
c) a photograph taken while the subject was taken; and
d) a photograph taken while the subject was taken, the photograph having a photograph label.
9. The object recommendation method of claim 7, wherein the user feature vector comprises at least one of:
a) the number of photographs taken by the respective user belonging to the predetermined scene;
b) a percentage of photographs taken by a respective user belonging to a predetermined scene;
c) the number of photos scored by the respective user belonging to the predetermined scene;
d) a percentage of photos scored by the respective user that belong to a predetermined scene;
e) a number of objects accessed by a corresponding user belonging to a predetermined scene;
f) a percentage of objects accessed by a respective user belonging to a predetermined scene;
g) a number of objects belonging to a predetermined scene scored by a respective user;
h) a percentage of objects belonging to a predetermined scene scored by a respective user; and
i) statistics of the objects accessed by the respective users, which can be the types, access frequencies and durations of the users accessing the objects.
10. The object recommendation method of claim 8, the object feature vector comprising at least one of:
a) the number of photographs belonging to a predetermined scene taken for the corresponding subject;
b) a percentage of photographs taken of the respective subject belonging to a predetermined scene;
c) the number of photographs taken of the respective subjects having the specified average rating score;
d) a percentage of photographs taken of the respective subjects having a specified average rating score; and
e) statistics of users who access the respective objects can be the age, gender, and education level of the accessing users.
11. The object recommendation method of one of claims 1-3, wherein the plurality of candidate objects are determined according to the location of the selected user.
12. The object recommendation method of one of claims 1-3, wherein the object is a scenic spot.
13. The object recommendation method of claim 12, wherein the historical data of a scene point can be obtained by clustering collected photos with location information stored in a photo file, which can be GPS information.
14. An object recommendation apparatus characterized by comprising:
feature extraction means configured to extract at least one user feature vector representing a corresponding user feature and an object feature vector representing a corresponding object feature from a plurality of history data of the user and the object, each of the user feature vectors being updated independently of each other and each of the object feature vectors being updated independently of each other in a case of history data update;
a weight matrix generation device configured to generate a weight matrix representing a mapping of a user feature with respect to an object feature using the history data, wherein each element in the weight matrix represents a degree of matching of a specific feature of the user with a specific feature of the object; and
a recommendation score determining device configured to determine scores for a plurality of candidate objects for the selected user based on the user feature vector, the object feature vector and the weight matrix, wherein the determined scores represent a degree of matching of the user feature vector of the corresponding user and the object feature vector of the object.
CN201610078101.XA 2016-02-04 2016-02-04 Object recommendation method and object recommendation device Active CN107038169B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610078101.XA CN107038169B (en) 2016-02-04 2016-02-04 Object recommendation method and object recommendation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610078101.XA CN107038169B (en) 2016-02-04 2016-02-04 Object recommendation method and object recommendation device

Publications (2)

Publication Number Publication Date
CN107038169A CN107038169A (en) 2017-08-11
CN107038169B true CN107038169B (en) 2021-03-12

Family

ID=59532145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610078101.XA Active CN107038169B (en) 2016-02-04 2016-02-04 Object recommendation method and object recommendation device

Country Status (1)

Country Link
CN (1) CN107038169B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121211B (en) * 2017-12-12 2021-09-14 美的智慧家居科技有限公司 Control method of household appliance, server and computer readable storage medium
CN110688581A (en) * 2019-10-30 2020-01-14 南京领行科技股份有限公司 Information real-time pushing method and device, computing equipment and medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103634A (en) * 2009-12-22 2011-06-22 索尼公司 Information processing apparatus and method
CN102651011A (en) * 2011-02-27 2012-08-29 祁勇 Method and system for determining document characteristic and user characteristic
CN102999540A (en) * 2011-09-10 2013-03-27 祁勇 Method and system for determining user features on Internet
CN104572707A (en) * 2013-10-18 2015-04-29 北京卓易讯畅科技有限公司 Preferable object information providing method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101076032A (en) * 2007-02-15 2007-11-21 腾讯科技(深圳)有限公司 Method and system for transmitting information
US8037080B2 (en) * 2008-07-30 2011-10-11 At&T Intellectual Property Ii, Lp Recommender system utilizing collaborative filtering combining explicit and implicit feedback with both neighborhood and latent factor models
CN101383942B (en) * 2008-08-01 2010-06-09 深圳市天威视讯股份有限公司 Hidden customer characteristic extracting method and television program recommendation method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103634A (en) * 2009-12-22 2011-06-22 索尼公司 Information processing apparatus and method
CN102651011A (en) * 2011-02-27 2012-08-29 祁勇 Method and system for determining document characteristic and user characteristic
CN102999540A (en) * 2011-09-10 2013-03-27 祁勇 Method and system for determining user features on Internet
CN104572707A (en) * 2013-10-18 2015-04-29 北京卓易讯畅科技有限公司 Preferable object information providing method and device

Also Published As

Publication number Publication date
CN107038169A (en) 2017-08-11

Similar Documents

Publication Publication Date Title
CN108304429B (en) Information recommendation method and device and computer equipment
US20130046761A1 (en) Method and Apparatus for Social Tagging of Media Files
US20220237247A1 (en) Selecting content objects for recommendation based on content object collections
CN110717099B (en) Method and terminal for recommending film
US20150278350A1 (en) Recommendation System With Dual Collaborative Filter Usage Matrix
CN111061946A (en) Scenario content recommendation method and device, electronic equipment and storage medium
CN111125528B (en) Information recommendation method and device
CN112765484B (en) Short video pushing method and device, electronic equipment and storage medium
CN111522996A (en) Video clip retrieval method and device
Li et al. Where you instagram? associating your instagram photos with points of interest
US9020863B2 (en) Information processing device, information processing method, and program
CN107426610B (en) Video information synchronization method and device
CN115455280A (en) Recommendation list determining method and server
CN107038169B (en) Object recommendation method and object recommendation device
CN113656699B (en) User feature vector determining method, related equipment and medium
CN117390289B (en) House construction scheme recommending method, device and equipment based on user portrait
CN117056575B (en) Method for data acquisition based on intelligent book recommendation system
Li et al. A rank aggregation framework for video multimodal geocoding
CN108804492B (en) Method and device for recommending multimedia objects
CN107766881B (en) Way finding method and device based on basic classifier and storage device
US11727051B2 (en) Personalized image recommendations for areas of interest
CN114817607A (en) Image detection method, device, equipment and storage medium
CN113807749B (en) Object scoring method and device
CN111753206B (en) Information pushing method and system
Khare et al. Perspective Analysis Recommendation System in Machine Learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant