A training method, device and equipment for knowledge tracking model

By obtaining user's answer information to generate hidden feature vectors and weight matrices, using memory matrix for read and write operations, and fusing feature vectors to generate predicted values, solving the problem of insufficient model accuracy in knowledge tracking model training in the existing technology, and achieving more Accurate prediction of the degree of mastery of knowledge points.

CN114461769BActive Publication Date: 2024-12-24LANZHOU UNIV +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210065583.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-20
Publication Date
2024-12-24
Estimated Expiration
2042-01-20

AI Technical Summary

Technical Problem

The existing knowledge tracking model training scheme is difficult to effectively utilize the user's historical answer characteristics, resulting in inaccurate model prediction effects.

Method used

By obtaining user's answer information, generating hidden feature vectors and determining weight matrix, reading and writing focus vectors from the memory matrix, fusing feature vectors to generate predicted values, using the difference in predicted values ​​and answer information for model training, and generating more accurate Target model.

Benefits of technology

Effectively utilize the user's historical answer information, improve the accuracy of the knowledge tracking model, and the training target model is more accurate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114461769B_ABST
    Figure CN114461769B_ABST
Patent Text Reader

Abstract

The embodiments of this specification disclose a training method, device and equipment for a knowledge tracking model. By obtaining the user's answer information for a knowledge point at time t, a hidden feature vector corresponding to the answer information is generated; a weight matrix is ​​determined according to the hidden feature vector; a focus vector is obtained by reading from a memory matrix according to the weight matrix; content is written to a memory matrix according to the weight matrix to generate a memory matrix at time t; the hidden feature vector and the generated output feature vector are fused, and a predicted value is generated according to the output feature vector; a knowledge tracking model is trained according to the difference between the predicted value and the answer information to generate a target model, and the relevant features generated by the user's historical answer information are saved by using a memory matrix, and the memory matrix is ​​read and written in real time during the training process, thereby effectively utilizing the user's historical answer information to train the model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of Internet technology, and in particular to a training method, device and equipment for a knowledge tracking model. Background Art

[0002] With the development of online education, knowledge tracking plays an increasingly important role in online education. Knowledge tracking refers to predicting the user's mastery of relevant knowledge points by analyzing the user's previous answers. Therefore, in the training of the knowledge tracking model, whether the user's historical answer characteristics can be effectively utilized is the key point of the knowledge tracking model training, which determines the effectiveness of the target model obtained by training.

[0003] Based on this, a more accurate training scheme for the knowledge tracking model is needed. Summary of the invention

[0004] One or more embodiments of the present specification provide a method, apparatus, device, and storage medium for training a knowledge tracking model to solve the following technical problem: a more accurate training solution for a knowledge tracking model is needed.

[0005] To solve the above technical problems, one or more embodiments of this specification are implemented as follows:

[0006] In a first aspect, the present specification provides a method for training a knowledge tracking model, comprising: obtaining the user's answer information h for a knowledge point at time t t , generate the answer information h t The hidden feature vector x t ; According to the hidden feature vector x t Determine the weight matrix w at time t t ; According to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; Fusion of the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t According to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

[0007] In a second aspect, the present specification provides a training device for a knowledge tracking model, including: an acquisition module, which acquires the user's answer information h for the knowledge point at time t. t , generate the answer information h t The hidden feature vector x t ; Weight matrix determination module, according to the hidden feature vector x t Determine the weight matrix w at time t t ; Focus vector acquisition module, according to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; Memory matrix update module, according to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; Prediction module, integrating the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t ; Training module, according to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

[0008] In a third aspect, an electronic device provided by an embodiment of this specification includes:

[0009] at least one processor; and,

[0010] a memory communicatively connected to the at least one processor; wherein,

[0011] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to the first aspect.

[0012] In a fourth aspect, an embodiment of the present specification provides a non-volatile computer storage medium storing computer executable instructions. When a computer reads the computer executable instructions in the storage medium, the instructions enable one or more processors to execute the method described in the first aspect.

