Machine learning based student personalized question data analysis system

CN122964360APending Publication Date: 2026-10-23蔡欣蓉
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611242762.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-17
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

[0003]本发明提供一种基于机器学习的学生个性化题目数据分析系统,以解决现有题目推荐方法中依赖平均正确率导致的难度调整偏差,以及忽视答题耗时匹配造成推荐节奏失当的问题,通过从历史正确率分布中提取中位水平来量化个性化难度偏移,并结合候选题目历史平均耗时与当前实际耗时的差值进行排序推荐,实现难度与答题节奏的双重自适应推送

Benefits of technology

通过获取预设历史时段内所有已答题目的历史正确率,将其升序排列形成正确率序列,从中提取处于中间位置的正确率值作为中位水平,若已答题目数量为偶数则取居中两个正确率值的算术平均值。将该中位水平与预设的标准正确率区间进行比对,当中位水平低于标准正确率区间的下限时,生成大小为下限值与中位水平之差的负向偏移量;当中位水平高于标准正确率区间的上限时,生成大小为中位水平与上限值之差的正向偏移量;当中位水平落入区间内时,偏移量置零。利用该偏移量对当前题目的原始难度系数进行求和调整,并将结果约束于难度系数有效区间内,形成个性化难度系数。以中位水平取代平均正确率作为能力基准,使难度偏移量的计算免受少数极端正确率值干扰,更加稳定地反映学生在观测时段内的核心能力表现。当学生能力呈上升或下降趋势但其整体中位水平尚未显著改变时,偏移幅度保持合理,生成的个性化难度系数与学生的真实能力层级高度对齐,为能力较强的学生提供正向难度提升,为暂时薄弱的学生赋予负向难度降低,处于正常区间的学生保持与其匹配的原有难度,由此使候选题目筛选建立在扎实的个体化难度基础上。在获得个性化难度系数后,依据该系数及反映答题波动程度的半径阈值构建目标难度范围,从题库中筛选与当前题目知识点标签一致且难度系数落入该范围的候选题目。针对每一道候选题目,提取学生在预设历史时段内作答该题目的多次单次耗时记录,剔除超过三倍标准差的异常耗时后计算算术平均值作为平均耗时。随后,计算各候选题目的平均耗时与当前题目实际耗时的差值,对差值取绝对值得到偏差绝对值,并按照偏差绝对值由小到大排序,将排序首位的候选题目作为下一道推荐题目推送。将答题耗时相似度引入排序决策,使得最终推荐结果在满足同知识点、个性化难度区间的同时,优先给出预期耗时与学生当前解题节奏最为接近的题目。学生完成当前题目后无需在时间节奏上做出剧烈调整即可自然过渡至下一题,有助于维持注意力的连贯性,降低因题目耗时特征突变引发的认知切换负担,使练习过程更加契合个体即时的解题状态与精力水平。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122964360A_ABST
    Figure CN122964360A_ABST
Patent Text Reader

Abstract

The application discloses a student personalized question data analysis system based on machine learning and belongs to the technical field of educational data mining. The system comprises an attribute acquisition module which acquires current question attributes and historical correct rates of questions answered by a student in a preset historical period; an offset calculation module which determines a question difficulty offset according to a median level of the historical correct rates and adjusts a current question difficulty coefficient to obtain a personalized difficulty coefficient; a candidate screening module which extracts candidate questions with the same knowledge point and difficulty falling within a target difficulty range from a question bank with the personalized difficulty coefficient as the center and acquires average time consumption of each candidate question; and a sorting and recommendation module which sorts the candidate questions according to a difference between the average time consumption and actual time consumption of the current question and pushes the first candidate question as the next recommended question. The system can realize difficulty personalized correction and answer rhythm matching and improve individual adaptability of question pushing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of educational data mining technology, specifically a student personalized question data analysis system based on machine learning. Background Technology

[0002] In intelligent practice and adaptive learning systems, personalized recommendations of questions that match students' current ability levels are a core component. Existing technologies often collect students' historical accuracy rates over a given period, fit ability values ​​based on average accuracy or overall score rates, and then match questions within a fixed difficulty range. Some systems introduce ability parameter estimation based on item response theory or use rules for escalating difficulty levels based on consecutive correct or incorrect answers to dynamically adjust the difficulty level of recommended questions. These approaches focus on the average or continuous performance of accuracy rates but fail to reflect the concentrated distribution characteristics of accuracy indicators. The average is easily affected by a small number of extremely low or high accuracy questions, causing the ability assessment to deviate from the student's true and stable median level. Fixed-step difficulty escalation strategies also struggle to provide precise offsets; when student accuracy fluctuates, the difficulty of recommended questions cannot keep pace with the median ability benchmark. Furthermore, when selecting candidate questions for the same knowledge point, existing technologies mostly rely solely on knowledge point tags and difficulty values ​​for range filtering. The ranking and recommendation stage depends on question popularity, the diversity of the recommendation list, or similar student preferences based on collaborative filtering, rarely utilizing answer time information for decision-making. The time a student takes to complete each question is a comprehensive reflection of their current cognitive load, problem-solving proficiency, and concentration. If the expected time for the next recommended question differs significantly from the actual time taken to complete the previous question, it disrupts the student's established answering rhythm, causing abrupt changes in time allocation and interfering with the continuity and engagement of practice. To address these shortcomings, there is an urgent need for a mechanism that can generate personalized difficulty offsets using the median level of historical accuracy sequences and incorporate answering time matching analysis when ranking candidate questions. This would solve the problems of insufficient individual stability in difficulty matching and the disconnect between recommended questions and current answering time. Summary of the Invention

