Question recommendation device, question recommendation method, and program

A neural network with monotonicity training recommends questions based on test results to address the lack of guidance in existing methods, enhancing learner study materials.

JP7754313B2Active Publication Date: 2025-10-15NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024530151
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-29
Publication Date
2025-10-15
Estimated Expiration
2042-06-29

AI Technical Summary

Technical Problem

Existing methods, such as those using variational autoencoders, can analyze learner abilities but fail to recommend specific questions for improving weak areas, lacking guidance on future study materials.

Method used

A neural network architecture with an encoder and decoder is trained to generate latent variables with monotonicity, using a loss function that enhances the recommendation of questions based on test results, ensuring the latent variables reflect the learner's strengths and weaknesses.

Benefits of technology

This approach effectively recommends questions tailored to improve learner weaknesses, providing targeted study materials.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007754313000009
    Figure 0007754313000009
  • Figure 0007754313000010
    Figure 0007754313000010
  • Figure 0007754313000011
    Figure 0007754313000011
Patent Text Reader

Abstract

The present invention provides a technology for recommending, to a learner, a problem that may preferably be used in future study. The present invention includes: a first decoder unit that calculates a first predicted percentage of correct answers from a first potential variable vector by using a decoder of a trained neural network, the first potential variable vector being configured as a potential variable vector that is obtained, using an encoder of the trained neural network, from an input vector obtained from a test result of a learner of K problems; a potential variable vector generation unit that generates a second potential variable vector from the first potential variable vector through a prescribed method; a second decoder unit that calculates a second predicted percentage of correct answers from the second potential variable vector by using the decoder of the trained neural network; and a problem selection unit that preferentially selects a vector element, from among vector elements obtained by subtracting the first predicted percentage of correct answers from the second predicted percentage of correct answers, beginning from vector elements having high values, and then obtains a problem corresponding to an index of the selected vector element as a problem to be recommended to the learner.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for recommending questions to learners that they should use in their future studies. [Background technology]

[0002] Various methods have been proposed for analyzing large amounts of high-dimensional data. One such method uses a variational autoencoder (VAE) as described in Non-Patent Document 1. Here, a variational autoencoder is a neural network including an encoder and a decoder. The encoder is a neural network that converts an input vector into a latent variable vector, and the decoder is a neural network that converts the latent variable vector into an output vector. The latent variable vector is a vector whose elements are latent variables and has a lower dimension than the input vector and the output vector. By using the encoder of a variational autoencoder trained to make the input vector and output vector approximately identical, high-dimensional data to be analyzed can be converted and compressed into low-dimensional secondary data. Here, training to make the vectors approximately identical means that, ideally, it would be desirable to train them to be completely identical. However, in reality, due to limitations on training time and other factors, training must be performed to make them approximately identical. Therefore, training is performed in such a way that the data are deemed identical and the processing is terminated when a certain condition is met.

[0003] Non-Patent Document 1 discloses that if a variational autoencoder is trained to have monotonicity, the latent variables will represent abilities in categories such as "basic arithmetic and Japanese language ability," "ability to use language," and "ability to illustrate," making it easier to analyze test results. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Masashi Hattori, Hiroshi Sawada, Takako Tonooka, Takeshi Sakata, Sanae Fujita, Tetsuo Kobayashi, Goji Kamei, and Futoshi Naya, “Feature Extraction of Learners and Problems by Analyzing Test Results Using Variational Autoencoder,” 34th Annual Conference of the Japanese Society for Artificial Intelligence, 3M1-GS-12-03, 2020. Summary of the Invention [Problem to be solved by the invention]

[0005] According to the method of Non-Patent Document 1, it is possible to obtain insights into a learner's academic ability, such as, for example, that a learner has "basic arithmetic and Japanese language ability" but is weak in "the ability to use language." However, the method of Non-Patent Document 1 is intended to analyze test results, and does not suggest what kind of problems a learner should use in future studies to improve their weak points. In other words, the method of Non-Patent Document 1 cannot recommend to a learner good problems to use in future studies.

[0006] Therefore, an object of the present invention is to provide a technique for recommending questions that would be good for a learner to use in future studies. [Means for solving the problem]

[0007] In one aspect of the present invention, input information is information indicating a positive state, a negative state, or an unknown state, and an input vector is represented by two bits: a positive information bit that is 1 when the input information is information indicating a positive state and 0 when the input information is information indicating an unknown state or information indicating a negative state, and a negative information bit that is 1 when the input information is information indicating a negative state and 0 when the input information is information indicating an unknown state or information indicating a positive state. By this, K pieces of input information x1, ..., x2 (K is an integer of 2 or more) can be represented by two bits. K Let p(x) be the probability that the input information x is information indicating a positive state, and let the output vector be the K pieces of input information x1, …, x K Probabilities p(x1), …, p(x K) as elements, an encoder for calculating a latent variable vector having latent variables as elements from an input vector, and a decoder for calculating an output vector from the latent variable vector, wherein the encoder and decoder parameters are updated using a loss function including a loss term that, when the input information x is information indicating a positive state, increases as the probability p(x) for the input information x decreases, when the input information x is information indicating a negative state, increases as the probability p(x) for the input information x increases, and is approximately 0 when the input information x is information indicating an unknown state, so that the latent variable vector has monotonicity with respect to the input vector, and a recording unit for recording parameters of a trained neural network that has performed training; K pieces of input information are test results for K questions, with a positive state, a negative state, and an unknown state being respectively represented as a correct answer, an incorrect answer, and no answer, and a first latent variable vector is represented as a latent variable vector calculated using the encoder of the trained neural network from an input vector obtained from the test results of the learner for the K questions, or a latent variable vector corresponding to the input vector; a first decoder unit that calculates an output vector (hereinafter referred to as a first predicted accuracy vector) from the first latent variable vector using a decoder of the trained neural network; a latent variable vector generation unit that generates, as a second latent variable vector, a vector obtained by replacing at least one element of the first latent variable vector with a value greater than the value of that element if the monotonicity is monotonically increasing, or a vector obtained by replacing at least one element of the first latent variable vector with a value smaller than the value of that element if the monotonicity is monotonically decreasing; a second decoder unit that calculates, as a difference vector (hereinafter referred to as a second predicted accuracy vector), a vector obtained by subtracting the first predicted accuracy vector from the second predicted accuracy vector, and a question selection unit that generates, as a difference vector, a vector obtained by selecting from the elements of the difference vector those with larger values, and selecting questions corresponding to the index of the selected element as questions to be recommended to the learner. [Effects of the Invention]

[0008] According to the present invention, it is possible to recommend to a learner questions that would be good to use in future studies. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 10 is a diagram showing an example of an input vector representing a test result of a learner. [Figure 2] FIG. 1 is a block diagram showing the configuration of a neural network learning device 100. [Figure 3] 3 is a flowchart showing the operation of the neural network learning device 100. [Figure 4] FIG. 2 is a block diagram showing the configuration of a state estimation device 200. [Figure 5] 4 is a flowchart showing the operation of the state estimating device 200. [Figure 6] FIG. 3 is a block diagram showing the configuration of a question recommendation device 300. [Figure 7] 10 is a flowchart showing the operation of the question recommendation device 300. [Figure 8] FIG. 3 is a block diagram showing the configuration of a question recommendation device 301. [Figure 9] 10 is a flowchart showing the operation of the question recommendation device 301. [Figure 10] FIG. 2 is a diagram illustrating an example of the functional configuration of a computer that realizes each device according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present invention will be described in detail. Components having the same functions are given the same numbers, and duplicated explanations will be omitted.

[0011] Before describing each embodiment, the notation used in this specification will be explained.

[0012] ^ (caret) represents a superscript, e.g., xy^z Yes z is a superscript to x, and x y^z Yes z is a subscript to x. Also, _ (underscore) represents a subscript. For example, x y_z Yes z is a superscript to x, and x y_z Yes z is a subscript to x.

[0013] In addition, the superscripts "^" and "~" such as ^x and ~x for a certain letter x should be written directly above the "x", but due to restrictions on the notation in the specification, they are written as ^x and ~x.