[0013] At least one of the above technical solutions adopted in one or more embodiments of this specification can achieve the following beneficial effects: by obtaining the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector xt ; According to the hidden feature vector x t Determine the weight matrix w at time t t ; According to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; Fusion of the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t According to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the differences to generate a target model. The relevant features generated by the user's historical answer information are stored in a memory matrix, and the memory matrix is ​​read and written in real time during the training process, thereby effectively utilizing the user's historical answer information to train the model, and the trained target model is more accurate. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0015] Figure 1 A flowchart of a method for training a knowledge tracking model provided in an embodiment of this specification;

[0016] Figure 2 A schematic diagram of the structure of an LSTM neural unit provided in an embodiment of this specification;

[0017] Figure 3 A schematic diagram of a model architecture provided in an embodiment of this specification;

[0018] Figure 4 A schematic diagram of the structure of a training device for a knowledge tracking model provided in an embodiment of this specification;

[0019] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of this specification. DETAILED DESCRIPTION

[0020] The embodiments of this specification provide a training method, apparatus, device and storage medium for a knowledge tracking model.

[0021] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this application.

[0022] Figure 1 A flowchart of a method for training a knowledge tracking model provided in an embodiment of this specification specifically includes the following steps:

[0023] S101: Obtain the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t .

[0024] In an embodiment of the present application, the user's answering interaction time series is used as the model input, and the model output is M dimensions, representing the predicted value of the mastery of M knowledge points. The length of the sequence is N, t∈1, 2, ... N).

[0025] The answer information may include user_id, the user's identity identifier; skill_id, the knowledge point identifier of the question; correct: the user's correct or incorrect answer information (right or wrong), etc.

[0026] The user's interaction in answering questions at time t can be represented by a tuple ht={qt,at}, where qt represents the knowledge point answered by the user, at is the user's answer, and at∈{0,1}, where 0 represents an incorrect answer to the knowledge point and 1 represents a correct answer. qi represents the knowledge points in the data set, and M is the number of different knowledge points in the data set. Therefore, the user's answer information at time t+1 can be predicted based on the user's historical answer information Ht={h0,...,ht} up to time t. The user's answer information at time t-1 and time t-2 can be represented as a similar array.

[0027] Furthermore, the answer information {q t ,a t} is encoded to obtain the corresponding encoding vector at time t. For example, the user's answer knowledge point information can be encoded with a one-hot encoding length of 2M according to the traditional classic encoding of knowledge tracking.

[0028] The user's answer knowledge point is qt. We perform one-hot encoding of the user's answer knowledge point qt with a length of 2M to indicate the number information and correct or incorrect information of the knowledge point answered. Specifically, when at = 0, When at=1, The other positions are 0.

[0029] For example, assuming M = 8, then the one-hot encoding of the user's answer information is a one-hot encoding of length 16. If the user's answer to the first knowledge point is wrong (that is, for the first knowledge point at = 0, it is necessary to That is, the first bit in the code is 1), then we can know that the code for the user's answer information at this time is "01000000 00000000". If the answer to the first knowledge point is correct, the user's answer code is 0000000001000000".

[0030] After the answer code is obtained, a conventional neural network can be used to extract features using a multilayer perceptron (MLP) as the basic structure to obtain the answer information h corresponding to the question. t The hidden feature vector x t .

[0031] For example, an LSTM neural unit can be used for feature extraction to obtain a hidden feature vector xt corresponding to the answer information ht. The LSTM neural unit consists of an input gate it, a forget gate ft, and an output gate ot, such as Figure 2 As shown, Figure 2 This is a schematic diagram of the structure of an LSTM neural unit provided in the embodiment of this specification. t-1 is the hidden feature vector corresponding to time t-1, W and b are the weight matrix and bias matrix of the corresponding gate structure, and C represents the long-term feature state matrix. σ and tanh represent the activation function Sigmoid function and tanh function respectively:

