Directional information recommendation method and device, equipment, storage medium and program product
By training the fusion vector of recommender identifier and target using a factorization machine model, a keyword set is generated, which solves the problems of high computational resource consumption and low efficiency in existing technologies, and realizes efficient and accurate targeted information recommendation.
Patent Information
- Application Number
- CN202210522341.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-13
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2042-05-13
AI Technical Summary
In existing technologies, during the AI-powered information delivery process, servers need to perform multiple calculations to extract keywords and target audiences, resulting in huge consumption of computing resources and low efficiency. Furthermore, it is impossible to determine the targeted recommendation conditions based on the recommendation goals, leading to poor delivery results.
A factorization machine model is used to train the fusion vector of recommender identifier and recommendation target. A keyword set is generated through a single calculation, and targeted recommendation conditions are generated based on the keywords selected by the terminal, which reduces the computational burden on the server and improves recommendation efficiency and accuracy.
By generating targeted recommendation conditions through a single calculation, computational resources are saved, the efficiency and accuracy of recommendation information delivery are improved, and the recommendation information is ensured to better meet the recommendation objectives.
Smart Images

Figure CN117093700B_ABST
Abstract
Description
Technical Field
[0001] This application relates to artificial intelligence technology, and more particularly to a method, apparatus, device, storage medium, and program product for targeted information recommendation. Background Technology
[0002] Artificial Intelligence (AI) is a comprehensive technology within computer science that studies the design principles and implementation methods of various intelligent machines, enabling them to possess perception, reasoning, and decision-making capabilities. AI technology is a multidisciplinary field encompassing a wide range of areas, including natural language processing and machine learning / deep learning. With technological advancements, AI will be applied in more fields and play an increasingly important role.
[0003] With the rapid development of artificial intelligence, its application in the field of recommendation information delivery is also increasing. In related technologies, before delivery, the recommender typically inputs keywords multiple times via a terminal. The server then expands the keyword list with semantically similar terms based on these inputs, and performs targeted audience extraction based on the expanded keywords. However, this method requires multiple computational processes on the server, consuming huge computational resources and resulting in low efficiency in targeted audience extraction. Summary of the Invention
[0004] This application provides a targeted information recommendation method, apparatus, electronic device, computer-readable storage medium, and computer program product. It can quickly determine the targeted recommendation conditions without requiring multiple calculations by the server, greatly saving computing resources and enabling the recommender's recommendation information to achieve the corresponding recommendation goals, thereby improving the delivery effect of recommendation information.
[0005] The technical solution of this application embodiment is implemented as follows:
[0006] This application provides a targeted information recommendation method, including:
[0007] The receiving terminal sends the recommender's recommendation target and recommender identifier;
[0008] Based on the recommender identifier and the recommendation target query database, a fusion vector corresponding to the recommender identifier and the recommendation target is obtained;
[0009] Based on the similarity between the fused vector and the keyword representative vectors in the database, multiple target keyword vector sets are obtained by querying the database;
[0010] determining a target keyword vector from each of the target keyword vector sets, and generating a keyword set based on keywords corresponding to the target keyword vectors;
[0011] sending the keyword set to the terminal and receiving at least one keyword selected from the keyword set by the terminal;
[0012] generating a directional recommendation condition based on the at least one keyword; wherein the directional recommendation condition is used to send recommendation information corresponding to the recommender to an object meeting the directional recommendation condition.
[0013] In the above method, the recommendation direction vector and the recommendation target vector are obtained by training a factorization machine model based on a sample object label set, the recommender identifier, and the recommendation target.
[0014] Before querying the database based on the recommender identifier and the recommendation target, the method further comprises:
[0015] The factorization machine model is trained in the following manner:
[0016] The initialized factorization machine model is called to perform the following processing:
[0017] The sample object label set, the recommender identifier, and the recommendation target are respectively encoded to obtain a first sample object label vector of each sample object label in the sample object label set, a first sample recommendation direction vector of the recommender identifier, and a first sample recommendation target vector of the recommendation target.
[0018] Based on each of the first sample object label vector, the first sample recommendation direction vector, and the first sample recommendation target vector, a calculation process is performed to obtain a prediction probability; wherein the prediction probability represents the probability of a sample object implementing a specific conversion behavior when the sample object recommends sample recommendation information in the recommendation direction; and the recommendation target is the proportion of a plurality of sample objects implementing the specific conversion behavior.
[0019] The prediction probability and the corresponding true probability are substituted into a loss function to obtain a loss value.
[0020] During the backpropagation process, the parameters of the factorization machine model are updated based on the loss value.
[0021] In the method, the encoding of the sample object label set, the recommender identifier and the recommendation target respectively to obtain the first sample object label vector of each sample object label in the sample object label set, the first sample recommender vector of the recommender identifier and the first sample recommendation target vector of the recommendation target comprises:
[0022] The first encoding of the sample object label set, the recommender identifier and the recommendation target respectively to obtain the second sample object label vector of each sample object label, the second sample recommender vector of the recommender identifier and the second sample recommendation target vector of the recommendation target;
[0023] The second encoding of each of the second sample object label vector, the second sample recommender vector and the second sample recommendation target vector to obtain each of the first sample object label vector, the first sample recommender vector and the first sample recommendation target vector; wherein the dimension of the encoding result of the second encoding is less than the dimension of the encoding result of the first encoding;
[0024] The calculation based on each of the first sample object label vector, the first sample recommender vector and the first sample recommendation target vector to obtain the prediction probability comprises:
[0025] The weighted summation and the inner product calculation based on each of the first sample object label vector, the first sample recommender vector and the first sample recommendation target vector respectively to obtain the weighted summation result and the inner product calculation result, and the summation of the weighted summation result and the inner product calculation result to obtain the first sample calculation result;
[0026] The linear calculation based on each of the first sample object label vector, the first sample recommender vector and the first sample recommendation target vector to obtain the linear calculation result, and the nonlinear transformation of the linear calculation result to obtain the second sample calculation result;
[0027] The splicing of the first sample calculation result and the second sample calculation result, the calculation of the sample splicing result by the activation function to obtain the prediction probability.
[0028] In the method, the type of the target keyword vector set comprises a first target keyword vector set and a second target keyword vector set; wherein the first target keyword vector set is used to determine the recommended selected keywords, and the second target keyword vector set is used to determine the recommended excluded keywords;
[0029] querying a plurality of target keyword vector sets from the database based on the similarity of the fusion vector and keyword representative vectors in the database, comprising:
[0030] determining the similarity of the fusion vector and a plurality of keyword representative vectors in the database respectively;
[0031] performing descending order sorting processing on the plurality of keyword representative vectors based on the similarity, to obtain a descending order sorting result;
[0032] determining a plurality of target keyword vector sets by at least one of the following ways:
[0033] determining a plurality of keyword representative vectors satisfying a first condition as first keyword representative vectors respectively, and determining a candidate keyword vector set to which a plurality of the first keyword representative vectors belong respectively as the first target keyword vector set; wherein the first condition represents being located at the head in the descending order sorting result;
[0034] determining a plurality of keyword representative vectors satisfying a second condition as second keyword representative vectors respectively, and determining a candidate keyword vector set to which a plurality of the second keyword representative vectors belong respectively as the second target keyword vector set; wherein the second condition represents being located at the tail in the descending order sorting result.
[0035] The embodiments of the present application also provide a directional information recommendation method, comprising:
[0036] displaying a plurality of candidate recommendation targets of a recommendation party on a human-computer interaction interface;
[0037] in response to a parameter selection operation, sending the selected recommendation target and a recommendation party identifier to a server;
[0038] receiving a keyword set returned by the server;
[0039] displaying the keyword set on the human-computer interaction interface;
[0040] in response to a keyword selection operation, sending at least one selected keyword to the server; wherein the at least one keyword is used by the server to generate a directional recommendation condition, so as to send recommendation information corresponding to the recommendation party to an object meeting the directional recommendation condition.
[0041] In the above method, the keyword set is at least one of the following: a selected keyword set, an excluded keyword set;
[0042] The selected keyword set includes keywords corresponding to a plurality of first target keyword vectors located at the head of a first descending order sorting result, the first descending order sorting result is obtained by descending order sorting of the plurality of first target keyword vectors according to similarity between the first target keyword vectors and a fusion vector corresponding to the identifier of the recommendation party and the recommendation target, and the excluded keyword set includes keywords corresponding to a plurality of second target keyword vectors located at the tail of a second descending order sorting result, the second descending order sorting result is obtained by descending order sorting of the plurality of second target keyword vectors according to similarity between the second target keyword vectors and the fusion vector.
[0043] In the method, the recommendation target includes a click rate of the recommendation information and a conversion rate of the recommendation information.
[0044] Embodiments of the present application provide a directional information recommendation device, which comprises:
[0045] A receiving module is configured to receive a recommendation target and an identifier of a recommendation party sent by a terminal.
[0046] A first query module is configured to query a database based on the identifier of the recommendation party and the recommendation target to obtain a fusion vector corresponding to the identifier of the recommendation party and the recommendation target.
[0047] A second query module is configured to query a plurality of target keyword vector sets from the database based on similarity between the fusion vector and keyword representative vectors in the database.
[0048] A first generation module is configured to determine a target keyword vector from each of the target keyword vector sets and generate a keyword set based on keywords corresponding to the target keyword vectors.
[0049] A sending module is configured to send the keyword set to the terminal and receive at least one keyword selected from the keyword set by the terminal.
[0050] A second generation module is configured to generate a directional recommendation condition based on the at least one keyword, wherein the directional recommendation condition is used to send recommendation information corresponding to the recommendation party to an object meeting the directional recommendation condition.
[0051] Embodiments of the present application further provide a directional information recommendation device, which comprises:
[0052] A first display module is configured to display a plurality of candidate recommendation targets of a recommendation party on a human-computer interaction interface.
[0053] The first sending module is configured to send the selected recommended target and the identifier of the recommender to the server in response to a parameter selection operation.
[0054] The receiving module is configured to receive a keyword set returned by the server.
[0055] The second display module is configured to display the keyword set on the man-machine interactive interface.
[0056] The second sending module is configured to send at least one selected keyword to the server in response to a keyword selection operation, wherein the at least one keyword is used by the server to generate a directional recommendation condition, so as to send the recommendation information corresponding to the recommender to an object meeting the directional recommendation condition.
[0057] An electronic device is provided in an embodiment of the present application, and the electronic device comprises:
[0058] The memory is configured to store executable instructions.
[0059] The processor is configured to execute the executable instructions stored in the memory, so as to implement the directional information recommendation method provided in the embodiments of the present application.
[0060] A computer readable storage medium is provided in an embodiment of the present application, and the computer readable storage medium stores executable instructions, wherein the executable instructions are used to implement the directional information recommendation method provided in the embodiments of the present application when executed by a processor.
[0061] A computer program product is provided in an embodiment of the present application, and the computer program product comprises computer instructions stored in a computer readable storage medium. A processor of an electronic device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the directional information recommendation method provided in the embodiments of the present application.
[0062] The embodiments of the present application have the following beneficial effects:
[0063] The keyword set is obtained in one calculation process according to the identifier of the recommender and the recommended target, and the directional recommendation condition is generated based on the keyword sent by the terminal. The directional recommendation condition can be determined without multiple inputs of the keyword by the recommender and multiple calculation processes by the server. The generation efficiency of the directional recommendation condition is improved, and the calculation resources are greatly saved. In addition, the keyword set is determined based on the recommended target, and the directional recommendation condition generated based on the keyword in the keyword set has strong correlation with the recommended target. Therefore, the directional recommendation condition determined in this way is more consistent with the recommended target of the recommender, so that the recommendation information sent to the object meeting the directional recommendation condition has better recommendation effect. BRIEF DESCRIPTION OF DRAWINGS
[0064] Figure 1 is an architecture schematic diagram of the directional information recommendation system 100 provided by an embodiment of the present application;
[0065] Figure 2A is a structure schematic diagram of the server 200 provided by an embodiment of the present application;
[0066] Figure 2B is a structure schematic diagram of the terminal 400 provided by an embodiment of the present application;
[0067] Figure 3A is a flow schematic diagram of the directional information recommendation method provided by an embodiment of the present application;
[0068] Figures 3B-3C is a training process schematic diagram of the factorization machine model provided by an embodiment of the present application;
[0069] Figures 3D-3H is a flow schematic diagram of the directional information recommendation method provided by an embodiment of the present application;
[0070] Figure 4A is a structure schematic diagram of the factorization machine model provided by an embodiment of the present application;
[0071] Figure 4B is a structure schematic diagram of the FastText model provided by an embodiment of the present application;
[0072] Figure 5 is a keyword crowd extraction interface schematic diagram provided by an embodiment of the present application;
[0073] Figure 6A is a flow schematic diagram of the directional information recommendation method provided by an embodiment of the present application;
[0074] Figure 6B is a structure schematic diagram of the DeepFM model provided by an embodiment of the present application;
[0075] Figure 6C is a structure schematic diagram of the FastText model provided by an embodiment of the present application. DETAILED DESCRIPTION
[0076] In order to make the purpose, technical scheme and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings, and the described embodiments should not be regarded as limiting the present application, and all other embodiments obtained by those skilled in the art without creative labor shall fall within the scope of protection of the present application.
[0077] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" can be the same subset or different subsets as each other and can be combined with each other as long as there is no conflict.
[0078] In the following description, the terms "first\second\third" are only to distinguish similar objects, and do not represent the specific order of the objects. It is understood that "first\second\third" can be interchanged in specific order or sequence as long as it is allowed, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein.
[0079] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in this application is for the purpose of describing embodiments of this application only and is not intended to be limiting of this application.
[0080] It is understood that in the embodiments of the application, data related to user information and the like are required to obtain user permission or consent when the embodiments of the application are applied to specific products or technologies, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0081] Before further detailing the embodiments of the application, the terms and phrases involved in the embodiments of the application are explained, and the terms and phrases involved in the embodiments of the application are applicable to the following explanations.
[0082] 1) Recommended information: information used to recommend items (including actual items and virtual items), services, news, audio and video content, such as advertisements.
[0083] 2) Information recommender: referred to as recommender, is a party with the demand for recommended information, such as an advertiser with the demand for advertising.
[0084] 3) Directional condition (i.e. extraction condition): is a condition set by the information recommender in order to achieve the best recommendation effect of the recommended information, for example, in an advertising system, the directional condition is a logical combination (and or not) of various keywords.
[0085] 4) People orientation: the information recommender needs to circle a specific group of people as a directional condition before sending the recommended information, and people orientation is the first step to send the recommended information. For example, before an advertiser places an advertisement, a specific group of people needs to be circled as a directional condition at the placement end.
[0086] 5) Recommendation target: the proportion of multiple objects implementing a specific conversion behavior when the recommendation direction recommends corresponding recommendation information to the multiple objects. For example, the click rate and conversion rate of an advertisement.
[0087] In the related art, before sending the recommendation information, the recommender selects a small number (for example, less than 50) of keywords that may be related to the target oriented population according to the understanding of the target oriented population, inputs the keywords into the terminal, the terminal sends the keywords input by the recommender to the server, the server then performs keyword expansion processing according to the input keywords, determines a specified number of keywords that are semantically close to the input keywords, and then generates an oriented recommendation condition according to the determined keywords and the keywords input by the recommender. Next, the server generates a corresponding Structured Query Language (SQL) statement according to the oriented recommendation condition, and queries a plurality of objects that meet the oriented recommendation condition from the database through the SQL statement, thereby completing the keyword population extraction process.
[0088] When sending the recommendation information, the recommender can select different keyword combinations, and the server determines the corresponding oriented recommendation condition according to the keyword combination selected by the recommender, extracts the corresponding population that meets the oriented recommendation condition as the population orientation, and sends the recommendation information to the corresponding population.
[0089] After sending the recommendation information, the server can compare the corresponding delivery effects of different population orientations, retain the population orientation with a better corresponding delivery effect, and perform offline processing on the population orientation with a poor corresponding delivery effect.
[0090] The applicant finds that the population orientation extraction method in the related art requires the recommender to input keywords through the terminal. In many cases, the recommender does not know what keywords should be input to obtain the corresponding population orientation. Therefore, the recommender needs to input the keywords multiple times, and the server needs to perform semantic similar keyword expansion and keyword population orientation extraction according to the keywords input by the recommender respectively. Since the server needs to perform multiple calculations, not only the calculation resource consumption is huge, but also the keyword population orientation extraction efficiency is low.
[0091] In addition, the applicant also finds that in the related art, the server can only perform semantic expansion according to the keywords input by the recommender to determine a specified number of similar keywords, but cannot determine the corresponding keywords and the corresponding oriented recommendation condition according to the recommendation target (such as click rate, conversion rate of different conversion behaviors) of the recommender. Therefore, the delivery effect of the oriented recommendation condition determined in this way is poor.
[0092] The embodiment of the present application provides a directional information recommendation method and device, electronic equipment, storage medium and program product, which can save computing resources and improve the delivery effect of recommended information. The following describes an exemplary application of the electronic equipment for directional information recommendation provided by the embodiment of the present application. The electronic equipment for directional information recommendation provided by the embodiment of the present application can be implemented as a notebook computer, a tablet computer, a desktop computer, a set-top box, a mobile device (for example, a mobile phone, a portable music player, a personal digital assistant, a dedicated message device, a portable game device) and various types of user terminals, and can also be implemented as a server. The following describes an exemplary application when the electronic equipment is implemented as a server.
[0093] The directional information recommendation method provided by the embodiment of the present application can be completed by the terminal and the server in cooperation. Referring to Figure 1 , Figure 1 FIG. 1 is a schematic diagram of an architecture of a directional information recommendation system 100 provided by the embodiment of the present application, which includes a server 200 and a terminal 400. The terminal 400 is connected to the server 200 through a network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.
[0094] In some embodiments, a plurality of candidate recommendation targets are displayed on a human-computer interaction interface 401 of the terminal 400. In response to a selection operation of a candidate recommendation target by a recommender, the terminal 400 sends the selected recommendation target and the identifier of the recommender to the server 200 through the network 300. The server 200 queries a database according to the recommendation target and the identifier of the recommender, obtains a keyword set, and returns the keyword set to the terminal 400 through the network 300. The terminal 400 receives the keyword set and displays the keyword set on the human-computer interaction interface 401. In response to a selection operation of a keyword in the keyword set by the recommender, the terminal 400 sends the selected keyword to the server 200. The server 200 generates a directional recommendation condition according to the keyword sent by the terminal, determines the number of objects meeting the directional recommendation condition, and sends the recommended information of the recommender to the objects meeting the directional recommendation condition.
[0095] In some embodiments, the server 200 can be a stand-alone physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and artificial intelligence platforms. The terminal 400 can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiment of the present application.
[0096] Below, refer to Figure 2A , Figure 2A is a structural schematic diagram of a server 200 provided by an embodiment of the present application, Figure 2A The server 200 shown in the figure includes at least one processor 210, a memory 230, and at least one network interface 220. The various components in the server 200 are coupled together by a bus system 240. It can be understood that the bus system 240 is used to realize the connection communication between the components. In addition to including a data bus, the bus system 240 also includes a power bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the bus system 240 in the figure. Figure 2A
[0097] The processor 210 can be an integrated circuit chip with signal processing capability, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc., wherein the general-purpose processor can be a microprocessor or any conventional processor.
[0098] The memory 230 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drive, optical disk drive, etc. The memory 230 can optionally include one or more storage devices that are physically located away from the processor 210.
[0099] The memory 230 includes volatile memory or non-volatile memory, and can also include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), and the volatile memory can be random access memory (RAM). The memory 230 described in the embodiments of the present application is intended to include any suitable type of memory.
[0100] In some embodiments, the memory 230 can store data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, which are exemplarily illustrated below.
[0101] The operating system 231 includes system programs for processing various basic system services and performing hardware-related tasks, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks.
[0102] The network communication module 232 is configured to communicate with other computing devices via one or more (wired or wireless) network interfaces 220, such as Bluetooth, WiFi, Universal Serial Bus (USB), and the like.
[0103] In some embodiments, the directional information recommendation apparatus provided by the embodiments of the present application can be implemented in software, Figure 2A The directional information recommendation apparatus 233 stored in the memory 230 is shown, which can be software in the form of programs and plug-ins, and includes the following software modules: a receiving module 2331, a first querying module 2332, a second querying module 2333, a first generating module 2334, a sending module 2335, and a second generating module 2336. These modules are logical, and thus can be combined or further split according to the implemented functions.
[0104] Referring to Figure 2B , Figure 2B is a structural schematic diagram of the terminal 400 provided by the embodiments of the present application, Figure 2B The terminal 400 shown includes at least one processor 410, a memory 430, and at least one network interface 420. The various components in the terminal 400 are coupled together by a bus system 440. It can be understood that the bus system 440 is used to realize the connection and communication between the components. The bus system 440 includes not only a data bus, but also a power bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all the buses are marked as the bus system 440 in Figure 2B .
[0105] Figure 2B The directional information recommendation apparatus 433 stored in the memory 430 is shown, which can be software in the form of programs and plug-ins, and includes the following software modules: a first displaying module 4331, a first sending module 4332, a receiving module 4333, a second displaying module 4334, and a second sending module 4335. These modules are logical, and thus can be combined or further split according to the implemented functions.
[0106] The directional information recommendation method provided by the embodiments of the present application will be described below in combination with the exemplary application and implementation of the electronic device provided by the embodiments of the present application. It can be understood that the following method can be executed by the terminal 400 and the server 200 described above in cooperation.
[0107] Before the directional information recommendation method provided by the embodiments of the present application is described, the model involved in the embodiments of the present application is first described. The model involved in the embodiments of the present application includes a factorization machine model and a FastText model, which will be described below in combination with the drawings.
[0108] As an example, the structure of the factorization machine model is described taking the DeepFM model as an example. Referring to FIG. 3, Figure 4A , Figure 4A is a structural diagram of the factorization machine model provided by the embodiments of the present application.
[0109] As shown in Figure 4A , the DeepFM model mainly includes four parts, which are a sparse coding layer, a dense embedding layer, a factorization machine layer and a full connection layer. Among them, the factorization machine layer and the full connection layer share the same feature vector.
[0110] The data processing process of DeepFM is as follows: based on the data to be processed, the sparse coding layer is called to perform sparse coding processing to obtain a high-dimensional sparse vector; based on the high-dimensional sparse vector, the dense embedding layer is called to perform dense coding processing to obtain a low-dimensional dense vector with a dimension lower than that of the high-dimensional sparse vector; based on the low-dimensional dense vector, the factorization machine layer and the full connection layer are called respectively to perform calculation processing to obtain the calculation result of the factorization machine layer and the calculation result of the full connection layer; the calculation result of the factorization machine layer and the calculation result of the full connection layer are spliced, and then the spliced result is calculated through a Sigmoid function, so as to obtain the output result of the DeepFM model.
[0111] Referring to FIG. 4, Figure 4B , Figure 4B is a structural diagram of the FastText model provided by the embodiments of the present application. As shown in Figure 4B , the data processing process of the FastText model is as follows: based on the data to be processed, the hidden layer is called to perform calculation processing, and the calculation result of the hidden layer is calculated through a Sigmoid function, so as to obtain the output result of the FastText model.
[0112] The training process of the model involved in the embodiments of the present application will be described below in combination with the drawings.
[0113] Referring to FIG. 5, Figure 3B , Figure 3B is a training process diagram of the factorization machine model provided by the embodiments of the present application, and steps 201-204 will be described below in combination with Figure 3B .
[0114] In step 201, the sample object label set, the identifier of the recommender, and the recommendation target are respectively encoded to obtain a first sample object label vector of each sample object label in the sample object label set, a first sample recommendation direction vector of the identifier of the recommender, and a first sample recommendation target vector of the recommendation target.
[0115] As an example, the sample data used for training the factorization machine model includes a sample object label set, an identifier of a recommender, and a recommendation target. It should be noted that the training is performed on the identifier of a specific type corresponding to the recommendation target. For example, when the recommendation target is the click rate of the recommended information, the training is performed on the identifier of the click type corresponding to the click rate. When the recommendation target is the conversion rate of the recommended information, the training is performed on the identifier of the conversion type corresponding to the conversion rate.
[0116] As an example, the source of the sample data includes historical recommended information delivery records of the recommender and sample object label data.
[0117] The following describes a manner of obtaining sample data from the historical recommended information delivery records of the recommender. First, the historical recommended information delivery records of the recommender are collected. Second, the sample data and the label corresponding to the sample data are determined based on the historical recommended information delivery records. As an example, the identifier corresponding to each piece of historical recommended information in the historical recommended information delivery records, the identifier of the object that receives the historical recommended information, and the conversion behavior type implemented by the receiving object on the historical recommended information are obtained. In order to facilitate training, the identifier corresponding to each piece of historical recommended information is mapped to the corresponding identifier of the recommender, thereby forming sample data in the format of (sample object identifier, recommender identifier, conversion behavior type).
[0118] In order to construct positive sample data, sample data containing other conversion behavior types (for example, order behavior, information authorization behavior, form registration behavior, collection behavior, and shopping cart addition behavior) other than clicks are determined as positive sample data, and the label is 1. Therefore, the format of the positive sample data is (sample object identifier, recommender identifier, other conversion behavior types other than clicks, 1).
[0119] In order to construct negative sample data, sample data containing the conversion behavior type of clicks are determined as negative sample data, and the label is 0. In addition, a specific number of sample data containing the conversion behavior type of clicks are randomly extracted. The conversion behavior type of clicks contained in the specific number of sample data is mapped to other conversion behavior types other than clicks. The mapped sample data is determined as negative sample data, and the label is 0. Therefore, the format of the negative sample data includes (sample object identifier, recommender identifier, conversion behavior type of clicks, 0) and (sample object identifier, recommender identifier, other conversion behavior types other than clicks, 0).
[0120] The way of obtaining sample data through sample object label data is explained below. By analyzing the click, interest, and other behaviors of the sample object in a specific application, the sample object label set corresponding to the sample object is obtained, which includes the sample object identifier and a plurality of labels corresponding to the sample object. For example, the libsvm format can be used to represent the sample object label set corresponding to each sample object, that is, (sample object identifier, label 1:1, label 2:1, …, label N:1), wherein label 1-N are labels corresponding to the object.
[0121] When training, the object identifier in the positive sample data or the negative sample data is mapped to the sample object label set corresponding to the sample object identifier, that is, the format of the sample data used for training is (sample object identifier, label 1:1, label 2:1, …, label N:1, recommender identifier, conversion behavior type).
[0122] After obtaining the sample data, the sample data is encoded based on the initialized factorization machine model to obtain the corresponding sample vector. As an example, the sample object label set, the recommender identifier, and the recommendation target included in the sample data are encoded to obtain the first sample object label vector of each sample object label in the sample object label set, the first sample recommendation vector of the recommender identifier, and the first sample recommendation target vector of the recommendation target.
[0123] Referring to Figure 3C , Figure 3C is a training process schematic diagram of the factorization machine model provided by the embodiments of the present application, based on Figure 3B , Figure 3C Step 201 in Figure 3C will be described below.
[0124] In step 2011, the sample object label set, the recommender identifier, and the recommendation target are respectively subjected to first encoding processing to obtain the second sample object label vector of each sample object label, the second sample recommendation vector of the recommender identifier, and the second sample recommendation target vector of the recommendation target.
[0125] As an example, refer to Figure 4AFirstly, the first encoding processing (i.e., the sparse encoding processing) is performed on the sample object label set, the recommender identifier and the recommendation target by the sparse coding layer of the DeepFM model, respectively, to obtain the second sample object label vector of each sample object label, the second sample recommender vector of the recommender identifier and the second sample recommendation target vector of the recommendation target. The first encoding processing is used to obtain the sparse vector in the high-dimensional space.
[0126] In step 2012, the second encoding processing is performed on each second sample object label vector, second sample recommender vector and second sample recommendation target vector, respectively, to obtain each first sample object label vector, first sample recommender vector and first sample recommendation target vector.
[0127] As an example, after obtaining the second sample object label vector of each sample object label vector, second sample recommender vector and second sample recommendation target vector, the second encoding processing (i.e., the dense embedding processing) is performed on the second sample object label vector of each sample object label vector, second sample recommender vector and second sample recommendation target vector by the dense embedding layer of the DeepFM model, respectively, to obtain the first sample object label vector of each sample object label, first sample recommender vector and first sample recommendation target vector. The second encoding processing is used to obtain the dense vector in the low-dimensional space, and the dimension of the encoding result of the second encoding processing is less than the dimension of the encoding result of the first encoding processing.
[0128] In step 202, the calculation processing is performed based on each first sample object label vector, first sample recommender vector and first sample recommendation target vector to obtain the prediction probability.
[0129] As an example, after obtaining the plurality of first sample object label vectors, first sample recommender vectors and first sample recommendation target vectors, the calculation processing is performed based on each first sample object label vector, first sample recommender vector and first sample recommendation target vector to obtain the prediction probability.
[0130] The prediction probability represents the probability of the sample object performing the specific conversion behavior when the recommendation direction sample object recommendation sample information is recommended; and the recommendation target is the proportion of the plurality of sample objects performing the specific conversion behavior.
[0131] For example, when the conversion behavior type included in the sample data is a form registration behavior, the prediction probability obtained by the DeepFM model calculation processing represents the probability that the sample object will implement the form registration behavior when the sample object is recommended the sample recommended information in the recommended direction. In this case, the recommended target is the proportion of the sample objects that implement the form registration behavior. For example, assuming that there are 100 sample objects, it is predicted that 60 of them will implement the form registration behavior, and therefore the recommended target is 60 / 100, i.e., 0.6.
[0132] Referring to Figure 3C , based on Figure 3B , Figure 3C , the step 202 can be implemented by steps 2021-2023, which will be described below in combination with Figure 3C steps 2021-2023.
[0133] In step 2021, based on each first sample object label vector, first sample recommended direction vector and first sample recommended target vector, weighted sum processing and inner product calculation processing are respectively performed, and the weighted sum processing result and the inner product calculation processing result are summed to obtain the first sample calculation processing result.
[0134] As an example, referring to Figure 4A , the factorization machine layer included in the DeepFM model performs weighted sum processing and inner product calculation processing based on each first sample object label vector, first sample recommended direction vector and first sample recommended target vector, respectively, to obtain weighted sum results and inner product calculation results, and the weighted sum results and the inner product calculation results are summed by the factorization machine layer to obtain the calculation result of the factorization machine layer, i.e., the first sample calculation processing result.
[0135] In step 2022, linear calculation processing is performed based on each first sample object label vector, first sample recommended direction vector and first sample recommended target vector, and the linear calculation processing result is subjected to nonlinear transformation processing to obtain the second sample calculation processing result.
[0136] As an example, referring to Figure 4A , the fully connected layer included in the DeepFM model performs linear calculation processing based on each first sample object label vector, first sample recommended direction vector and first sample recommended target vector to obtain linear calculation processing results, and the linear calculation processing results are subjected to nonlinear transformation processing by the first activation function connected to the fully connected layer to obtain the second sample calculation processing result.
[0137] It should be noted that step 2022 can be executed before step 2021 or after step 2021.
[0138] In step 2023, the first sample calculation processing result and the second sample calculation processing result are spliced, and the obtained sample splicing result is calculated by an activation function to obtain a prediction probability.
[0139] As an example, after obtaining the first sample calculation processing result and the second sample calculation processing result, the first sample calculation processing result and the second sample calculation processing result are spliced to obtain a splicing result, and then the splicing result is calculated by a second activation function (for example, a Sigmiod activation function) to obtain a prediction probability.
[0140] In the above manner, each sample vector and the prediction probability can be accurately determined.
[0141] In step 203, the prediction probability and the corresponding true probability are substituted into a loss function to obtain a loss value.
[0142] As an example, after determining the prediction probability, the prediction probability and the corresponding true probability are substituted into the loss function for calculation to obtain a loss value.
[0143] The true probability is the label corresponding to the sample data described above. The type of the loss function can include at least one of a cross-entropy loss function, a mean square error loss function, and a mean absolute error loss function.
[0144] In step 204, during the back propagation process, the parameters of the factorization machine model are updated based on the loss value.
[0145] As an example, after obtaining the loss value, during the back propagation process of the factorization machine model, the parameters of each layer of the factorization machine model are updated based on the loss value.
[0146] As an example, referring to Figure 4A After obtaining the loss value, the parameters of the full connection layer, the parameters of the factorization machine layer, the parameters of the dense embedding layer, and the parameters of the sparse coding layer of the DeepFM model are updated based on the loss value.
[0147] The steps 201-204 are repeatedly executed based on a large amount of sample data until the loss value reaches a minimum or a maximum training number, the training of the factorization machine model is ended, and a trained factorization machine model is obtained.
[0148] It should be noted that the factorization machine model in the embodiments of the present application is a binary classification model, that is, the output prediction probability of the trained factorization machine model is 0 or 1.
[0149] Through the above manner of training the factorization machine model, the prediction accuracy of the trained factorization machine model can be improved, and accurate prediction processing can be performed based on the trained factorization machine model.
[0150] In some embodiments, after obtaining the trained factorization machine model, the trained factorization machine model can be called for encoding processing based on different recommender identifiers and different recommendation targets, respectively, to obtain corresponding recommendation direction vectors and recommendation target vectors, and the obtained recommendation direction vectors and recommendation target vectors can be stored in a database for subsequent query.
[0151] The training process of the FastText model related to the embodiments of the present application will be described below.
[0152] As an example, the sample data used to train the FastText model includes a sample keyword vector set, a sample object keyword set, a recommender identifier, and a recommendation target.
[0153] As an example, the sources of the sample data include a corpus, an object keyword behavior data set, and historical recommendation information delivery records of a recommender.
[0154] The way of obtaining sample data from a corpus will be described below. A large amount of text data is crawled from web pages using a crawler or other technology, and the text data is processed for cleaning, word segmentation, etc. Then, a word2vec or glove word vector encoding model is used to encode the keywords in the same sentence, thereby obtaining the word vector corresponding to each keyword independent of other keywords in the context, i.e., obtaining the keyword vector, and storing the obtained keyword vector in the format of (keyword, k-dimensional keyword vector) in the corpus. For example, the storage path of the corpus can be a Hadoop distributed file system (HDFS) path. Subsequently, the sample keyword vector can be obtained by querying the corpus through the sample keyword.
[0155] The way of obtaining sample data from an object keyword behavior data set will be described below. By performing data mining processing on the browsing behavior data of a sample object in a specific application program, the interaction data of the sample object and the keywords is obtained, and the sample object keyword set is determined based on the interaction data in the format of (sample object identifier, keyword 1, keyword 2, …, keyword M). Based on any one of the keywords 1-M, the corresponding keyword vector can be obtained by querying the corpus, that is, the keywords 1-M are keywords stored in the corpus.
[0156] The way of obtaining sample data from the historical recommendation information delivery records of a recommender is the same as the way described above, and will not be described again here.
[0157] When training, the sample object identifier in the positive sample data or the negative sample data is mapped to a sample object keyword set corresponding to the sample object identifier, that is, the format of the sample data used for training is (sample object identifier, keyword 1, keyword 2, …, keyword M, recommender identifier, conversion behavior type).
[0158] When training, the keyword vector corresponding to each keyword in each piece of sample data is obtained from the corpus, and the first sample recommendation direction vector corresponding to the recommender identifier and the first sample recommendation target vector corresponding to the recommendation target are obtained based on the trained factorization machine model, and the first sample recommendation direction vector and the first sample recommendation target vector are summed and averaged to obtain the first sample fusion vector corresponding to the recommender identifier and the recommendation target. Then, based on the initialized FastText model, the following processing is performed: generating an initialization vector corresponding to each keyword vector, summing each keyword vector and the corresponding initialization vector to obtain a keyword recommendation vector corresponding to each keyword vector; summing and averaging the keyword recommendation vector corresponding to each keyword vector in each piece of sample data to obtain a sample object vector corresponding to the sample object identifier in each piece of sample data; performing inner product calculation processing on the sample object vector and the first sample fusion vector to obtain an inner product calculation result, and calculating the inner product calculation result through a second activation function (for example, a Sigmoid activation function) to obtain the prediction probability of the FastText model; and calculating the loss value based on the prediction probability and the corresponding true probability by substituting the loss function (for example, a cross-entropy loss function). In the back propagation process of the FastText model, the parameters of the FastText model are updated based on the loss value.
[0159] It should be noted that the meaning of the prediction probability output by the FastText model is the same as the meaning of the prediction probability output by the DeepFM model. The labels (i.e., true probabilities) used by the two models are also the same.
[0160] Based on a large amount of sample data, the above training process is repeatedly performed until the loss value reaches a minimum or a maximum training number, the training of the FastText model is ended, and the trained FastText model is obtained.
[0161] It should be noted that the FastText model in the embodiments of the present application is a binary classification model, that is, the prediction probability output by the trained FastText model is 0 or 1.
[0162] By training the FastText model in the above manner, the prediction accuracy of the trained FastText model can be improved, and accurate prediction processing based on the trained FastText model can be facilitated.
[0163] In some embodiments, after obtaining the trained FastText model, the trained FastText model can be called respectively based on a plurality of keyword vectors in the corpus to obtain a keyword recommendation vector corresponding to each keyword vector, and then a k-means clustering algorithm is used to cluster the plurality of keyword recommendation vectors to obtain a plurality of keyword vector sets, and a vector corresponding to a geometric center of each keyword vector set is determined as a keyword representative vector. Then, the plurality of keyword vector sets and the corresponding relationship between each keyword vector set and the corresponding keyword representative vector are stored in the database, so as to facilitate subsequent query.
[0164] The directional information recommendation method provided by the embodiments of the present application will be described below with reference to the accompanying drawings.
[0165] Referring to Figure 3A , Figure 3A is a flowchart of the directional information recommendation method provided by the embodiments of the present application, which will be described below in combination with the steps shown in Figure 3A .
[0166] In step 101, the server receives the recommendation target and the recommendation party identifier of the recommendation party sent by the terminal.
[0167] As an example, the server receives the recommendation target and the recommendation party identifier of the recommendation party sent by the terminal. The recommendation target includes the click rate of the recommendation information of the recommendation party and the conversion rate of the recommendation information of the recommendation party.
[0168] In step 102, the server queries the database based on the recommendation party identifier and the recommendation target to obtain a fusion vector corresponding to the recommendation party identifier and the recommendation target.
[0169] As an example, after receiving the recommendation target and the recommendation party identifier, the server accesses the database based on the recommendation party identifier and the recommendation target to query the fusion vector corresponding to the recommendation party identifier and the recommendation target from the database.
[0170] In some embodiments, the fusion vector corresponding to the recommendation party identifier and the recommendation target is obtained by querying the database based on the recommendation party identifier and the recommendation target, that is, by querying the database based on the recommendation party identifier and the recommendation target respectively to obtain a recommendation party vector and a recommendation target vector, and then performing sum and average processing on the recommendation party vector and the recommendation target vector to obtain the fusion vector.
[0171] As an example, the recommendation direction vector and the recommendation target vector are obtained by training the factorization machine model based on the sample object label set, the recommender identifier, and the recommendation target. The training process is described in steps 201-204 above. After the factorization machine model is trained, the trained factorization machine model is called to encode the recommender identifier and the recommendation target respectively to obtain the recommendation direction vector and the recommendation target vector respectively, and the obtained recommendation direction vector and the recommendation target vector are stored in the database for subsequent query.
[0172] After receiving the recommender identifier, the server queries the database based on the recommender identifier to obtain the recommendation direction vector corresponding to the recommender identifier from the database. After receiving the recommendation target, the server queries the database based on the conversion behavior type identifier corresponding to the recommendation target to obtain the corresponding recommendation target vector from the database. Then, the server performs sum and average processing on the recommendation direction vector and the recommendation target vector to obtain the fusion vector. The fusion vector determined based on the recommender identifier and different recommendation targets is different.
[0173] By determining the fusion vector based on the recommendation direction vector and the recommendation target vector, the determined fusion vector can accurately reflect the features of the recommender identifier and the features of the recommendation target. Moreover, the server queries the database based on the recommendation target and the recommender identifier, and can quickly obtain the corresponding recommendation direction vector and the recommendation target vector without encoding processing, which not only saves a large amount of computing resources, but also improves the efficiency of obtaining the fusion vector.
[0174] In step 103, the server queries a plurality of target keyword vector sets from the database based on the similarity between the fusion vector and the keyword representative vectors in the database.
[0175] As an example, after the fusion vector is obtained, the server queries a plurality of target keyword vector sets from the database based on the similarity between the fusion vector and the keyword representative vectors in the database. Different keyword representative vectors belong to different candidate keyword vector sets respectively. The determination of the candidate keyword vector set is described above in the description of the application of the trained FastText model.
[0176] As an example, the types of the target keyword vector set include a first target keyword vector set and a second target keyword vector set. The first target keyword vector set is used to determine the recommended selected keyword, and the second target keyword vector set is used to determine the recommended excluded keyword. The determination of the target keyword vector set by the method shown in the following will be described. Figure 3D
[0177] Referring to Figure 3D , Figure 3D FIG. 1 is a flowchart of a method for recommending directional information according to an embodiment of the present application. Figure 3A Step 103 in FIG. 1 can also be implemented by Figure 3D Steps 1031A-1034A in FIG. 1 can be implemented by Figure 3D Steps 1031A-1034A will be described below.
[0178] In step 1031A, the server determines the similarity between the fusion vector and each of the plurality of keyword representative vectors in the database.
[0179] As an example, after obtaining the fusion vector, the server determines the similarity between the fusion vector and each of the plurality of keyword representative vectors in the database, for example, the server can perform inner product calculation processing on the fusion vector and the keyword representative vector, thereby obtaining the cosine similarity between the fusion vector and the keyword representative vector.
[0180] In step 1032A, the server sorts the plurality of keyword representative vectors in descending order based on the similarity, thereby obtaining a descending order sorting result.
[0181] As an example, after obtaining the similarity between the fusion vector and the plurality of keyword representative vectors, the server sorts the plurality of keyword representative vectors in descending order based on the similarity, thereby obtaining a descending order sorting result.
[0182] In step 1033A, the server determines each of the plurality of keyword representative vectors satisfying a first condition as a first keyword representative vector, and determines the candidate keyword vector set to which each of the plurality of first keyword representative vectors belongs as a first target keyword vector set.
[0183] As an example, since the first target keyword vector set is used to determine the recommended keyword, and the keyword corresponding to the recommended keyword has strong correlation with the fusion vector, the keyword representative vector included in the first target keyword vector set should have greater similarity with the fusion vector, and the keyword representative vector located at the head of the descending order sorting result has greater similarity with the fusion vector, therefore, the server determines the plurality of keyword representative vectors located at the head of the descending order sorting result as the first keyword representative vector, and determines the candidate keyword vector set to which each of the first keyword representative vectors belongs as the first target keyword vector set. The first condition represents being located at the head of the descending order sorting result.
[0184] In step 1034A, the server determines each of the plurality of keyword representative vectors satisfying a second condition as a second keyword representative vector, and determines the candidate keyword vector set to which each of the plurality of second keyword representative vectors belongs as a second target keyword vector set.
[0185] As an example, since the second target keyword vector set is used to determine the keywords to be excluded from the recommendation, and the keyword vectors corresponding to the excluded keywords have a weak correlation with the fusion vector, the keyword representative vectors included in the second target keyword vector set should have a low similarity to the fusion vector. Furthermore, the keyword representative vectors located at the tail of the descending sort result have a low similarity to the fusion vector. Therefore, the server will determine multiple keyword representative vectors located at the tail of the descending sort result as second keyword representative vectors, and the candidate keyword vector set to which each second keyword representative vector belongs will be determined as the second target keyword vector set. Here, the second condition indicates that the keyword is located at the tail of the descending sort result.
[0186] It should be noted that step 1034A can be executed before or after step 1033A.
[0187] By determining the similarity between the fusion vector and multiple keyword representative vectors, we can accurately measure the relevance between the fusion vector and the candidate keyword vector set to which the keyword representative vector belongs. By determining the target keyword vector set from the candidate keyword vector set based on the relevance, we can improve the accuracy of the determined target keyword vector set.
[0188] As an example, the target keyword vector set can be of two types: a first target keyword vector set and a second target keyword vector set. The first target keyword vector set is used to determine the recommended keywords, and the second target keyword vector set is used to determine the keywords to be excluded. The following will explain how... Figure 3E The method shown determines the target keyword vector set.
[0189] See Figure 3E , Figure 3E This is a flowchart illustrating the targeted information recommendation method provided in the embodiments of this application. Figure 3A Step 103 can also be achieved through Figure 3E Steps 1031B-1036B in the above steps will be implemented, and will be combined with the following steps. Figure 3E Steps 1031B to 1036B will be explained.
[0190] In step 1031B, the server determines the similarity between the fused vector and multiple keyword representative vectors in the database.
[0191] As an example, after obtaining the fused vector, the server determines the similarity between the fused vector and multiple keyword representative vectors in the database. For instance, the server can perform an inner product calculation on the fused vector and the keyword representative vectors to obtain the cosine similarity between them.
[0192] In step 1032B, the server performs descending order sorting processing on the plurality of keyword representative vectors based on the similarity, to obtain a descending order sorting result.
[0193] As an example, after obtaining the similarity between the fusion vector and the plurality of keyword representative vectors, the server performs descending order sorting processing on the plurality of keyword representative vectors based on the similarity, to obtain a descending order sorting result.
[0194] In step 1033B, the server determines a plurality of keyword representative vectors satisfying a first condition as a plurality of first keyword representative vectors respectively, and determines a plurality of candidate keyword vector sets to which the plurality of first keyword representative vectors belong as a plurality of first candidate keyword vector sets.
[0195] As an example, since the first candidate keyword vector set is used to determine the first target keyword vector set, and the first target keyword vector set is used to determine the recommended selected keyword, and the recommended selected keyword corresponds to the keyword vector having strong correlation with the fusion vector, the keyword representative vector included in the first candidate keyword vector set should have greater similarity with the fusion vector, and the keyword representative vector located at the head in the descending order sorting result has greater similarity with the fusion vector. Therefore, the server determines a plurality of keyword representative vectors located at the head in the descending order sorting result as a plurality of first keyword representative vectors, and determines the candidate keyword vector set to which each first keyword representative vector belongs as a first candidate keyword vector set. Wherein, the first condition represents being located at the head in the descending order sorting result.
[0196] In step 1034B, the server performs clustering processing based on the plurality of first candidate keyword vector sets, to obtain a plurality of first target keyword vector sets.
[0197] As an example, after obtaining the plurality of first candidate keyword vector sets, the server performs clustering processing based on the plurality of first candidate keyword vector sets, to obtain a plurality of first target keyword vector sets.
[0198] In some embodiments, the clustering processing based on the plurality of first candidate keyword vector sets to obtain the plurality of first target keyword vector sets is implemented by: determining a first candidate keyword recommendation vector corresponding to each first candidate keyword vector; wherein the first candidate keyword vector belongs to the first candidate keyword vector set; and performing clustering processing on the plurality of first candidate keyword recommendation vectors to obtain the plurality of first target keyword vector sets.
[0199] As an example, after obtaining the plurality of first candidate keyword vector sets, the server determines a first candidate keyword recommendation vector corresponding to each first candidate keyword vector included in each first candidate keyword vector set, thereby obtaining a plurality of first candidate keyword recommendation vectors, and then the server performs clustering processing on the plurality of first candidate keyword recommendation vectors, thereby obtaining a plurality of first target keyword vector sets.
[0200] By determining the first candidate keyword recommendation vectors corresponding to the plurality of first candidate keyword vectors respectively, and performing clustering processing on the plurality of first candidate keyword recommendation vectors to obtain the plurality of first target keyword vector sets, the first target keyword vector sets determined can be more accurate, and an accurate keyword set can be determined based on the accurate first target keyword vector sets.
[0201] In some embodiments, determining the first candidate keyword recommendation vector corresponding to each first candidate keyword vector is implemented by performing the following processing on each first candidate keyword vector: performing sum processing on the first candidate keyword vector and the corresponding initialization vector to obtain the first candidate keyword recommendation vector corresponding to the first candidate keyword vector.
[0202] As an example, for each first candidate keyword vector, the server calls the trained FastText model based on the first candidate keyword vector to perform encoding processing to obtain the corresponding initialization vector, and performs sum processing on the first candidate keyword vector and the corresponding initialization vector through the trained FastText model, thereby obtaining the first candidate keyword recommendation vector.
[0203] The first candidate keyword recommendation vector is determined in the above manner. Since the initialization vector is introduced in the first candidate keyword recommendation vector, the number of vectors contained in each set obtained by performing clustering processing based on the first candidate keyword recommendation vector is more uniform, and a first target keyword vector set with uniform quantity and accuracy can be obtained.
[0204] In some embodiments, performing clustering processing on the plurality of first candidate keyword recommendation vectors to obtain the plurality of first target keyword vector sets is implemented by: determining a first number of first candidate keyword recommendation vectors as initial class cluster centers; for each first candidate keyword recommendation vector in a second number of first candidate keyword recommendation vectors, iteratively performing the following processing: determining the similarity between the first candidate keyword recommendation vector and each initial class cluster center, and determining the class cluster to which the initial class cluster center corresponding to the maximum similarity belongs as the class cluster to which the first candidate keyword recommendation vector belongs; determining an updated class cluster center of each class cluster in the first number of class clusters, and when the updated class cluster center no longer changes, determining each class cluster as a first target keyword vector set.
[0205] As an example, after obtaining the plurality of first candidate keyword recommendation vectors, first, the server determines a first quantity of first candidate keyword recommendation vectors from the plurality of first candidate keyword recommendation vectors, and takes the first quantity of first candidate keyword recommendation vectors as initial class cluster centers respectively.
[0206] Secondly, for each first candidate keyword recommendation vector in the second quantity of first candidate keyword recommendation vectors in addition to the first quantity, the server respectively calculates the similarity between the first candidate keyword recommendation vector and each initial class cluster center, obtains a first quantity of similarities, and determines the class cluster to which the initial class cluster center corresponding to the maximum similarity in the first quantity of similarities belongs as the class cluster to which the first candidate keyword recommendation vector belongs.
[0207] Thirdly, after the server obtains the class cluster to which each first candidate keyword recommendation vector in the second quantity belongs respectively, since there are a first quantity of initial class cluster centers, a first quantity of class clusters is obtained, the server determines the updated class cluster center corresponding to each class cluster in the first quantity, obtains a first quantity of updated class cluster centers, and if the first quantity of updated class cluster centers does not change relative to the initial class cluster centers, each class cluster is determined as a first target keyword vector set; if the updated class cluster center changes relative to the initial class cluster center, the following steps are continued to be executed.
[0208] Then, for each first candidate keyword recommendation vector in the second quantity in addition to the first candidate keyword recommendation vector corresponding to the first quantity of updated class cluster centers, the server re-calculates the similarity between the first candidate keyword recommendation vector and each updated class cluster center, and re-determines a first quantity of new class clusters; the above process is iteratively executed until the updated class cluster center of each new class cluster in the first quantity no longer changes, and each new class cluster is determined as a first target keyword vector set.
[0209] Each class cluster includes a plurality of first candidate keyword recommendation vectors; the second quantity of first candidate keyword recommendation vectors are candidate keyword recommendation vectors in the plurality of first candidate keyword recommendation vectors, in addition to the first quantity of first candidate keyword recommendation vectors.
[0210] The plurality of first target keyword vector sets are determined by the above method. Since the initialized vector is introduced into the first candidate keyword recommendation vector, clustering based on the first candidate keyword recommendation vector can make the number of vectors contained in each set obtained by clustering more uniform, and facilitate obtaining a first target keyword vector set that is uniform in quantity and accurate.
[0211] In step 1035B, the plurality of keyword representative vectors satisfying the second condition are respectively determined as second keyword representative vectors, and the candidate keyword vector set to which the plurality of second keyword representative vectors respectively belong is determined as a plurality of second candidate keyword vector sets.
[0212] As an example, since the second candidate keyword vector set is used to determine the second target keyword vector set, and the second target keyword vector set is used to determine the recommended excluded keyword, and the relevance between the keyword vector corresponding to the recommended excluded keyword and the fusion vector is weak, the keyword representative vectors included in the second candidate keyword vector set should have a smaller similarity with the fusion vector, and the keyword representative vectors located at the tail of the descending order sorting result have a smaller similarity with the fusion vector. Therefore, the server determines the plurality of keyword representative vectors located at the tail of the descending order sorting result as the second keyword representative vectors, and determines the candidate keyword vector set to which each second keyword representative vector belongs as the second candidate keyword vector set. The second condition represents the keyword representative vectors located at the tail of the descending order sorting result.
[0213] It should be noted that step 1035B can be performed after step 1033B or before step 1033B.
[0214] In step 1036B, clustering processing is performed based on the plurality of second candidate keyword vector sets to obtain a plurality of second target keyword vector sets.
[0215] As an example, after obtaining the plurality of second candidate keyword vector sets, the server performs clustering processing based on the plurality of second candidate keyword vector sets to obtain a plurality of second target keyword vector sets.
[0216] It should be noted that the manner of performing clustering processing based on the plurality of second candidate keyword vector sets to obtain the second target keyword vector set is similar to the manner of performing clustering processing based on the plurality of first candidate keyword vector sets to obtain the first target keyword vector set as described above, and will not be described here.
[0217] By determining the similarity between the fusion vector and the plurality of keyword representative vectors, the correlation between the fusion vector and the candidate keyword vector set to which the keyword representative vector belongs can be accurately measured. By determining different types of candidate keyword vector sets from the candidate keyword vector set according to the correlation, and performing clustering processing based on the different types of candidate keyword vector sets to obtain the target keyword vector set of the corresponding type, the accuracy of the determined target keyword vector set can be improved.
[0218] In step 104, the server determines a target keyword vector from each target keyword vector set, and generates a keyword set based on keywords corresponding to the plurality of target keyword vectors respectively.
[0219] As an example, after obtaining the plurality of target keyword vector sets, the server determines a target keyword vector from each target keyword set, thereby obtaining a plurality of target keyword vectors, and determines keywords corresponding to the plurality of target keyword vectors respectively, thereby constructing a keyword set based on the plurality of determined keywords.
[0220] As an example, the type of the target keyword vector set includes a first target keyword vector set; wherein the first target keyword vector set is used to determine a recommended keyword. In the following, the construction of the keyword set based on the first target keyword vector set will be described in detail. Figure 3F
[0221] Referring to Figure 3F Figure 3F is a flowchart of a method for recommending directional information provided by an embodiment of the present application. Based on the above description of the method for constructing a keyword set, the method for recommending directional information will be described in detail. Figure 3A Figure 3F Step 104 in the method for constructing a keyword set can also be implemented by steps 1041A-1043A. In the following, steps 1041A-1043A will be described in detail. Figure 3F
[0222] In step 1041A, the server determines a first target keyword vector satisfying a third condition from each first target keyword vector set.
[0223] As an example, after determining the plurality of first target keyword vector sets, for each first target keyword vector set, the server determines the similarity between each first target keyword vector included in the set and the fusion vector respectively, determines the maximum similarity from the obtained plurality of similarities, and determines that the first target keyword vector corresponding to the maximum similarity satisfies the third condition. Wherein the third condition represents the maximum similarity with the fusion vector.
[0224] In the above manner, the server determines a first target keyword vector satisfying the third condition from each first target keyword vector set, thereby obtaining a plurality of first target keyword vectors satisfying the third condition.
[0225] In step 1042A, the server performs descending order sorting processing on the plurality of first target keyword vectors based on the similarity between each first target keyword vector and the fusion vector, thereby obtaining a descending order sorting result.
[0226] As an example, after obtaining the plurality of first target keyword vectors satisfying the third condition, the server performs descending order sorting processing on the plurality of first target keyword vectors based on the similarity between each first target keyword vector in the plurality of first target keyword vectors and the fusion vector, to obtain a descending order sorting result.
[0227] In step 1043A, the server determines the plurality of first target keyword vectors satisfying the first condition as second target keyword vectors respectively, and generates a keyword set based on the keywords corresponding to the plurality of second target keyword vectors respectively.
[0228] As an example, since the first target keyword vector set is used to determine the recommended selected keywords, and the keyword vector corresponding to the recommended selected keywords has a strong correlation with the fusion vector, the first target keyword vector used to determine the selected keywords should have a larger similarity with the fusion vector. Therefore, the first target keyword vector located at the head in the descending order sorting result has a larger similarity with the fusion vector. Thus, the server determines that the plurality of first target keyword vectors located at the head in the descending order sorting result satisfy the first condition, and determines the plurality of first target keyword vectors satisfying the first condition as second target keyword vectors. Then, the server determines the keywords corresponding to each second target keyword vector as target keywords, and generates a keyword set based on the plurality of target keywords. At this time, the keyword set is a selected keyword set. The first condition represents being located at the head in the descending order sorting result.
[0229] As an example, since the corpus stores the corresponding relationship between the keywords and the corresponding keyword vectors, the server can query the corpus based on each second target keyword vector respectively, to obtain the corresponding target keywords.
[0230] By sorting the plurality of first target keyword vectors based on the similarity between the fusion vector and the plurality of first target keyword vectors satisfying the third condition, the correlation degree between the fusion vector and the keywords corresponding to the first target keyword vectors can be accurately measured. By determining the target keywords from the candidate keywords according to the correlation degree, and constructing the keyword set, the accuracy of the determined keyword set is improved.
[0231] As an example, the type of the target keyword vector set includes a second target keyword vector set. The second target keyword vector set is used to determine the recommended excluded keywords. The following will be described in combination with Figure 3G the description of determining the keyword set based on the second target keyword vector set.
[0232] Referring to Figure 3G , Figure 3G is a flowchart of a method for recommending directional information provided by an embodiment of the present application. Based onFigure 3A , Figure 3G Step 104 in the method 1000 can also be implemented by steps 1041B-1043B. Steps 1041B-1043B will be described below in combination with the steps 1011-1013. Figure 3G
[0233] In step 1041B, the server determines a third target keyword vector satisfying a fourth condition from each second target keyword vector set.
[0234] As an example, after determining the plurality of second target keyword vector sets, for each second target keyword vector set, the server respectively determines the similarity between each third target keyword vector included in the set and the fusion vector, determines the minimum similarity from the plurality of similarities obtained, and determines that the third target keyword vector corresponding to the minimum similarity satisfies the fourth condition. The fourth condition represents the minimum similarity with the fusion vector.
[0235] In this way, the server determines a third target keyword vector satisfying the fourth condition from each second target keyword vector set, thereby obtaining a plurality of third target keyword vectors satisfying the fourth condition.
[0236] In step 1042B, the server performs descending order sorting processing on the plurality of third target keyword vectors based on the similarity between each third target keyword vector and the fusion vector, to obtain a descending order sorting result.
[0237] As an example, after obtaining the plurality of third target keyword vectors satisfying the fourth condition, the server performs descending order sorting processing on the plurality of third target keyword vectors based on the similarity between each third target keyword recommendation vector in the plurality and the fusion vector, to obtain a descending order sorting processing result.
[0238] In step 1043B, the server respectively determines the plurality of third target keyword vectors satisfying the second condition as fourth target keyword vectors, and generates a keyword set based on the keywords respectively corresponding to the plurality of fourth target keyword vectors.
[0239] As an example, since the second target keyword vector set is used to determine the recommended excluded keywords, and the relevance between the keyword vector corresponding to the recommended excluded keywords and the fusion vector is weak, the third target keyword vector used to determine the excluded keywords should have a smaller similarity with the fusion vector, and the third target keyword vector located at the tail of the descending order sorting result has a smaller similarity with the fusion vector, therefore, the server determines that the plurality of third target keyword vectors located at the tail of the descending order sorting result satisfy the second condition, and determines the plurality of third target keyword vectors satisfying the second condition as the fourth target keyword vectors, and then the server determines the keyword corresponding to each fourth target keyword vector as the target keyword, so as to generate the keyword set based on the plurality of target keywords, at this time, the keyword set is the excluded keyword set. The second condition represents the keyword located at the tail of the descending order sorting result.
[0240] As an example, since the corpus stores the correspondence between the keywords and the corresponding keyword vectors, the server can query the corpus based on each fourth target keyword vector respectively, so as to obtain the corresponding target keyword.
[0241] By descendingly sorting the plurality of third target keyword vectors based on the similarity between the fusion vector and the plurality of third target keyword vectors satisfying the fourth condition, the correlation degree between the fusion vector and the keyword corresponding to the third target keyword vector can be accurately measured, and by determining the target keyword from the candidate keywords according to the correlation degree and forming the keyword set, the accuracy of the determined keyword set is improved.
[0242] In step 105, the server sends the keyword set to the terminal.
[0243] As an example, after determining the keyword set, the server sends the keyword set to the terminal. The keyword set here is at least one of the following: the selected keyword set, the excluded keyword set.
[0244] In step 106, the server receives at least one keyword selected from the keyword set sent by the terminal.
[0245] As an example, after sending the keyword set to the terminal, the server receives at least one keyword selected from the keyword set sent by the terminal.
[0246] In step 107, the server generates a targeted recommendation condition based on the at least one keyword.
[0247] As an example, after receiving the at least one keyword sent by the terminal, the server generates a targeted recommendation condition based on the at least one keyword. The targeted recommendation condition is used to send the recommendation information corresponding to the recommendation side to the object meeting the targeted recommendation condition.
[0248] For example, if the server sends the terminal a set of selected keywords, after receiving at least one selected keyword selected by the terminal from the set of selected keywords, the server performs logical AND combination based on the selected keyword to generate the targeted recommendation condition.
[0249] It should be noted that, since each keyword in the set of keywords corresponds to a target keyword vector, and each target keyword vector belongs to a corresponding set of target keyword vectors, after receiving at least one selected keyword from the set of keywords, the server determines the set of target keyword vectors to which each selected keyword corresponds, and determines the keywords corresponding to the other target keyword vectors in the set of target keyword vectors. The server determines these keywords as the expanded keywords corresponding to the selected keyword, and generates the targeted recommendation condition based on the selected keyword and the corresponding expanded keyword, thereby accurately and effectively implementing the keyword expansion function.
[0250] In some embodiments, after generating the targeted recommendation condition based on the at least one keyword, the server generates a corresponding query statement based on the targeted recommendation condition, queries the database based on the query statement to obtain a plurality of objects that meet the targeted recommendation condition, and sends the recommendation information corresponding to the recommendation party to the plurality of objects.
[0251] As an example, after determining the targeted recommendation condition, the server generates a corresponding query statement, such as an SQL statement, based on the targeted recommendation condition, queries the database based on the query statement to obtain a plurality of objects that meet the targeted recommendation condition, and sends the recommendation information corresponding to the recommendation party to the plurality of objects.
[0252] By sending the recommendation information to the objects that meet the targeted recommendation condition, the delivery effect of the recommendation information can be effectively improved.
[0253] In the embodiments of the present application, the set of keywords is obtained in one calculation process based on the recommendation party identifier and the recommendation target, and the targeted recommendation condition is generated based on the keywords sent by the terminal. The targeted recommendation condition can be determined without the recommendation party inputting the keywords multiple times or the server performing multiple calculation processes, which not only improves the generation efficiency of the targeted recommendation condition, but also greatly saves the calculation resources. Moreover, since the set of keywords is determined based on the recommendation target, the targeted recommendation condition generated based on the keywords in the set of keywords has strong relevance with the recommendation target. Therefore, the targeted recommendation condition determined in this way can be more consistent with the recommendation target of the recommendation party, so that the recommendation information sent to the objects that meet the targeted recommendation condition has better recommendation effect.
[0254] Referring to Figure 3H ,Figure 3H is a flowchart of a method for targeted information recommendation provided by an embodiment of the present application. The following will be described in combination with Figure 3H Step 301-Step 305 will be described.
[0255] In Step 301, the terminal displays multiple candidate recommendation targets of the recommendation party on the human-computer interaction interface.
[0256] As an example, the terminal displays multiple candidate recommendation targets of the recommendation party on the human-computer interaction interface, wherein the recommendation targets include: click rate of the recommendation information, conversion rate of the recommendation information.
[0257] In Step 302, the terminal receives a parameter selection operation, and determines the selected recommendation target and the recommendation party identifier.
[0258] As an example, the terminal receives a parameter selection operation of the recommendation party, and determines the selected recommendation target and the recommendation party identifier.
[0259] In Step 303, the terminal sends the selected recommendation target and the recommendation party identifier to the server in response to the parameter selection operation.
[0260] As an example, after receiving the parameter selection operation of the recommendation party, the terminal sends the selected recommendation target and the recommendation party identifier to the server in response to the parameter selection operation.
[0261] In Step 304, the server determines a keyword set based on the recommendation target and the recommendation party identifier.
[0262] As an example, after receiving the recommendation target and the recommendation party identifier sent by the terminal, the server determines a keyword set based on the recommendation target and the recommendation party identifier. The manner in which the server determines the keyword set is described above in Step 102-Step 104.
[0263] In Step 305, the terminal receives the keyword set returned by the server.
[0264] As an example, after determining the keyword set, the server sends the keyword set to the terminal, and the terminal receives the keyword set sent by the server.
[0265] In some embodiments, the keyword set is at least one of: a selected keyword set, an excluded keyword set.
[0266] As an example, the keyword set includes keywords corresponding to the first target keyword vectors at the head of the first descending order sorting result, the first descending order sorting result is obtained by descending order sorting the first target keyword vectors according to the similarity between the first target keyword vectors and the fusion vector corresponding to the identifier of the recommendation party and the recommendation target, and the fusion vector is the fusion vector corresponding to the identifier of the recommendation party and the recommendation target; and the keyword set excludes keywords corresponding to the second target keyword vectors at the tail of the second descending order sorting result, the second descending order sorting result is obtained by descending order sorting the second target keyword vectors according to the similarity between the second target keyword vectors and the fusion vector corresponding to the identifier of the recommendation party and the recommendation target.
[0267] In step 306, the terminal displays the keyword set on the man-machine interaction interface.
[0268] As an example, after receiving the keyword set, the terminal displays the keyword set on the man-machine interaction interface.
[0269] In step 307, the terminal receives a keyword selection operation and determines at least one selected keyword.
[0270] As an example, the terminal receives a keyword selection operation of the recommendation party on the keywords in the keyword set and determines at least one selected keyword of the recommendation party.
[0271] In step 308, the terminal sends the at least one selected keyword to the server in response to the keyword selection operation.
[0272] As an example, after receiving the keyword selection operation of the recommendation party, the terminal sends the at least one selected keyword to the server in response to the keyword selection operation.
[0273] In step 309, the server generates a targeted recommendation condition based on the at least one keyword.
[0274] As an example, after receiving the at least one keyword sent by the terminal, the server generates a targeted recommendation condition based on the at least one keyword and sends recommendation information corresponding to the recommendation party to an object meeting the targeted recommendation condition.
[0275] In the embodiments of the present application, the corresponding keyword set can be generated based on the selected recommendation target of the recommendation party, and the targeted recommendation condition can be generated according to the at least one keyword selected by the recommendation party from the keyword set, so that the generated targeted recommendation condition has strong correlation with the recommendation target, thereby making the recommendation information sent to the object meeting the targeted recommendation condition have better recommendation effect.
[0276] In the following, an example application of the embodiments of the present application in an actual targeted information recommendation application scenario will be described.
[0277] As an example, refer to Figure 5 , Figure 5 is a keyword crowd extraction interface schematic diagram provided by an embodiment of the present application. As an example, the recommender can select the click rate or conversion rate (and specify the conversion behavior type such as form registration behavior, order placement behavior, and shopping cart joining behavior) from the candidate recommendation target in the human-computer interaction interface of the terminal to determine the recommendation target. Then the recommender can click the add button in the keyword setting (for selecting the keywords to be selected) or the keyword exclusion (for selecting the keywords to be excluded) to trigger the keyword set generation function.
[0278] The server returns the selected keyword set or the excluded keyword set after the query calculation. The recommender can select at least one keyword from the keyword set displayed in the human-computer interaction interface, and the server generates a targeted recommendation condition according to the at least one keyword selected by the recommender and queries the number of objects that meet the current targeted recommendation condition from the database. The server can generate a corresponding targeted recommendation condition according to the keyword selected by the recommender each time, and return the number of objects meeting different targeted recommendation conditions to the terminal to help the recommender select the most suitable keyword.
[0279] After the recommender selects at least one keyword, the recommender can click the crowd extraction button in the human-computer interaction interface to trigger the keyword crowd extraction function. After the server extracts the corresponding keyword crowd from the database, the server returns the information that the keyword crowd extraction is successful to the terminal.
[0280] As an example, refer to Figure 6A , Figure 6A is a flowchart of a targeted information recommendation method provided by an embodiment of the present application. The steps 601-604 will be described below. Figure 6A
[0281] In step 601, the server performs offline training regularly.
[0282] As an example, the sources of the sample data used for training include corpus data, historical recommendation information delivery record data, object label data, and object keyword interaction behavior data.
[0283] As an example, the models that need to be trained include a DeepFM model and a FastText model.
[0284] As an example, refer to Figure 6B , Figure 6B is a structure diagram of a DeepFM model provided by an embodiment of the present application. As shown in Figure 6B As shown, the DeepFM model includes a sparse coding layer, a dense embedding layer, a factorization machine layer, and a full connection layer. The factorization machine layer can perform weighted sum processing and inner product calculation processing on vectors, and the full connection layer can perform linear calculation processing and nonlinear transformation processing on vectors.
[0285] Figure 6B The training process of the DeepFM model shown is the same as steps 201-204 described above, and will not be described again here.
[0286] As an example, see Figure 6C , Figure 6C The structure diagram of the FastText model provided by the embodiments of the present application is shown in FIG. 6. As shown in FIG. 6, the FastText model includes a hidden layer and an output layer. Figure 6C As shown, the hidden layer of the FastText model is called to perform calculation processing based on the data to be processed, so as to obtain the prediction probability output by the FastText model.
[0287] Figure 6C The training process of the FastText model shown is the same as the training process of the FastText model described above, and will not be described again here.
[0288] It should be noted that the offline state is a state in which the server has not started to respond to the keyword set generation request for the recommendation target; correspondingly, the online state is a state in which the server has started to respond to the keyword set generation request for the recommendation target. Since the server is in the offline state for training processing, the occupation of online computing resources by the training processing process can be avoided, thereby saving the online computing resources of the server.
[0289] As an example, after the server obtains the trained model based on the sample data, the trained model can be called to perform encoding processing based on different data to be processed, so as to obtain the recommendation direction vector, the recommendation target vector, and the keyword representative vector, and store these vectors in the database for subsequent query.
[0290] In step 602, the server performs online query.
[0291] As an example, after receiving the recommendation target and the recommendation party identifier sent by the terminal, the server queries the database based on the recommendation target and the recommendation party identifier respectively to obtain the recommendation target vector and the recommendation direction vector, and then performs sum and average processing on the recommendation target vector and the recommendation direction vector to obtain the fusion vector.
[0292] As an example, after obtaining the fusion vector, the server queries a plurality of target keyword vector sets based on similarity between the fusion vector and keyword representative vectors in the database. The determination of the target keyword vector sets is the same as steps 102-103 described above, and will not be repeated here.
[0293] In step 603, the server generates a keyword set.
[0294] As an example, after the server determines the plurality of target keyword vector sets, the server generates a keyword set based on the plurality of target keyword vector sets. The keyword set includes a selected keyword set and an excluded keyword set. The generation of the keyword set is the same as step 104 described above, and will not be repeated here.
[0295] In step 604, the server performs crowd extraction.
[0296] As an example, after the server determines the keyword set, the server sends the keyword set to the terminal, receives at least one keyword selected from the keyword set by the terminal, generates a targeted recommendation condition based on the at least one keyword, generates a corresponding query statement based on the targeted recommendation condition, queries a plurality of objects that meet the targeted recommendation condition from the database based on the query statement, and completes keyword crowd extraction. Then, the server can also send the corresponding recommendation information of the recommendation party to the extracted crowd.
[0297] In the embodiments of the present application, after the recommendation party enters the keyword crowd extraction page of the terminal, the recommendation party can select a recommendation target, and the server generates a selected keyword set and an excluded keyword set according to the recommendation identifier and the recommendation target sent by the terminal. The keywords in the selected keyword set can be arranged in descending order of positive correlation with the recommendation target, and the keywords in the excluded keyword set can be arranged in ascending order of positive correlation with the recommendation target. After the server determines the keyword set, the server sends the keyword set to the terminal, and the terminal can display the keyword set on the keyword crowd extraction page. The recommendation party can select at least one keyword from the selected keyword set or the excluded keyword set. After the server receives the selected at least one keyword, the server generates a targeted recommendation condition based on the selected at least one keyword. The server can return the number of objects that meet the current targeted extraction condition to the terminal in real time.
[0298] Compared with the scheme in the related art, using the targeted recommendation condition generated by the present application, a plurality of objects that meet the targeted recommendation condition are extracted, and the recommendation information is sent to the plurality of objects. In offline testing, the recommendation target corresponding to the recommendation information is greatly improved, and the conversion cost of the recommendation party is greatly reduced.
[0299] The following continues to illustrate an exemplary structure of the implementation of the directional information recommendation device 233 provided by the embodiments of the present application as a software module. In some embodiments, as shown in the figure, the software module stored in the directional information recommendation device 233 of the memory 230 can include: Figure 2A The software module stored in the directional information recommendation device 233 of the memory 230 can include: a receiving module 2331 configured to receive a recommendation target and a recommendation party identifier sent by a terminal; a first query module 2332 configured to query a database based on the recommendation party identifier and the recommendation target to obtain a fusion vector corresponding to the recommendation party identifier and the recommendation target; a second query module 2333 configured to query a plurality of target keyword vector sets from the database based on a similarity between the fusion vector and a keyword representative vector in the database; a first generation module 2334 configured to determine a target keyword vector from each target keyword vector set and generate a keyword set based on keywords corresponding to the plurality of target keyword vectors; a sending module 2335 configured to send the keyword set to the terminal and receive at least one keyword selected from the keyword set sent by the terminal; and a second generation module 2336 configured to generate a directional recommendation condition based on the at least one keyword; wherein the directional recommendation condition is used to send recommendation information corresponding to the recommendation party to an object meeting the directional recommendation condition.
[0300] In the above scheme, the first query module 2332 is configured to query the database based on the recommendation party identifier and the recommendation target respectively to obtain a recommendation direction vector and a recommendation target vector; and perform sum and average processing on the recommendation direction vector and the recommendation target vector to obtain the fusion vector.
[0301] In the above scheme, the recommendation direction vector and the recommendation target vector are obtained by training a factorization machine model based on a sample object label set, a recommendation party identifier, and a recommendation target; and the above device further includes a training module configured to train the factorization machine model by: calling an initialized factorization machine model to perform the following processing: encoding the sample object label set, the recommendation party identifier, and the recommendation target respectively to obtain a first sample object label vector of each sample object label in the sample object label set, a first sample recommendation direction vector of the recommendation party identifier, and a first sample recommendation target vector of the recommendation target; and performing calculation processing based on each first sample object label vector, the first sample recommendation direction vector, and the first sample recommendation target vector to obtain a prediction probability; wherein the prediction probability represents a probability that a sample object implements a specific conversion behavior when the sample object is recommended sample recommendation information; the recommendation target is a proportion of a plurality of sample objects implementing a specific conversion behavior; the prediction probability and a corresponding true probability are substituted into a loss function to obtain a loss value; and parameters of the factorization machine model are updated based on the loss value in a back propagation process.
[0302] In the scheme, the training module is configured to perform first encoding processing on the sample object label set, the recommender identifier, and the recommendation target respectively to obtain a second sample object label vector of each sample object label, a second sample recommender vector of the recommender identifier, and a second sample recommendation target vector of the recommendation target; perform second encoding processing on each second sample object label vector, second sample recommender vector, and second sample recommendation target vector respectively to obtain a first sample object label vector, a first sample recommender vector, and a first sample recommendation target vector; wherein the dimension of the encoding result of the second encoding processing is smaller than the dimension of the encoding result of the first encoding processing; the training module is further configured to perform weighted summation processing and inner product calculation processing respectively based on each first sample object label vector, first sample recommender vector, and first sample recommendation target vector, perform summation processing on the obtained weighted summation processing result and inner product calculation processing result to obtain a first sample calculation processing result; perform linear calculation processing based on each first sample object label vector, first sample recommender vector, and first sample recommendation target vector, and perform nonlinear transformation processing on the obtained linear calculation processing result to obtain a second sample calculation processing result; perform splicing processing on the first sample calculation processing result and the second sample calculation processing result, perform calculation processing on the obtained sample splicing result through an activation function to obtain a prediction probability.
[0303] In the scheme, the type of the target keyword vector set includes a first target keyword vector set and a second target keyword vector set; wherein the first target keyword vector set is used to determine the selected keywords for recommendation, and the second target keyword vector set is used to determine the excluded keywords for recommendation; the second query module 2333 is configured to determine the similarity of the fusion vector with respect to each keyword representative vector in the database; perform descending order sorting processing on the plurality of keyword representative vectors based on the similarity to obtain a descending order sorting result; and determine the plurality of target keyword vector sets by at least one of the following ways: determining a plurality of keyword representative vectors satisfying a first condition as first keyword representative vectors respectively, and determining a candidate keyword vector set to which the plurality of first keyword representative vectors belong respectively as the first target keyword vector set; wherein the first condition represents that the keyword representative vectors are located at the head in the descending order sorting result; determining a plurality of keyword representative vectors satisfying a second condition as second keyword representative vectors respectively, and determining a candidate keyword vector set to which the plurality of second keyword representative vectors belong respectively as the second target keyword vector set; wherein the second condition represents that the keyword representative vectors are located at the tail in the descending order sorting result.
[0304] In the above scheme, the type of the target keyword vector set includes a first target keyword vector set and a second target keyword vector set; the first target keyword vector set is used to determine the recommended selected keyword, and the second target keyword vector set is used to determine the recommended excluded keyword; the second query module 2333 is configured to determine the similarity of the fusion vector with respect to each of the plurality of keyword representative vectors in the database; perform descending order sorting processing on the plurality of keyword representative vectors based on the similarity to obtain a descending order sorting result; and determine the plurality of target keyword vector sets by at least one of the following manners: determining a plurality of keyword representative vectors satisfying a first condition as a plurality of first keyword representative vectors, respectively, determining a plurality of candidate keyword vector sets to which the plurality of first keyword representative vectors belong as a plurality of first candidate keyword vector sets, respectively; wherein the first condition represents that the keyword representative vectors are located at the head in the descending order sorting result; performing clustering processing on the plurality of first candidate keyword vector sets to obtain the plurality of first target keyword vector sets; determining a plurality of keyword representative vectors satisfying a second condition as a plurality of second keyword representative vectors, respectively, determining a plurality of candidate keyword vector sets to which the plurality of second keyword representative vectors belong as a plurality of second candidate keyword vector sets, respectively; wherein the second condition represents that the keyword representative vectors are located at the tail in the descending order sorting result; and performing clustering processing on the plurality of second candidate keyword vector sets to obtain the plurality of second target keyword vector sets.
[0305] In the above scheme, the second query module 2333 is configured to determine a first candidate keyword recommendation vector corresponding to each first candidate keyword vector; wherein the first candidate keyword vector belongs to a first candidate keyword vector set; and perform clustering processing on the plurality of first candidate keyword recommendation vectors to obtain the plurality of first target keyword vector sets.
[0306] In the above scheme, the second query module 2333 is configured to perform the following processing on each first candidate keyword vector: performing sum processing on the first candidate keyword vector and the corresponding initialization vector to obtain a first candidate keyword recommendation vector corresponding to the first candidate keyword vector.
[0307] In the scheme, the second query module 2333 is configured to determine the first quantity of first candidate keyword recommendation vectors as initial class cluster centers; for each of the second quantity of first candidate keyword recommendation vectors, iteratively perform the following processing: determine the similarity between the first candidate keyword recommendation vector and each initial class cluster center, and determine the class cluster to which the initial class cluster center corresponding to the maximum similarity belongs as the class cluster to which the first candidate keyword recommendation vector belongs; determine the updated class cluster center of each class cluster in the first quantity of class clusters, and when the updated class cluster center no longer changes, determine each class cluster as a first target keyword vector set; each class cluster includes a plurality of first candidate keyword recommendation vectors; the second quantity of first candidate keyword recommendation vectors are candidate keyword recommendation vectors in the plurality of first candidate keyword recommendation vectors, except for the first quantity of first candidate keyword recommendation vectors.
[0308] In the scheme, the type of the target keyword vector set includes a first target keyword vector set; the first target keyword vector set is used to determine a recommended selected keyword; the first generation module 2334 is configured to determine a first target keyword vector that satisfies a third condition from each first target keyword vector set; the third condition represents the maximum similarity with the fusion vector; perform descending order sorting processing on a plurality of first target keyword vectors based on the similarity between each first target keyword vector and the fusion vector to obtain a descending order sorting result; determine a plurality of first target keyword vectors that satisfy a first condition as second target keyword vectors respectively, and generate a keyword set based on the keywords respectively corresponding to the plurality of second target keyword vectors; the first condition represents a position at a head in the descending order sorting result.
[0309] In the scheme, the type of the target keyword vector set includes a second target keyword vector set; the second target keyword vector set is used to determine a recommended excluded keyword; the first generation module 2334 is configured to determine a third target keyword vector that satisfies a fourth condition from each second target keyword vector set; the fourth condition represents the minimum similarity with the fusion vector; perform descending order sorting processing on a plurality of third target keyword vectors based on the similarity between each third target keyword vector and the fusion vector to obtain a descending order sorting result; determine a plurality of third target keyword vectors that satisfy a second condition as fourth target keyword vectors respectively, and generate a keyword set based on the keywords respectively corresponding to the plurality of fourth target keyword vectors; the second condition represents a position at a tail in the descending order sorting result.
[0310] In the scheme, the sending module 2335 is further configured to generate a corresponding query statement based on the directional recommendation condition; query a database based on the query statement to obtain a plurality of objects that meet the directional recommendation condition; and send the recommendation information corresponding to the recommendation party to the plurality of objects.
[0311] In some embodiments, such as Figure 2B As shown, the software modules in the targeted information recommendation device 433 stored in the memory 430 may include: a first display module 4331, used to display multiple candidate recommendation targets of the recommender on a human-computer interaction interface; a first sending module 4332, used to send the selected recommendation target and the recommender identifier to the server in response to a parameter selection operation; a receiving module 4333, used to receive a set of keywords returned by the server; a second display module 4334, used to display the set of keywords on a human-computer interaction interface; and a second sending module 4335, used to send at least one selected keyword to the server in response to a keyword selection operation; wherein, at least one keyword is used by the server to generate targeted recommendation conditions, so as to send the recommendation information corresponding to the recommender to objects that meet the targeted recommendation conditions.
[0312] In the above scheme, the keyword set is at least one of the following: a selected keyword set and an excluded keyword set; wherein, the selected keyword set includes: keywords corresponding to multiple first target keyword vectors located at the head of the first descending sort result, the first descending sort result is obtained by sorting multiple first target keyword vectors in descending order according to the similarity between multiple first target keyword vectors and the fusion vector, and the fusion vector corresponds to the recommender identifier and the recommendation target; the excluded keyword set includes: keywords corresponding to multiple second target keyword vectors located at the tail of the second descending sort result, the second descending sort result is obtained by sorting multiple second target keyword vectors in descending order according to the similarity between multiple second target keyword vectors and the fusion vector.
[0313] In the above scheme, the recommendation objectives include: the click-through rate of the recommended information and the conversion rate of the recommended information.
[0314] This application provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the targeted information recommendation method described above in this application.
[0315] This application provides a computer-readable storage medium storing executable instructions, wherein the executable instructions, when executed by a processor, will cause the processor to execute the targeted information recommendation method provided in this application.
[0316] In some embodiments, the computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, a magnetic surface memory, an optical disk, or a CD-ROM, etc.; or various devices including one or any combination of the above memories.
[0317] In some embodiments, the executable instructions can be in the form of a program, software, software modules, scripts, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and they can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0318] As an example, the executable instructions can be deployed in one computing device, or in multiple computing devices located at one site, or in multiple computing devices distributed across multiple sites and interconnected via a communication network.
[0319] To sum up, according to the recommended party identifier and the recommendation target, the embodiments of the present application obtain the keyword set in one computing process, and generate the directional recommendation condition based on the keywords sent by the terminal, without the need for the recommended party to input the keywords multiple times or the server to perform multiple computing processes to determine the directional recommendation condition, which not only improves the generation efficiency of the directional recommendation condition, but also greatly saves the computing resources; and since the keyword set is determined based on the recommendation target, the directional recommendation condition generated based on the keywords in the keyword set has strong relevance with the recommendation target, thus the directional recommendation condition determined in this way can be more in line with the recommendation target of the recommended party, so that the recommendation information sent to the object meeting the directional recommendation condition has better recommendation effect.
[0320] The above merely describes the embodiments of the present application, but is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, and improvement within the spirit and scope of the present application shall be included in the protection scope of the present application.
Claims
1. A method of targeted information recommendation, characterized by, The method comprises: receiving a recommended target and a recommended party identifier sent by a terminal; querying a database based on the recommended party identifier and the recommended target to obtain a fusion vector corresponding to the recommended party identifier and the recommended target; querying a plurality of target keyword vector sets from the database based on a similarity between the fusion vector and keyword representative vectors in the database; determining a target keyword vector from each of the target keyword vector sets, and generating a keyword set based on keywords corresponding to the plurality of target keyword vectors; sending the keyword set to the terminal and receiving at least one keyword selected from the keyword set and sent by the terminal; generating a directional recommendation condition based on the at least one keyword; wherein the directional recommendation condition is used to send recommendation information corresponding to the recommended party to an object meeting the directional recommendation condition.
2. The method of claim 1, wherein: the querying of the database based on the recommended party identifier and the recommended target to obtain the fusion vector corresponding to the recommended party identifier and the recommended target comprises: querying the database based on the recommended party identifier and the recommended target respectively to obtain a recommended party vector and a recommended target vector; performing sum and average processing on the recommended party vector and the recommended target vector to obtain the fusion vector.
3. The method of claim 1, wherein: the type of the target keyword vector set comprises a first target keyword vector set and a second target keyword vector set; wherein the first target keyword vector set is used to determine a recommended selected keyword, and the second target keyword vector set is used to determine a recommended excluded keyword; the querying of the plurality of target keyword vector sets from the database based on the similarity between the fusion vector and the keyword representative vectors in the database comprises: determining a similarity between the fusion vector and a plurality of keyword representative vectors in the database respectively; performing descending order sorting processing on the plurality of keyword representative vectors based on the similarity to obtain a descending order sorting result; determining a plurality of target keyword vector sets by at least one of the following ways: determining a plurality of keyword representative vectors satisfying a first condition as first keyword representative vectors respectively, and determining a plurality of first candidate keyword vector sets to which a plurality of the first keyword representative vectors belong respectively; wherein the first condition represents a head position in the descending order sorting result; performing clustering processing based on the plurality of first candidate keyword vector sets to obtain a plurality of the first target keyword vector sets; determining a plurality of keyword representative vectors satisfying a second condition as second keyword representative vectors respectively, and determining a plurality of second candidate keyword vector sets to which a plurality of the second keyword representative vectors belong respectively; wherein the second condition represents a tail position in the descending order sorting result. Clustering is performed based on the plurality of second candidate keyword vector sets to obtain a plurality of second target keyword vector sets.
4. The method of claim 3, wherein, The clustering is performed based on the plurality of first candidate keyword vector sets to obtain a plurality of first target keyword vector sets, including: A first candidate keyword recommendation vector corresponding to each first candidate keyword vector is determined, wherein the first candidate keyword vector belongs to the first candidate keyword vector set; The plurality of first candidate keyword recommendation vectors are clustered to obtain the plurality of first target keyword vector sets.
5. The method of claim 4, wherein, The first candidate keyword recommendation vector corresponding to each first candidate keyword vector is determined, including: For each first candidate keyword vector, the following processing is performed: The first candidate keyword vector and the corresponding initialization vector are summed to obtain the first candidate keyword recommendation vector corresponding to the first candidate keyword vector.
6. The method of claim 4, wherein, The plurality of first candidate keyword recommendation vectors are clustered to obtain the plurality of first target keyword vector sets, including: A first number of the first candidate keyword recommendation vectors are determined as initial class cluster centers; For each of a second number of the first candidate keyword recommendation vectors, the following processing is iteratively performed: The similarity of the first candidate keyword recommendation vector to each of the initial class cluster centers is determined, and the class cluster to which the initial class cluster center corresponding to the maximum similarity belongs is determined as the class cluster to which the first candidate keyword recommendation vector belongs; An updated class cluster center of each of the first number of the class clusters is determined, and when the updated class cluster center no longer changes, each of the class clusters is determined as the first target keyword vector set; Wherein each of the class clusters includes a plurality of first candidate keyword recommendation vectors; the second number of the first candidate keyword recommendation vectors are the candidate keyword recommendation vectors in the plurality of first candidate keyword recommendation vectors, excluding the first number of the first candidate keyword recommendation vectors.
7. The method of claim 1, wherein, The type of the target keyword vector set includes a first target keyword vector set; wherein the first target keyword vector set is used to determine a recommended selected keyword; The target keyword vector is determined from each of the target keyword vector sets based on a plurality of keywords corresponding to the target keyword vector, including: A first target keyword vector satisfying a third condition is determined from each of the first target keyword vector sets; wherein the third condition represents the maximum similarity to the fusion vector; Based on the similarity of each of the first target keyword vector to the fusion vector, the plurality of first target keyword vectors are sorted in descending order to obtain a descending order sorting result; The first target keyword vectors satisfying the first condition are respectively determined as second target keyword vectors, and the keyword set is generated based on keywords corresponding to the second target keyword vectors.
8. The method of claim 1, wherein, the type of the target keyword vector set comprises a second target keyword vector set, and the second target keyword vector set is used to determine a recommended excluded keyword; the generating of the keyword set based on keywords corresponding to the target keyword vectors comprises: determining a third target keyword vector satisfying a fourth condition from each second target keyword vector set, wherein the fourth condition represents a minimum similarity to the fusion vector; performing descending order sorting on the third target keyword vectors based on the similarity of each third target keyword vector to the fusion vector to obtain a descending order sorting result; the third target keyword vectors satisfying a second condition are respectively determined as fourth target keyword vectors, and the keyword set is generated based on keywords corresponding to the fourth target keyword vectors, wherein the second condition represents a tail position in the descending order sorting result.
9. The method of claim 1, wherein, after the generating of the directional recommendation condition based on the at least one keyword, the method further comprises: generating a corresponding query statement based on the directional recommendation condition; querying the database based on the query statement to obtain a plurality of objects meeting the directional recommendation condition; sending the recommendation information corresponding to the recommendation party to the plurality of objects.
10. A method of targeted information recommendation, characterized by, The method comprises: displaying a plurality of candidate recommendation targets of a recommendation party on a human-computer interaction interface; in response to a parameter selection operation, sending the selected recommendation target and a recommendation party identifier to a server; receiving a keyword set returned by the server, wherein the keyword set is obtained by querying a database based on the recommendation party identifier and the recommendation target to obtain a fusion vector corresponding to the recommendation party identifier and the recommendation target, querying a plurality of target keyword vector sets from the database based on the similarity of the fusion vector to keyword representative vectors in the database, determining a target keyword vector from each target keyword vector set, and generating the keyword set based on keywords corresponding to the target keyword vectors; displaying the keyword set on the human-computer interaction interface; in response to a keyword selection operation, sending at least one selected keyword to the server, wherein the at least one keyword is used by the server to generate a directional recommendation condition to send the recommendation information corresponding to the recommendation party to an object meeting the directional recommendation condition.
11. A device for recommending information in a targeted manner, characterized by The apparatus comprises: a receiving module configured to receive a recommendation target of a recommendation party and a recommendation party identifier sent by a terminal; The first query module is configured to query the database based on the identifier of the recommender and the recommendation target, and obtain a fusion vector corresponding to the identifier of the recommender and the recommendation target. The second query module is configured to query a plurality of target keyword vector sets from the database based on a similarity between the fusion vector and keyword representative vectors in the database. The first generation module is configured to determine a target keyword vector from each of the target keyword vector sets, and generate a keyword set based on keywords corresponding to the target keyword vectors. The sending module is configured to send the keyword set to the terminal, and receive at least one keyword selected from the keyword set by the terminal. The second generation module is configured to generate a directional recommendation condition based on the at least one keyword, wherein the directional recommendation condition is used to send recommendation information corresponding to the recommender to an object meeting the directional recommendation condition.
12. The apparatus of claim 11, wherein, The first query module is specifically configured to: query the database based on the identifier of the recommender and the recommendation target respectively, and obtain a recommendation direction vector and a recommendation target vector; perform sum and average processing on the recommendation direction vector and the recommendation target vector to obtain the fusion vector.
13. The apparatus of claim 11, wherein, The type of the target keyword vector set includes a first target keyword vector set and a second target keyword vector set; the first target keyword vector set is used to determine a recommended keyword, and the second target keyword vector set is used to determine a recommended excluded keyword; and the second query module is specifically configured to: determine a similarity between the fusion vector and a plurality of keyword representative vectors in the database; perform descending order sorting processing on the plurality of keyword representative vectors based on the similarity to obtain a descending order sorting result; determine a plurality of target keyword vector sets by at least one of the following ways: determine a plurality of keyword representative vectors satisfying a first condition as first keyword representative vectors, and determine a plurality of first candidate keyword vector sets to which the first keyword representative vectors belong respectively; the first condition represents that the keyword representative vectors are located at a head part in the descending order sorting result; perform clustering processing based on the plurality of first candidate keyword vector sets to obtain a plurality of first target keyword vector sets; determine a plurality of keyword representative vectors satisfying a second condition as second keyword representative vectors, and determine a plurality of second candidate keyword vector sets to which the second keyword representative vectors belong respectively; the second condition represents that the keyword representative vectors are located at a tail part in the descending order sorting result; perform clustering processing based on the plurality of second candidate keyword vector sets to obtain a plurality of second target keyword vector sets.
14. A device for recommending information in a targeted manner, characterized by The device comprises: The first display module is configured to display a plurality of candidate recommendation targets of a recommender on a human-computer interaction interface. The first sending module is configured to send the selected recommendation target and the identifier of the recommender to the server in response to a parameter selection operation. The receiving module is configured to receive a keyword set returned by the server, wherein the keyword set is obtained by: obtaining a fusion vector corresponding to the recommender identifier and the recommendation target based on the recommender identifier and the recommendation target, querying a plurality of target keyword vector sets from a database based on a similarity between the fusion vector and a keyword representative vector in the database, and determining a target keyword vector from each of the target keyword vector sets and generating the keyword set based on keywords corresponding to the target keyword vectors. The second display module is configured to display the keyword set on the human-computer interaction interface. The second sending module is configured to send at least one selected keyword to the server in response to a keyword selection operation, wherein the at least one keyword is used by the server to generate a directional recommendation condition, and the recommendation information corresponding to the recommender is sent to an object meeting the directional recommendation condition.
15. An electronic device, comprising: The electronic device comprises: a memory configured to store executable instructions; a processor configured to execute the executable instructions stored in the memory to implement the directional information recommendation method in any one of claims 1 to 9 or the directional information recommendation method in claim 10.
16. A computer-readable storage medium, characterized in that, The executable instructions are stored in the memory and are configured to be executed by the processor to implement the directional information recommendation method in any one of claims 1 to 9 or the directional information recommendation method in claim 10.
17. A computer program product comprising computer programs or instructions, characterized in that, The computer program or instructions are executed by the processor to implement the directional information recommendation method in any one of claims 1 to 9 or the directional information recommendation method in claim 10.
Citation Information
Patent Citations
Object recommendation method and apparatus, storage medium, and terminal device
CN112424763A
Object recommendation method and apparatus, storage medium, and terminal device
WO2020220340A1