[0014] <Technical background> Here, we will explain a learning method for a neural network used in an embodiment of the present invention. The neural network used in the embodiment of the present invention is a neural network that includes an encoder that calculates a latent variable vector from an input vector and a decoder that calculates an output vector from the latent variable vector.

[0015] The following describes the monotonicity of the input vector, the encoder, the output vector, the loss function, and the neural network in the embodiment of the present invention.

[0016] (1: input vector) In an embodiment of the present invention, an input vector is a vector representing multiple pieces of input information. Here, input information is information indicating one of a positive state, a negative state, and an unknown state. Examples of input vectors and input information are described below. In the previous example of analyzing test results, a learner's test result for each question can generally be one of three possible outcomes: correct, incorrect, or no answer. Here, no answer refers to a case where the learner has not yet taken a question, such as when the learner has taken Japanese and arithmetic tests but not science and social studies tests, and therefore no answer exists for that question. Therefore, in the example of analyzing test results, the test results for each question of the learner can be represented as input information by representing the test results for each question of the learner as a positive state, a negative state, or an unknown state, respectively, so that the test results for multiple questions of the learner can be represented as an input vector. Another example is the analysis of information acquired by multiple sensors. Using a sensor that detects the presence or absence of a specific situation, two types of information can be obtained: information indicating that the situation has been detected (i.e., detected) and information indicating that the situation has not been detected (i.e., not detected). However, when collecting and analyzing information acquired by multiple sensors via a communication network, it is possible that, due to loss of communication packets, it may not be possible to obtain information indicating that a specific situation has been detected or not detected for any of the sensors, and neither information may be obtained (i.e., the situation is unknown). Therefore, in this example, the detection results of each sensor, detected, not detected, and the situation is unknown, can be represented as a positive state, negative state, and unknown state, respectively, as input information for each sensor, thereby allowing the detection results of multiple sensors to be represented as an input vector.

[0017] The input vector has the following characteristics:

[0018] [Feature 1] The input vector is a vector consisting of a group of positive information bits and a group of negative information bits.

[0019] Below, we will explain using an example of analyzing test results. The test results of a learner are represented using two bits: a positive information bit, where 1 indicates a correct answer and 0 indicates no answer or an incorrect answer, and a negative information bit, where 1 indicates an incorrect answer and 0 indicates no answer or a correct answer. In this way, x (1) sk , x (0) sk are respectively the positive information bits and negative information bits for the test result of the kth question of the sth learner, and the input vector representing the test results of the K questions of the sth learner is the set of positive information bits {x (1) s1 , x (1) s2 , …, x (1) sK} and negative information bits {x (0) s1 , x (0) s2 , …, x (0) sK}. Figure 1 shows an example of an input vector that represents a learner's test results. Here, Q1, …, Q K represents the first problem, …, Kth problem, and N1, …, N S represents the first learner, ..., Sth learner, the rows represent a list of pairs of positive and negative information bits for all learners for each question, and the columns represent a list of positive and negative information bits for all questions for each learner. For example, the input vector for the second learner is a vector consisting of positive and negative information bits {1, 0, ..., 1, 0} and negative information bits {0, 0, ..., 0, 1}. The test result for the second question for the second learner is no answer, as both the positive and negative information bits are 0.

[0020] (2: Encoder) The encoder according to the embodiment of the present invention has the following features.

[0021] [Feature 2] The first layer of the encoder (i.e., the layer that inputs the input vector) is a layer that obtains intermediate information from the positive and negative information bits contained in the input vector so that elements of the input vector that correspond to input information indicating an unknown state do not affect the encoder output.

[0022] Below, we will explain using an example of analyzing test results. s1 ,q s2 , …, q sH} is the intermediate information set of the sth learner, which is the output of the first layer of the encoder, and the intermediate information q sh is obtained by the following formula:

number

[0023] If the test result of the kth question of the sth student is correct, then x (1) sk =1, x (0) sk = 0, the two weight parameters w (1) hk , w (0) hk Of w (1) hk Only reacts, and w (0) hk If the test result of the sth learner on the kth question is incorrect, then x (1) sk =0, x (0) sk = 1, the two weights w (1) hk , w(0) hk Of w (0) hk Only reacts, and w (1) hk Furthermore, if the test result of the sth learner on the kth question is no answer, then x (1) sk =0, x (0) sk = 0, the two weight parameters w (1) hk , w (0) hk are both insensitive. Note that "sensitive" means that the weight parameters are updated during learning and that the weight parameters have an effect when the trained encoder is used, while "insensitive" means that the weight parameters are not updated during learning and that the weight parameters have no effect when the trained encoder is used. Therefore, by using equation (1), intermediate information can be obtained that affects the encoder output when the input information is either information indicating a correct answer or information indicating an incorrect answer, but does not affect the encoder output when the input information is information indicating no answer. Note that the neural network from the second layer onwards of the encoder generates intermediate information group {q s1 , q s2 , …, q sH} to the latent variable vector Z s Any method may be used as long as it calculates the above.

[0024] (3: output vector) The output vector in the embodiment of the present invention has the following characteristics.

[0025] [Feature 3] If p(x) is the probability that the input information x is information indicating a positive state, the output vector is a set of K pieces of input information x1, ..., x K Probability p(x1) , …, p(x K ) is a vector with elements.

[0026] Therefore, using the example of analyzing the test results, the decoder generates a latent variable vector Z sThe input is the probability that the sth learner will correctly answer the kth question, p sk A probability vector P with elements s =(p s1 , p s2 , …, p sK ) as the output vector.

[0027] (4: Loss function) The loss function in the embodiment of the present invention has the following characteristics.

[0028] [Feature 4] The loss function includes a loss term that does not consider input information indicating no response to be a loss.

[0029] Below, we will explain using an example of analyzing test results. The loss L for the kth problem of the sth learner is sk x (1) sk If =1 (i.e., the test result is correct), then -log(p sk ) and x (0) sk If =1 (i.e., the test result is incorrect), then -log(1-p sk ) and x (1) sk =0, x (0) sk = 0 (i.e., the test result is no answer), the loss L for all questions of all learners is set to 0. sk The term L related to the reconstruction error is calculated by the following formula, which represents the sum of RC The loss function includes

number

[0030] (5: Monotonicity of neural networks) The neural network in the embodiment of the present invention has monotonicity. Here, the monotonicity of the neural network and the learning of the monotonic neural network will be described.

[0031] In an embodiment of the present invention, the neural network is trained by regarding the latent variable vector as having the following feature (hereinafter referred to as feature 5-1) so that the larger the magnitude of a certain property contained in the input vector, the larger a certain latent variable contained in the latent variable vector becomes, or the smaller a certain latent variable contained in the latent variable vector becomes.

[0032] [Feature 5-1] The latent variable vector is trained to have monotonicity with respect to the input vector. Here, the latent variable vector having monotonicity with respect to the input vector means that the latent variable vector has either a monotonically increasing relationship, that is, a monotonically increasing relationship, where the latent variable vector increases as the input vector increases, or a monotonically decreasing relationship, that is, a monotonically decreasing relationship, where the latent variable vector decreases as the input vector increases. The magnitude of the input vector or latent variable vector is based on the order relationship with respect to the vector (i.e., a relationship defined using the order relationship with respect to each element of the vector), and for example, the following order relationship can be used.

[0033] Vector v=(v1, …, v n ), v'=(v'1, …, v' n ), v≦v' is true for all elements of vectors v and v', that is, the i-th element v of vector v i , the i-th element v' of vector v' i (where i=1, …, n), v i ≦v'i This means that the following holds true.

[0034] Training a neural network so that the latent variable vector has monotonicity with respect to the input vector specifically means training a neural network so that the latent variable vector has either the first or second relationship with the input vector:

[0035] The first relationship is a relationship in which, when two input vectors are designated as a first input vector and a second input vector, the value of the element of the first input vector is greater than the value of the element of the second input vector for at least one element of the input vector, and the value of the element of the first input vector is equal to or greater than the value of the element of the second input vector for all remaining elements of the input vector, then, when the latent variable vector obtained by transforming the first input vector is designated as a first latent variable vector and the latent variable vector obtained by transforming the second input vector is designated as a second latent variable vector, the value of the element of the first latent variable vector for at least one element of the latent variable vector is greater than the value of the element of the second latent variable vector, and the value of the element of the first latent variable vector is equal to or greater than the value of the element of the second latent variable vector for all remaining elements of the latent variable vector.