[0032] S103, according to the hidden feature vector x t Determine the weight matrix w at time t t .

[0033] At this time, fully connected layers (FC) can be used to transform the hidden feature vector x t This gives the various parameters used to read from the memory matrix, including the key vector k at time t. t, key strength parameter β t , location matrix g t and the shift matrix s t and the sharpening weight γ t And so on, then, the weight matrix w at time t can be given according to these parameters t The memory matrix stores the relevant features extracted from the user's answer sequence at the previous t-1 moments. It can be assumed that the size of the memory matrix is ​​n×m, where n is the number of memory locations and m is the vector size of each memory location.

[0034] Weight matrix w t Used to indicate how to read and write from the memory matrix. The initial memory matrix M0 can be initialized with any value. At time t, the read operation on the memory matrix will be based on the M generated after writing at time t-1. t-1 The M generated by the write operation after the read operation t Will be used for the read operation at time t+1. The generated weight matrix w t There should be n weight parameters corresponding to the number of memory locations.

[0035] S105, according to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t .

[0036] Specifically, the weight matrix w can be determined respectively t The i-th weight value in M t-1 The i-th vector M contained in t-1 (i) to generate n intermediate numerical vectors; the sum of the n intermediate numerical vectors is determined as the focus vector r at time t t .

[0037] For example, t-1 The memory matrix M at the moment t-1 The size of is n×m, n is the number of memory locations, m is the vector size of each memory location, let wt be the weight matrix of the reader for n locations at time t: then Σw t (i)=1, At this time, the focus vector rt at time t returned from the memory matrix is ​​Σw t (i)M t (i).

[0038] S107, according to the weight matrix w t For the memory matrix M at time t-1 t-1Write the content to generate the memory matrix M at time t t .

[0039] Specifically, for the memory matrix M t-1 Content writing includes two aspects, namely erasing or adding memory in the memory matrix.

[0040] For the erase operation, after determining the weight matrix w t After that, the following method can be used to determine the hidden feature vector x t The corresponding erasure vector e at time t t ; Calculate the weight matrix w t With the erasure vector e t The product of , determine the difference between 1 and the product; the memory matrix M t-1 Modified to the memory matrix M t-1 The product of said and said difference.

[0041] Among them, the erasure vector e t The fully connected layer is based on the hidden feature vector x t Generated as input. That is, for the i-th memory unit M in the memory matrix t (i) Erasing can be done in the following ways: t (i) = M t-1 (i)[1-w t (i)*e t ],w t (i) is the weight matrix w t and the i-th memory unit M t (i) corresponds to the i-th weight parameter.

[0042] Furthermore, the memory matrix M at time t-1 can be erased. t-1 Write the content to generate the memory matrix M at time t t , that is, determine the hidden feature vector x t The corresponding increase vector a at time t t ; Calculate the weight matrix w t With the erase vector a t The memory matrix M t-1 Modified to the memory matrix M t-1 The sum of the product of the above and the above.

[0043] For example, if at is the hidden feature vector x at time t t The corresponding increase vector, then the i-th memory unit Mt(i) of the memory matrix at time t can be increased in the following way: M t (i) = Mt-1 (i)+w t (i)*a t .

[0044] S109, merging the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t .

[0045] In the embodiment of the present specification, multiple independent reading modules can be used to read the focus vector from the memory matrix, so that multiple independent r t , and then, the hidden feature vector x can be fused t and the r t Generates the output feature vector.

[0046] For example, the hidden feature vectors x can be directly concatenated in sequence t and the r t And as the output feature vector of the fully connected layer, or, for the multiple independent r t After the feature fusion is performed again, it is combined with the hidden feature vector x t Splicing and so on.

[0047] The fully connected layer generates a predicted value pt for the answer information of the knowledge point at time t based on the output feature vector, which is the probability that the user will answer the M knowledge points correctly at time t, that is, pt is an array of length M, and the values ​​in the array are probability values ​​between 0 and 1.