[0003] This invention provides a student personalized question data analysis system based on machine learning to solve the problems of difficulty adjustment bias caused by relying on average accuracy in existing question recommendation methods, and improper recommendation rhythm caused by ignoring the matching of answer time. By extracting the median level from the historical accuracy distribution to quantify the personalized difficulty offset, and combining the difference between the historical average time of candidate questions and the current actual time for ranking and recommendation, it achieves dual adaptive push of difficulty and answer rhythm.

[0004] To achieve the above objectives, this invention provides the following technical solution: This invention provides a student personalized question data analysis system based on machine learning. This system dynamically senses students' historical answer levels and adaptively adjusts question difficulty to achieve accurate question recommendations that match individual abilities. The system includes an attribute acquisition module, an offset calculation module, a candidate filtering module, and a ranking and recommendation module. The attribute acquisition module responds to the student's submitted answer record for the current question, acquiring the question attributes of the current question and the historical accuracy rate of all questions answered by the student within a preset historical period, thus providing a data foundation for subsequent deviation identification. The offset calculation module determines the question difficulty offset corresponding to the student based on the median level of the historical accuracy rate, and adjusts the difficulty coefficient in the question attributes of the current question according to the question difficulty offset, obtaining the personalized difficulty coefficient of the current question. By introducing the median level instead of the mean to measure the student's typical performance, the interference of extremely high or low accuracy rates on the evaluation results is effectively avoided, making the difficulty offset more closely match the student's true ability level. The candidate selection module uses the personalized difficulty coefficient of the current question as a selection criterion. It extracts candidate questions from the question bank that belong to the same knowledge point as the current question and whose difficulty coefficients are within the target difficulty range centered on the personalized difficulty coefficient. It also obtains the average time taken by the student to answer each candidate question within the preset historical time period. This selection method ensures a dual balance between knowledge continuity and difficulty suitability in the candidate questions, allowing recommended questions to both reinforce current knowledge points and remain within the student's acceptable ability range. The ranking and recommendation module ranks the candidate questions based on the difference between the average time taken by each candidate question and the actual time taken by the current question, and pushes the candidate question ranked first as the next recommended question to the student. By using the minimization of time difference as the ranking criterion, the system prioritizes recommending questions whose answering pace most closely matches the student's current state, helping to maintain continuity in problem-solving and fluency of thought.

[0005] As a preferred technical solution of the present invention, in the process of determining the question difficulty offset, the historical accuracy rate of all answered questions within the preset historical period is obtained, arranged in ascending order to form an accuracy rate sequence, and the accuracy rate value in the middle position of the accuracy rate sequence is extracted as the median level; when the number of answered questions within the preset historical period is even, the arithmetic mean of the two middle accuracy rate values ​​in the accuracy rate sequence is taken as the median level, thus ensuring the continuity and stability of the median level value. The median level is matched with a preset standard accuracy range, which is a dynamically set floating range based on the historical global average accuracy of the student's grade. If the median level is lower than the lower limit of the standard accuracy range, the difference between the lower limit and the median level is used as a negative offset to reduce the difficulty of the questions when the overall accuracy is low. If the median level is higher than the upper limit of the standard accuracy range, the difference between the median and the upper limit is used as a positive offset to appropriately increase the difficulty to enhance the challenge when the accuracy is too high. If the median level is within the standard accuracy range, the question difficulty offset is set to zero to avoid unnecessary difficulty adjustments for students who are in the ideal performance range.

[0006] As another preferred technical solution of the present invention, when adjusting the difficulty coefficient, the original difficulty coefficient stored in the question attributes of the current question is read. The original difficulty coefficient is a fixed value determined by the current question based on its discrimination and average accuracy when it is entered into the database. The question difficulty offset is summed with the original difficulty coefficient to obtain an initial adjustment value. The initial adjustment value is constrained to a preset effective range of difficulty coefficients. If the initial adjustment value is greater than the upper limit of the effective range, the upper limit is taken; if the initial adjustment value is less than the lower limit of the effective range, the lower limit is taken. The constrained value is used as the personalized difficulty coefficient. This adjustment mechanism with boundary protection ensures the effectiveness of personalized correction and prevents the difficulty coefficient from overflowing the range of realistic meaning, so that subsequent difficulty selection is always carried out within a reasonable scale.

[0007] In the candidate question selection stage, preferably, the knowledge point tags of each question in the question bank are obtained, and questions with the same knowledge point tags as the current question are selected as a set of questions with the same knowledge point. A radius threshold is set with the personalized difficulty coefficient as the center, and the difference between the personalized difficulty coefficient and the radius threshold is used as the lower and upper limits of the range to construct the target difficulty range. Questions with a difficulty coefficient greater than or equal to the lower limit and less than or equal to the upper limit of the range are extracted from the set of questions with the same knowledge point as candidate questions. Specifically, the radius threshold is dynamically determined based on the fluctuation of the student's answers within the preset historical period. The greater the fluctuation, the larger the radius threshold, thus appropriately expanding the search range when the student's performance is unstable to avoid missing suitable transitional questions; when the student's performance is stable, the range is narrowed to improve recommendation accuracy.