[0036] The second relationship is such that, when two input vectors are designated as a first input vector and a second input vector, the value of the element of the first input vector is greater than the value of the element of the second input vector for at least one element of the input vector, and the value of the element of the first input vector is equal to or greater than the value of the element of the second input vector for all remaining elements of the input vector, then, when the latent variable vector obtained by transforming the first input vector is designated as the first latent variable vector and the latent variable vector obtained by transforming the second input vector is designated as the second latent variable vector, the value of the element of the first latent variable vector for at least one element of the latent variable vector is smaller than the value of the element of the second latent variable vector, and the value of the element of the first latent variable vector is equal to or less than the value of the element of the second latent variable vector for all remaining elements of the latent variable vector.

[0037] When the latent variable vector has a first relationship with the input vector, the latent variable vector is said to be monotonically increasing with respect to the input vector, or the neural network is said to be monotonically increasing. When the latent variable vector has a second relationship with the input vector, the latent variable vector is said to be monotonically decreasing with respect to the input vector, or the neural network is said to be monotonically decreasing. Furthermore, when a neural network is monotonically increasing or monotonically decreasing, it is said to have monotonicity.

[0038] By training the latent variable vector to have the above feature 5-1, a latent variable is provided that satisfies the condition that the greater the magnitude of a certain property contained in the input vector, the larger a certain latent variable contained in the latent variable vector is, or the smaller a certain latent variable contained in the latent variable vector is.

[0039] Furthermore, in the embodiment of the present invention, there are cases where the neural network is trained assuming that the latent variables also have the following feature (hereinafter referred to as feature 5-2).

[0040] [Feature 5-2] The latent variable learns to take values ​​within a specified range.

[0041] The predetermined range is called the range of the latent variable.

[0042] In order to ensure that the values ​​that the latent variables can take are within a predetermined range, for example, a sigmoid function or the following function s(x) may be used as the activation function of the encoder's output layer.

number

[0043] Below, we will explain the constraints for training a neural network including an encoder that outputs a latent variable vector having the above feature 5-1. Specifically, we will explain the following two constraints.

[0044] [Constraint 1] Learn to minimize a loss function that includes a loss term for monotonicity violations.

[0045] [Constraint 2] Learning is performed by constraining all weight parameters of the decoder to be non-negative values, or by constraining all weight parameters of the decoder to be non-positive values.

[0046] First, we will explain the loss function including the loss term of Constraint 1. The loss function L is a term L that ensures that the latent variable vector has monotonicity with respect to the input vector. mono For example, the loss function L can be defined as the function defined by the following equation. Note that the term L in the following equation mono is an equation that includes a term related to Feature 5-2 in addition to a term related to Feature 5-1.

number

number

[0047] Below, the term L to establish a monotonically increasing relationship real An example of this will be described together with a learning method. First, an input vector is input to an encoder, and a latent variable vector (hereinafter referred to as the original latent variable vector) is obtained as the output. Next, a vector is obtained in which the value of at least one element of the original latent variable vector has been replaced with a value smaller than the value of that element. The vector obtained here will be referred to as an artificial latent variable vector hereinafter. Note that an artificial latent variable vector can be obtained as a vector in which the value of at least one element of the original latent variable vector has been replaced with a value equal to or greater than the lower limit of the range in which the element's value can be taken and smaller than the value of that element. Although the term "artificial" such as "artificial latent variable vector" is used in this specification, this term is intended to explain that the artificial latent variable vector is not an original latent variable, and is not intended to be obtained by manual work.

[0048] Here, an example of a process for obtaining an artificial latent variable vector is shown. For example, an artificial latent variable vector is generated by decreasing the value of one element of an original latent variable vector within the range of possible values ​​for that element. The artificial latent variable vector obtained in this way has one element with a smaller value than the original latent variable vector, while the other elements have the same values. Note that multiple artificial latent variable vectors may be generated by decreasing the values ​​of different elements of a latent variable vector within the range of possible values ​​for that element. Alternatively, an artificial latent variable vector may be generated by decreasing the values ​​of multiple elements of a latent variable vector within the range of possible values ​​for each element. In other words, an artificial latent variable vector may be generated in which the values ​​of multiple elements are smaller than those of the original latent variable vector, while the values ​​of the remaining elements are the same. Alternatively, multiple artificial latent variable vectors may be generated by decreasing the value of each element included in multiple combinations of multiple elements of a latent variable vector within the range of possible values ​​for each element.

[0049] As a method for obtaining an element value of an artificial latent variable vector that is smaller than the value of the element of the original latent variable vector, if the lower limit of the range in which the element value can be is 0, for example, a method for obtaining the element value of the artificial latent variable vector by multiplying the element value of the original latent variable vector by a random number in the interval (0, 1) to reduce the value, or a method for obtaining the element value of the artificial latent variable vector by multiplying the element value of the original latent variable vector by 1 / 2 to reduce the value by half may be used.

[0050] When using an artificial latent variable vector in which the element values ​​of the original latent variable vector are replaced with values ​​smaller than the element values, it is desirable that the value of each element of the output vector when the original latent variable vector is input is larger than the value of the corresponding element of the output vector when the artificial latent variable vector is input. Therefore, the term L realFor example, the term L may be set to a term that takes a large value when the value of each element of the output vector when the original latent variable vector is input is smaller than the value of the corresponding element of the output vector when the original latent variable vector is input. Note that if an element of the input vector is information indicating an unknown state, it is preferable not to calculate the loss for that element. Therefore, the term L real For elements that indicate an unknown state, the loss is not calculated (i.e., the loss is set to 0), and for other elements (i.e., elements that indicate a positive or negative state), the loss is set to a value greater than or equal to 0, and it is a term that becomes large when the value of each element of the output vector when the original latent variable vector is input is smaller than the value of the corresponding element of the output vector when the artificial latent variable vector is input. Therefore, in the example of analyzing the test results, the term L real can be defined by the following equation using the margin ranking error:

number

number

[0051] The artificial latent variable vector and term L generated as above real Learning is done using.

[0052] Instead of using a vector in which the value of at least one element of the original latent variable vector is replaced with a value smaller than the value of that element as the artificial latent variable vector, a vector in which the value of at least one element of the original latent variable vector is replaced with a value larger than the value of that element may be used as the artificial latent variable vector. In this case, it is desirable that the value of each element of the output vector when the original latent variable is input is smaller than the value of the corresponding element of the output vector when the artificial latent variable is input. Therefore, the term L real is a term that takes a large value when the value of each element of the output vector when the original latent variable vector is input is larger than the value of the corresponding element of the output vector when the artificial latent variable vector is input. Note that if an element of the input vector is information indicating an unknown state, it is preferable not to calculate the loss for that element. Therefore, the term L real It is preferable to set the loss to 0 for elements indicating an unknown state, and for other elements (i.e., elements indicating a positive state or a negative state), the loss should be a value greater than or equal to 0, and to set the loss to a term that becomes large when the value of each element of the output vector when the original latent variable vector is input is greater than the value of the corresponding element of the output vector when the artificial latent variable vector is input.

[0053] Furthermore, as a method for obtaining an element value of an artificial latent variable vector that is greater than the value of an element of the original latent variable vector, if it is desired to obtain an element value of an artificial latent variable vector that is less than or equal to the upper limit of the range in which the element value can be taken from the value of the element of the original latent variable vector and greater than the value of the element of the original latent variable vector, for example, a method of obtaining a value randomly selected from between the value of the element of the original latent variable vector and the upper limit of the range in which the value of the element can be taken, or a method of obtaining the average value of the value of the element of the original latent variable vector and the upper limit of the range in which the value of the element can be taken, as the value of the element of the artificial latent variable vector may be used.