[0048] For example, if the output of the model is M-dimensional, the Sigmoid(x)=1 / (1+exp(-x)) activation function can be used to map the model output to the interval 0–1, which represents the model's predicted value of the students' mastery of each knowledge point. The larger the value, the better the model predicts the students' mastery of the knowledge point.

[0049] S111, according to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

[0050] Furthermore, the loss value of the model training can be evaluated according to the difference between the predicted value pt and the answer information ht, and the parameters in the model can be adjusted by backpropagation based on the loss value to generate a target model.

[0051] For example, the cross entropy function can be used to evaluate the user answer information loss in the model, l(μ, η) = -(ηlog(μ) + (1-η)log(1-μ)). Where μ is the value of any knowledge point in the predicted value pt, and η is the corresponding answer information ht. The user answer information loss function is: δ represents the one-hot encoding of the knowledge point.

[0052] When the model meets the preset requirements for the difference between the predicted value and the true value of the training sample, the model at this time is the required target model.

[0053] By obtaining the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t ; According to the hidden feature vector x t Determine the weight matrix w at time t t ; According to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; Fusion of the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t According to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the differences to generate a target model. The relevant features generated by the user's historical answer information are stored in a memory matrix, and the memory matrix is ​​read and written in real time during the training process, thereby effectively utilizing the user's historical answer information to train the model, and the trained target model is more accurate.

[0054] In one embodiment, the weight matrix wt ​​at time t may be determined based on content similarity or based on location addressing.

[0055] For example, the hidden feature vector xt can be used as the input of the fully connected layer to generate the hidden feature vector x t The corresponding key vector k at time t t and the key strength parameter β t , key strength parameter βt Used to increase or decrease the precision of content-addressable addresses.

[0056] Thus, we can t-1 The i-th vector M contained in t-1 (i) relative to the hidden feature vector x t The higher the similarity between the two, the more likely it is that the vector is a noteworthy memory vector, that is, it should have a higher weight value. Specifically, it can be determined that the M t-1 The i-th vector M contained in t-1 (i) relative to the hidden feature vector x t The cosine similarity w i , 1≤i≤n; the matrix composed of the n cosine similarities is determined as the weight matrix w at time t t .

[0057] For example, for the i-th memory vector in the memory matrix, its correlation with the hidden feature vector x can be determined t The corresponding cosine similarity is: wt(i) = exp(βtK[k t ,M t-1 (i)]) / Σexp(β t K[k t ,M t-1 (j)]). And determine the value as its corresponding weight value w i .

[0058] In this way, the key value can be used to compare the similarity with the contents of each row in the memory matrix. The address with higher similarity is assigned a higher weight, so that the focus vector read from the memory can strengthen the feature value that is more beneficial to training.

[0059] In another embodiment, the weight matrix can also be determined by using a position-based addressing method, that is, generating a position addressing matrix gt and a shift matrix st at time t corresponding to the hidden feature vector xt; updating the weight matrix wt ​​according to the gt and the weight matrix wt-1 at time t-1, and the specific method can be: The updated weight matrix wt ​​is circularly convolved using the st to generate an enhanced weight matrix. For example, the circular convolution can be performed in the following manner: Where j∈1, 2,…N-1).

[0060] Among them, the shift matrix s t The weight transfer weight changes the weight of a vector in the memory matrix to another vector. For example, for a vector of length 3, s t=(1,0,0) means moving all weights forward one position, (0,1,0) keeps the weight distribution unchanged, and (0,0,1) means moving the weights backward one position.

[0061] In addition, after each convolution, the values ​​in the original weight matrix will be more dispersed, and after more times, the weight matrix will be close to uniform distribution. In order to solve the weight ambiguity problem caused by circular convolution, a scalar γt≥1 can be generated to offset the weight dispersion effect and enhance the final weight. For example, w can be used t (i) = wt(i) γt / Σw t (j) γt Combining content and location in this way can provide more diverse ways of determining weight matrices, which is more adaptable.