[0008] For obtaining the average time consumption, preferably, from all historical answer records of the student terminal within the preset historical period, historical answer records matching the question identifier of each candidate question are selected; for each candidate question, the single-time consumption of all matched historical answer records is extracted, where the single-time consumption is the time length between the student terminal receiving the candidate question and submitting the answer to the candidate question; the arithmetic mean of all single-time consumption corresponding to each candidate question is taken as the average time consumption of that candidate question. Further, abnormal time consumption records exceeding three standard deviations of the historical average time consumption corresponding to the candidate question are removed before calculating the arithmetic mean, to eliminate the interference of extreme time consumption caused by external factors such as student terminal pauses, distraction, or network latency on the evaluation, making the average time consumption more realistically reflect the inherent rhythm of student problem-solving.

[0009] During the ranking and recommendation process, the average time taken for each candidate question is subtracted from the actual time taken for the current question to obtain the time difference for each candidate question. The absolute value of all time differences is then taken to obtain the absolute deviation value for each candidate question. The candidate questions are ranked in ascending order of the absolute deviation value. This ranking strategy prioritizes recommending questions whose solution time rhythm best matches the student's time commitment for completing the current question, ensuring a smooth transition between the student's psychological expectations and actual effort in subsequent question-solving processes. This reduces cognitive load and discomfort caused by sudden changes in difficulty or question type, extending the student's practice progress gradually.

[0010] The technical effects and advantages provided by the present invention in the above technical solution are as follows: By acquiring the historical accuracy rates of all answered questions within a preset historical period, these rates are sorted in ascending order to form an accuracy rate sequence. The accuracy rate value in the middle position is extracted as the median level. If the number of answered questions is even, the arithmetic mean of the two middle accuracy rates is taken. This median level is compared with a preset standard accuracy rate range. When the median level is lower than the lower limit of the standard accuracy rate range, a negative offset is generated, equal to the difference between the lower limit and the median level. When the median level is higher than the upper limit of the standard accuracy rate range, a positive offset is generated, equal to the difference between the median level and the upper limit. When the median level falls within the range, the offset is set to zero. This offset is used to sum and adjust the original difficulty coefficient of the current question, and the result is constrained within the effective range of the difficulty coefficient to form a personalized difficulty coefficient. By using the median level instead of the average accuracy rate as the ability benchmark, the calculation of the difficulty offset is not affected by a few extreme accuracy rates, and more stably reflects the student's core ability performance within the observation period. When students' abilities show an upward or downward trend but their overall median level has not changed significantly, the deviation range remains reasonable. The generated personalized difficulty coefficient is highly aligned with the students' actual ability level, providing positive difficulty increases for students with strong abilities, negative difficulty decreases for students who are temporarily weak, and maintaining the original difficulty level for students in the normal range. This ensures that the selection of candidate questions is based on a solid foundation of individualized difficulty. After obtaining the personalized difficulty coefficient, a target difficulty range is constructed based on this coefficient and a radius threshold reflecting the degree of fluctuation in answers. Candidate questions that match the knowledge point tags of the current question and whose difficulty coefficients fall within this range are selected from the question bank. For each candidate question, multiple single-time records of students answering the question within a preset historical period are extracted. After removing abnormal times exceeding three standard deviations, the arithmetic mean is calculated as the average time. Subsequently, the difference between the average time of each candidate question and the actual time of the current question is calculated. The absolute value of the difference is taken to obtain the absolute deviation value, and the candidates are sorted in ascending order of absolute deviation value. The candidate question ranked first is pushed as the next recommended question. By incorporating the similarity of answer time into the ranking decision, the final recommendation results, while satisfying the requirements of the same knowledge point and personalized difficulty range, prioritize questions whose expected time is closest to the student's current problem-solving pace. After completing the current question, students can naturally transition to the next question without making drastic adjustments to their time rhythm, which helps maintain the continuity of attention and reduces the cognitive switching burden caused by sudden changes in question time characteristics. This makes the practice process more in line with the individual's real-time problem-solving state and energy level. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0012] Figure 1 This is a schematic diagram of the structure of a student personalized question data analysis system based on machine learning; Figure 2 This is a diagram showing the range of students' historical accuracy rate and standard accuracy rate; Figure 3 This is a diagram illustrating the distribution of question difficulty and the individualized difficulty range for each student. Figure 4 This is a box plot showing the historical single-time consumption distribution of candidate topics. Detailed Implementation

[0013] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0014] See Figure 1 This invention provides a student personalized question data analysis system based on machine learning, including an attribute acquisition module, an offset calculation module, a candidate filtering module, and a ranking and recommendation module. The attribute acquisition module responds to the student's answer record for the current question, acquiring the question attributes of the current question and the historical accuracy rate of all questions answered by the student within a preset historical period. The offset calculation module determines the question difficulty offset corresponding to the student based on the median level of the historical accuracy rate, and adjusts the difficulty coefficient in the question attributes of the current question according to the question difficulty offset to obtain the personalized difficulty coefficient of the current question. The candidate filtering module uses the personalized difficulty coefficient of the current question as a filtering condition, extracting candidate questions from the question bank that belong to the same knowledge point as the current question and whose difficulty coefficients are within the target difficulty range centered on the personalized difficulty coefficient, and acquires the average time taken by the student to answer each candidate question within the preset historical period. The ranking and recommendation module ranks each candidate question according to the difference between the average time taken by each candidate question and the actual time taken by the current question, and pushes the candidate question ranked first in the ranking result as the next recommended question to the student.