[0054] term L syn-encoder (p)is a term relating to artificial data in which the values ​​of all elements of the positive information bit group of the input vector are at the upper limit of the range of possible values, 1, and the values ​​of all elements of the negative information bit group of the input vector are at the lower limit of the range of possible values, 0, or in which the values ​​of all elements of the positive information bit group of the input vector are at the lower limit of the range of possible values, 0, and the values ​​of all elements of the negative information bit group of the input vector are at the upper limit of the range of possible values, 1. For example, the term L syn-encoder (p) is a term related to artificial data in which the input vector is a vector (1, 0, …, 1, 0) corresponding to all correct answers, or a term related to artificial data in which the input vector is a vector (0, 1, …, 0, 1) corresponding to all incorrect answers. Specifically, the term L syn-encoder (1) is the binary cross entropy between the latent variable vector that is the output of the encoder when the input vector is the vector (1, 0, …, 1, 0) corresponding to all correct answers, and the vector that is the upper limit of the range of values ​​that all elements of the ideal latent variable vector can take when the input vector is the vector (1, 0, …, 1, 0) corresponding to all correct answers (for example, if the upper limit of the range of values ​​that all elements of the latent variable vector can take is 1, then the vector (1, …, 1)). Also, the term L syn-encoder (2) is the binary cross entropy between the latent variable vector that is the output of the encoder when the input vector is a vector (0, 1, …, 0, 1) corresponding to all incorrect answers, and the vector that is the lower limit of the range of values ​​that all elements of the ideal latent variable vector can take when the input vector is a vector (0, 1, …, 0, 1) corresponding to all incorrect answers (for example, if the lower limit of the range of values ​​that all elements of the latent variable vector can take is 0, then the vector (0, …, 0)). The term L syn-encoder (1) is based on the requirement that when the values ​​of all elements of the positive information bit group of the input vector are at the upper limit of the range of possible values, 1, and the values ​​of all elements of the negative information bit group of the input vector are at the lower limit of the range of possible values, 0, it is desirable that all elements of the latent variable vector are at the upper limit of the range of possible values.syn-encoder (2) is based on the requirement that when the values ​​of all elements of the positive information bit group of the input vector are at the lower limit of the range of possible values, 0, and the values ​​of all elements of the negative information bit group of the input vector are at the upper limit of the range of possible values, it is desirable that all elements of the latent variable vector be at the lower limit of the range of possible values.

[0055] On the other hand, the term L syn-decoder (p) is a term related to artificial data where the values ​​of all elements of the output vector are the upper limit of the range of possible values, 1, or the lower limit of the range of possible values, 0. For example, the term L syn-decoder (p) is a term related to artificial data that is a vector (1, ..., 1) corresponding to the probability that it is an element of the output vector being 1, or a vector (0, ..., 0) corresponding to the probability that it is an element of the output vector being 0. Specifically, the term L syn-decoder (1) is the binary cross-entropy between the output vector, which is the decoder output when the latent variable vector is a vector in which all element values ​​are the upper limit of the range of possible values ​​(for example, if the upper limit of the range of possible values ​​for all elements of the latent variable vector is 1, then the vector (1, …, 1)), and the ideal output vector, which is a vector (1, …, 1) in which all elements are 1 (i.e., all probabilities are 1) in which all elements are 1 when the values ​​of all elements of the latent variable vector are the upper limit of the range of possible values. Also, the term L syn-decoder (2) is the binary cross-entropy between the output vector, which is the decoder output when the latent variable vector is a vector whose values ​​are all at the lower limit of the range of possible values ​​(for example, if the lower limit of the range of possible values ​​for all elements of the latent variable vector is 0, then the vector (0, …, 0)), and the ideal output vector, which is a vector (0, …, 0) whose elements are all 0 (i.e., all probabilities are 0) when the values ​​of all elements of the latent variable vector are at the lower limit of the range of possible values. The term Lsyn-decoder (1) is based on the requirement that when all elements of the latent variable vector are the upper limit of the range of possible values, all elements of the output vector should be 1 (i.e., the upper limit of the range of possible values), and the term L syn-decoder (2) is based on the requirement that when all elements of the latent variable vector are at the lower limit of the range of possible values, it is desirable that all elements of the output vector be 0 (i.e., the lower limit of the range of possible values).

[0056] The term L defined above real By including this in the loss function, the neural network is trained to have the following characteristics: when two input vectors are taken as a first input vector and a second input vector, and the value of the element of the first input vector is greater than the value of the element of the second input vector for at least one element of the input vector, and the value of the element of the first input vector is equal to or greater than the value of the element of the second input vector for all remaining elements of the input vector, then the latent variable vector obtained by transforming the first input vector is taken as the first latent variable vector, and the latent variable vector obtained by transforming the second input vector is taken as the second latent variable vector, and the value of the element of the first latent variable vector is equal to or greater than the value of the element of the second latent variable vector for all remaining elements of the latent variable vector. real In addition to the term L syn-encoder (p) , L syn-decoder (p) By including the loss function L in the latent variable vector, the neural network is trained so that the values ​​of all elements of the latent variable vector are included in the range of possible values.

[0057] Next, we will explain the learning method for Constraint 2. In the explanation of the learning method for Constraint 2, the number of the input vector used for learning is s (s is an integer between 1 and S, and S is the number of learning data), the number of the element of the latent variable vector is j (j is an integer between 1 and J, and k is an integer between 1 and K, and K is an integer greater than J), and the number of the element of the input vector and the output vector is k (k is an integer between 1 and K, and K is an integer greater than J). s , input vector X s The latent variable vector obtained by transforming s , latent variable vector Z s The output vector obtained by converting s and the input vector X s The kth element of x sk , latent variable vector Z s The jth element of z sj , output vector P s The kth element of p sk Let's say.

[0058] The encoder receives an input vector X s is the latent variable vector Z s Any loss function can be used as long as it converts the RC It is advisable to use a loss function that includes

[0059] The decoder is the latent variable vector Z s The output vector P s and is trained by constraining all weight parameters of the decoder to be non-negative or constraining all weight parameters of the decoder to be non-positive.

[0060] We will explain the decoder constraints using an example where all weight parameters of a decoder consisting of one layer are constrained to be non-negative. The input vector of the sth learner is X s =(x s1 , x s2 , …, x sK ) and the input vector X s The latent variable vector obtained by converting s=(z s1 , z s2 , …, z sJ ) and the latent variable vector Z s The output vector obtained by converting s =(p s1 , p s2 , …, p sK ) is the probability that a learner will need various categories of abilities, such as writing ability and diagramming ability, each with its own weight, to answer each question correctly. In order to make each element of the latent variable vector correspond to each category of ability, and to make the value of the latent variable corresponding to that category larger the greater the level of ability in each category that the learner possesses, the probability p sk the j-th latent variable z sj The weight parameter w for the kth problem is given as jk is a non-negative value and is calculated using the following formula.

number

[0061] From the above, in order to make a certain latent variable included in the latent variable vector larger as the magnitude of a certain property included in the input vector increases, learning is performed by constraining all weight parameters of the decoder to be non-negative values. Also, as can be seen from the above explanation, if a certain latent variable included in the latent variable vector is to be smaller as the magnitude of a certain property included in the input vector increases, learning should be performed by constraining all weight parameters of the decoder to be non-positive values.

[0062] First Embodiment Neural network training device 100 uses training data to train parameters of a neural network to be trained. Here, the neural network to be trained includes an encoder that calculates a latent variable vector from an input vector and a decoder that calculates an output vector from the latent variable vector. The neural network parameters include weight parameters and bias parameters of the encoder, and weight parameters and bias parameters of the decoder.

[0063] The input information is assumed to be information indicating a positive state, a negative state, or an unknown state. The input vector represents the input information using two bits: a positive information bit that is 1 when the input information indicates a positive state and 0 when the input information indicates an unknown state or a negative state, and a negative information bit that is 1 when the input information indicates a negative state and 0 when the input information indicates an unknown state or a positive state. By representing the input information using two bits, K (K is an integer equal to or greater than 2) pieces of input information x1, …, x K Therefore, the input vector is a vector whose elements are 0 or 1. Also, let p(x) be the probability that the input information x is information indicating a positive state, and the output vector is a vector obtained by dividing K pieces of input information x1, ..., x K Probabilities p(x1), …, p(x K ) as elements. A latent variable vector is a vector whose elements are latent variables.