[0062] In actual applications, users have many types of knowledge points that are inconsistent. For example, there may be 100 math knowledge points for the first grade of junior high school, while there may be 200 knowledge points for high school English. If the model is retrained for each type of knowledge point, the efficiency is too low. Based on this, in one embodiment, after the target model training is completed, the model parameters can also be migrated in the following manner: determine the model parameters in the target model; migrate the model parameters to the initial values ​​of another knowledge tracking model, wherein the training samples of the other knowledge tracking model are training samples containing another knowledge point.

[0063] The other knowledge tracking model can be consistent with the initial tracking model architecture in this application, that is, it can be a model architecture including information encoding, auxiliary attribute encoding, multi-layer perceptron, controller, reading module, writing module, memory matrix, fully connected layer, and prediction output, such as Figure 3 As shown, Figure 3 A schematic diagram of a model architecture provided in an embodiment of this specification. In this case, since the target model already has a relatively accurate prediction effect relative to the knowledge points. At this time, the model parameters in the target model (i.e., the parameters of each module contained in the migration layer represented in the schematic diagram) can be directly used as the initial values ​​of another knowledge tracking model. In this way, even if the number of knowledge points in different scenarios is different, it is also possible to migrate all the training parameters of all migration layers, which can achieve the effect of making another knowledge tracking model converge faster and improve the training speed of another knowledge tracking model.

[0064] In one embodiment, in addition to the answer information, other relevant auxiliary information may be used as the input of the model, for example, the length of time for answering the question, whether the prompt information has been browsed before answering the question, etc., so as to determine the answer information h tThe answer information code corresponding to the question is determined, and the auxiliary information code is determined; the answer information code and the auxiliary information code are combined to generate an input code corresponding to time t; and the answer information h corresponding to the question is generated according to the input code. t The hidden feature vector x t .

[0065] The encoding method and length of auxiliary information can usually be the same as that of the answer information h. t The same encoding method and length can be used to directly concatenate the answer information encoding and the auxiliary information encoding, and use them as input and output encoding, so that after the features are extracted by MLP, the corresponding answer information h is generated based on the FCL layer. t The hidden feature vector x t By introducing auxiliary information, it is possible to more accurately predict the user's mastery of knowledge points and improve the prediction accuracy of the model.

[0066] Based on the same idea, one or more embodiments of this specification also provide devices and apparatuses corresponding to the above methods, such as Figure 4 , Figure 5 shown.

[0067] In the second aspect, Figure 4 As shown, Figure 4 A schematic diagram of a training device for a knowledge tracking model provided in an embodiment of this specification, the device comprising:

[0068] Acquisition module 401, obtains the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t ;

[0069] The weight matrix determination module 403 determines the weight matrix according to the hidden feature vector x t Determine the weight matrix w at time t t ;

[0070] The focusing vector acquisition module 405, according to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ;

[0071] The memory matrix updating module 407 is configured to update the weight matrix w according to the weight matrix w. t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ;

[0072] Prediction module 409, integrating the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t ;

[0073] Training module 411, based on the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

[0074] Optionally, the weight matrix determination module 403 generates the hidden feature vector x t The corresponding key vector k at time t t and key strength parameters; and determining the M t-1 The i-th vector M contained in t-1 (i) relative to the hidden feature vector x t The cosine similarity w i , 1≤i≤n; the matrix composed of the n cosine similarities is determined as the weight matrix w at time t t .

[0075] Optionally, the focusing vector acquisition module 405 determines the weight matrix w t The i-th weight value in M t-1 The i-th vector M contained in t-1 (i) to generate n intermediate numerical vectors; the sum of the n intermediate numerical vectors is determined as the focus vector r at time t t .

[0076] Optionally, the weight matrix determination module 403 generates the hidden feature vector x t The corresponding location matrix g at time t t and the shift matrix s t According to the g t and the weight matrix w at time t-1 t-1 For the weight matrix w t Update; adopt the s t For the updated weight matrix w t Perform circular convolution to generate an enhanced weight matrix.