[0015] In practice, the attribute acquisition module extracts the historical accuracy rate of all answered questions within a preset historical period from the student's submitted answer records. The preset historical period is a time window that traces back a fixed length of time from the current moment, such as thirty calendar days. The historical accuracy rate is defined as a binary value representing whether the student's answer to each answered question is correct or not, where a correct answer is assigned a value of 1 and an incorrect answer is assigned a value of 0. The attribute acquisition module compiles the historical accuracy rates of all answered questions completed by the student within the preset historical period into a numerical set.

[0016] After obtaining the numerical set, all historical accuracy rates in the set are sorted in ascending order, resulting in an ordered accuracy sequence. The accuracy rate value in the middle of the sequence is taken as the median level. When the number of elements in the accuracy sequence is odd, the median level is the historical accuracy rate value located in the exact middle of the sequence. When the number of elements in the accuracy sequence is even, the median level is the arithmetic mean of the historical accuracy rates located in the two exact middle positions of the sequence. The calculated median level is denoted as... .

[0017] Obtain the global average historical accuracy rate for the student's grade level and the standard deviation of the historical accuracy rate for each student within that grade. The global average historical accuracy rate is the average of the accuracy rates of all answered questions across all students in the current grade within the same preset historical time period, denoted as . The standard deviation is the standard deviation of the average correct answer rate of all questions answered by students in the current grade within a preset historical period, denoted as . The standard accuracy range is based on and Dynamically set floating range, lower limit of the range and upper limit The results are obtained using the following formulas: in, This is a floating coefficient. The value ranges from 0.5 to 1.5. (Floating coefficient) The specific value is determined based on the degree of differentiation in students' answering abilities within the grade level; the greater the degree of differentiation, the lower the value. The smaller the value, the narrower the standard accuracy range, thus enhancing the sensitivity of offset calculation; the smaller the degree of differentiation. A larger value broadens the standard accuracy range, preventing excessive bias to minor fluctuations. The degree of differentiation can be measured by the coefficient of variation of the average accuracy of each student within the grade level.

[0018] Median level Compared with the standard accuracy range Perform a match. At the median level... Below the lower limit of the standard accuracy range At that time, the lower limit will be Compared with the median level The difference As a negative offset, the question difficulty offset is then set to [value]. The negative value, that is At the median level Above the upper limit of the standard accuracy range At that time, the median level and upper limit The difference As a positive offset, the question difficulty offset is set to a value of At the median level Within the standard accuracy range During this period, the difficulty offset of the questions is set to zero.

[0019] The question difficulty offset is a directed value. A negative offset indicates that the overall accuracy rate of students is too low, requiring a reduction in the difficulty coefficient of subsequent questions. A positive offset indicates that the overall accuracy rate of students is too high, requiring an increase in the difficulty coefficient of subsequent questions. The offset calculation module passes the question difficulty offset to subsequent processing steps to adjust the difficulty coefficient of the current question.

[0020] See Figure 2 In the graph, the horizontal axis represents the question number answered by the student, ranging from 0 to 600, and the vertical axis represents the accuracy rate of the corresponding question, ranging from 0 to 1. The gray scatter points represent the single-answer accuracy rate for each question, binary data with values ​​of 0 or 1, distributed at both ends of the vertical axis, reflecting the student's immediate answers to each question. The blue solid line represents the moving average of the accuracy rate, smoothed using a certain window width to reveal the trend of student accuracy, fluctuating generally between 0.2 and 0.6, showing a gradual increase with increasing question number, indicating that student performance improves over time. The green solid line represents the grade-level average accuracy rate, fixed at approximately 0.65, serving as a benchmark for the overall performance of students in the same grade. The two red dashed lines represent the upper and lower limits of the standard accuracy rate range, with a lower limit of approximately 0.55 and an upper limit of approximately 0.75, dynamically set based on the grade-level global average accuracy rate and standard deviation, reflecting the reasonable fluctuation range expected for student accuracy. The purple dashed line represents the median level, located at 0 on the vertical axis. It does not significantly affect the main view area of ​​the image, but it is used as a key parameter for calculating the offset in the patent embodiment.

[0021] The moving average accuracy curve in the graph remains below the lower limit of the standard accuracy range (approximately 0.55) for most of the time, and is significantly lower than the grade average accuracy (0.65). This reflects a low median overall accuracy level among students within the preset historical period, exhibiting a negative offset below the lower limit of the standard accuracy range. According to the rules in this embodiment regarding the matching of median level with the standard accuracy range, when the median level is below the lower limit, the question difficulty offset is negative to reduce the difficulty coefficient of subsequent questions. This trend is evident in the phased changes where the moving average accuracy rate repeatedly falls below the lower limit, indicating that the system dynamically adjusts the difficulty offset by continuously monitoring historical accuracy rates to adapt to fluctuations in students' answering abilities. The large fluctuation range of the moving average accuracy rate in the graph shows a certain degree of dispersion in student performance, consistent with the description of the ascending order of historical accuracy rate values ​​and the calculation of the median level in this embodiment.