[0064] As explained in the <Technical Background>, the first layer of the encoder is x (1) sk , x (0) sk The input information x of the sth training data k The positive and negative information bits for the input vector are used, and H intermediate information q s1 , …, q sH The intermediate information q sh As expressed in equation (1), σ is the value obtained by adding together the values ​​obtained by multiplying each positive information bit by a weight parameter and the values ​​obtained by multiplying each negative information bit by a weight parameter, and then adding the value of the bias parameter.

[0065] Furthermore, learning is performed so that the latent variable vector has monotonicity with respect to the input vector. Here, the range of values ​​that the latent variables, which are elements of the latent variable vector, can take is assumed to be [0, 1].

[0066] The neural network training device 100 will be described below with reference to FIGS. 2 and 3. FIG. 2 is a block diagram showing the configuration of the neural network training device 100. FIG. 3 is a flowchart showing the operation of the neural network training device 100. As shown in FIG. 2, the neural network training device 100 includes an initialization unit 110, a training unit 120, a termination condition determination unit 130, and a recording unit 190. The recording unit 190 is a component that appropriately records information necessary for the processing of the neural network training device 100. The recording unit 190 records, for example, initialization data used to initialize the neural network. Here, the initialization data refers to the initial values ​​of the neural network parameters, such as the initial values ​​of the weight parameters and bias parameters of the encoder and the initial values ​​of the weight parameters and bias parameters of the decoder. The recording unit 190 may also record training data in advance. Note that the training data is input to the encoder and is therefore provided as an input vector. In the example of analyzing test results, the training data would be test results of multiple questions for multiple learners.

[0067] The operation of the neural network learning device 100 will be described with reference to FIG.

[0068] In S110, the initialization unit 110 performs initialization processing of the neural network using the initialization data. Specifically, the initialization unit 110 sets an initial value for each parameter of the neural network.

[0069] In S120, the learning unit 120 receives training data as input, performs a process of updating each parameter of the neural network using the training data (hereinafter referred to as parameter update process), and outputs the neural network parameters along with information (e.g., the number of times the parameter update process has been performed) necessary for the termination condition determination unit 130 to determine the termination condition. The learning unit 120 uses a loss function to train the neural network, for example, by backpropagation. That is, in each parameter update process, the learning unit 120 performs a process of updating each parameter of the encoder and decoder so as to reduce the loss function.

[0070] The loss function is the term L related to the reconstruction error in Eq. (2). RC In other words, the loss function includes a loss term that takes a larger value as the probability p(x) for the input information x decreases when the input information x is information indicating a positive state, a larger value as the probability p(x) for the input information x increases when the input information x is information indicating a negative state, and is approximately 0 when the input information x is information indicating an unknown state.

[0071] The loss function also includes a loss term that ensures that the latent variable vector has monotonicity with respect to the input vector. If the monotonicity is monotonically increasing, the loss function includes a term that ensures that the output vector increases as the latent variable vector increases, such as the margin ranking error term described in the <Technical Background> section. That is, the loss function includes at least one of the following terms: a term that increases when the value of a corresponding element of an output vector when the latent variable vector is input is smaller than the value of any element of the output vector when the artificial latent variable vector is input, where the artificial latent variable vector is an artificial latent variable vector in which the value of at least one element of the latent variable vector is replaced with a value larger than the value of any element of the output vector when the artificial latent variable vector is input. Alternatively, the loss function may include at least one of the following terms: a term that assumes a large value when the value of a corresponding element of the output vector when the latent variable vector is input is smaller than the value of any element of the output vector that indicates a positive state or a negative state when the artificial latent variable vector is used as the artificial latent variable vector, where the value of at least one element of the latent variable vector has been replaced with a value larger than the said value; and a term that assumes a large value when the value of a corresponding element of the output vector when the latent variable vector has been input is larger than the value of any element of the output vector that indicates a positive state or a negative state when the artificial latent variable vector is used as the artificial latent variable vector, where the value of at least one element of the latent variable vector has been replaced with a value larger than the said value.Furthermore, when the range of possible values ​​of the elements of the latent variable vector is [0, 1], the loss function is the binary cross-entropy between the latent variable vector and vector (1, …, 1) (where the dimension of the vector is equal to the dimension of the latent variable vector) when the input vector is a vector where the values ​​of all elements of the positive information bit group are 1, the upper limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 0, the lower limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 1, the binary cross-entropy between the latent variable vector and vector (0, …, 0) (where the dimension of the vector is equal to the dimension of the latent variable vector) when the input vector is a vector where the values ​​of all elements of the positive information bit group are 0, the lower limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 1, the binary cross-entropy between the latent variable vector and vector (1, …, 1) (where the dimension of the vector is equal to the dimension of the output vector) when the latent variable vector is (1, …, 1), the binary cross-entropy between the output vector and vector (0, …, 0) when the latent variable vector is (0, …, 0). 0) (where the dimension of the vector is equal to the dimension of the output vector).

[0072] On the other hand, when the monotonicity is monotonically decreasing, the loss function includes a term that makes the output vector smaller as the latent variable vector becomes larger. That is, the loss function includes at least one of the following terms: a term that becomes larger when the value of a corresponding element of the output vector when the latent variable vector is input is larger than the value of any element of the output vector when the artificial latent variable vector is input, where the artificial latent variable vector is a vector in which the value of at least one element of the latent variable vector is replaced with a value larger than the value of any element of the output vector when the artificial latent variable vector is input. Alternatively, the loss function may include at least one of the following terms: a term that assumes a large value when the value of a corresponding element of the output vector when the latent variable vector is input is larger than the value of any element of the output vector that indicates a positive state or a negative state when the artificial latent variable vector is used as the artificial latent variable vector, where the value of at least one element of the latent variable vector has been replaced with a value smaller than the said value; and a term that assumes a large value when the value of a corresponding element of the output vector when the latent variable vector has been input is smaller than the value of any element of the output vector that indicates a positive state or a negative state when the artificial latent variable vector is used as the artificial latent variable vector, where the value of at least one element of the latent variable vector has been replaced with a value larger than the said value.Furthermore, when the range of possible values ​​of the elements of the latent variable vector is [0, 1], the loss function is the binary cross entropy between the latent variable vector and the vector (0, …, 0) (where the dimension of the vector is equal to the dimension of the latent variable vector) when the input vector is a vector where the values ​​of all elements of the positive information bit group are 1, the upper limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 0, the lower limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 1, the binary cross entropy between the latent variable vector and the vector (1, …, 1) (where the dimension of the vector is equal to the dimension of the latent variable vector) when the input vector is a vector where the values ​​of all elements of the positive information bit group are 0, the lower limit of the range of possible values, and the values ​​of all elements of the negative information bit group are 1, the binary cross entropy between the value of the output vector and the vector (0, …, 0) (where the dimension of the vector is equal to the dimension of the output vector) when the latent variable vector is (1, …, 1), the binary cross entropy between the value of the output vector and the vector (1, ..., 1) (where the dimension of the vector is equal to the dimension of the output vector).

[0073] In S130, the termination condition determination unit 130 receives as input the neural network parameters output in S120 and information necessary to determine the termination condition, and determines whether the termination condition, which is a condition for terminating learning, is satisfied (for example, whether the number of times the parameter update process has been performed has reached a predetermined number of repetitions).If the termination condition is satisfied, the neural network parameters obtained in the last S120 execution are output as the parameters of the trained neural network and the process is terminated.On the other hand, if the termination condition is not satisfied, the process returns to S120.

