Disclosure of Invention
The present specification provides a method and apparatus for model training and information recommendation, so as to partially solve the above problems in the prior art.
The technical scheme adopted by the specification is as follows:
the present specification provides a method of model training, comprising:
obtaining each training sample;
inputting user sample information and historical recommendation information contained in each training sample into a prediction model to be trained, and determining service intention characterization information corresponding to a user when the historical recommendation information is recommended to the user corresponding to the user sample information, and a predicted click rate of the user for the historical recommendation information, wherein the service intention characterization information is used for characterizing the service intention of the user when the historical recommendation information is recommended to the user;
and training the prediction model by taking the minimum deviation between the predicted click rate and a first label contained in the training sample and the minimum deviation between the business intention representation information and a second label contained in the training sample as optimization targets, wherein the first label is used for representing the actual click condition of the user for the historical recommendation information, and the second label is used for representing the determined actual business intention of the user when the historical recommendation information is recommended to the user.
Optionally, each training sample includes a first training sample and a second training sample, where the first training sample includes the first label, and the second training sample includes the first label and the second label; the prediction model comprises a first sub-prediction model, a second sub-prediction model and an intention distinguishing model;
before inputting, for each training sample, user sample information and historical recommendation information contained in the training sample into a prediction model to be trained, the method further includes:
training an intention distinguishing model to be trained through the second training sample to obtain the trained intention distinguishing model, wherein the intention distinguishing model is used for determining business intention characterization information corresponding to a user when information recommendation is carried out on the user;
and constructing the prediction model according to the trained intention discrimination model, the first sub-prediction model to be trained and the second sub-prediction model to be trained.
Optionally, the user sample information and the historical recommendation information included in the training sample are input into a prediction model to be trained, and before determining that the service intention characterization information corresponding to the user and the predicted click rate of the user for the historical recommendation information when recommending the historical recommendation information to the user corresponding to the user sample information, the method further includes:
inputting each first training sample into the trained intention judging model to obtain the service intention representing information of the user corresponding to the user sample information contained in the first training sample as the service intention representing information corresponding to the first training sample;
and determining a second label corresponding to the first training sample according to the service intention characterization information corresponding to the first training sample.
Optionally, inputting user sample information and historical recommendation information included in the training sample into a prediction model to be trained, and determining service intention characterization information corresponding to the user and a predicted click rate of the user for the historical recommendation information when recommending the historical recommendation information to the user corresponding to the user sample information, specifically including:
inputting the user sample information and the historical recommendation information into the first sub-prediction model to obtain a click rate of the user on the historical recommendation information under the condition of a first service intention as a first click rate, inputting the user sample information and the historical recommendation information into the second sub-prediction model to obtain a click rate of the user on the historical recommendation information under the condition of a second service intention as a second click rate, and inputting the user sample information and the historical recommendation information into the intention judgment model to obtain service intention characterization information, wherein the first service intention is different from the second service intention;
and determining the predicted click rate of the user for the historical recommendation information according to the first click rate, the second click rate and the service intention representation information.
Optionally, training the prediction model with the objective of minimizing a deviation between the predicted click rate and a first label included in the training sample and minimizing a deviation between the business intention characterizing information and a second label included in the training sample as optimization objectives specifically includes:
determining the training round number N of the prediction model, wherein N is a positive integer;
determining a loss weight corresponding to the second label in the N-th round of training of the prediction model, wherein the greater the training round N is, the greater the loss weight is;
determining a loss value between the predicted click rate and the first label as a first loss, and determining a loss value between the business intention representation information and the second label as a second loss;
determining a weighted sum value between the second penalty and the penalty weight as a third penalty;
determining a comprehensive loss according to the first loss and the third loss;
and training the prediction model by taking the minimization of the comprehensive loss as an optimization target.
Optionally, the historical recommendation information includes: historical short videos.
The present specification provides a method for information recommendation, including:
receiving a service request sent by a user, acquiring user information of the user, and determining at least one piece of information to be recommended;
inputting the user information and the at least one piece of information to be recommended into a pre-trained prediction model to obtain the click rate of the user on each piece of information to be recommended under the current business intention, wherein the prediction model is obtained by training through a model training method;
and recommending the information to the user according to the click rate of the user to each piece of information to be recommended under the current service intention.
Optionally, the information to be recommended includes: short videos are to be recommended.
The present specification provides an apparatus for model training, comprising:
the acquisition module is used for acquiring each training sample;
the input module is used for inputting user sample information and historical recommendation information contained in each training sample into a prediction model to be trained, and determining service intention characterization information corresponding to a user when the historical recommendation information is recommended to the user corresponding to the user sample information and a predicted click rate of the user for the historical recommendation information, wherein the service intention characterization information is used for characterizing the service intention of the user when the historical recommendation information is recommended to the user;
and the optimization module is used for training the prediction model by taking the minimum deviation between the predicted click rate and a first label contained in the training sample and the minimum deviation between the business intention representation information and a second label contained in the training sample as optimization targets, wherein the first label is used for representing the actual click condition of the user for the historical recommendation information, and the second label is used for representing the determined actual business intention of the user when the historical recommendation information is recommended to the user.
This specification provides an apparatus for information recommendation, including:
the system comprises an acquisition module, a recommendation module and a recommendation module, wherein the acquisition module is used for receiving a service request sent by a user, acquiring user information of the user and determining at least one piece of information to be recommended;
the prediction module is used for inputting the user information and the at least one piece of information to be recommended into a pre-trained prediction model to obtain the click rate of the user on each piece of information to be recommended under the current business intention, and the prediction model is obtained by training through a model training method;
and the recommending module is used for recommending the information to the user according to the click rate of the user to each piece of information to be recommended under the current service intention.
The present specification provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the above-described method of model training or information recommendation.
The present specification provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the above method of model training or information recommendation when executing the program.
The technical scheme adopted by the specification can achieve the following beneficial effects:
in the method and apparatus for model training or information recommendation provided in this specification, training samples are obtained, for each training sample, user sample information and historical recommendation information included in the training sample are input into a prediction model to be trained, service intention characterization information corresponding to the user when the historical recommendation information is recommended to the user corresponding to the user sample information is determined, and a predicted click rate of the user for the historical recommendation information is determined, the service intention characterization information is used for characterizing a service intention of the user when the historical recommendation information is recommended to the user, so that a deviation between the predicted click rate and a first label included in the training sample is minimized, a deviation between the service intention characterization information and a second label included in the training sample is minimized, and the prediction model is trained. The prediction model can determine the click rate of each piece of information to be recommended by combining the service intention of the user, and information recommendation is carried out according to the click rate of each piece of information to be recommended.
The method can train the prediction model for information recommendation by predicting the service intention of the user and predicting the click rate of the user for historical recommendation information at the same time, so that when the user is recommended by the prediction model, the click rate of the user for each piece of information to be recommended can be determined by taking the current service intention of the user as a basis, the recommendation information recommended to the user is in accordance with the service intention of the user, and the information can be recommended to the user more accurately.
Detailed Description
In order to make the objects, technical solutions and advantages of the present disclosure more clear, the technical solutions of the present disclosure will be clearly and completely described below with reference to the specific embodiments of the present disclosure and the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present disclosure, and not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without any creative effort belong to the protection scope of the present specification.
The technical solutions provided by the embodiments of the present description are described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic flow chart of a model training method in this specification, which specifically includes the following steps:
s101: each training sample is obtained.
S102: the method comprises the steps of inputting user sample information and historical recommendation information contained in each training sample into a prediction model to be trained, determining service intention characterization information corresponding to a user when the historical recommendation information is recommended to the user corresponding to the user sample information, and determining a predicted click rate of the user for the historical recommendation information, wherein the service intention characterization information is used for characterizing the service intention of the user when the historical recommendation information is recommended to the user.
In practical application, the service platform may recommend various recommendation information to the user, for example, the service platform may recommend a short video to the user, and certainly, may also recommend a commodity to the user, posts written by other users in the service platform, and the like. The user may have some kind of business intent to browse the recommendation information recommended to him by the business platform.
For example, when viewing short videos in the takeaway platform, the user may view the short videos recommended by the takeaway platform only due to the intention of looking at the takeaway platform, or only due to the intention of browsing the short videos at leisure. As another example, the user may view posts in a shopping platform, perhaps for the purpose of requiring shopping intent, or may simply browse the posts at will at their leisure. If the corresponding information recommendation is performed in combination with the service intention of the user, the recommendation information required by the user can be more accurately recommended to the user.
Therefore, in the present specification, prediction of a user's business intention may be incorporated in a machine learning model for information recommendation to a user. Based on this, the service platform may obtain each training sample, and for each training sample, input the user sample information and the historical recommendation information included in the training sample into the prediction model to be trained, determine the service intention characterizing information corresponding to the user when recommending the historical recommendation information to the user corresponding to the user sample information, and the predicted click rate of the user for the historical recommendation information, where the service intention characterizing information is used to characterize the service intention of the user when recommending the historical recommendation information to the user.
The user sample information mentioned here may include an identifier of the user, recommendation information historically viewed by the user, a category of recommendation information historically viewed by the user, and the like, and since the historical recommendation information may be a historical short video, that is, a short video historically recommended to the user, the historical recommendation information input into the prediction model may further include related information of the historical short video, for example, a video duration corresponding to the historical short video, whether the user can place an order through the historical short video, a time for the user to browse the historical short video, and the like.
Still taking a takeout scenario as an example, the above-mentioned business intention characterizing information may indicate whether the business intention of the user is an intention of taking an order and taking out when recommending the historical recommendation information to the user. That is to say, the prediction model mentioned here can determine both the service intention of the user and the click rate of the user to the information to be recommended, and then subsequently, the service platform needs to train with the prediction model predicting the accurate service intention of the user and predicting the accurate click rate as targets, so that when the service platform applies the prediction model to recommend information, the service platform can recommend information to the user according to the predicted service intention of the user.
In the present specification, the prediction model may include each submodel, and the training of the prediction model is performed for each submodel as shown in fig. 2.
Fig. 2 is a schematic structural diagram of a prediction model provided in this specification.
As can be seen from fig. 2, the prediction model includes a first sub-prediction model, a second sub-prediction model and an intention discrimination model, where the intention discrimination model is used to determine service intention characterizing information corresponding to a user when recommending information to the user, the first sub-prediction model and the second sub-prediction model are respectively used to predict click rates of the user on historical recommendation information under different service intentions, the first sub-prediction model is used to determine click rates of the user on the historical recommendation information under a condition of a first service intention, and the second sub-prediction model is used to determine click rates of the user on the historical recommendation information under a condition of a second service intention.
In order to more accurately determine the service intention of the user, the intention discrimination model needs to be supervised and trained in advance, and then the trained intention discrimination model is integrated into the prediction model, specifically, the training samples include a first training sample and a second training sample, the first training sample includes a first label and does not include a second label, the second training sample includes the first label and the second label, that is, the second training sample is labeled with the second label in advance, and the first training sample is not labeled with the second label.
The service platform can train the intention discrimination model according to the second training sample, and construct a prediction model according to the trained intention discrimination model, the first sub-prediction model to be trained and the second sub-prediction model to be trained. The first label mentioned above is used to represent an actual click condition of the user on the historical recommendation information, that is, to represent whether the user clicks the historical recommendation information, that is, to represent whether the user views the historical recommendation information, while the second label is used to represent the determined actual service intention of the user when recommending the historical recommendation information to the user, still taking a takeaway scenario as an example, and the second label may represent whether the determined service intention of the user when recommending the historical recommendation information to the user is an intention of taking orders and taking away.
In practical application, the labeling of the business intention of the user usually needs to be performed manually, so that the number of the second training samples including the second label may be small, and then, after the business platform trains the intention discrimination model through the second training samples, the first training samples not including the second label may be labeled through the intention discrimination model.
Specifically, the service platform may input the first training sample into the trained intention discrimination model for each first training sample, obtain service intention characterization information of the user corresponding to the user sample information included in the first training sample, use the service intention characterization information as the service intention characterization information corresponding to the first training sample, and determine the second label corresponding to the first training sample according to the service intention characterization information corresponding to the first training sample.
That is, the service platform determines, according to the service intention predicted by the intention judgment model, a second label corresponding to the first training sample, that is, what kind of service intention of the service intention characterizing information corresponding to the first training sample, so that the second label corresponding to the first training sample represents the service intention.
In practical application, the predicted click rate determined by the prediction model can be comprehensively calculated through the output results of all sub-models included in the prediction model. Specifically, the service platform may input the user sample information and the historical recommendation information into the first sub-prediction model, and obtain a click rate of the user on the historical recommendation information under the condition of the first service intention, which is used as the first click rate. And inputting the user sample information and the historical recommendation information into a second sub-prediction model to obtain the click rate of the user on the historical recommendation information under the condition of a second service intention as a second click rate. Here, the first click rate and the second click rate are both conditional probabilities.
The service platform needs to input user sample information and historical recommendation information into an intention distinguishing model to obtain service intention characterization information, wherein a first service intention is different from a second service intention, and a take-out scene is still taken as an example, the first service intention can refer to an intention that a user needs to take an order for taking out, and the second service intention can refer to an intention that the user does not need to take an order for taking out. The service platform may determine a predicted click rate of the user for the historical recommendation information according to the determined first click rate, the determined second click rate and the service intention characterization information, and specifically, the service platform may determine the predicted click rate through the following formula.
P(Watch)=P(Watch|e1)×P(e1)+P(Watch|e2)×P(e2)
Wherein P (Watch) in the above formula refers to the predicted click rate, P (Watch | e)1) Refers to the click rate of the user on the historical recommendation information under the condition of the first business intention, i.e. the first click rate, P (Watch | e)2) Refers to the click rate of the user on the historical recommendation information under the condition of the second service intention, i.e. the second click rate, P (e)1) Probability that the user's business intention is the first business intention when recommending the historical recommendation information to the user, P (e)2) Probability that the user's business intention is the second business intention when recommending the history recommendation information to the user, P (e)1) And P (e)2) Can be determined by the service intention characterizing information if the service intention characterizing informationP (e) if the information indicates the probability that the user's business intention is the first business intention1) For the service intention, a probability value corresponding to the information is represented, and P (e)2) Is 1-P (e)1) Of course, the service intention characterization information may also be a probability for indicating that the service intention of the user is the second service intention, and is not limited herein.
S103: and training the prediction model by taking the minimum deviation between the predicted click rate and a first label contained in the training sample and the minimum deviation between the business intention representation information and a second label contained in the training sample as optimization targets, wherein the first label is used for representing the actual click condition of the user for the historical recommendation information, and the second label is used for representing the determined actual business intention of the user when the historical recommendation information is recommended to the user.
And after the service platform determines the service intention representation information corresponding to the user and the predicted click rate of the user for the historical recommendation information when recommending the historical recommendation information to the user through the prediction model, the service platform can train the prediction model by taking the minimized deviation between the service intention representation information and a second label contained in the training sample and the minimized deviation between the predicted click rate and a first label contained in the training sample as optimization targets.
It should be noted that, since the intention discrimination model included in the prediction model is subjected to the supervised training in advance, and neither the first sub-prediction model nor the second sub-prediction model is trained, when the prediction model is initially trained, the first sub-prediction model and the second sub-prediction model need to have more accurate prediction capabilities. Therefore, when the prediction model is initially trained, the prediction model can be trained by only determining the accurate predicted click rate as the optimization target, and the optimization target corresponding to the business intention representation information is gradually added in the subsequent training process.
Specifically, the service platform may determine a training round N of the prediction model, where N is a positive integer, and determine a loss weight corresponding to the second label in the nth round of training of the prediction model, where the greater the training round N is, the greater the loss weight is. The service platform can determine a loss value between the predicted click rate and the first label as a first loss, determine a loss value between the service intention characterization information and the second label as a second loss, determine a weighted sum value between the second loss and the loss weight as a third loss, determine a comprehensive loss according to the first loss and the third loss, and train the prediction model by taking the minimized comprehensive loss as an optimization target.
That is, in the training process of the prediction model, the loss function is not constant, and the loss weight corresponding to the second label may gradually increase in the training process, that is, in the loss function corresponding to the prediction model, the weight corresponding to the loss between the business intention characterizing information and the second label gradually increases. After the prediction model is trained for a period of time, the loss weight may be determined as a fixed set value, and when the prediction model is initially trained, the loss weight may be set to 0, and after the prediction model is trained for a certain period of time, the value of the loss weight is gradually increased.
It should be further noted that the second label can be labeled manually or automatically, and whether labeling is performed manually or automatically, labeling of the second label needs to be performed according to a specific service scenario and a certain rule.
Still taking a takeout scenario as an example, assuming that the second label indicates whether the business intent of the user is a business intent that needs ordering when recommending the historical recommendation information to the user, for a training sample, if the time for recommending the historical recommendation information in the training sample to the user is at lunch time and the user orders taking a takeout within 10 minutes, the second label of the training sample may be labeled as the business intent that needs ordering. If the time for recommending the historical recommendation information in the training sample to the user is in the non-dining time and the user does not order for a long period of time, the second label of the training sample can be labeled as the business intention which does not need to be placed.
Of course, the above example is only an example of one service scenario, and in practical applications, the second tag may be labeled in various ways, which is not described in detail herein, and the labeling way of the second tag is not limited.
The above is to describe the method in terms of model training, and the following is to describe the method in terms of applying the prediction model to an actual business scenario, as shown in fig. 3.
Fig. 3 is a schematic flow chart of a method for information recommendation in this specification, which specifically includes the following steps:
s301: receiving a service request sent by a user, acquiring user information of the user, and determining at least one piece of information to be recommended.
S302: inputting the user information and the at least one piece of information to be recommended into a pre-trained prediction model to obtain the click rate of the user on each piece of information to be recommended under the current business intention, wherein the prediction model is obtained by training through a model training method.
S303: and recommending the information to the user according to the click rate of the user to each piece of information to be recommended under the current service intention.
After the service platform trains the prediction model, information recommendation can be performed on the user through the prediction model, specifically, after the service platform receives a service request sent by the user, the service platform can acquire user information of the user and determine at least one piece of information to be recommended. The service request received by the service platform may be a service request sent to the service platform when the user needs to check the information recommended to the service platform by the service platform. The information to be recommended mentioned here may refer to information such as short videos to be recommended, information on commodities to be recommended, and the like.
Then, the service platform can input the user information and at least one piece of information to be recommended into a pre-trained prediction model to obtain the click rate of the user on each piece of information to be recommended under the current service intention. The service platform can recommend information to the user according to the click rate of the user to each piece of information to be recommended under the current service intention.
The prediction model is obtained by training through the model training method. The service platform can sort the information to be recommended according to the predicted click rate, so that the information to be recommended is recommended to the user according to the sorting result, and can also screen out some information to be recommended according to the predicted click rate and recommend the information to the user. The click rate predicted by the prediction model is used for recommending information for the user, so that the recommended information recommended to the user can better accord with the service intention of the user.
Still taking a take-out scene as an example, when a short video is recommended to a user in a take-out platform, the user may browse the short video because the user needs to take an order to take out, or may only look up the short video in leisure time without taking an order for taking out. If the user does not need to take the order and take out, short videos with long video duration, short videos with video contents not needing to be related to take out and the like can be recommended to the user.
The method can be seen that after the service platform trains the prediction model through the model training method provided by the specification, information recommendation can be performed through the prediction model, and when information recommendation is performed on a user, the click rate of each piece of information to be recommended under the current service intention of the user can be predicted.
Based on the same idea, the present specification further provides a corresponding apparatus for model training and information recommendation, as shown in fig. 4 or fig. 5.
Fig. 4 is a schematic diagram of a model training apparatus provided in this specification, which specifically includes:
an obtainingmodule 401, configured to obtain each training sample;
aninput module 402, configured to input, for each training sample, user sample information and historical recommendation information included in the training sample into a prediction model to be trained, and determine service intention characterization information corresponding to a user when the historical recommendation information is recommended to the user corresponding to the user sample information, and a predicted click rate of the user for the historical recommendation information, where the service intention characterization information is used to characterize a service intention of the user when the historical recommendation information is recommended to the user;
an optimizingmodule 403, configured to train the prediction model with an optimization objective of minimizing a deviation between the predicted click rate and a first tag included in the training sample, and minimizing a deviation between the service intention characterizing information and a second tag included in the training sample, where the first tag is used to characterize an actual click condition of the user for the historical recommendation information, and the second tag is used to characterize the determined actual service intention of the user when recommending the historical recommendation information to the user.
Optionally, each training sample includes a first training sample and a second training sample, where the first training sample includes the first label, and the second training sample includes the first label and the second label; the prediction model comprises a first sub-prediction model, a second sub-prediction model and an intention distinguishing model;
the device further comprises:
atraining module 404, configured to train, through the second training sample, an intention discrimination model to be trained to obtain the trained intention discrimination model, where the intention discrimination model is used to determine service intention characterizing information corresponding to a user when information is recommended to the user; and constructing the prediction model according to the trained intention discrimination model, the first sub-prediction model to be trained and the second sub-prediction model to be trained.
Optionally, the apparatus further comprises:
alabel determining module 405, configured to input each first training sample into the trained intent decision model, to obtain service intent characterization information of the user corresponding to the user sample information included in the first training sample, where the service intent characterization information is used as service intent characterization information corresponding to the first training sample; and determining a second label corresponding to the first training sample according to the service intention characterization information corresponding to the first training sample.
Optionally, theinput module 402 is specifically configured to input the user sample information and the historical recommendation information into the first sub-prediction model, obtain a click rate of the user on the historical recommendation information under a condition of a first service intention, as a first click rate, input the user sample information and the historical recommendation information into the second sub-prediction model, obtain a click rate of the user on the historical recommendation information under a condition of a second service intention, as a second click rate, input the user sample information and the historical recommendation information into the intention discrimination model, and obtain service intention characterizing information, where the first service intention is different from the second service intention; and determining the predicted click rate of the user for the historical recommendation information according to the first click rate, the second click rate and the service intention representation information.
Optionally, theoptimization module 403 is specifically configured to determine a training round N of the prediction model, where N is a positive integer; determining a loss weight corresponding to the second label in the N-th round of training of the prediction model, wherein the greater the training round N is, the greater the loss weight is; determining a loss value between the predicted click rate and the first label as a first loss, and determining a loss value between the business intention representation information and the second label as a second loss; determining a weighted sum value between the second penalty and the penalty weight as a third penalty; determining a comprehensive loss according to the first loss and the third loss; and training the prediction model by taking the minimization of the comprehensive loss as an optimization target.
Optionally, the historical recommendation information includes: historical short videos.
Fig. 5 is a schematic diagram of a model training apparatus provided in this specification, which specifically includes:
an obtainingmodule 501, configured to receive a service request sent by a user, obtain user information of the user, and determine at least one piece of information to be recommended;
theprediction module 502 is configured to input the user information and the at least one piece of information to be recommended into a pre-trained prediction model to obtain a click rate of the user on each piece of information to be recommended under the current business intention, where the prediction model is obtained by training through a model training method;
and the recommendingmodule 503 is configured to recommend information to the user according to the click rate of the user to each piece of information to be recommended under the current service intention.
Optionally, the information to be recommended includes: short videos are to be recommended.
The present specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the method for model training and information recommendation shown in fig. 1 or fig. 3.
This specification also provides a schematic block diagram of the electronic device shown in fig. 6. As shown in fig. 6, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, but may also include hardware required for other services. The processor reads a corresponding computer program from the non-volatile memory into the memory and then runs the computer program to implement the model training and information recommendation method described in fig. 1 or 3 above. Of course, besides the software implementation, the present specification does not exclude other implementations, such as logic devices or a combination of software and hardware, and the like, that is, the execution subject of the following processing flow is not limited to each logic unit, and may be hardware or logic devices.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functions of the various elements may be implemented in the same one or more software and/or hardware implementations of the present description.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
This description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present specification, and is not intended to limit the present specification. Various modifications and alterations to this description will become apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification should be included in the scope of the claims of the present specification.