[0022] In practice, after the offset calculation module calculates the question difficulty offset, it passes the question difficulty offset to the difficulty coefficient adjustment step. The question difficulty offset is determined by the method described in Example 1 and is a signed real value, denoted as . .when When the value is negative, it indicates that the difficulty of the question needs to be reduced; when When the value is positive, it indicates that the difficulty of the question needs to be increased; when... When the value is zero, it indicates that the current difficulty level will be maintained.

[0023] The system reads the original difficulty coefficient stored in the question attributes of the current question. Question attributes are stored in the question bank database as structured data, with each question corresponding to one record. Each record contains fields such as question text, options, answer, knowledge point tags, and original difficulty coefficient. The original difficulty coefficient is a fixed value assigned to the question when it is entered into the question bank, based on the question's discrimination index and average accuracy rate. The discrimination index is calculated as the difference between the pass rates of the high-scoring and low-scoring groups, and the average accuracy rate is the percentage of sample students who answered the question correctly. The system inputs the question's discrimination index and average accuracy rate into a preset difficulty coefficient mapping function to obtain the original difficulty coefficient. The difficulty coefficient mapping function is a predefined monotonic function that assigns a higher original difficulty coefficient to questions with high discrimination index and low average accuracy rate, and a lower original difficulty coefficient to questions with low discrimination index and high average accuracy rate. The original difficulty coefficient is denoted as... , The value is within the preset valid range of difficulty coefficient.

[0024] Question difficulty offset Compared to the original difficulty level Summing yields the initial adjustment value. ,Right now Initial adjustment value It may exceed the preset effective range of difficulty level.

[0025] The preset effective range of difficulty level is a closed interval uniformly set by the question bank system. . This is the lower limit of the effective range for the difficulty coefficient. This represents the upper limit of the effective range for the difficulty coefficient. and The value of is determined based on the difficulty rating system used in the question bank. In one implementation, the difficulty coefficient is represented by a normalized real number. Set as , Set as , Corresponding to extremely low difficulty This corresponds to an extremely high level of difficulty. In another implementation, the difficulty level is represented as an integer out of a percentage. Set as , Set as .

[0026] Initial adjustment value By constraining the difficulty to a preset effective range, a personalized difficulty coefficient is obtained, denoted as . Personalized difficulty level The calculation formula is as follows: in, This represents the original difficulty level of the current question. This represents the offset of the question's difficulty level. This is the lower limit of the effective range for the difficulty coefficient. This represents the upper limit of the effective range for the difficulty coefficient. This indicates taking the smaller of the two values. This indicates taking the larger of the two values. The calculation process of this formula is as follows: first calculate... and The sum; the sum and Compare the results and take the larger value; then combine the results from the previous step with... Compare and take the smaller value. If Less than ,but Values ;like Greater than ,but Values ;like lie in Within the interval, then Values The constrained values ​​themselves. The personalized difficulty level of the current question is stored in a temporary data structure in memory for the candidate selection module to read and use.

[0027] In practice, the candidate selection module reads the knowledge point tags of the current question and the personalized difficulty coefficient output by the offset calculation module. The knowledge point tags of the current question are classification identifiers assigned by content editors or automatic annotation algorithms when the question is added to the database, typically using hierarchical coding, such as "Mathematics-Algebra-Quadratic Equation" or "English-Grammar-Relative Clause". The personalized difficulty coefficient is denoted as... This is the value obtained after adjusting for the question difficulty offset and constraining it to the effective range of the difficulty coefficient.

[0028] The candidate filtering module iterates through every question in the question bank, extracts the knowledge point tags for all questions, and performs a complete match between the knowledge point tags of each question and the knowledge point tags of the current question. Questions whose knowledge point tags are exactly the same as the current question are filtered out, forming a set of questions with the same knowledge point. Questions in this set cover the same knowledge category as the current question and are considered for personalized recommendations.

[0029] After obtaining the set of questions on the same knowledge point, the candidate filtering module determines the radius threshold. The radius threshold is denoted as... The radius threshold is dynamically determined based on the fluctuation of student responses within a preset historical period. The fluctuation of responses is an indicator of the dispersion of the student's accuracy rate across different responses within the preset historical period. A greater fluctuation indicates more unstable student performance, requiring a corresponding expansion of the range of difficulty levels to be considered; therefore, the radius threshold... The larger the value, the better.

[0030] In one implementation, the degree of fluctuation in answer performance is quantified by the standard deviation of the accuracy rate. Each answer record from the student's device within a preset historical period is acquired, arranged chronologically, and the answer sequence is divided into several equal-length sub-periods. The accuracy rate within each sub-period is calculated, resulting in a set of accuracy rate values. The standard deviation of this set of accuracy rate values ​​is then calculated as the degree of fluctuation in answer performance. Radius threshold With the degree of fluctuation in answers The relationship between them is determined by a linear mapping function, and the specific calculation formula is as follows: in, The preset minimum radius threshold, The preset maximum radius threshold, To account for the degree of fluctuation in answers, This represents the upper limit of the fluctuation in the level of answers. The value of determines the lower limit of the target difficulty range even when the fluctuation in the degree of answering questions approaches zero, and it is usually set as the length of the effective interval of the difficulty coefficient. . The value of determines the upper limit of the target difficulty range when the fluctuation in answer levels reaches its maximum, and is usually set as the length of the effective interval of the difficulty coefficient. . Based on accuracy The theoretical maximum standard deviation is determined when the accuracy is within a certain range. and The standard deviation is largest when each side accounts for half. for .