[0077] Optionally, the memory matrix updating module 407 determines the hidden feature vector x t The corresponding erasure vector e at time t t ; Calculate the weight matrix w t With the erasure vector et The product of , determine the difference between 1 and the product; the memory matrix M t-1 Modified to the memory matrix M t-1 The product of said and said difference.

[0078] Optionally, the memory matrix updating module 407 determines the hidden feature vector x t The corresponding increase vector a at time t t ; Calculate the weight matrix w t With the erase vector a t The memory matrix M t-1 Modified to the memory matrix M t-1 The sum of the product of the above and the above.

[0079] Optionally, the device further comprises a migration module 413, which determines the model parameters in the target model; and migrates the model parameters to the initial values ​​of another knowledge tracking model, wherein the training samples of the another knowledge tracking model are training samples containing another knowledge point.

[0080] Optionally, the acquisition module 401 determines the answer information h t The answer information code corresponding to the question is determined, and the auxiliary information code is determined; the answer information code and the auxiliary information code are combined to generate an input code corresponding to time t; and the answer information h corresponding to the question is generated according to the input code. t The hidden feature vector x t .

[0081] In the third aspect, Figure 5 As shown, Figure 5 A schematic diagram of the structure of an electronic device provided for one or more embodiments of this specification, the device comprising:

[0082] at least one processor; and,

[0083] a memory communicatively connected to the at least one processor; wherein,

[0084] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described in any one of the first aspects.

[0085] In a fourth aspect, based on the same idea, one or more embodiments of this specification also provide a non-volatile computer storage medium corresponding to the above method, storing computer executable instructions, which enable one or more processors to execute the method described in the first aspect.

[0086] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0087] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.

[0088] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, 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.

[0089] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0090] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification may be in the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the embodiments of this specification may be in the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0091] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0092] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0093] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0094] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0095] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0096] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules 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 disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0097] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0098] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0099] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device, equipment, and non-volatile computer storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0100] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0101] The above description is only one or more embodiments of this specification and is not intended to limit this specification. For those skilled in the art, one or more embodiments of this specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of one or more embodiments of this specification shall be included in the scope of the claims of this specification.

Claims

1. A training method for a knowledge tracking model, comprising: Get the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t ; According to the hidden feature vector x t Determine the weight matrix w at time t t ; According to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; Fusion of the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t ; According to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

2. The method of claim 1, wherein: According to the hidden feature vector x t Determine the weight matrix w at time t t ,include: Generate the hidden feature vector x t The corresponding key vector k at time t t and key strength parameters; Determine the M respectively according to the key strength parameter t-1 The i-th vector M contained in t-1 (i) relative to the hidden feature vector x t The cosine similarity w i , 1≤i≤n; The matrix composed of the n cosine similarities is determined as the weight matrix w at time t t .

3. The method of claim 2, wherein: According to the weight matrix w t From the memory matrix M at time t-1 t Read in and obtain the focus vector r at time t t ,include: Determine the weight matrix w t The i-th weight value in M t-1 The i-th vector M contained in t-1 (i) to generate n intermediate numerical vectors; The sum of the n intermediate numerical vectors is determined as the focus vector r at time t t .

4. The method of claim 2, wherein: Also includes: Generate the hidden feature vector x t The corresponding location matrix g at time t t and the shift matrix s t ; According to the g t and the weight matrix w at time t-1 t-1 For the weight matrix w t Make updates; Using the s t For the updated weight matrix w t Perform circular convolution to generate an enhanced weight matrix.

5. The method according to any one of claims 2 to 4, wherein: According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ,include: Determine the hidden feature vector x t The corresponding erasure vector e at time t t ; Calculate the weight matrix w t With the erasure vector e t , and determining the difference between 1 and the product; The memory matrix M t-1 Modified to the memory matrix M t-1 The product of said and said difference.