[0074] (Variation) Instead of setting the range of possible values of the latent variables, which are elements of the latent variable vector, to [0, 1], it may be set to [m, M] (where m < M). Furthermore, the range of possible values for each element of the latent variable vector may be set individually. In this case, let the number of elements of the latent variable vector be j (j is an integer from 1 to J, and J is an integer of 2 or more), and the range of possible values of the j-th element be [m j , M j (where m j < M j ). Then, the terms included in the loss function may be as follows. When the monotonicity is monotonically increasing, the loss function is the cross-entropy between the latent variable vector and the vector (M1,..., M J ) when the input vector is a vector where all elements of the positive information bit group have the upper limit 1 of the range of possible values and all elements of the negative information bit group have the lower limit 0 of the range of possible values, the cross-entropy between the latent variable vector and the vector (m1,..., m J ) when the input vector is a vector where all elements of the positive information bit group have the lower limit 0 of the range of possible values and all elements of the negative information bit group have the upper limit 1 of the range of possible values, the cross-entropy between the output vector and the vector (1,..., 1) (where the dimension of the vector is equal to the dimension of the output vector) when the latent variable vector is (M1,..., M J ), and the cross-entropy between the output vector and the vector (0,..., 0) (where the dimension of the vector is equal to the dimension of the output vector) when the latent variable vector is (m1,..., m J ), and includes at least one of these terms.

[0075] On the other hand, when the monotonicity is monotonically decreasing, the loss function is the cross-entropy between the latent variable vector and the vector (m1,..., m J), and the cross-entropy between the latent variable vector and the vector (M1, …, M J ), the cross-entropy between the latent variable vector (M1, …, M J ), the cross entropy between the output vector and the vector (0, …, 0) (where the dimension of the vector is equal to the dimension of the output vector), and the latent variable vector is (m1, …, m J ), and the vector (1, ..., 1) (where the dimension of the vector is equal to the dimension of the output vector). Note that the above-mentioned cross entropy is an example of a value corresponding to the magnitude of the difference between vectors, and any value that increases as the difference between vectors increases, such as mean squared error (MSE), can be used instead of the above-mentioned cross entropy.

[0076] According to an embodiment of the present invention, it is possible to train a neural network including an encoder and a decoder that can estimate the state of input information that indicates an unknown state as a probability, thereby making it possible to train a neural network that predicts the probability that a learner will correctly answer a question that has not yet been attempted.

[0077] Second Embodiment In the first embodiment, a neural network with monotonicity is trained using a loss function including a loss term for making the latent variable vector monotonic with respect to the input vector. Here, a neural network with monotonicity is trained by training the weight parameters of the decoder to satisfy a predetermined condition.

[0078] The neural network training device 100 of this embodiment differs from the neural network training device 100 of the first embodiment only in the operation of the training unit 120. Therefore, only the operation of the training unit 120 will be described below.

[0079] In S120, the learning unit 120 receives training data as input, performs a process of updating each parameter of the neural network using the training data (hereinafter referred to as parameter update process), and outputs the neural network parameters along with information (e.g., the number of times the parameter update process has been performed) necessary for the termination condition determination unit 130 to determine the termination condition. The learning unit 120 uses a loss function to train the neural network, for example, by backpropagation. That is, in each parameter update process, the learning unit 120 performs a process of updating each parameter of the encoder and decoder so as to reduce the loss function.

[0080] The loss function is the term L related to the reconstruction error in Eq. (2). RC In other words, the loss function includes a loss term that takes a larger value as the probability p(x) for the input information x decreases when the input information x is information indicating a positive state, a larger value as the probability p(x) for the input information x increases when the input information x is information indicating a negative state, and is approximately 0 when the input information x is information indicating an unknown state.

[0081] Furthermore, the neural network training device 100 of this embodiment performs training such that the decoder weight parameters satisfy a predetermined condition. When training the neural network training device 100 so that the latent variable vector has a monotonically increasing relationship with the input vector, the neural network training device 100 performs training such that the decoder weight parameters are all non-negative. That is, in this case, in each parameter update process performed by the training unit 120, the encoder and decoder parameters are updated while constraining the decoder weight parameters to be all non-negative values. More specifically, the decoder included in the neural network training device 100 includes a layer that obtains multiple output values ​​from multiple input values, and each output value of the layer includes a term obtained by assigning a weight parameter to each of the multiple input values ​​and adding them together. Each parameter update process performed by the training unit 120 is performed such that the decoder weight parameters are all non-negative values. In addition, a term obtained by adding multiple input values ​​each assigned a weight parameter can also be referred to as a term obtained by adding all of the products of each input value and the weight parameter corresponding to each input value, or a term obtained by weighting and adding multiple input values ​​using the weight parameters corresponding to each input value as weights.

[0082] On the other hand, when neural network training device 100 trains so that the latent variable vector has a monotonically decreasing relationship with the input vector, it trains in a manner that satisfies the condition that all decoder weight parameters are non-positive. That is, in this case, in each parameter update process performed by training unit 120, the encoder and decoder parameters are updated while constraining all decoder weight parameters to be non-positive values. More specifically, the decoder included in neural network training device 100 includes a layer that obtains multiple output values ​​from multiple input values, and each output value of the layer includes a term obtained by assigning a weight parameter to each of the multiple input values ​​and adding them together. Each parameter update process performed by training unit 120 is performed while satisfying the condition that all decoder weight parameters are non-positive values.

[0083] When neural network training device 100 performs training in a manner that satisfies the condition that all decoder weight parameters are non-negative, it is preferable that the initial values ​​of the decoder weight parameters in the initialization data recorded by recording unit 190 be non-negative values. Similarly, when neural network training device 100 performs training in a manner that satisfies the condition that all decoder weight parameters are non-positive, it is preferable that the initial values ​​of the decoder weight parameters in the initialization data recorded by recording unit 190 be non-positive values.

[0084] According to an embodiment of the present invention, it is possible to train a neural network including an encoder and a decoder that can estimate the state of input information that indicates an unknown state as a probability, thereby making it possible to train a neural network that predicts the probability that a learner will correctly answer a question that has not yet been attempted.

[0085] <Third embodiment> In this embodiment, a state estimation device will be described that estimates the state of input information indicating an unknown state using a trained neural network trained using the first or second embodiment. Here, the trained neural network is a network in which input information is information indicating any one of a positive state, a negative state, or an unknown state, and an input vector is represented by two bits: a positive information bit that is 1 when the input information is information indicating a positive state and 0 when the input information is information indicating an unknown state or information indicating a negative state, and a negative information bit that is 1 when the input information is information indicating a negative state and 0 when the input information is information indicating an unknown state or information indicating a positive state, thereby estimating K pieces of input information x1, ..., x (K is an integer of 2 or more) K Let p(x) be the probability that the input information x is information indicating a positive state, and let the output vector be the K pieces of input information x1, …, x K Probabilities p(x1), …, p(x K) as elements, an encoder that calculates a latent variable vector having latent variables as elements from the input vector, and a decoder that calculates an output vector from the latent variable vector, and the neural network is trained by repeating a parameter update process that updates the parameters of the encoder and decoder so that the latent variable vector has monotonicity with respect to the input vector, using a loss function that has a larger value the smaller the probability p(x) for the input information x when the input information x is information indicating a positive state, a larger value the larger the probability p(x) for the input information x when the input information x is information indicating a negative state, and is approximately 0 when the input information x is information indicating an unknown state.

[0086] The state estimation device 200 will be described below with reference to Figs. 4 and 5. Fig. 4 is a block diagram showing the configuration of the state estimation device 200. Fig. 5 is a flowchart showing the operation of the state estimation device 200. As shown in Fig. 4, the state estimation device 200 includes an encoder unit 210, a decoder unit 220, a state estimation unit 230, and a recording unit 290. The recording unit 290 is a component that appropriately records information necessary for the processing of the state estimation device 200. The recording unit 290 records, for example, parameters of a trained neural network.

[0087] The operation of the state estimating device 200 will be described with reference to FIG.

[0088] In S210, the encoder 210 outputs K pieces of input information X1, . . . , X K The input vector to be estimated obtained from is used as input, and a latent variable vector to be estimated is calculated from the input vector to be estimated using the encoder of the trained neural network, and is output.

[0089] In S220, the decoder unit 220 receives the latent variable vector to be estimated calculated in S210 as input, and calculates and outputs an output vector to be estimated from the latent variable vector to be estimated using the decoder of the trained neural network.

[0090] In S230, the state estimation unit 230 receives the output vector to be estimated calculated in S220 as an input, and calculates input information X k (where k satisfies 1≦k≦K) k ) and obtain the probability p(X k ) Enter information X k is output as the estimated probability that is in the positive state.