[0031] Establish a target difficulty range. Use personalized difficulty levels. Centered on this, personalize the difficulty level. With radius threshold The difference is used as the lower limit of the range. ,Right now Personalized difficulty level With radius threshold The sum as the upper limit of the range ,Right now The target difficulty range is the closed interval. .

[0032] Within a set of questions covering the same knowledge point, each question is assessed for its difficulty level. Each question has its own difficulty level, denoted as [difficulty level value]. Extract all questions that satisfy the same knowledge point from the set of questions. The system selects the current question and groups those questions that meet certain criteria into a candidate question set. Each question in the candidate question set must simultaneously meet two conditions: it belongs to the same knowledge point as the current question, and its difficulty level falls within the target difficulty range centered on the personalized difficulty level. The candidate selection module outputs the question identifiers of each candidate question in the candidate question set to the ranking and recommendation module for further processing.

[0033] See Figure 3 This graph depicts the distribution density curve (gray broken line) of the difficulty coefficients of questions in the question bank. The horizontal axis represents the difficulty coefficient of the questions, and the vertical axis represents the number of questions within the corresponding difficulty coefficient range. The graph also indicates the personalized difficulty coefficients and target difficulty ranges of two students, A and B, represented in blue and red, respectively.

[0034] Specifically, the distribution of question difficulty coefficients approximates a normal distribution. The number of questions is highest in the range of approximately 0.45 to 0.65, with a peak of over 60 questions, indicating this range is a densely populated area in the question bank. The number of questions decreases significantly at both ends of the difficulty coefficient distribution (below 0.2 and above 0.8), suggesting fewer extremely easy and extremely difficult questions.

[0035] Student B's personalized difficulty coefficient is represented by a red vertical dashed line, located at approximately 0.35, clearly biased towards a lower difficulty coefficient area. The red shaded area surrounding this personalized difficulty coefficient represents Student B's target difficulty range, covering approximately 0.27 to 0.43, with a width of approximately 0.16, which conforms to the radius threshold determined in this embodiment based on the fluctuation of student's answers to the target difficulty range. The definition of this range is as follows: The number of questions in the question bank corresponding to this range is relatively small, which conforms to the distribution of questions with lower difficulty.

[0036] Student A's personalized difficulty coefficient is represented by a blue vertical dashed line, located at approximately 0.65, clearly leaning towards the higher difficulty range. The blue shaded area surrounding this value represents Student A's target difficulty range, covering approximately 0.55 to 0.75, with a width of approximately 0.20, reflecting the relatively wide target difficulty range due to the significant fluctuations in Student A's answers. This range also contains a relatively abundant number of questions, placing it in the right-hand peak area of ​​the question bank distribution.

[0037] In practice, after the candidate screening module passes the candidate question set to the ranking and recommendation module, the ranking and recommendation module first obtains the average time taken for each candidate question in the candidate question set to be answered by students within a preset historical time period. The preset historical time period is consistent with the preset historical time period used by the attribute acquisition module, which is a time window that traces back a fixed amount of time from the current moment.

[0038] The sorting and recommendation module iterates through each candidate question in the candidate question set. For each candidate question, it filters out historical answer records from all student-side historical answer records within a preset historical period that match the question identifier of the currently traversed candidate question. The question identifier is a unique code for each question in the question bank system, automatically generated when the question is added to the database, and stored as a string or integer value in the question attribute record. Historical answer records are stored in the student-side historical answer database, and each historical answer record contains at least the following fields: student-side identifier, question identifier, answer start timestamp, answer submission timestamp, and answer result. The filtering and matching process is completed by performing an equality comparison between the question identifier of the candidate question and the question identifier field in the historical answer records, extracting all records where the question identifier field is the same as the candidate question identifier.

[0039] For each candidate question, after obtaining all matched historical answer records, the single-session time is extracted from each historical answer record. Single-session time is defined as the length of time between the student receiving the currently processed candidate question and submitting the answer. In one implementation, single-session time is calculated by the difference between the answer submission timestamp and the answer start timestamp, in seconds. In another implementation, the server records the time when the page rendering of the question is completed on the student's end as the reception time, and the time when the student clicks the submit button as the submission time; the single-session time is the interval between these two times.

[0040] After obtaining all single-run times for the candidate questions, outlier detection and removal are performed on the single-run times before calculating the arithmetic mean. Outlier times are defined as historical responses whose single-run times exceed three standard deviations of the historical average time for that candidate question. For the currently processed candidate question, a preliminary average and preliminary standard deviation of all single-run times for that candidate question are calculated. The preliminary average is denoted as... The preliminary standard deviation is denoted as For the current candidate topic, the first... Each historical response record has a single response time of [time value missing]. The judgment condition is: if or Then the first Each historical answer record is marked as an abnormal time-consuming record and removed from the single time-consuming dataset corresponding to that candidate question.

