Method, apparatus, electronic device, and medium for recommending an object
By introducing the attributes of object classification and access time, a timing model is built to recommend products, which solves the problem of large amount of calculation and low accuracy of collaborative filtering algorithms in product recommendations, and achieves more efficient and accurate product recommendations.
Patent Information
- Application Number
- CN202010073491.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-01-22
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2040-01-22
AI Technical Summary
The existing collaborative filtering algorithms have large calculation volumes, poor processing performance and low prediction accuracy in product recommendations.
By introducing the attributes of object classification and access time, based on the conversion relationship between object classification, a timing model is built to recommend products, narrow the candidate set of objects to be analyzed, reduce the amount of data processed and improve prediction accuracy.
It reduces the amount of product recommendations and improves the accuracy and reliability of predictions.
Smart Images

Figure CN113159808B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of Internet technologies, and more particularly, to a method, an apparatus, an electronic device, and a medium for recommending objects. Background Art
[0002] In recent years, with the rapid development of e-commerce, the user data accessed and the commodity data sold have increased sharply. How to quickly locate the needs of users and accurately push the commodities that users may purchase has become a hot topic in the research of e-commerce systems. Fortunately, a large amount of user data has been accumulated in current e-commerce systems, including user portrait information, browsed commodity information, operation information, purchase information, etc. Therefore, data analysis and mining can be performed based on user data to obtain user preferences and needs, and then the commodities that users may browse in the future can be obtained to achieve commodity prediction and recommendation.
[0003] Regarding the technology of commodity prediction and recommendation, the most widely used currently is the collaborative filtering algorithm (CF). This algorithm mainly analyzes by analyzing the user-commodity rating matrix, predicts the ratings of commodities that users may browse, and recommends the top-N with higher predicted ratings to users. However, this method has a high computational complexity, poor processing performance, and the actual prediction accuracy is not satisfactory. Summary of the Invention
[0004] In view of this, the present disclosure provides a method, an apparatus, an electronic device, and a medium for recommending objects.
[0005] One aspect of the present disclosure provides a method for recommending an object, including obtaining user access data, determining, based on the user access data, the categories to which a plurality of first objects accessed by the user belong and the temporal relationship between the user's accesses to the plurality of first objects, predicting, based on the first category and the temporal relationship, the second category to which a second object to be accessed belongs, predicting, based on the first object, the second object to be accessed from the second category, and outputting recommendation information to recommend the second object to the user.
[0006] Optionally, the predicting, based on the first category and the temporal relationship, the second category to which a second object to be accessed belongs includes determining the number of time periods from the access of the first object to the access of the second object to be accessed, determining the relevance between different categories based on the number of time periods, and determining the second category based on the relevance.
[0007] Optionally, determining the relevance between different categories based on the number of the time periods includes determining the similarity between different categories, determining the transition probability between different categories based on the number of the time periods, and determining the relevance between different categories based on the similarity and the transition probability.
[0008] Optionally, determining the similarity between different categories includes obtaining historical data, determining the set similarity and the Euclidean distance between different categories based on the historical data, and determining the similarity between different categories based on the set similarity and the Euclidean distance.
[0009] Optionally, predicting a second object to be accessed from the second category based on the first object includes determining the transition probability from the first object to each object in the second category, and predicting a second object to be accessed from the second category based on the transition probability.
[0010] Optionally, the multiple first objects include the first object accessed at time t-1 and the first object accessed at time t-2, and are used to predict the second object that the user will access at time t.
[0011] Optionally, predicting the second category to which the second object to be accessed belongs includes predicting a first set based on the first object accessed at time t-1, predicting a second set based on the first object accessed at time t-2, and determining that the category in the union of the first set and the second set is the second category.
[0012] Another aspect of the present disclosure provides an apparatus for recommending an object, including an obtaining module, a determining module, a first prediction module, a second prediction module, and an output module. The obtaining module is configured to obtain user access data. The determining module is configured to determine the category to which the multiple first objects accessed by the user belong and the temporal relationship between the user's accesses of the multiple first objects based on the user access data. The first prediction module is configured to predict the second category to which the second object to be accessed belongs based on the first category and the temporal relationship. The second prediction module is configured to predict the second object to be accessed from the second category based on the first object. The output module is configured to output recommendation information for recommending the second object to the user.
[0013] Another aspect of the present disclosure provides an electronic device, including at least one processor and at least one memory for storing one or more computer-readable instructions, wherein when the one or more computer-readable instructions are executed by the at least one processor, the processor executes the method as described above.
[0014] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed, are used to implement the method described above.
[0015] Another aspect of the present disclosure provides a computer program that includes computer-executable instructions that, when executed, are used to implement the method described above.
[0016] The method according to the embodiments of the present disclosure can convert object classification data into classified time-series data with a time-series relationship by introducing the attribute of object classification and the access time attribute, which can reduce the amount of data to be analyzed and processed to a certain extent and improve the prediction accuracy. Description of the Drawings
[0017] Through the following description of the embodiments of the present disclosure with reference to the drawings, the above and other objects, features, and advantages of the present disclosure will become clearer. In the drawings:
[0018] Figure 1 Schematically shows an application scenario of the method for recommending an object according to an embodiment of the present disclosure;
[0019] Figure 2 Schematically shows a flowchart of the method for recommending an object according to an embodiment of the present disclosure;
[0020] Figure 3 Schematically shows a flowchart of the method for recommending an object according to another embodiment of the present disclosure;
[0021] Figure 4 Schematically shows a schematic diagram of the apparatus for recommending an object according to an embodiment of the present disclosure; and
[0022] Figure 5 Schematically shows a block diagram of a computer system of a system suitable for recommending an object according to an embodiment of the present disclosure. Detailed Embodiments
[0023] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the following detailed description, for the sake of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present disclosure.
[0024] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the present disclosure. The terms "comprising", "including" and the like as used herein indicate the presence of the stated features, steps, operations and / or components, but do not preclude the presence or addition of one or more other features, steps, operations or components.
[0025] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those of ordinary skill in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0026] In cases where expressions such as "at least one of A, B, and C, etc." are used, generally, it should be interpreted according to the meaning commonly understood by those of ordinary skill in the art (for example, "a system having at least one of A, B, and C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). In cases where expressions such as "at least one of A, B, or C, etc." are used, generally, it should be interpreted according to the meaning commonly understood by those of ordinary skill in the art (for example, "a system having at least one of A, B, or C" should include, but not be limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). Those of ordinary skill in the art should also understand that substantially any disjunctive conjunctions and / or phrases that represent two or more alternative items, whether in the specification, claims, or drawings, should be understood as presenting the possibility of including one of those items, either of those items, or both items. For example, the phrase "A or B" should be understood as including the possibility of "A" or "B", or "A and B".
[0027] In view of the problems of large computational complexity and prediction accuracy existing in the existing recommendation algorithms, embodiments of the present disclosure provide an object prediction and recommendation technology that introduces attributes of object classification and access time and is based on the conversion relationship between object classifications. This technology first obtains a target classification set by analyzing the classification relationship conversion of object access, analyzes the objects in the target classification to reduce the number of candidate sets of objects to be analyzed, thereby reducing the amount of data to be processed and improving the processing performance. In addition, the introduction of classification conversion data processing based on a time series model increases the accuracy and reliability of prediction. Through the above processing methods, the processing performance of prediction calculation and the accuracy of prediction are improved.
[0028] Figure 1 Schematically shows an application scenario of a method for recommending objects according to an embodiment of the present disclosure. It should be noted that Figure 1The illustration is only an example of the application scenarios to which the embodiments of the present disclosure can be applied, to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0029] As Figure 1 shown, the system architecture 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104, and a server cluster 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server cluster 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0030] Users can use the terminal devices 101, 102, 103 to interact with the server cluster 105 through the network 104 to receive or send messages, etc. Various communication client applications may be installed on the terminal devices 101, 102, 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).
[0031] The terminal devices 101, 102, 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, and desktop computers, etc.
[0032] The server cluster 105 may be a server cluster providing various services, such as a background management server cluster that supports the websites browsed by users using the terminal devices 101, 102, 103 (only as an example). The background management server cluster may analyze and process data such as user requests received, and feedback the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal devices.
[0033] It should be noted that the method for recommending an object provided by the embodiments of the present disclosure can generally be executed by the server cluster 105. Correspondingly, the device for recommending an object provided by the embodiments of the present disclosure can generally be set in the server cluster 105.
[0034] It should be understood that Figure 1 the numbers of the terminal devices, the network, and the servers in
[0035] Figure 2 are only illustrative. According to the implementation requirements, there can be any number of terminal devices, networks, and servers.
[0036] As Figure 2As shown, the method includes operations S210 to S250.
[0037] In operation S210, user access data is obtained. According to an embodiment of the present disclosure, the user access data includes data of one or more objects accessed by the user within a period of time. For example, for each access record, information such as the access time and the accessed object can be recorded.
[0038] In operation S220, based on the user access data, the categories to which the multiple first objects accessed by the user belong and the temporal relationship between the user's accesses to the multiple first objects are determined.
[0039] For example, according to the user access data, it can be determined that the user accesses object A at time t1 and accesses object B at time t2 after time t1. Then, the category C1 to which object A belongs and the category C2 to which object B belongs, as well as the temporal relationship of accessing object A first and then object B, can be determined.
[0040] According to an embodiment of the present disclosure, predicting the second category to which the second object to be accessed belongs based on the first category and the temporal relationship includes determining the number of time periods from accessing the first object to the second object to be accessed, based on the number of time periods, determining the relevance between different categories, and based on the relevance, determining the second category.
[0041] According to an embodiment of the present disclosure, determining the relevance between different categories based on the number of time periods includes determining the similarity between different categories, based on the number of time periods, determining the transition probability between different categories, and based on the similarity and the transition probability, determining the relevance between different categories.
[0042] According to an embodiment of the present disclosure, determining the similarity between different categories includes obtaining historical data, based on the historical data, determining the set similarity and the Euclidean distance between different categories, and based on the set similarity and the Euclidean distance, determining the similarity between different categories.
[0043] In operation S230, based on the first category and the temporal relationship, the second category to which the second object to be accessed belongs is predicted.
[0044] According to an embodiment of the present disclosure, predicting the second object to be accessed from the second category based on the first object includes determining the transition probability from the first object to each object in the second category, and based on the transition probability, predicting the second object to be accessed from the second category.
[0045] In operation S240, based on the first object, a second object to be accessed is predicted from the second category. For example, the second object that the user will access can be predicted from the second category through an existing collaborative filtering algorithm.
[0046] According to an embodiment of the present disclosure, the multiple first objects include the first object accessed at time t-1 and the first object accessed at time t-2, and are used to predict the second object that the user will access at time t.
[0047] According to an embodiment of the present disclosure, the second category to which the predicted second object belongs includes predicting a first set based on the first object accessed at time t-1, predicting a second set based on the first object accessed at time t-2, and determining that the category in the union of the first set and the second set is the second category.
[0048] In operation S250, recommendation information is output to recommend the second object to the user.
[0049] The following Figure 3 further exemplarily illustrates the method according to the embodiment of the present disclosure.
[0050] Figure 3 The flowchart of the method for recommending an object according to another embodiment of the present disclosure is schematically shown.
[0051] As Figure 3 shown, the method mainly involves three modules, namely: a data preprocessing module, an object classification module, and an object prediction module.
[0052] The data preprocessing module obtains the user-object access data D according to the big data platform or the log system, and converts the data into user-object classification data D through the object classification information cate .
[0053] The object classification module calculates the similarity matrix S between commodity classifications through the set similarity and distance formula; constructs an access conversion model between commodity classifications based on the access history sequence, and obtains the first-order and second-order conversion matrices P 1 and P 2 ; obtains the corresponding first-order and second-order relevance conversion matrices R 1 and R 2 .
[0054] The object prediction module is used to predict the object to be accessed by the target user u at time t.
[0055] The object prediction module obtains the object classification information C1 and C2 of the target user at time t-1 and t-2 and the object g0 at time t-1, and combines the relevance matrix R 1and R 2 Obtain the predicted set of object classifications Set, and obtain all the object sets G in the Set. According to the object g0 accessed by the target user, predict the probability of transferring from g0 to all objects in G through Bayes' theorem, and use the N objects with higher transfer probabilities as the predicted objects of the target user.
[0056] The following describes the three modules separately.
[0057] (1) Data preprocessing module
[0058] This module mainly performs data preprocessing and constructs user-object classification data required for subsequent processing. Assume that the current system contains N objects and K object classifications. Through the log system or data platform, obtain the browsing record data d of each user for the objects, which can be specifically expressed as:
[0059] d = [g1 g2 … g N
[0060] where g i identifies the object accessed by the user. Combining the object classification information, summarize the object information accessed by the user into the corresponding object classification cate gi in, cate gi identifies the classification id to which the object g i belongs. After adding the object classification information, the user's browsing object data can be adjusted to:
[0061]
[0062] According to d new the user-classification access relationship can be obtained:
[0063] d cate = [c1 c2 … c K
[0064] where c i identifies the access situation of the i-th object classification by the user. If c i = 1, it indicates that the user has accessed the i-th object classification. Conversely, c i = 0 indicates that the user has not accessed the i-th object classification.
[0065] Finally, perform data processing on M users to obtain the processed user-object classification matrix D:
[0066]
[0067] where D is an M*K matrix, representing the access data of M users to K object classifications. Use C i The column vectors in the identification D matrix represent the access data of all users to the i-th classification.
[0068] (2) Object Classification Module
[0069] This module mainly constructs an access conversion model between object classifications. By using the current and historical classification access data sequences, it estimates the likelihood of accessing a certain classification next time. For example, the similarity between classifications can be calculated through set similarity and / or Euclidean distance, and then a correlation conversion matrix between corresponding classifications is constructed by introducing classification conversion modeling.
[0070] (a) Calculate the similarity of object classifications
[0071] According to the embodiments of the present disclosure, the similarity of object classifications can be determined based on the set similarity method, or based on the Euclidean distance, or based on the combination of the results of both.
[0072] Among them, the calculation method of set similarity is:
[0073]
[0074] Among them, the numerator represents the number of users who access classifications i and j simultaneously, and the denominator represents the number of users who have accessed classification i or classification j. Their ratio is the set similarity.
[0075] The Euclidean distance can be calculated and determined in the following way:
[0076]
[0077] According to the embodiments of the present disclosure, the similarity S between classification i and classification j can be obtained based on the set similarity and the distance formula ij :
[0078] S ij = S(C i , C j ) = αS set (C i , C j ) + (1 - α)L(C i , C j ), where 0 < α < 1.
[0079] Finally, a similarity matrix S between classifications is constructed:
[0080]
[0081] (b) Construct a classification conversion model
[0082] Jump data between objects can be obtained through a big data platform or a logging system. After introducing object classification information, the object conversion data is adjusted to the conversion data between object classifications. By analyzing the jump data between object classifications, a conversion matrix between object classifications, i.e., a classification conversion matrix, can be obtained. To make the analysis more accurate, the concept of access time sequence is introduced, that is, it is considered that the current classification transfer matrix is jointly determined by the previous N transfer data. Through the data analysis of the time sequence, more accurate classification prediction can be carried out.
[0083] Classification conversion matrix obtained through one conversion:
[0084]
[0085] Among them, n(i, j) is the number of data that jumps from classification i to classification j at one time in the jump data, and p ij represents the probability of converting from object classification i to classification j at one time. The secondary conversion matrix can be obtained from the first-order matrix P 2 = P 1 × P 1 , and the same is true for N times.
[0086] By multiplying the object classification similarity matrix S and the n-order classification conversion matrix, the corresponding n-order conversion correlation matrix can be obtained. Specifically:
[0087]
[0088] Among them: r n ij = s ij · p n ij , that is, it represents the correlation degree between classification i and classification j after n-step jumps.
[0089] (3) Object prediction module
[0090] This module mainly completes the prediction of the browsing of the target user object. Through the n-order correlation matrix R n the prediction of the target classification can be obtained.
[0091] Assume that the classifications accessed by the target user at times t-1 and t-2 are classification i and classification j respectively. Now, the object classification prediction at time t is carried out. For the classification i at time t-1, one-step conversion is required. Therefore, only the classification set that is most likely to be reached after one conversion of classification i needs to be obtained, that is, the classification set Set1 composed of the N classifications with higher correlation degrees in the i-th row value of the R 1 matrix; similarly, for the classification data j at time t-2, two-step transfer is required, that is, it is necessary to perform 2Analyze the data of the j-th row of the matrix, and obtain N categories with relatively high relevance to construct the prediction classification set Set2. Integrate the two prediction sets and remove duplicates to obtain the final classification prediction set Set.
[0092] Next, predict the set of objects that may be accessed. Assume that the object browsed by the target user at time t-1 is g0. Through the predicted object classification set Set, all corresponding object information in the set can be obtained: G = [g1 g2 … g L , where cate(g i ) ∈ Set, that is, the classifications corresponding to all objects in G belong to the predicted object classification set Set.
[0093] Through Bayes' theorem, it can be calculated:
[0094]
[0095] Among them, p(g0|g i ) identifies the transition probability between objects. Finally, obtain the N objects with higher probabilities as the object information recommended to the target user.
[0096] The method of the embodiment of the present disclosure introduces object classification information, first performs prediction of object classification, and then analyzes and calculates the objects in the predicted classification combination. Compared with directly analyzing and predicting through object information, the computational complexity of the prediction is greatly reduced, and at the same time, the performance of the entire prediction is increased; by introducing a classification conversion model based on time-series classification data, combining the historical object classification and object data of the target user for prediction processing, compared with simply using the object information accessed by the user currently for prediction, the accuracy and reliability of the prediction are increased.
[0097] Based on the same inventive concept, the embodiment of the present disclosure also provides a device for recommending objects. The following will refer to Figure 4 to describe the device for recommending objects of the embodiment of the present disclosure.
[0098] Figure 4 Schematically shows a block diagram of a device 400 for recommending objects according to an embodiment of the present disclosure.
[0099] As Figure 4 shown, the device 400 for recommending objects includes an obtaining module 410, a determining module 420, a first prediction module 430, a second prediction module 440, and an output module 450. The device 400 can execute various methods described above with reference to Figure 2 description.
[0100] The obtaining module 410, for example, executes the operation S210 described above with reference to Figure 2 description, and is used to obtain user access data.
[0101] Determination module 420, for example, performing operation S220 described above Figure 2 to determine, based on the user access data, the categories to which a plurality of first objects accessed by the user belong and the temporal relationship between the user's accesses to the plurality of first objects.
[0102] First prediction module 430, for example, performing operation S230 described above Figure 2 to predict, based on the first category and the temporal relationship, the second category to which a second object to be accessed belongs.
[0103] Second prediction module 440, for example, performing operation S240 described above Figure 2 to predict, based on the first object, a second object to be accessed from the second category.
[0104] Output module 450, for example, performing operation S250 described above Figure 2 to output recommendation information for recommending the second object to the user.
[0105] According to an embodiment of the present disclosure, the first prediction module 430 is configured to determine the number of time periods from accessing the first object to the second object to be accessed, determine the relevance between different categories based on the number of time periods, and determine the second category based on the relevance.
[0106] According to an embodiment of the present disclosure, the determining the relevance between different categories based on the number of time periods includes determining the similarity between different categories, determining the transition probability between different categories based on the number of time periods, and determining the relevance between different categories based on the similarity and the transition probability.
[0107] According to an embodiment of the present disclosure, the determining the similarity between different categories includes obtaining historical data, determining the set similarity between different categories based on the historical data, determining the Euclidean distance between different categories based on the historical data, and determining the similarity between different categories based on the set similarity and the Euclidean distance.
[0108] According to an embodiment of the present disclosure, the second prediction module is configured to determine the transition probability from the first object to each object in the second category, and predict a second object to be accessed from the second category based on the transition probability.
[0109] According to an embodiment of the present disclosure, the plurality of first objects include a first object accessed at time t - 1 and a first object accessed at time t - 2, and are used to predict a second object that the user will access at time t.
[0110] According to an embodiment of the present disclosure, the second category to which the second object to be accessed is predicted to belong includes predicting a first set based on the first object accessed at time t-1, predicting a second set based on the first object accessed at time t-2, and determining that the category in the union of the first set and the second set is the second category.
[0111] According to an embodiment of the present disclosure, any plurality of modules, sub-modules, units, and sub-units, or at least some functions of any of them can be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to an embodiment of the present disclosure can be split into multiple modules for implementation. Any one or more of the modules, sub-modules, units, and sub-units according to an embodiment of the present disclosure can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on substrate, a system on package, an application specific integrated circuit (ASIC), or can be implemented by any other reasonable way of integrating or packaging circuits, in hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in a suitable combination of any several of them. Alternatively, one or more of the modules, sub-modules, units, and sub-units according to an embodiment of the present disclosure can be at least partially implemented as a computer program module, and when the computer program module is run, it can execute the corresponding function.
[0112] For example, any plurality of the obtaining module 410, the determining module 420, the first prediction module 430, the second prediction module 440, and the output module 450 can be combined and implemented in one module, or any one of them can be split into multiple modules. Alternatively, at least some functions of one or more of these modules can be combined with at least some functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the obtaining module 410, the determining module 420, the first prediction module 430, the second prediction module 440, and the output module 450 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on substrate, a system on package, an application specific integrated circuit (ASIC), or can be implemented by any other reasonable way of integrating or packaging circuits, in hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in a suitable combination of any several of them. Alternatively, at least one of the obtaining module 410, the determining module 420, the first prediction module 430, the second prediction module 440, and the output module 450 can be at least partially implemented as a computer program module, and when the computer program module is run, it can execute the corresponding function.
[0113] Figure 5 A block diagram schematically showing a computer system suitable for implementing a method and apparatus for recommending an object according to an embodiment of the present disclosure. Figure 5 The computer system shown is merely an example and should not impose any limitation on the functions and scope of use of the embodiments of the present disclosure. Figure 5 The computer system shown can be implemented as a server cluster, including at least one processor (such as processor 501) and at least one memory (such as storage section 508).
[0114] As Figure 5 shown, the computer system 500 according to an embodiment of the present disclosure includes a processor 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage section 508 into a random access memory (RAM) 503. The processor 501 can include, for example, a general microprocessor (such as a CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (such as an application specific integrated circuit (ASIC)), and so on. The processor 501 can also include on-board memory for caching purposes. The processor 501 can include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0115] In the RAM 503, various programs and data required for the operation of the system 500 are stored. The processor 501, the ROM 502, and the RAM 503 are connected to each other through a bus 504. The processor 501 performs various operations of the method flow according to an embodiment of the present disclosure by executing the programs in the ROM 502 and / or the RAM 503. It should be noted that the programs can also be stored in one or more memories other than the ROM 502 and the RAM 503. The processor 501 can also perform various operations of the method flow according to an embodiment of the present disclosure by executing the programs stored in the one or more memories.
[0116] According to an embodiment of the present disclosure, the system 500 may further include an input / output (I / O) interface 505, and the input / output (I / O) interface 505 is also connected to the bus 504. The system 500 may further include one or more of the following components connected to the I / O interface 505: an input portion 506 including a keyboard, a mouse, etc.; an output portion 507 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage portion 508 including a hard disk, etc.; and a communication portion 509 including a network interface card such as a LAN card, a modem, etc. The communication portion 509 performs communication processing via a network such as the Internet. A driver 510 is also connected to the I / O interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the driver 510 as needed so that a computer program read from it can be installed into the storage portion 508 as needed.
[0117] According to an embodiment of the present disclosure, the method flow according to the embodiment of the present disclosure may be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program codes for executing the method shown in the flowchart. In such an embodiment, the computer program may be downloaded and installed from the network through the communication portion 509, and / or installed from the removable medium 511. When the computer program is executed by the processor 501, the above functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the above-described system, device, apparatus, module, unit, etc. may be implemented by computer program modules.
[0118] The present disclosure also provides a computer-readable medium, which may be included in the device / device / system described in the above embodiments; or may exist separately without being assembled into the device / device / system. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.
[0119] According to an embodiment of the present disclosure, a computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium or any combination of the foregoing. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, optical fiber cable, radio frequency signal, etc., or any suitable combination of the foregoing.
[0120] For example, according to an embodiment of the present disclosure, a computer-readable medium may include one or more memories other than the ROM 502 and / or RAM 503 and / or ROM 502 and RAM 503 described above.
[0121] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.
[0122] Those skilled in the art will appreciate that the features recited in the various embodiments and / or claims of the present disclosure may be combined or combined in various ways, even if such combinations or combinations are not explicitly recited in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features recited in the various embodiments and / or claims of the present disclosure may be combined and combined in various ways. All such combinations and / or combinations fall within the scope of the present disclosure.
[0123] The embodiments of the present disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments have been described separately above, this does not mean that the measures in the respective embodiments cannot be used advantageously in combination. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present disclosure.
Claims
1. A method for recommending an object, comprising: Obtaining user access data; Based on the user access data, determining a first category to which a plurality of first objects accessed by the user belong and a temporal relationship between the user's accesses of the plurality of first objects; Based on the first category and the temporal relationship, predicting a second category to which a second object to be accessed belongs; Based on the first object, predicting a second object to be accessed from the second category; And Outputting recommendation information for recommending the second object to the user; Wherein, the predicting the second category to which the second object to be accessed belongs based on the first category and the temporal relationship includes: Determining the number of time periods from accessing the first object to the second object to be accessed; Determining the similarity between different categories; Based on the number of time periods, determining the transition probability between different categories; Based on the similarity between different categories and the transition probability, determining the relevance between different categories; Based on the relevance, determining the second category.
2. The method according to claim 1, wherein, The determining the similarity between different categories includes: Obtaining historical data; Based on the historical data, determining the set similarity between different categories; Based on the historical data, determining the Euclidean distance between different categories; Based on the set similarity and the Euclidean distance, determining the similarity between different categories.
3. The method according to claim 1, wherein, The predicting the second object to be accessed from the second category based on the first object includes: Determining the transition probability from the first object to each object in the second category; Based on the transition probability, predicting the second object to be accessed from the second category.
4. The method according to claim 1, wherein The plurality of first objects include a first object accessed at time t - 1 and a first object accessed at time t - 2, and are used to predict a second object that the user will access at time t.
5. The method according to claim 4, wherein, The predicting the second category to which the second object to be accessed belongs includes: Predicting a first set based on the first object accessed at time t - 1; Predicting a second set based on the first object accessed at time t - 2; Determining that the category in the union of the first set and the second set is the second category.
6. An apparatus for recommending an object, comprising: An obtaining module for obtaining user access data; A determining module for determining a first category to which a plurality of first objects accessed by the user belong and a temporal relationship between the user's accesses of the plurality of first objects based on the user access data; A first prediction module for predicting a second category to which a second object to be accessed belongs based on the first category and the temporal relationship; A second prediction module for predicting a second object to be accessed from the second category based on the first object; And An output module for outputting recommendation information for recommending the second object to the user; Wherein, the first prediction module is further configured to determine the number of time periods from accessing the first object to the second object to be accessed; Determine the similarity between different categories; Based on the number of time periods, determine the transition probability between different categories; Determine the relevance between different categories based on the similarity between different categories and the conversion probability; Determine the second category based on the relevance.
7. An electronic device, comprising: A processor; And A memory storing computer-readable instructions, which when executed by the processor cause the processor to execute the method according to any one of claims 1 to 5.
8. A computer-readable storage medium storing computer-readable instructions, which when executed by the processor cause the processor to execute the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method and device for analyzing user behavior data
CN109840788A
Convolutional feature and weighted random walk-based personalized label recommendation method and system
CN110110130A
Object recommendation method and device, storage medium and computer equipment
CN110209922A