[0091] According to an embodiment of the present invention, it is possible to estimate the state of input information indicating an unknown state as a probability, which makes it possible to predict, for example, the probability that a learner will correctly answer a question that the learner has not yet attempted from among a plurality of questions, based on the test results of a question that the learner has already attempted from among the plurality of questions.

[0092] <Fourth embodiment> In this embodiment, a problem recommendation device is described that recommends problems to be solved by a target learner using a trained neural network trained using the first or second embodiment. Here, K pieces of input information are the test results of K problems, and a positive state, a negative state, and an unknown state are respectively represented as a correct answer, an incorrect answer, and no answer.

[0093] The question recommendation device 300 will be described below with reference to Figs. 6 and 7. Fig. 6 is a block diagram showing the configuration of the question recommendation device 300. Fig. 7 is a flowchart showing the operation of the question recommendation device 300. As shown in Fig. 6, the question recommendation device 300 includes an encoder unit 210, a first decoder unit 221, a latent variable vector generation unit 310, a second decoder unit 222, a question selection unit 320, and a recording unit 390. The recording unit 390 is a component that appropriately records information necessary for the processing of the question recommendation device 300.

[0094] The operation of the question recommendation device 300 will be described with reference to FIG.

[0095] In S210, the encoder unit 210 receives an input vector obtained from the test results of the learner to whom K questions are to be recommended, and calculates and outputs a first latent variable vector from the input vector using the encoder of the trained neural network.

[0096] In S221, the first decoder unit 221 receives the first latent variable vector calculated in S210 as input, and calculates and outputs an output vector (hereinafter referred to as a first prediction accuracy vector) from the first latent variable vector using a decoder of the trained neural network.

[0097] In S310, the latent variable vector generation unit 310 receives the first latent variable vector calculated in S210 as input, generates a second latent variable vector from the first latent variable vector using a predetermined method, and outputs the second latent variable vector.

[0098] If the monotonicity is monotonically increasing, the latent variable vector generation unit 310 generates, as the second latent variable vector, a vector obtained by replacing at least one element of the first latent variable vector with a value greater than the value of that element. If the monotonicity is monotonically decreasing, the latent variable vector generation unit 310 generates, as the second latent variable vector, a vector obtained by replacing at least one element of the first latent variable vector with a value smaller than the value of that element. The second latent variable vector generated in this manner corresponds to the academic ability of the recommended learner, with the ability in the category corresponding to the replaced element virtually improved. Therefore, by the latent variable vector generation unit 310 generating the second latent variable vector in this manner, the question recommendation device 300 can recommend questions to improve the ability of the recommended learner.

[0099] If the monotonicity is monotonically increasing, the latent variable vector generation unit 310 generates a vector as the second latent variable vector by replacing the element with the smallest value among the elements of the first latent variable vector with a value greater than the value of that element. If the monotonicity is monotonically decreasing, the latent variable vector generation unit 310 generates a vector as the second latent variable vector by replacing the element with the largest value among the elements of the first latent variable vector with a value smaller than the value of that element. The second latent variable vector generated in this manner corresponds to the academic ability of the recommended learner obtained by virtually improving the ability in the category in which the recommended learner is weakest. Therefore, by the latent variable vector generation unit 310 generating the second latent variable vector in this manner, the question recommendation device 300 can recommend questions that will improve the ability in the category in which the recommended learner is weakest.