[0041] After the elimination process, for each candidate question, the arithmetic mean of all remaining single-time consumption values ​​is taken as the average consumption value for that candidate question. For a single candidate question, assume that after eliminating abnormal consumption records, the remaining single-time consumption values ​​are: The, the The remaining single-attempt time value is denoted as , The range of values ​​is arrive If the value is a positive integer, then the average time taken for the candidate problem is... The calculation formula is as follows: in, This represents the average time taken to process the current candidate questions. This indicates the total number of single-time consumption values ​​remaining after removing abnormal consumption records. Indicates the first The remaining single-attempt time value, Indicates to from arrive All Perform the summation operation. Average time taken. This reflects the typical time spent by students completing the candidate question within a historical timeframe.

[0042] If the number of single-time consumption values ​​remaining after removing abnormal consumption records for a candidate question is zero, that is, all historical answer records of the candidate question within the preset historical period are judged to be abnormal consumption records, or the candidate question originally did not match any historical answer records, then the candidate question is marked as having an unknown average consumption time, and the sorting and recommendation module removes the candidate question from the list to be sorted.

[0043] The ranking and recommendation module performs the above average time acquisition process for each candidate question in the candidate question set to obtain the average time value corresponding to each candidate question, and then passes the average time of each candidate question to the ranking step.

[0044] See Figure 4 This figure is a box plot representing the distribution of single-time consumption of each candidate question in the candidate question set by the ranking and recommendation module in this embodiment. The horizontal axis represents the candidate question identifiers, namely question A, question B, question C, question D, question E, and question F; the vertical axis represents the single-time consumption in seconds. In the legend, each color corresponds to a different question, and the color distinguishes the candidate question category.

[0045] Each box in the graph represents the statistical characteristics of the single-test time for the corresponding candidate question. The horizontal line in the middle of the box represents the median single-test time, and the top and bottom edges of the box represent the first and third quartiles of the single-test time, respectively. The black diamond symbol outside the box represents the mean of the single-test time. The upper and lower edges of the box plot represent the maximum and minimum test times excluding outliers. Dots beyond the edges represent outlier test times, i.e., test times exceeding three standard deviations of the historical average test time for that question.

[0046] As shown in the graph, question B has the highest median and mean time spent on each attempt, indicating that students spent a relatively long time answering this question historically. Furthermore, the time spent on question B is widely distributed, with several abnormal time records exceeding the normal range. Question E has a high median time and many abnormal time points, indicating significant fluctuations in answer time among students. Questions C and D have relatively similar median times spent on each attempt, and fewer abnormal time points, suggesting relatively stable time performance for these two questions. Questions A and F have low median times, relatively short overall times, and fewer abnormal time points.

[0047] In practice, after obtaining the average time spent on each candidate question, the ranking and recommendation module also needs to obtain the actual time spent on the current question. The actual time spent on the current question is the time consumed by the student in answering it. The actual time is extracted from the answer record for the current question using the same method as for single-time time extraction: by calculating the difference between the submission timestamp and the start timestamp of the current question, in seconds. The actual time spent on the current question is denoted as... .

[0048] The ranking and recommendation module performs time difference calculations for each candidate question in the candidate question set. For the first candidate question in the candidate question set... The candidate questions are listed, and the average time spent processing the current candidate questions is calculated. Subtract the actual time spent on the current question This yields the time difference corresponding to the currently processed candidate question. The time difference is denoted as... , It is a signed real value. When When the value is positive, it indicates that the historical average processing time of the current candidate question is greater than the actual processing time of the current question; when... When the value is negative, it indicates that the historical average processing time of the current candidate question is less than the actual processing time of the current question; when... When the value is zero, it means that the two take the same amount of time.

[0049] After calculating the time difference for all candidate questions, the absolute value of all the time differences is taken to obtain the absolute deviation value for each candidate question. For the first... The absolute value of the deviation of the candidate questions is denoted as... , The calculation formula is as follows: in, Indicates the first The absolute value of the deviation corresponding to each candidate question. Indicates the first The average time spent on each candidate question This indicates the actual time spent on the current question. This indicates the absolute value operation. Absolute value of deviation. Always a non-negative real number. The smaller the value, the more significant the th . The closer the average time taken for each candidate question is to the actual time taken for the current question, the better.

[0050] After obtaining the absolute values ​​of the deviations for all candidate topics, the ranking and recommendation module sorts the candidate topics in ascending order of their absolute deviation values. The ranking algorithm uses a comparison-based sorting method, with the absolute value of the deviation as the comparison criterion. The numerical value of the deviation is used to determine the order of candidate questions. Candidate questions are then sorted in ascending order of their absolute deviation values, with the question having the smallest absolute deviation value ranked first, the next smallest second, and so on. If two or more candidate questions have the same absolute deviation value, the time difference corresponding to those identical absolute deviation values ​​is compared. The sign of the positive or negative symbol, the time difference Positive values ​​are prioritized based on the time difference. Before those with negative values; if the time difference If the positive and negative signs are the same, then the candidate questions are sorted by lexicographical order or numerical value.

[0051] After sorting, the ranking and recommendation module reads the candidate question ranked first in the ranking results and uses it as the next recommended question. The module then reads the complete question attributes of the next recommended question from the question bank database, including the question text, options, answer, explanation, knowledge point tags, and difficulty level, and encapsulates these attributes into a question push data package. This data package is sent to the student's client via a server-client communication protocol, displaying the next recommended question on the student's screen. Once the student receives the next recommended question, the new question-answering process begins, and the system re-enters the next cycle of answer record collection and personalized recommendation.