6. The method according to any one of claims 2 to 4, wherein: According to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ,include: Determine the hidden feature vector x t The corresponding increase vector a at time t t ; Calculate the weight matrix w t With the erase vector a t The product of The memory matrix M t-1 Modified to the memory matrix M t-1 The sum of the product of the above and the above.

7. The method of claim 1, wherein: The method further comprises: determining model parameters in the target model; The model parameters are migrated to initial values ​​of another knowledge tracking model, wherein the training samples of the another knowledge tracking model are training samples containing another knowledge point.

8. The method of claim 1, wherein: Get the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t ,include: Determine the answer information h t The corresponding answer information code, and determine the auxiliary information code; The answer information code and the auxiliary information code are integrated to generate an input code corresponding to time t; Generate the answer information h corresponding to the input code t The hidden feature vector x t .

9. A training device for a knowledge tracking model, comprising: The acquisition module obtains the user's answer information h for the knowledge point at time t t , generate the answer information h t The hidden feature vector x t ; The weight matrix determination module is based on the hidden feature vector x t Determine the weight matrix w at time t t ; The focusing vector acquisition module, according to the weight matrix w t From the memory matrix M at time t-1 t-1 Read in and obtain the focus vector r at time t t ; The memory matrix update module, according to the weight matrix w t For the memory matrix M at time t-1 t-1 Write the content to generate the memory matrix M at time t t ; The prediction module integrates the hidden feature vector x t and the r t Generate an output feature vector, and generate a predicted value p of the answer information for the knowledge point at time t based on the output feature vector t ; The training module, according to the predicted value p t and the answer information h t The knowledge tracking model is trained based on the difference to generate the target model.

10. The device of claim 9, wherein: The weight matrix determination module generates the hidden feature vector x t The corresponding key vector k at time t t and key strength parameters; and determining the M t-1 The i-th vector M contained in t-1 (i) relative to the hidden feature vector x t The cosine similarity w i , 1≤i≤n; the matrix composed of the n cosine similarities is determined as the weight matrix w at time t t .

11. The device according to claim 10, wherein the focusing vector acquisition module determines the weight matrix w t The i-th weight value in M t-1 The i-th vector M contained in t-1 (i) to generate n intermediate numerical vectors; the sum of the n intermediate numerical vectors is determined as the focus vector r at time t t .

12. The apparatus according to claim 10, wherein the weight moment determination module generates the hidden feature vector x t The corresponding location matrix g at time t t and the shift matrix s t According to the g t and the weight matrix w at time t-1 t-1 For the weight matrix w t Update; adopt the s t For the updated weight matrix w t Perform circular convolution to generate an enhanced weight matrix.

13. The apparatus according to any one of claims 10 to 12, wherein the memory matrix updating module determines the hidden feature vector x t The corresponding erasure vector e at time t t ; Calculate the weight matrix w t With the erasure vector e t The product of 1 and the product is determined; the memory matrix M t-1 Modified to the memory matrix M t-1 The product of said and said difference.

14. The apparatus according to any one of claims 10 to 12, wherein the memory matrix updating module determines the hidden feature vector x t The corresponding increase vector a at time t t ; Calculate the weight matrix w t With the erase vector a t The memory matrix M t-1 Modified to the memory matrix M t-1 The sum of the product of the above and the above.

15. The apparatus according to claim 9, further comprising a migration module, which determines the model parameters in the target model; and migrates the model parameters to the initial values ​​of another knowledge tracking model, wherein: The training sample of another knowledge tracking model is a training sample containing another knowledge point.

16. The device according to claim 9, wherein the acquisition module determines the answer information h t The answer information code corresponding to the question is determined, and the auxiliary information code is determined; the answer information code and the auxiliary information code are combined to generate an input code corresponding to time t; and the answer information h corresponding to the question is generated according to the input code. t The hidden feature vector x t .

17. An electronic device comprising: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.