[0100] Also, i1, …, i M (where M is an integer between 1 and K, and i m (m=1, …, M) is 1≦i m ≦K, and i m and i m’ (m ≠ m') are different from each other) is the index of the element of the first latent variable vector whose value is to be replaced, and z i_1 , …, z i_M the elements i1, …, i of the first latent variable vector M and μ is the median of the range of the latent variable, if the monotonicity is monotonically increasing, the latent variable vector generation unit 310 calculates the index i m Z i_m For elements of the first latent variable vector that satisfy <μ, z i_m +(μ-z i_m ) / 2 as the second latent variable vector. m μ <z i_m For elements of the first latent variable vector that satisfy i_m -(z i_mAlternatively, the latent variable vector generation unit 310 may generate a vector obtained by replacing μ with μ / 2 as the second latent variable vector. By generating the second latent variable vector in this way, the question recommendation device 300 can recommend questions that will halve the degree of weakness in the ability category in which the learner to be recommended is weak.

[0101] In S222, the second decoder unit 222 receives the second latent variable vector generated in S310 as input, and calculates and outputs an output vector (hereinafter referred to as a second predicted accuracy vector) from the second latent variable vector using the decoder of the trained neural network.

[0102] In S320, the question selection unit 320 receives the first predicted accuracy rate vector calculated in S221 and the second predicted accuracy rate vector calculated in S222 as input, generates a vector by subtracting the first predicted accuracy rate vector from the second predicted accuracy rate vector, selects elements of the difference vector with priority given to those with the largest values, and obtains and outputs questions corresponding to the indexes of the selected elements as questions to be recommended to the target learner. The question selection unit 320, for example, selects a predetermined number of elements from the difference vector in descending order of their values. Furthermore, the question selection unit 320, for example, selects elements from the difference vector whose values ​​are greater than or equal to a predetermined value.

[0103] Note that even if a question corresponds to an index with a large value for an element of the difference vector, a question that the recommended learner has already taken may not be selected as a question to be recommended. That is, the question selection unit 320 may select, from among the elements of the difference vector corresponding to questions that the recommended learner has not taken, elements with a large value for the element, preferentially, and obtain the question corresponding to the index of the selected element as a question to be recommended to the recommended learner. However, for example, even if a question has been taken by the recommended learner, it may be selected as a question to be recommended if a considerable amount of time has passed since the question was taken. That is, the question selection unit 320 may select, from among the elements of the difference vector corresponding to questions that the recommended learner has not taken and questions that a predetermined amount of time has passed since the recommended learner took, elements with a large value for the element, preferentially, and obtain the question corresponding to the index of the selected element as a question to be recommended to the recommended learner.

[0104] It should be noted that with regard to the process of S221, and the processes of S310 and S222, either process may be executed first, or the two processes may be executed simultaneously.

[0105] According to the embodiment of the present invention, it is possible to recommend to a learner to whom recommendation is made that problems that would be good for future study be used as problems to be solved.

[0106] (Variation) There may be cases where analysis of the test results of a learner to be recommended has been completed, and a latent variable vector indicating the ability of the learner has already been obtained. In this case, as shown in Figures 8 and 9, the question recommendation device 301 receives as input the latent variable vector of the learner to be recommended, rather than the input vector obtained from the test results of the learner to be recommended, and inputs the latent variable vector of the learner to be recommended input to the question recommendation device 301 as a first latent variable vector to the first decoder unit 221 and the latent variable vector generation unit 310, and performs the processes of S221, S310, S222, and S320 described above.

[0107] <Additional Notes> The processing of each unit of each of the above-mentioned devices may be realized by a computer, in which case the processing content of the functions that each device should have is described by a program. Then, by loading this program into the recording unit 2020 of the computer 2000 shown in Fig. 10 and operating the arithmetic processing unit 2010, the input unit 2030, the output unit 2040, the auxiliary recording unit 2025, etc., various processing functions of each of the above-mentioned devices are realized on the computer.

[0108] The device of the present invention may, for example, be a single hardware entity, having an input unit capable of inputting signals from outside the hardware entity, an output unit capable of outputting signals to outside the hardware entity, a communication unit to which a communication device (e.g., a communication cable) can be connected for communication with outside the hardware entity, a CPU (which may also include a central processing unit, cache memory, registers, etc.) as an arithmetic processing unit, RAM and ROM as memories, an external storage device such as a hard disk, and buses connecting these input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so as to enable data exchange. If necessary, the hardware entity may also be provided with a device (drive) capable of reading and writing to a recording medium such as a CD-ROM. An example of a physical entity equipped with such hardware resources is a general-purpose computer.

[0109] The external storage device of the hardware entity stores the programs required to realize the above-mentioned functions and the data required for processing these programs (the programs may be stored in a ROM, which is a read-only storage device, for example, instead of an external storage device). Data obtained by processing these programs is stored in RAM, the external storage device, etc. as appropriate.

[0110] In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data required for processing each program are loaded into memory as needed, and interpreted, executed, and processed by the CPU as appropriate. As a result, the CPU realizes predetermined functions (each component represented as the above, "... unit," "... means," etc.). In other words, each component in the embodiments of the present invention may be configured by a processing circuitry.

[0111] As described above, when the processing functions of the hardware entities (apparatuses of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entities should have are described by a program. Then, by executing this program on a computer, the processing functions of the hardware entities are realized on the computer.

[0112] The program describing the processing contents can be recorded on a computer-readable recording medium, such as a non-transitory recording medium, specifically a magnetic recording device, an optical disk, or the like.

[0113] The program may be distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD or CD-ROM on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to another computer via a network, thereby distributing the program.

[0114] A computer that executes such a program, for example, first stores the program recorded on a portable recording medium or transferred from a server computer in its own non-transitory storage device, the auxiliary storage unit 2025. Then, when executing a process, the computer loads the program stored in its own non-transitory storage device, the auxiliary storage unit 2025, into the storage unit 2020 and executes processing in accordance with the loaded program. Alternatively, as another execution mode of this program, the computer may load the program directly from a portable recording medium into the storage unit 2020 and execute processing in accordance with the program. Furthermore, each time a program is transferred from a server computer to this computer, the computer may execute processing in accordance with the received program. Alternatively, the server computer may not transfer the program to this computer, but may instead execute the processing function by issuing an execution instruction and obtaining the results, thereby executing the above-described processing through a so-called ASP (Application Service Provider) type service. Note that the program in this embodiment includes information used for processing by a computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that define computer processing).

[0115] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.

[0116] The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.

Claims

1. The input information is information indicating a positive state, a negative state, or an unknown state, The input vector is represented by two bits: a positive information bit that is 1 when the input information indicates a positive state and 0 when the input information indicates an unknown state or a negative state, and a negative information bit that is 1 when the input information indicates a negative state and 0 when the input information indicates an unknown state or a positive state. By representing the input information using two bits, K pieces of input information x (K is an integer equal to or greater than 2) can be represented. 1 , …, x K Let be the vector obtained from Let p(x) be the probability that the input information x is information indicating a positive state, The output vector is calculated by dividing the K input information x 1 , …, x K Probability p(x 1 ), …, p(x K ) is a vector with elements, a recording unit that records the parameters of the trained neural network that has been trained by repeating a parameter update process to update the parameters of the encoder and decoder so that the latent variable vector has monotonicity with respect to the input vector, the parameter update process including a loss function that, when the input information x is information indicating a positive state, the smaller the probability p(x) for the input information x is, and that, when the input information x is information indicating a negative state, the larger the probability p(x) for the input information x is, and that is approximately 0 when the input information x is information indicating an unknown state, is used; and The K input information is the test result of K questions, and the positive state, negative state, and unknown state are respectively a correct answer, an incorrect answer, and no answer. a first latent variable vector is a latent variable vector calculated from an input vector obtained from the test results of the learner for K questions using an encoder of the trained neural network, or a latent variable vector corresponding to the input vector; a first decoder unit that calculates an output vector (hereinafter referred to as a first prediction accuracy vector) from the first latent variable vector using a decoder of the trained neural network; a latent variable vector generation unit that generates, as a second latent variable vector, a vector obtained by replacing at least one element of the first latent variable vector with a value greater than the value of that element when the monotonicity is monotonically increasing, or a vector obtained by replacing at least one element of the first latent variable vector with a value smaller than the value of that element when the monotonicity is monotonically decreasing; a second decoder unit that calculates an output vector (hereinafter referred to as a second prediction accuracy vector) from the second latent variable vector using a decoder of the trained neural network; a question selection unit that generates a difference vector by subtracting the first predicted correct answer rate vector from the second predicted correct answer rate vector, selects elements of the difference vector in descending order of their values, and obtains questions corresponding to the indexes of the selected elements as questions to be recommended to the learner; and A problem recommendation device including:

2. The problem recommendation device according to claim 1, The latent variable vector generation unit generates, as the second latent variable vector, a vector obtained by replacing an element of the first latent variable vector having a smallest value with a value larger than the value of the element when the monotonicity is monotonically increasing, and a vector obtained by replacing an element of the first latent variable vector having a largest value with a value smaller than the value of the element when the monotonicity is monotonically decreasing. A problem recommendation device characterized by:

3. The problem recommendation device according to claim 1, i 1 , …, i M (where M is an integer between 1 and K, and i m (m=1, …, M) is 1≦i m ≦K, and i m and i m’ (m ≠ m') are different from each other) are the indices of the elements of the first latent variable vector whose values ​​are to be replaced, z i_1 , …, z i_M element i of the first latent variable vector 1 , …, i M Let μ be the median value of the range of the latent variable, The latent variable vector generation unit generates an index i m Z i_m For elements of the first latent variable vector that satisfy <μ, z i_m +(μ-z i_m ) / 2, the vector obtained by substituting m μ <z i_m For elements of the first latent variable vector that satisfy i_m -(z i_m -μ) / 2 to generate the vector obtained as the second latent variable vector. A problem recommendation device characterized by:

4. The problem recommendation device according to claim 1, The problem selection unit selects a predetermined number of elements from the difference vector in descending order of the value of the element. A problem recommendation device characterized by:

5. The problem recommendation device according to claim 1, The problem selection unit selects, from among the elements of the difference vector, an element whose value is greater than or equal to a predetermined value. A problem recommendation device characterized by:

6. The input information is information indicating a positive state, a negative state, or an unknown state, The input vector is represented by two bits: a positive information bit that is 1 when the input information indicates a positive state and 0 when the input information indicates an unknown state or a negative state, and a negative information bit that is 1 when the input information indicates a negative state and 0 when the input information indicates an unknown state or a positive state. By representing the input information using two bits, K pieces of input information x (K is an integer equal to or greater than 2) can be represented. 1 , …, x K Let be the vector obtained from Let p(x) be the probability that the input information x is information indicating a positive state, The output vector is calculated by dividing the K input information x 1 , …, x K Probability p(x 1 ), …, p(x K ) is a vector with elements, The system includes an encoder that calculates a latent variable vector having latent variables as elements from an input vector, and a decoder that calculates an output vector from the latent variable vector, and learning is performed by repeating a parameter update process that updates the parameters of the encoder and decoder so that the latent variable vector has monotonicity with respect to the input vector, using a loss function that has a larger value the smaller the probability p(x) for the input information x when the input information x is information indicating a positive state, a larger value the larger the probability p(x) for the input information x when the input information x is information indicating a negative state, and is approximately 0 when the input information x is information indicating an unknown state. a first decoder step in which the question recommendation device, including a recording unit that records parameters of the trained neural network, uses K pieces of input information as test results of K questions, and defines positive states, negative states, and unknown states as correct answers, incorrect answers, and no answers, respectively, and defines a first latent variable vector as a latent variable vector calculated from an input vector obtained from the learner's test results of the K questions using an encoder of the trained neural network or a latent variable vector corresponding to the input vector, and calculates an output vector (hereinafter referred to as a first predicted correct answer rate vector) from the first latent variable vector using a decoder of the trained neural network; a latent variable vector generation step in which the question recommendation device generates, as a second latent variable vector, a vector obtained by replacing at least one element of the first latent variable vector with a value greater than the value of that element when the monotonicity is monotonically increasing, or a vector obtained by replacing at least one element of the first latent variable vector with a value less than the value of that element when the monotonicity is monotonically decreasing; a second decoder step in which the question recommendation device calculates an output vector (hereinafter referred to as a second predicted correct answer rate vector) from the second latent variable vector using a decoder of the trained neural network; a problem selection step in which the problem recommendation device generates a difference vector by subtracting the first predicted correct answer rate vector from the second predicted correct answer rate vector, selects elements of the difference vector in descending order of their values, and obtains a problem corresponding to an index of the selected element as a problem to be recommended to the learner; Problem recommendation methods including.

7. A program for causing a computer to function as the question recommendation device according to any one of claims 1 to 5.