[0052] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A student personalized question data analysis system based on machine learning, characterized in that, The system includes: The attribute acquisition module, in response to the answer record of the current question submitted by the student, acquires the question attributes of the current question and the historical accuracy rate of all questions answered by the student within a preset historical period. The offset calculation module determines the question difficulty offset corresponding to the student based on the median level of the historical accuracy rate, and adjusts the difficulty coefficient in the question attribute of the current question based on the question difficulty offset to obtain the personalized difficulty coefficient of the current question. The candidate filtering module uses the personalized difficulty coefficient of the current question as a filtering condition to extract candidate questions from the question bank that belong to the same knowledge point as the current question and whose difficulty coefficient is within the target difficulty range centered on the personalized difficulty coefficient. It also obtains the average time taken for each candidate question to be answered by the student terminal within the preset historical time period. The ranking and recommendation module ranks the candidate questions based on the difference between the average time taken for each candidate question and the actual time taken for the current question, and pushes the candidate question ranked first in the ranking results as the next recommended question to the student.

2. The student personalized question data analysis system based on machine learning according to claim 1, characterized in that, The step of determining the question difficulty offset corresponding to the student's end based on the median level of the historical accuracy rate includes: Obtain the historical accuracy rate of all answered questions within the preset historical time period, arrange them in ascending order to form an accuracy rate sequence, and extract the accuracy rate value in the middle position of the accuracy rate sequence as the median level; The median level is matched with a preset standard accuracy range. If the median level is lower than the lower limit of the standard accuracy range, the difference between the lower limit of the standard accuracy range and the median level is used as a negative offset. If the median level is higher than the upper limit of the standard accuracy interval, the difference between the median level and the upper limit of the standard accuracy interval is used as a positive offset. If the median level is within the standard accuracy range, then the question difficulty offset is set to zero.

3. The student personalized question data analysis system based on machine learning according to claim 1, characterized in that, The step of adjusting the difficulty coefficient in the question attributes of the current question based on the question difficulty offset to obtain the personalized difficulty coefficient of the current question includes: Read the original difficulty coefficient stored in the question attributes of the current question. The original difficulty coefficient is a fixed value that the current question is marked with according to the question discrimination and average accuracy when it is entered into the database. The initial adjustment value is obtained by summing the question difficulty offset with the original difficulty coefficient; The initial adjustment value is constrained to a preset effective range of difficulty coefficient. If the initial adjustment value is greater than the upper limit of the effective range, the upper limit is taken; if the initial adjustment value is less than the lower limit of the effective range, the lower limit is taken. The constrained value is used as the personalized difficulty coefficient.

4. The student personalized question data analysis system based on machine learning according to claim 1, characterized in that, The step of extracting candidate questions from the question bank that belong to the same knowledge point as the current question and whose difficulty level falls within the target difficulty range centered on the personalized difficulty level includes: Obtain the knowledge point tags for each question in the question bank, and filter out questions that match the knowledge point tags of the current question as a set of questions with the same knowledge point; Using the personalized difficulty coefficient as the center, a radius threshold is set, the difference between the personalized difficulty coefficient and the radius threshold is used as the lower limit of the range, and the sum of the personalized difficulty coefficient and the radius threshold is used as the upper limit of the range to construct the target difficulty range; From the set of questions on the same knowledge point, extract questions with a difficulty coefficient greater than or equal to the lower limit of the range and less than or equal to the upper limit of the range as candidate questions.

5. The student personalized question data analysis system based on machine learning according to claim 1, characterized in that, The step of obtaining the average time taken for each of the candidate questions to be answered by the student terminal within the preset historical time period includes: From all historical answer records of the student terminal within the preset historical period, select the historical answer records that match the question identifier of each candidate question; For each candidate question, extract the single time consumption from all matched historical answer records, where the single time consumption is the length of time from when the student receives the candidate question to when they submit their answer to the candidate question. The arithmetic mean of the time taken for each candidate question is taken as the average time taken for that candidate question.

6. The student personalized question data analysis system based on machine learning according to claim 1, characterized in that, The step of sorting the candidate questions based on the difference between the average time taken for each candidate question and the actual time taken for the current question includes: Subtract the actual time taken for the current question from the average time taken for each of the candidate questions to obtain the time difference for each candidate question. Take the absolute value of all the time difference values ​​to obtain the absolute value of the deviation for each candidate question; The candidate questions are sorted in ascending order of the absolute value of the deviation.

7. The student personalized question data analysis system based on machine learning according to claim 2, characterized in that, The standard accuracy range is a floating range that is dynamically set in advance based on the historical global average accuracy of the student's grade.

8. The student personalized question data analysis system based on machine learning according to claim 2, characterized in that, The median level is the arithmetic mean of the two middle accuracy values ​​in the accuracy sequence when the number of questions answered within the preset historical period is even.

9. The student personalized question data analysis system based on machine learning according to claim 4, characterized in that, The radius threshold is dynamically determined based on the degree of fluctuation in the student's answers within the preset historical period. The greater the degree of fluctuation in the answers, the larger the radius threshold.

10. The student personalized question data analysis system based on machine learning according to claim 5, characterized in that, Abnormal time consumption records that exceed three standard deviations of the historical average time consumption corresponding to the candidate question in a single time are removed before the arithmetic mean is calculated.