Method and apparatus for outputting information
By calculating the difference between clicked and displayed information, and using convolution operations and gated repetitive unit neural networks to select target candidate information, the problem of insufficient flexibility in information recommendation in the recommendation system is solved, and the user experience is improved.
Patent Information
- Application Number
- CN201910107502.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-02-02
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2039-02-02
AI Technical Summary
Existing recommendation systems find it difficult to effectively consider the diversity of users' current behaviors and interests when recommending information, resulting in insufficient flexibility in information recommendation and affecting user experience.
By obtaining the degree of difference between click information and display information, the matching degree of candidate information is calculated using convolution operations and gated repetitive unit neural networks, so as to select target candidate information from the candidate information set for output.
The flexibility of information recommendation is improved, which can better meet the diverse needs of users at the current moment and enhance the user experience.
Smart Images

Figure CN111523020B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computer technology, and more particularly to a method and apparatus for outputting information. Background Art
[0002] Recommendation systems typically predict users' current behavior and interests based on their past behavior and interests, thereby recommending information of interest to them. With the rapid development of internet technology and e-commerce, recommendation systems are playing an increasingly important role in filtering redundant information, discovering individual user preferences, and improving user satisfaction. Summary of the Invention
[0003] The embodiments of the present application provide a method and apparatus for outputting information.
[0004] In a first aspect, an embodiment of the present application provides a method for outputting information, the method comprising: obtaining a click information set and a display information set, wherein the click information includes item information of an item corresponding to the clicked information, and the display information includes item information of an item corresponding to the displayed information; determining a degree of difference between at least two click information included in the click information set as a first degree of difference, and determining a degree of difference between at least two display information included in the display information set as a second degree of difference; selecting candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference; and outputting the target candidate information.
[0005] In some embodiments, candidate information is selected from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference, including: determining the click information vector corresponding to the click information set, determining the first difference vector corresponding to the first degree of difference, and determining the second difference vector corresponding to the second degree of difference; determining the candidate information vector set corresponding to the candidate information set; selecting candidate information from the candidate information set based on the click information vector, the first difference vector, the second difference vector, and the candidate information vector set to obtain the target candidate information.
[0006] In some embodiments, based on the click information vector, the first difference vector, the second difference vector and the candidate information vector set, candidate information is selected from the candidate information set to obtain target candidate information, including: performing a convolution operation on the click information vector, the first difference vector and the second difference vector to obtain a matrix as a first matrix; inputting the first matrix into a gated repeating unit neural network to obtain an output matrix as a second matrix; for the candidate information vector in the candidate information vector set, determining the matching degree between the candidate information vector and the second matrix, and storing the obtained matching degree in the matching degree set; filtering the matching degree from the matching degree set, and using the candidate information corresponding to the filtered matching degree as the target candidate information.
[0007] In some embodiments, determining the degree of matching between the candidate information vector and the second matrix includes: substituting the candidate information vector and the second matrix into a predetermined matching degree calculation formula to calculate the degree of matching between the candidate information vector and the second matrix.
[0008] In some embodiments, the predetermined matching degree calculation formula is:
[0009]
[0010] Where i represents the i-th one, the value range of i is [1, n], and n is the total number of candidate information vectors in the candidate information vector set; S i Indicates the matching degree between the i-th candidate information vector and the second matrix; C is the second matrix, and B is the pre-set parameter matrix; represents the transpose of the i-th candidate information vector; T represents the transpose.
[0011] In some embodiments, the item information includes item identification and item classification information.
[0012] In some embodiments, determining the degree of difference between at least two click information included in a click information set includes: selecting two click information from the click information set, and performing the following determination steps: determining the sub-difference degree between the two selected click information based on the item classification information of the two selected click information, and storing the result in the sub-difference degree set; determining whether there are two click information that are not selected at the same time in the click information set; in response to determining that there are two click information that are not selected at the same time, selecting two click information that are not selected at the same time from the click information set, and continuing to perform the determination step; determining the degree of difference based on the sub-difference degree set.
[0013] In some embodiments, the sub-difference degree between the two selected click information is determined based on the item classification information of the two selected click information, including: calculating the sub-difference degree between the two selected click information based on the item classification information of the two selected click information and a pre-set sub-difference degree calculation formula.
[0014] In some embodiments, the pre-set sub-difference degree calculation formula is:
[0015]
[0016] in,
[0017]
[0018] Where A and B are two click information selected from the click information set, dis(A, B) is the degree of sub-difference between click information A and B; k is a variable whose value range is [1, m]; m is the classification level of the item indicated by A or B; P k-1 It means that the item indicated by A is of the same category at level k-1 as the item indicated by B; It means that the item indicated by A is different from the k-th class of the item indicated by B; ∧ means and.
[0019] In some embodiments, before selecting candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference and the second degree of difference, the method also includes: inputting the click information set into a pre-trained information recommendation model to obtain a candidate information set, wherein the information recommendation model is used to characterize the correspondence between the click information set and the candidate information set.
[0020] In a second aspect, an embodiment of the present application provides a device for outputting information, the device comprising: an information acquisition unit configured to acquire a click information set and a display information set, wherein the click information includes item information of an item corresponding to the clicked information, and the display information includes item information of an item corresponding to the display information; a difference determination unit configured to determine a degree of difference between at least two click information included in the click information set as a first degree of difference, and to determine a degree of difference between at least two display information included in the display information set as a second degree of difference; an information selection unit configured to select candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference; an information output unit configured to output the target candidate information.
[0021] In some embodiments, the information selection unit is further configured to: determine a click information vector corresponding to the click information set, determine a first difference vector corresponding to the first degree of difference, and determine a second difference vector corresponding to the second degree of difference; determine a candidate information vector set corresponding to the candidate information set; select candidate information from the candidate information set based on the click information vector, the first difference vector, the second difference vector and the candidate information vector set to obtain target candidate information.
[0022] In some embodiments, based on the click information vector, the first difference vector, the second difference vector and the candidate information vector set, candidate information is selected from the candidate information set to obtain target candidate information, including: performing a convolution operation on the click information vector, the first difference vector and the second difference vector to obtain a matrix as a first matrix; inputting the first matrix into a gated repeating unit neural network to obtain an output matrix as a second matrix; for the candidate information vector in the candidate information vector set, determining the matching degree between the candidate information vector and the second matrix, and storing the obtained matching degree in the matching degree set; filtering the matching degree from the matching degree set, and using the candidate information corresponding to the filtered matching degree as the target candidate information.
[0023] In some embodiments, determining the degree of matching between the candidate information vector and the second matrix includes: substituting the candidate information vector and the second matrix into a predetermined matching degree calculation formula to calculate the degree of matching between the candidate information vector and the second matrix.
[0024] In some embodiments, the predetermined matching degree calculation formula is:
[0025]
[0026] Where i represents the i-th one, the value range of i is [1, n], and n is the total number of candidate information vectors in the candidate information vector set; S i Indicates the matching degree between the i-th candidate information vector and the second matrix; C is the second matrix, and B is the pre-set parameter matrix; represents the transpose of the i-th candidate information vector; T represents the transpose.
[0027] In some embodiments, the item information includes item identification and item classification information.
[0028] In some embodiments, determining the degree of difference between at least two click information included in a click information set includes: selecting two click information from the click information set, and performing the following determination steps: determining the sub-difference degree between the two selected click information based on the item classification information of the two selected click information, and storing the result in the sub-difference degree set; determining whether there are two click information that are not selected at the same time in the click information set; in response to determining that there are two click information that are not selected at the same time, selecting two click information that are not selected at the same time from the click information set, and continuing to perform the determination step; determining the degree of difference based on the sub-difference degree set.
[0029] In some embodiments, the sub-difference degree between the two selected click information is determined based on the item classification information of the two selected click information, including: calculating the sub-difference degree between the two selected click information based on the item classification information of the two selected click information and a pre-set sub-difference degree calculation formula.
[0030] In some embodiments, the pre-set sub-difference degree calculation formula is:
[0031]
[0032] in,
[0033]
[0034] Where A and B are two click information selected from the click information set, dis(A, B) is the degree of sub-difference between click information A and B; k is a variable whose value range is [1, m]; m is the classification level of the item indicated by A or B; P k-1 It means that the item indicated by A is of the same category at level k-1 as the item indicated by B; It means that the item indicated by A is different from the k-th class of the item indicated by B; ∧ means and.
[0035] In some embodiments, the device further includes: a candidate determination unit configured to input the click information set into a pre-trained information recommendation model to obtain a candidate information set, wherein the information recommendation model is used to characterize the correspondence between the click information set and the candidate information set.
[0036] In a third aspect, an embodiment of the present application provides a server comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by one or more processors, the one or more processors implement a method such as any embodiment of the method for outputting information.
[0037] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements a method as in any embodiment of the method for outputting information.
[0038] The method and device for outputting information provided by the embodiments of the present application can obtain a click information set and a display information set. The click information includes the item information of the item corresponding to the clicked information, and the display information includes the item information of the item corresponding to the display information. Then, the degree of difference between at least two click information included in the click information set is determined as the first degree of difference, and the degree of difference between at least two display information included in the display information set is determined as the second degree of difference. Afterwards, candidate information is selected from the candidate information set as the target candidate information based on the click information set, the first degree of difference and the second degree of difference; and finally, the target candidate information is output. The method and device provided by the embodiments of the present application, by using the first degree of difference and the second degree of difference as the basis for selecting candidate information from the candidate information set, realizes the output of multiple candidate information with differences that meet the diverse needs of the user at the current moment and are presented to the user, thereby improving the flexibility of information recommendation and helping to enhance the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Other features, objects and advantages of the present application will become more apparent upon reading the detailed description of non-limiting embodiments made with reference to the following drawings:
[0040] Figure 1 is an exemplary system architecture diagram in which an embodiment of the present application may be applied;
[0041] Figure 2 is a flowchart of an embodiment of a method for outputting information according to the present application;
[0042] Figure 3 is a schematic diagram of an application scenario of a method for outputting information according to an embodiment of the present application;
[0043] Figure 4 is a flowchart of another embodiment of a method for outputting information according to the present application;
[0044] Figure 5 is a flowchart of another embodiment of a method for outputting information according to the present application;
[0045] Figure 6 is a structural diagram of an embodiment of a device for outputting information according to the present application;
[0046] Figure 7 It is a structural diagram of a computer system suitable for implementing a server in an embodiment of the present application. DETAILED DESCRIPTION
[0047] The present application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the relevant invention and are not intended to limit the invention. It should also be noted that, for ease of description, only portions relevant to the relevant invention are shown in the accompanying drawings.
[0048] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0049] Figure 1 An exemplary system architecture 100 is shown to which the method for outputting information or the apparatus for outputting information according to the embodiments of the present application can be applied.
[0050] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.
[0051] The terminal devices 101 , 102 , and 103 can interact with the server 105 via the network 104 to receive or send messages, etc. Various applications can be installed on the terminal devices 101 , 102 , and 103 , such as search applications, reading applications, shopping applications, etc.
[0052] The terminal devices 101, 102, and 103 can be hardware or software. When the terminal devices 101, 102, and 103 are hardware, they can be various electronic devices with display screens and support user information input, including but not limited to smartphones, tablet computers, laptop computers, and vehicle-mounted terminals, etc. When the terminal devices 101, 102, and 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software or software modules (for example, to provide distributed services), or they can be implemented as a single software or software module. No specific limitation is made here.
[0053] The server 105 can be a server that provides various services, such as a background server that provides support for applications installed on the terminal devices 101, 102, and 103. The background server can obtain the click information set and the display information set input by the terminal devices 101, 102, and 103. Then, the degree of difference between at least two click information included in the click information set is determined as the first degree of difference. Then, the degree of difference between at least two display information included in the display information set is determined as the second degree of difference. Thereafter, based on the click information set, the first degree of difference, and the second degree of difference, candidate information is selected from the candidate information set as the target candidate information. Finally, the target candidate information is output through the terminal devices 101, 102, and 103 to be presented to the user.
[0054] It should be noted that the server can be either hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, to provide distributed services), or as a single software or software module. No specific limitations are given here.
[0055] It should be noted that the method for outputting information provided in the embodiments of the present application is generally performed by terminal devices 101, 102, and 103. Accordingly, the device for outputting information is generally provided in terminal devices 101, 102, and 103. It should be noted that terminal devices 101, 102, and 103 can also determine the degree of difference between at least two pieces of click information included in the click information set, determine the degree of difference between at least two pieces of display information included in the display information set, and select candidate information from the candidate information set based on the click information set, the first degree of difference, and the second degree of difference. In this case, the exemplary system architecture 100 may not include the network 104 and the server 105.
[0056] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.
[0057] Continue to refer Figure 2 , shows a process 200 of an embodiment of a method for outputting information according to the present application. The method for outputting information includes the following steps:
[0058] Step 201: Obtain a click information set and a display information set.
[0059] In this embodiment, the execution subject of the method for outputting information may be a server (for example Figure 1 The server 105 shown) can also be a terminal device (e.g. Figure 1 The terminal devices 101, 102, and 103 shown in the figure). The execution subject can obtain a click information set and a display information set. The click information includes the item information of the item corresponding to the clicked information. The clicked information can be various information that is clicked. As an example, the clicked information can be a picture of a skirt or a picture of shampoo. In addition, when the clicked information is a picture of a skirt, the item corresponding to the clicked information can be a skirt. And, when the clicked information is a picture of shampoo, the item corresponding to the clicked information can be shampoo. The display information includes the item information of the item corresponding to the displayed information. The displayed information can be various information that is displayed. As an example, the displayed information can be a picture of a skirt or a picture of shampoo.
[0060] In this embodiment, the above-mentioned click information set may include only the current click information, or the click information at the current moment and the click information at the previous moment, or some or all of the click information in the current session. Similarly, the above-mentioned display information set may include only the current display information, or the display information at the current moment and the display information at the previous moment, or some or all of the display information in the current session. It should be pointed out that the above-mentioned click information set is usually a subset of the display information set. Among them, the above-mentioned session usually refers to the process of interaction between a terminal user and an application on the execution entity. As an example, the process from entering the account password to log in to the application to exiting the application can be considered as a session.
[0061] It should be noted that in various embodiments of the present application, the aforementioned items may refer to tangible items, such as skirts and shampoo. These items may also refer to intangible items, such as housekeeping services. The aforementioned item information may include various information describing the item. For example, the aforementioned item information may include item color information, size information, etc.
[0062] In some optional implementations of this embodiment, the item information includes an item identity and item classification information. The item identity may be any identifier used to identify the item. For example, the item identity may be "001," identifying the item as 200ml mint-flavored shampoo of Brand A. The item classification information may be any information used to describe the item's classification category. For example, the item classification information may be "Apparel - Women's Clothing - Skirt," describing the classification of a skirt as follows: first-level apparel, second-level women's clothing, and third-level skirt.
[0063] Step 202: Determine the difference between at least two pieces of click information included in the click information set as a first difference, and determine the difference between at least two pieces of display information included in the display information set as a second difference.
[0064] In this embodiment, after obtaining the click information set and the display information set, the execution entity may respectively determine the degree of difference between the two sets.
[0065] In this embodiment, the execution entity may determine the degree of difference between at least two pieces of click information included in the click information set in the following manner:
[0066] The first step is to select two pieces of click information from the click information set and determine the degree of similarity between the two pieces of click information. Here, the execution entity may randomly select two pieces of click information from the click information set. Alternatively, the execution entity may sequentially select two pieces of click information from the click information set. Alternatively, the execution entity may use a similarity calculation formula to calculate the degree of similarity between the two pieces of click information. Optionally, the similarity calculation formula may be a cosine similarity calculation formula.
[0067] The second step is to determine the degree of difference between the two selected click information based on the above-mentioned similarity. Here, the execution entity can substitute the obtained similarity into a pre-set difference degree calculation formula to calculate the degree of difference between the two selected click information. Optionally, the above-mentioned difference degree calculation formula can be: dis(A, B) = 1-sim(A, B). Among them, A and B are click information, sim(A, B) is the similarity between click information A and B, and dis(A, B) is the difference between click information A and B.
[0068] In a third step, the determined difference degree is determined as the difference degree between at least two pieces of click information.
[0069] In some optional implementations of this embodiment, the execution entity may also determine the degree of difference between at least two pieces of click information included in the click information set in the following manner:
[0070] The first step is to select two click information from the click information set and perform the following determination steps:
[0071] First, based on the item classification information of the two selected click information, the sub-difference degree between the two selected click information is determined and stored in a sub-difference degree set. Here, the execution entity can use a pre-set sub-difference degree calculation formula to calculate the sub-difference degree between the two selected click information. The pre-set sub-difference degree calculation formula can be:
[0072]
[0073] in,
[0074]
[0075] Where A and B are two click information selected from the click information set, dis(A, B) is the degree of sub-difference between click information A and B. k is a variable whose value range is [1, m]. m is the classification level of the item indicated by A or B. k-1 It means that the item indicated by A is of the same k-1th level as the item indicated by B. Indicates that the item indicated by A is of a different k-th class from the item indicated by B. ∧ indicates that and.
[0076] here, It means that the item indicated by A and the item indicated by B have the same first-level category, the same second-level category, the same k-1th level category, and a different kth level category.
[0077] The classification level of the aforementioned items can be a numerical value pre-set by a technician. For example, the classification level of an item can be 3. In this case, the item has three levels of classification: primary, secondary, and tertiary. For example, if the item classification information is "Apparel - Women's Clothing - Skirts," the primary category in the item classification information is Apparel, the secondary category is Women's Clothing, and the tertiary category is Skirts. It should be noted that all items in the same system typically have the same classification level.
[0078] Then, it is determined whether there are two click information that are not selected at the same time in the click information set. Here, the execution subject determines whether there are two click information that are not selected at the same time in the click information set, and its purpose is to ensure that the sub-difference degree is calculated once between each two click information in the click information set.
[0079] In the second step, in response to the determination of existence, two pieces of click information that have not been selected at the same time are selected from the click information set, and the determination step is continued.
[0080] The third step is to determine the degree of difference based on the sub-difference degree set. Here, the execution entity may determine the degree of difference as the sum of the sub-difference degrees in the obtained sub-difference degree set. The execution entity may also determine the degree of difference as the average of the sub-difference degrees in the obtained sub-difference degree set.
[0081] It should be noted that in each embodiment of the present application, the way in which the execution entity determines the degree of difference between at least two display information included in the display information set is basically the same as the way in which the degree of difference between at least two click information included in the click information set is determined, and will not be elaborated here.
[0082] Step 203 : Select candidate information from the candidate information set as target candidate information according to the click information set, the first difference degree, and the second difference degree.
[0083] In this embodiment, the candidate information set may be a candidate information set pre-defined by a technician. The candidate information may include item information corresponding to the candidate display information. The candidate display information may be any type of information that can be displayed. For example, the candidate display information may be a picture of a skirt, a picture of shampoo, or a picture of a mobile phone.
[0084] The execution subject may select candidate information from the candidate information set as target candidate information in the following manner:
[0085] The first step is to determine a click information vector corresponding to the click information set, determine a first difference vector corresponding to the first difference degree, and determine a second difference vector corresponding to the second difference degree.
[0086] First, determine the click information vector corresponding to the click information set. Here, the execution entity can use the sum of the vectors corresponding to each click information in the click information set to determine the click information vector corresponding to the click information set. It should be pointed out that the execution entity can also use the mean of the vectors corresponding to each click information in the click information set to determine the click information vector corresponding to the click information set. This is not limited here. Among them, the execution entity can use the click information to find the vector corresponding to the click information from the click information-vector correspondence table. Among them, the click information-vector correspondence table can be a correspondence table pre-prepared by a technician, which stores the correspondence between multiple click information and vectors.
[0087] Then, the mean of the first difference degree and the second difference degree is used as the difference mean. The obtained difference mean is converted into a difference mean vector. Here, the execution entity may expand the difference mean into a difference mean vector having the same dimension as the click information vector and data values equal to the difference mean. For example, if the difference mean is 5 and the dimension of the click information vector is 3, the obtained difference mean vector may be (5, 5, 5).
[0088] Finally, the sum of the obtained click information vector and the obtained difference mean vector is used as the comparison vector.
[0089] The second step is to determine the candidate information vector set corresponding to the candidate information set. Here, the execution subject can obtain a candidate information vector for each candidate information in the candidate information set.
[0090] Among them, for any candidate information in the candidate information set, the execution subject can use multiple word segmentation methods to perform word segmentation processing on the candidate information. For example, the execution subject can use the shortest path word segmentation method (N-Short Path) to perform word segmentation processing on the candidate information. For another example, the execution subject can also use the maximum probability word segmentation method (MaximumProbability) to perform word segmentation processing on the candidate information. For another example, the execution subject can also use the maximum matching method (Maximum Matching) to perform word segmentation processing on the candidate information. Here, after the execution subject performs word segmentation processing on the candidate information, it can obtain at least one segmentation word of the candidate information. Among them, the above segmentation word is the word obtained after the candidate information is segmented. For example, if the candidate information is: "plus-sized skirt", after the candidate information is segmented, the segmentation words obtained can be: "plus-sized" and "skirt".
[0091] Optionally, after obtaining at least one segmentation word of the candidate information, the execution subject may use a pre-established correspondence table to determine the word vectors corresponding to each segmentation word. The correspondence table may be a correspondence table that is pre-established by a technician based on statistics of a large number of segmentation words and word vectors and stores the correspondence between multiple segmentation words and word vectors. In addition, the execution subject may also use the word2vec model to determine the word vectors corresponding to each segmentation word. The word2vec model is used to characterize the correspondence between words and word vectors. The word2vec model is a neural network model commonly used by technicians in this field to convert words into word vectors, which will not be described in detail here.
[0092] Here, after obtaining the word vectors corresponding to each segmented word, the execution entity can use the mean of the obtained word vectors as the candidate information vector corresponding to the candidate information. The execution entity can also concatenate the obtained word vectors to form a vector with the sum of the dimensions of all word vectors as the candidate information vector corresponding to the candidate information.
[0093] In the third step, for each candidate information vector in the candidate information vector set, the similarity between the candidate information vector and the comparison vector is calculated. The execution entity may use a similarity calculation formula, such as a pre-defined similarity calculation formula, to calculate the similarity between the candidate information vector and the comparison vector. Here, a similarity is obtained for each candidate information vector.
[0094] In the fourth step, the candidate information corresponding to the similarity that meets the conditions is selected as the target candidate information. Here, the execution entity can select a set number of candidate information with relatively large similarity as the target candidate information. The execution entity can also select candidate information with a corresponding similarity greater than a pre-set similarity threshold as the target candidate information.
[0095] In some optional implementations of this embodiment, the execution entity may also select candidate information from the candidate information set as target candidate information in the following manner:
[0096] The first step is to determine the click information vector corresponding to the click information set, determine the first difference vector corresponding to the first degree of difference, and determine the second difference vector corresponding to the second degree of difference. Here, the method by which the executing entity determines the click information vector corresponding to the click information set is substantially the same as the method for determining the click information vector corresponding to the click information set in the aforementioned solution, and is not further described here. Alternatively, the executing entity may expand the first degree of difference into a first difference vector having the same dimension as the click information vector and data values equal to the first degree of difference. Alternatively, the executing entity may expand the first degree of difference into a first difference vector having the same dimension as a preset dimension and data values equal to the first degree of difference. Alternatively, the executing entity may expand the first degree of difference into a first difference vector having the same dimension as the preset dimension and data values equal to the first degree of difference. The executing entity may also expand the first degree of difference into a first difference vector having the same dimension as the preset dimension and having only one data value of 1, with all other data values being 0. The preset dimension may be various data values pre-set by a technician. For example, the preset dimension may be 100. It should be noted that, in this embodiment, the method by which the executing entity determines the second difference vector corresponding to the second degree of difference is substantially the same as the method for determining the first difference vector corresponding to the first degree of difference, and is not further described here.
[0097] The second step is to determine the candidate information vector set corresponding to the candidate information set. Here, the execution subject determines the candidate information vector set corresponding to the candidate information set in a manner that is substantially the same as that in the aforementioned solution, and will not be elaborated here.
[0098] The third step is to select candidate information from the candidate information set according to the click information vector, the first difference vector, the second difference vector and the candidate information vector set to obtain target candidate information.
[0099] First, the execution entity can perform a convolution operation on the click information vector, the first difference vector, and the second difference vector to obtain a matrix, which serves as the first matrix. As an example, if the click information vector is V1, the first difference vector is V2, and the second difference vector is V3, then the convolution operation performed on the click information vector, the first difference vector, and the second difference vector can be M = V1⊙V2⊙V3. Here, ⊙ is the convolution operator. The resulting M is the first matrix.
[0100] Then, the first matrix is input into a gated recurrent unit neural network to obtain an output matrix as the second matrix. The gated recurrent unit neural network may be a GRU neural network composed of consecutive gated recurrent units (GRUs). It should be noted that the GRU neural network composed of consecutive GRUs is a neural network model well known to those skilled in the art and will not be described in detail here.
[0101] Then, for each candidate information vector in the candidate information vector set, a degree of matching between the candidate information vector and the second matrix is determined, and the obtained degree of matching is stored in the matching degree set. Here, for each candidate information vector in the candidate information vector set, the execution entity may substitute the candidate information vector and the second matrix into a predetermined matching degree calculation formula to calculate the degree of matching between the candidate information vector and the second matrix, and store the calculated degree of matching between the candidate information vector and the second matrix in the matching degree set.
[0102] Optionally, the above matching degree calculation formula may be:
[0103]
[0104] Where i represents the i-th one, and the value range of i is [1, n], where n is the total number of candidate information vectors in the candidate information vector set. i Indicates the matching degree between the i-th candidate information vector and the second matrix. C is the second matrix, and B is the pre-set parameter matrix. represents the transpose of the i-th candidate information vector, where T represents the transpose.
[0105] It should be noted that the parameter matrix may be a parameter matrix pre-set by a technician. The parameter matrix B may also be omitted from the above matching degree calculation formula.
[0106] Finally, the matching degrees are filtered from the matching degree set, and the candidate information corresponding to the filtered matching degrees is used as the target candidate information. Here, the execution subject can filter the matching degrees from the matching degree set, and use the candidate information corresponding to the matching degrees as the target candidate information. Here, the execution subject can randomly filter out a set number of matching degrees from the matching degree set. The execution subject can also filter out a set number of matching degrees from the matching degree set in order from large to small. The execution subject can also filter out matching degrees greater than a preset matching degree threshold from the matching degree set in order from large to small. The above-mentioned set number can be a data value preset by a technician. As an example, the above-mentioned set number can be 6. The above-mentioned preset matching degree threshold can be a data value preset by a technician. As an example, the above-mentioned preset matching degree threshold can be 0.6.
[0107] Step 204: Output target candidate information.
[0108] In this embodiment, the executing entity may output the obtained target candidate information. It should be noted that the executing entity may be a terminal device or a server. When the executing entity is a terminal device, the executing entity may present the target candidate information to the user via a display screen. When the executing entity is a server, the executing entity may push the target candidate information to the terminal device, so that the terminal device presents the target candidate information to the user via a display screen.
[0109] Continue to see Figure 3 , Figure 3 FIG. 1 is a schematic diagram of an application scenario of the method for outputting information according to this embodiment. Figure 3 In application scenario 300, user 301 first clicks on a mobile phone image, a skirt image, and a shampoo image displayed on mobile phone 302. At this point, the click information set contains two pieces of click information: one containing the mobile phone information corresponding to the mobile phone image, and the other containing the skirt information corresponding to the skirt image. The other contains three pieces of display information: one containing the mobile phone information corresponding to the mobile phone image, one containing the skirt information corresponding to the skirt image, and one containing the shampoo information corresponding to the shampoo image.
[0110] Then, the mobile phone 302 determines the difference degree between the two click information included in the click information set as the first difference degree, and determines the difference degree between the three click information included in the display information set as the second difference degree.
[0111] Afterwards, the mobile phone 302 selects candidate information from the candidate information set as target candidate information according to the click information set, the first difference degree, and the second difference degree.
[0112] Finally, the mobile phone 302 outputs the target candidate information through a display screen to present the target candidate information to the user.
[0113] The method for outputting information provided by the above-mentioned embodiment of the present application can first obtain a click information set and a display information set. Among them, the click information includes the item information of the item corresponding to the clicked information, and the display information includes the item information of the item corresponding to the display information. Then, the degree of difference between at least two click information included in the click information set is determined as the first degree of difference, and the degree of difference between at least two display information included in the display information set is determined as the second degree of difference. Afterwards, candidate information is selected from the candidate information set as the target candidate information based on the click information set, the first degree of difference and the second degree of difference. Finally, the target candidate information is output. The method provided by the embodiment of the present application, by using the first degree of difference and the second degree of difference as the basis for selecting candidate information from the candidate information set, realizes the output of multiple candidate information with differences that meet the diverse needs of the user at the current moment for presentation to the user, thereby improving the flexibility of information recommendation and helping to enhance the user experience.
[0114] Further references Figure 4 , which shows a process 400 of another embodiment of a method for outputting information. The process 400 of the method for outputting information includes the following steps:
[0115] Step 401: Obtain a click information set and a display information set.
[0116] Step 402: Determine the difference between at least two pieces of click information included in the click information set as a first difference, and determine the difference between at least two pieces of display information included in the display information set as a second difference.
[0117] Step 403: Input the click information set into a pre-trained information recommendation model to obtain a candidate information set.
[0118] The information recommendation model is used to characterize the correspondence between click information sets and candidate information sets. For example, the information recommendation model can be a correspondence table pre-developed by technicians based on statistics of a large number of click information sets and candidate information sets, storing the correspondence between multiple click information sets and candidate information sets. Alternatively, the model can be a model obtained by training an initial model (e.g., a convolutional neural network (CNN), a residual network (ResNet), etc.) using machine learning methods based on training samples.
[0119] In this embodiment, the execution entity determines the candidate information set related to the clicked information set, and can push the candidate information that better meets the user's current needs to the user, which helps to improve the efficiency of information recommendation.
[0120] Step 404 : Select candidate information from the candidate information set as target candidate information based on the click information set, the first difference degree, and the second difference degree.
[0121] Step 405: Output target candidate information.
[0122] from Figure 4 It can be seen that Figure 2 Compared with the corresponding embodiment, the process 400 of the method for outputting information in this embodiment embodies the step of determining a candidate information set. Therefore, the solution described in this embodiment can push candidate information that better meets the user's current needs to the user, which helps to improve the efficiency of information recommendation.
[0123] Further references Figure 5 , which shows a process 500 of another embodiment of a method for outputting information.
[0124] Figure 5 In
[15] , xct represents the information displayed and clicked at time t. xImt represents the information displayed but not clicked at time t. LImt represents the set of displayed information. Lct represents the set of clicked information. Lct is usually a subset of LImt.
[0125] The click information set can include only the current click information xct, the current click information xct and the previous click information xc(t-1), or some or all of the click information in the current session (from time 1 to time t). Similarly, the display information set can include only the current display information (xct and xImt), the current display information (xct and xImt) and the previous display information (xc(t-1) and xIm(t-1)), or some or all of the display information in the current session (from time 1 to time t).
[0126] like Figure 5 As shown, the method for outputting information provided in this embodiment may include the following steps:
[0127] In the first step, the execution entity can obtain the display information set LImt and the click information set Lct.
[0128] The second step is to determine the difference degree dct corresponding to the click information set Lct, and to determine the difference degree dIct corresponding to the display information set LImt.
[0129] The third step is to select the current click information from the click information set Lct and convert it into a click information vector Vxt. Vxt is now the click information vector corresponding to the click information set. The difference degree dct is converted into a difference vector Vct, and the difference degree dIct is converted into a difference vector Vct.
[0130] Step 4: Use Vxt⊙Vct⊙Vct as one input to the GRU neural network at time t, and use the output of the GRU neural network at time t-1 as another input to the GRU neural network at time t. ⊙ is the convolution operator. ht represents the GRU neural network at time t. C is the output of the GRU neural network.
[0131] Step 5: Use the Word2Vec model to convert each candidate in the candidate information set {i1, i2, …, im} into a candidate information vector. Here, im represents the mth candidate information. embm represents the candidate information vector corresponding to the mth candidate information.
[0132] The sixth step is to use the matching degree calculation formula to calculate the matching degree between each candidate information vector and the output C of the GRU neural network. At this point, m matching degrees can be obtained.
[0133] In the seventh step, the Softmax function is used to calculate the probability that the candidate information corresponding to the matching degree can be selected. Where ym represents the probability that the mth candidate information corresponding to the mth matching degree can be selected.
[0134] In the eighth step, a set number of candidate information with a larger corresponding probability is selected as the target candidate information.
[0135] The solution described in this embodiment can output multiple different candidate information that meet the diverse needs of the user at the current moment and present them to the user, thereby increasing the flexibility of information recommendation and helping to improve the user experience.
[0136] Further references Figure 6 As an implementation of the methods shown in the above figures, the present application provides an embodiment of a device for outputting information. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various servers.
[0137] like Figure 6As shown, the device 600 for outputting information in this embodiment includes: an information acquisition unit 601, configured to acquire a click information set and a display information set, wherein the click information includes item information of an item corresponding to the clicked information, and the display information includes item information of an item corresponding to the display information; a difference determination unit 602, configured to determine a degree of difference between at least two click information included in the click information set as a first degree of difference, and to determine a degree of difference between at least two display information included in the display information set as a second degree of difference; an information selection unit 603, configured to select candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference; an information output unit 604, configured to output the target candidate information.
[0138] In some optional implementations of this embodiment, the information selection unit may be further configured to: first, determine a click information vector corresponding to the click information set, determine a first difference vector corresponding to the first degree of difference, and determine a second difference vector corresponding to the second degree of difference. Then, determine a set of candidate information vectors corresponding to the candidate information set. Finally, based on the click information vector, the first difference vector, the second difference vector, and the set of candidate information vectors, select candidate information from the candidate information set to obtain target candidate information.
[0139] In some optional implementations of this embodiment, the item information includes item identification and item classification information.
[0140] In some optional implementations of this embodiment, determining the degree of difference between at least two pieces of click information included in a click information set includes: first, selecting two pieces of click information from the click information set, and performing the following determination step: determining, based on item classification information of the two selected pieces of click information, a sub-degree of difference between the two selected pieces of click information, and storing the sub-degree of difference in a sub-degree of difference set; determining whether two pieces of click information that were not simultaneously selected exist in the click information set; then, in response to determining that two pieces of click information that were not simultaneously selected exist, selecting the two pieces of click information that were not simultaneously selected from the click information set, and continuing the determination step; and finally, determining the degree of difference based on the sub-degree of difference set.
[0141] In some optional implementations of this embodiment, the device may further include a candidate determination unit (not shown). The candidate determination unit may be configured to input the click information set into a pre-trained information recommendation model to obtain a candidate information set. The information recommendation model is used to characterize the correspondence between the click information set and the candidate information set.
[0142] In the device provided by the above-mentioned embodiment of the present application, the information acquisition unit 601 acquires a click information set and a display information set. The click information includes the item information of the item corresponding to the clicked information, and the display information includes the item information of the item corresponding to the display information. Then, the difference determination unit 602 determines the degree of difference between at least two click information included in the click information set as the first degree of difference, and determines the degree of difference between at least two display information included in the display information set as the second degree of difference. Thereafter, the information selection unit 603 selects candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference. Finally, the information output unit 604 outputs the target candidate information. The device of this embodiment uses the first degree of difference and the second degree of difference as the basis for selecting candidate information from the candidate information set, thereby outputting multiple candidate information with differences that meet the user's diverse needs at the current moment and presenting them to the user, thereby increasing the flexibility of information recommendation and helping to enhance the user experience.
[0143] Reference below Figure 7 , which shows a structural diagram of a computer system 700 suitable for implementing a server of an embodiment of the present application. Figure 7 The server shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0144] like Figure 7 As shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage unit 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the system 700 are also stored in the RAM 703. The CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0145] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, and the like; an output section 707 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 708 including a hard disk; and a communication section 709 including a network interface card such as a LAN card or a modem. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 710 as needed, so that computer programs read therefrom can be installed into the storage section 708 as needed.
[0146] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can 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 a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 709, and / or installed from the removable medium 711. When the computer program is executed by the central processing unit (CPU) 701, the above-mentioned functions defined in the method of the present application are executed. It should be noted that the computer-readable medium of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, 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 this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code embodied on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wire, optical cable, RF, etc., or any suitable combination thereof.
[0147] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.
[0148] The units involved in the embodiments described in this application can be implemented by software or hardware. The units described can also be set in a processor. For example, it can be described as: a processor includes an information acquisition unit, a difference determination unit, an information selection unit, and an information output unit. The names of these units do not constitute a limitation of the units themselves in some cases. For example, the information acquisition unit can also be described as a "unit for obtaining a click information set and a display information set."
[0149] As another aspect, the present application further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by the device, the device: obtains a click information set and a display information set, wherein the click information includes item information of the item corresponding to the clicked information, and the display information includes item information of the item corresponding to the displayed information; determines the degree of difference between at least two click information included in the click information set as a first degree of difference, and determines the degree of difference between at least two display information included in the display information set as a second degree of difference; selects candidate information from the candidate information set as target candidate information based on the click information set, the first degree of difference, and the second degree of difference; and outputs the target candidate information.
[0150] The above description is merely a preferred embodiment of the present application and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also encompasses other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned inventive concept. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this application.
Claims
1. A method for outputting information, comprising: Obtaining a click information set and a display information set, wherein the click information includes item information of the item corresponding to the clicked information, and the display information includes item information of the item corresponding to the displayed information, wherein the item information includes item identification and item classification information; Two pieces of click information are selected from the set of click information, and the following determining steps are performed: determining sub-difference degrees between the two pieces of click information based on item classification information of the two pieces of click information, and storing the results in a sub-difference degree set; determining whether two pieces of click information that were not selected simultaneously exist in the set of click information; in response to determining whether two pieces of click information that were not selected simultaneously exist, selecting two pieces of click information that were not selected simultaneously from the set of click information, and continuing the determining step; determining a first difference degree based on the sub-difference degree set; determining a difference degree between at least two pieces of presentation information included in the presentation information set as a second difference degree; selecting candidate information from a candidate information set as target candidate information based on the click information set, the first difference degree, and the second difference degree, wherein the candidate information includes item information of items corresponding to various displayed information; The target candidate information is output.
2. The method according to claim 1, wherein The selecting, from the candidate information set according to the click information set, the first difference degree, and the second difference degree, candidate information as target candidate information includes: Determining a click information vector corresponding to the click information set, determining a first difference vector corresponding to the first difference degree, and determining a second difference vector corresponding to the second difference degree; Determining a candidate information vector set corresponding to the candidate information set; According to the click information vector, the first difference vector, the second difference vector and the candidate information vector set, candidate information is selected from the candidate information set to obtain target candidate information.
3. The method according to claim 2, wherein: The step of selecting candidate information from the candidate information set based on the click information vector, the first difference vector, the second difference vector, and the candidate information vector set to obtain target candidate information includes: Performing a convolution operation on the click information vector, the first difference vector, and the second difference vector to obtain a matrix as a first matrix; Inputting the first matrix into a gated repeating unit neural network to obtain an output matrix as a second matrix; For a candidate information vector in the candidate information vector set, determining a matching degree between the candidate information vector and the second matrix, and storing the obtained matching degree in a matching degree set; The matching degree is filtered from the matching degree set, and the candidate information corresponding to the filtered matching degree is used as the target candidate information.
4. The method according to claim 3, wherein: Determining the degree of matching between the candidate information vector and the second matrix includes: The candidate information vector and the second matrix are substituted into a predetermined matching degree calculation formula to calculate the matching degree between the candidate information vector and the second matrix.
5. The method according to claim 4, wherein The predetermined matching degree calculation formula is: Where i represents the i-th one, the value range of i is [1, n], and n is the total number of candidate information vectors in the candidate information vector set; S i represents the matching degree between the i-th candidate information vector and the second matrix; C is the second matrix; B is the pre-set parameter matrix; represents the transpose of the i-th candidate information vector; T represents the transpose.
6. The method according to claim 1, wherein The determining of the sub-difference between the two selected click information based on the item classification information of the two selected click information includes: The sub-difference degree between the two selected click information is calculated according to the item classification information of the two selected click information and a preset sub-difference degree calculation formula.
7. The method according to claim 6, wherein: The predetermined sub-difference degree calculation formula is: in, Where A and B are two click information selected from the click information set, dis(A, B) is the degree of sub-difference between click information A and B; k is a variable whose value range is [1, m]; m is the classification level of the item indicated by A or B; P k-1 It means that the item indicated by A is of the same category at level k-1 as the item indicated by B; It means that the item indicated by A is different from the k-th class of the item indicated by B; ∧ means and.
8. The method according to any one of claims 1 to 7, wherein: Before selecting candidate information from the candidate information set as target candidate information based on the click information set, the first difference degree, and the second difference degree, the method further includes: The click information set is input into a pre-trained information recommendation model to obtain a candidate information set, wherein the information recommendation model is used to characterize the corresponding relationship between the click information set and the candidate information set.
9. A device for outputting information, comprising: An information acquisition unit is configured to acquire a click information set and a display information set, wherein the click information includes item information of the item corresponding to the clicked information, and the display information includes item information of the item corresponding to the displayed information. , the said thing Product information includes item identification and item classification information ; The first difference determination unit is configured to select two pieces of click information from the click information set and perform the following determination steps: determining a sub-difference degree between the two pieces of click information based on item classification information of the two pieces of click information, and storing the sub-difference degree in a sub-difference degree set; determining whether two pieces of click information that were not selected at the same time exist in the click information set; in response to determining whether two pieces of click information that were not selected at the same time exist, selecting two pieces of click information that were not selected at the same time from the click information set and continuing to perform the determination step; determining a first difference degree based on the sub-difference degree set; a second difference determining unit configured to determine a difference degree between at least two pieces of presentation information included in the presentation information set as a second difference degree; an information selection unit configured to select candidate information from a candidate information set as target candidate information based on the click information set, the first difference degree, and the second difference degree, wherein the candidate information includes item information of items corresponding to various displayed information; The information output unit is configured to output the target candidate information.
10. A server comprising: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 8.
11. A computer-readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Method, apparatus, electronic device and storage medium for randomly selecting features
CN109255368A