Cloud resource error correction pushing method based on point reading operation and learning machine
By analyzing the user's point reading operation records and learning order, and judging and pushing appropriate cloud resources, the problems of poor error correction timeliness and low resource matching accuracy in the existing technology are solved, and the personalized learning ability and resource matching accuracy of the learning machine are improved.
Patent Information
- Application Number
- CN202510249713.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-04
- Publication Date
- 2025-06-27
AI Technical Summary
The existing cloud error correction system fails to effectively utilize the advantages of real-time interaction when users perform point-read operations, and lacks a dynamic optimization mechanism based on user feedback, resulting in a decrease in the adaptability of push resources to individual learning needs.
By obtaining and storing the user's point reading operation records, analyzing the learning sequence and resource call scope, determining whether to push cloud resources, and if so, pushing the user's early education resource call information during this learning process.
It effectively avoids errors in cloud resource calls, improves resource matching accuracy and error correction timeliness, and enhances the personalized learning ability of the learning machine.
Smart Images

Figure CN120220489A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of information error correction, and particularly relates to a cloud resource error correction push method and a learning machine based on a point reading operation. Background Art
[0002] With the rapid development of intelligent education devices, learning machine products have gradually evolved from a single offline knowledge storage to a cloud-connected intelligent learning system. Traditional learning machines generally adopt a preset question bank and a fixed error correction mode. When a user performs a point reading operation, only limited feedback can be provided through local storage resources, resulting in problems such as poor error correction timeliness and low resource matching accuracy.
[0003] Although there are already some cloud error correction systems in the current field of education informatization (such as the intelligent wrong question book system disclosed in CN20181023567.X), their interaction methods are still limited to scanning recognition or manual entry, and the unique real-time interaction advantage of the point reading operation cannot be effectively utilized. In addition, most of the existing technologies adopt a one-way push mode (such as CN202010584432.8), lacking a dynamic optimization mechanism based on user feedback, resulting in a gradual decrease in the adaptability of the pushed resources to individual learning needs over time. Summary of the Invention
[0004] The purpose of the present invention is to provide a cloud resource error correction push method and a learning machine based on a point reading operation, which can effectively avoid errors in the process of calling cloud resources by statistically analyzing the point reading operation records of users.
[0005] To solve the above technical problems, the present invention is realized through the following technical solutions: The present invention provides a cloud resource error correction push method based on a point reading operation, including: Obtaining and storing the learning order between multiple teaching units in multiple early education reading materials; Obtaining and storing the early education resources corresponding to each teaching unit, and setting a uniquely corresponding resource location information for each early education resource; Continuously obtaining and recording the resource location information of each teaching unit in the early education reading materials called by each user each time to obtain the learning record of each user; Obtaining the call range of early education resources of the user in the current learning process according to the learning order between the teaching units in the early education reading materials and the learning record of each user; For the resource location information of the teaching unit in the early education reading material called by the user this time, determining whether to push in combination with the call range of the early education resources of the user in the current learning process; If so, pushing the resource location information of the early education reading material called by the user this time.
[0006] The present invention also discloses a cloud resource error correction and push method based on a point reading operation, including: Obtain the matrix data of the user's finger point reading operation; Generate resource location information for the teaching unit in the early education reading material called by the user this time according to the matrix data of the user's finger point reading; Read the internal storage to determine whether the teaching unit in the early education reading material called by the user this time is stored; If so, call the internal storage and respond to the user's finger point reading operation; If not, send the resource location information of the teaching unit in the early education reading material called by the user to the cloud resource side; If the teaching unit in the early education reading material called by the user pushed by the cloud resource side is obtained, respond to the user's finger point reading operation.
[0007] The present invention also discloses a learning machine, including: An information input module for obtaining the matrix data of the user's finger point reading operation; An internal storage for storing some teaching units in some early education reading materials; A resource scheduling module for generating resource location information for the teaching unit in the early education reading material called by the user this time according to the matrix data of the user's finger point reading; Read the internal storage to determine whether the teaching unit in the early education reading material called by the user this time is stored; If so, call the internal storage and respond to the user's finger point reading operation; If not, send the resource location information of the teaching unit in the early education reading material called by the user to the cloud resource side; If the teaching unit in the early education reading material called by the user pushed by the cloud resource side is obtained, respond to the user's finger point reading operation.
[0008] The present invention calls cloud resources through the resource scheduling module when the internal storage cannot be called, and the cloud resources are in the case of calling early education resources Of course, any product implementing the present invention does not necessarily need to achieve all the above advantages at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for describing the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0010] Figure 1 It is a schematic diagram of functional units and information flow directions of a learning machine according to an embodiment of the present invention; Figure 2Schematic diagram of the step flow of the cloud resource end according to an embodiment of the present invention; Figure 3 Schematic diagram of the step flow of step S5 according to an embodiment of the present invention; Figure 4 Schematic diagram of the step flow of step S51 according to an embodiment of the present invention; Figure 5 Schematic diagram of the step flow of step S512 according to an embodiment of the present invention; Figure 6 Schematic diagram of the step flow of step S514 according to an embodiment of the present invention; Figure 7 Schematic diagram of the step flow of step S5142 according to an embodiment of the present invention; In the drawings, the list of components represented by each reference numeral is as follows: 1 - Information entry module, 2 - Internal storage, 3 - Resource scheduling module, 4 - Cloud resource end. Detailed implementation manners
[0011] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.
[0012] It should be noted that the terms "first", "second", etc. in the present application are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments of the present application described here can be implemented in an order different from those illustrated or described here. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0013] Early education reading materials include audiobooks, books, cards, pictures, etc. The signal can be transmitted to the early education machine by pressing the thin-film key matrix circuit on the early education reading material or the relevant information on the early education reading material can be read by pressing, photographing, scanning, scanning codes, etc. on the early education machine, and then processed locally or uploaded to the cloud for processing, and the early education machine feeds back audio and video or conducts voice interaction.
[0014] Please refer to Figure 1As shown in the figure, the present invention provides a learning machine, which includes an information input module 1, an internal storage 2, and a resource scheduling module 3. During the operation of the learning machine, the matrix data of the user's finger reading operation is obtained by the information input module 1. In actual operation, it can also be obtained by inserting a card to read the card. Next, the internal storage 2 inside the learning machine stores some teaching units in some early education reading materials. The resource scheduling module 3 in the learning machine can generate the resource location information of the teaching unit called by the user in the early education reading material according to the matrix data of the user's finger reading. Then, it can read the internal storage to determine whether the teaching unit called by the user in the early education reading material is stored. If so, it calls the internal storage and responds to the user's finger reading operation. If not, it sends the resource location information of the teaching unit called by the user in the early education reading material to the cloud resource end 4.
[0015] The hardware functions of the early education machine can also include a control chip, a speaker, a battery, a microphone, a WIFI connection, a wireless transmission module, a vibrator, etc.
[0016] Press the thin-film key matrix circuit on the early education reading material to transmit the signal to the early education machine, or obtain the signal of the early education reading material on the early education machine by means of pressing induction, photographing, scanning, code scanning, etc. The early education machine can identify the source and category of the signal, and perform information processing through a data processing chip. The information processing is divided into two parts: local data processing and cloud data transmission. The local signal controls the playback of local audio and video files after passing through the signal processing chip.
[0017] The cloud data transmission transmits the relevant data to the cloud resource end 4 for processing. The cloud resource end 4 can also process the signal and data into two categories. One category is that the cloud processing system transmits the audio and video data to the early education machine in the cloud database according to the signal data content and plays it. The other category is that the cloud data processing system sends the user's data to the cloud artificial intelligence system. After the artificial intelligence system reads the user feature tags from the user usage record system according to the user data, it conducts voice interaction with the user through the early education machine and realizes intelligent question answering.
[0018] Please refer to Figures 1 to 2As shown, during operation, the cloud resource end 4 can first execute step S1 to obtain and store the learning order among multiple teaching units in multiple early education reading materials. Next, it can execute step S2 to obtain and store the early education resources corresponding to each teaching unit, and set unique corresponding resource location information for each early education resource. Next, it can execute step S3 to continuously obtain and record the resource location information of each teaching unit in the early education reading materials called by each user each time to obtain the learning record of each user. Next, it can execute step S4 to obtain the range of early education resource calls by the user during this learning process based on the learning order among the teaching units in the early education reading materials and the learning record of each user. Next, it can execute step S5 to determine whether to push for the resource location information of the teaching unit in the early education reading materials called by the user this time, in combination with the range of early education resource calls by the user during this learning process. If so, then it can execute step S6 to push the early education resources called by the user this time.
[0019] If not, and it is not appropriate to directly reject the user's request, a confirmation operation can be added. Specifically, first, step S7 can be executed to send a confirmation request to the user. If the user confirms that the teaching unit called in the early education reading material is correct, then step S8 can be executed next to continue pushing the resource location information of the early education reading material called by the user this time. If the user confirms that the teaching unit called in the early education reading material is incorrect, then step S9 can be executed next to not push the resource location information of the early education reading material called by the user this time, and prompt the user to perform a re-pointing operation to call the resource location information of the teaching unit in the early education reading material.
[0020] Please continue to refer to Figures 1 to 2 As shown, after the resource scheduling module 3 of the learning machine obtains the early education resources pushed by the cloud resource end 4, it can respond to the user's finger pointing operation, that is, play and display through interactive devices such as speakers and screens.
[0021] Please refer to Figures 3 to 4 As shown, during the process of dividing the range of early education resource calls by the user by the cloud resource end 4 in this solution, first, step S51 can be executed to obtain the estimated number of teaching units for retroactive review forward and the estimated number of new teaching units backward by the user during this learning process based on the learning order among multiple teaching units in the early education reading materials and the user's learning record. Specifically, first, step S511 can be executed to obtain the call time of each teaching unit in the early education reading material called by the user each time during previous learning processes based on the user's learning record. Next, step S512 can be executed to divide the user's previous learning time periods based on the call time of each teaching unit in the early education reading material called by the user each time during previous learning processes.
[0022] Please refer to Figure 3 and 5As shown, since the call times within the same learning period should be adjacent and close, when dividing the user's previous learning periods, the following steps can be executed first: Step S5121, obtain the call interval duration between all call times and adjacent call times based on the call times of each teaching unit in the early education reading materials called by the user during each previous learning process. Next, step S5122 can be executed to calculate and obtain the average value of the call interval durations of all call times to get the average call interval duration. Next, step S5123 can be executed to divide multiple call times with an interval duration less than or equal to the average call interval duration from adjacent call times into the same learning period. Next, step S5124 can be executed to determine whether there are call times that have not been divided into any learning period. If so, then step S5125 can be executed next to divide the call times that have not been divided into any learning period into the learning period with the shortest time interval. If not, then step S5126 can be executed next to not perform any operation and obtain the user's previous learning periods. Of course, not performing any operation here means not performing additional operations, which does not mean losing the response to the learning machine network request.
[0023] To supplement the implementation process of the above steps S5121 to S5126, the source code of some functional modules is provided, and corresponding explanations are given in the annotation part. To avoid data leakage of trade secrets, some data that does not affect the implementation of the solution is desensitized. The same applies hereinafter.
[0024] #include <iostream> #include <vector> #include <map> #include <string> #include <algorithm> #include <ctime> #include <numeric> #include <climits> / / Define the structure for teaching unit call records struct UnitAccessRecord { std::string unitId; / / Teaching unit ID time_t accessTime; / / Call time }; / / Define the structure for learning sessions struct LearningSession { time_t startTime; / / Start time of the learning session time_t endTime; / / End time of the learning session std::vector <unitaccessrecord>accessRecords; / / Call records during this period }; / / Cloud resource side class class CloudResourceServer { private: std::map<std::string, UserLearningRecord> userRecords; / / Store user learning records public: / / Record the time when the user calls the teaching unit void recordUserAccess(const std::string& userId, const std::string& unitId) { if (userRecords.find(userId) == userRecords.end()) { UserLearningRecord record; record.userId = userId; userRecords[userId] = record; } UnitAccessRecord accessRecord; accessRecord.unitId = unitId; accessRecord.accessTime = time(nullptr); / / Record the current time userRecords[userId].accessRecords.push_back(accessRecord); } / / Divide the user's previous learning periods according to the call time std::vector <learningsession>getLearningSessions(const std::string&userId) { std::vector <learningsession>sessions; if (userRecords.find(userId) == userRecords.end()) return sessions; auto&records = userRecords[userId].accessRecords; if (records.empty()) return sessions; / / Sort the call records by time std::sort(records.begin(), records.end(), [](const UnitAccessRecord& a, const UnitAccessRecord& b) { return a.accessTime < b.accessTime; }); / / Calculate the average of all call intervals std::vector<time_t> intervals; for (size_t i = 1; i < records.size(); ++i) { intervals.push_back(records[i].accessTime - records[i - 1].accessTime); } time_t avgInterval = intervals.empty()? 0 : std::accumulate(intervals.begin(), intervals.end(), 0) / intervals.size(); / / Initially divide learning sessions LearningSession session; session.startTime = records[0].accessTime; session.endTime = records[0].accessTime; session.accessRecords.push_back(records[0]); for (size_t i = 1; i<records.size(); ++i) { time_t interval = records[i].accessTime - records[i - 1].accessTime; if (interval<= avgInterval) { / / The same learning period session.endTime = records[i].accessTime; session.accessRecords.push_back(records[i]); } else { / / New learning period sessions.push_back(session); session = LearningSession(); session.startTime = records[i].accessTime; session.endTime = records[i].accessTime; session.accessRecords.push_back(records[i]); } } sessions.push_back(session); / / Add the last learning period / / Check if there are unclassified call times (theoretically there won't be, here for completeness) std::vector <unitaccessrecord>unassignedRecords; for (const auto&record : records) { bool isAssigned = false; for (const auto&session : sessions) { if (std::find(session.accessRecords.begin(),session.accessRecords.end(), record) != session.accessRecords.end()) { isAssigned = true; break; } } if (!isAssigned) { unassignedRecords.push_back(record); } } / / Divide the unassigned call times into the learning session with the shortest time interval for (const auto&record : unassignedRecords) { time_t minInterval = LONG_MAX; int targetSessionIndex = -1; for (size_t i = 0; i<sessions.size(); ++i) { time_t intervalToStart = abs(record.accessTime - sessions[i].startTime); time_t intervalToEnd = abs(record.accessTime - sessions[i].endTime); time_t minSessionInterval = std::min(intervalToStart,intervalToEnd); if (minSessionInterval < minInterval) { minInterval = minSessionInterval; targetSessionIndex = i; } } if (targetSessionIndex != -1) { sessions[targetSessionIndex].accessRecords.push_back(record); if (record.accessTime < sessions[targetSessionIndex].startTime) { sessions[targetSessionIndex].startTime = record.accessTime; } if (record.accessTime > sessions[targetSessionIndex].endTime) { sessions[targetSessionIndex].endTime = record.accessTime; } } } return sessions; } }; int main() { CloudResourceServer server; / / Sample user access records server.recordUserAccess("user1", "unit1"); sleep(1); / / Sample time interval server.recordUserAccess("user1", "unit2"); sleep(2); / / Sample time interval server.recordUserAccess("user1", "unit3"); sleep(3); / / Example time interval server.recordUserAccess("user1", "unit4"); / / Get the user's previous learning sessions auto sessions = server.getLearningSessions("user1"); std::cout << "Number of the user's previous learning sessions: " << sessions.size() << std::endl; for (const auto& session : sessions) { std::cout << "Learning session: " << session.startTime << " - " << session.endTime << ", Number of call records: " << session.accessRecords.size() << std::endl; } return 0; } This code implements the function of dividing learning sessions based on the user's call times. During the running process, it records the time of each user's call to the teaching unit and sorts them by time. Then it calculates the average value of all call interval durations as the basis for dividing learning sessions. Next, it divides the call times with call interval durations less than or equal to the average value into the same learning session. Then it checks if there are any unassigned call times and divides them into the learning session with the shortest time interval. Finally, it outputs the user's previous learning sessions and their call records.
[0025] Through the time interval analysis and dynamic division algorithm, the code realizes the accurate segmentation of the user's learning behavior and is applicable to educational equipment scenarios such as early education learning machines.
[0026] Please continue to refer to Figures 3 to 4 As shown, after dividing the user's previous learning sessions, the following steps can be executed: S513, according to the learning order between multiple teaching units in the early education reading materials and each time the user calls each teaching unit in the previous learning sessions, obtain the number of teaching units that the user traces back and reviews forward and the number of newly learned teaching units backward in previous learning. Finally, step S514 can be executed to obtain the estimated number of teaching units that the user traces back and reviews forward and the estimated number of newly learned teaching units backward in the current learning process according to the number of teaching units that the user traces back and reviews forward and the number of newly learned teaching units backward in previous learning.
[0027] Please refer to Figures 6 to 7 As shown, in the process of analyzing the estimated number of forward and backward teaching units in the current learning process of the user, it is necessary to consider the different learning states in different learning stages. Therefore, it is necessary to analyze the learning state of the current stage. Specifically, first, step S5141 can be executed to use the cumulative value of the difference between the number of teaching units traced back and reviewed forward by the user in two learning sessions and the number of newly learned teaching units backward as the learning state difference degree of the user in the two learning sessions. Based on the number of teaching units traced back and reviewed forward by the user in previous learning sessions and the number of newly learned teaching units backward, the learning state difference degree of any two learning sessions of the user in previous learning sessions can be obtained. Next, step S5142 can be executed to obtain the number of teaching units traced back and reviewed forward and the number of newly learned teaching units backward in each learning session within the current learning stage of the user based on the learning state difference degree of any two learning sessions of the user in previous learning sessions.
[0028] In the process of analyzing the learning state of the current stage, it is necessary to make a division in combination with the state difference degree of each learning session. Specifically, first, step S51421 can be executed to select several learning sessions as reference learnings in previous learning sessions and obtain the learning state difference degree between each reference learning and other previous learning sessions. Next, step S51422 can be executed to divide the other previous learning sessions except the reference learnings and the reference learning with the smallest learning state difference degree into the same learning stage. Next, step S51423 can be executed to determine whether each learning session within the divided learning stage is adjacent and continuous in time. If so, it means that the division of the stage is sufficient. Therefore, next, step S51424 can be executed to use the learning stage closest to the current moment in time as the current learning stage of the user, and obtain the number of teaching units traced back and reviewed forward and the number of newly learned teaching units backward in each learning session within the current learning stage of the user. If not, it means that the stage division is incorrect. Therefore, next, step S51425 can be executed to re-select the reference learning, that is, within each learning stage, calculate and obtain the cumulative value of the learning state difference degree between each learning session and all other learning sessions, and use the learning session corresponding to the smallest cumulative value as the re-selected reference learning. And re-divide the learning stage and re-determine whether each learning session within the divided learning stage is adjacent and continuous in time.
[0029] To supplement the implementation process of the above steps S5141 to S5143, the source code of some functional modules is provided, and corresponding explanatory notes are given in the annotation part.
[0030] #include <iostream> #include <vector> #include <map> #include <string> #include <algorithm> #include <cmath> #include <limits> / / Define the learning record structure struct LearningRecord { int reviewCount; / / Number of teaching units to review retroactively int newCount; / / Number of newly learned teaching units going forward time_t time; / / Learning time }; / / Define the learning stage structure struct LearningStage { std::vector <learningrecord>records; / / Learning records within this stage }; / / Calculate the difference in learning states between two learnings double calculateStateDifference(const LearningRecord& a, const LearningRecord& b) { int reviewDiff = a.reviewCount - b.reviewCount; / / Difference in review count int newDiff = a.newCount - b.newCount; / / Difference in newly learned count return std::sqrt(reviewDiff * reviewDiff + newDiff * newDiff); / / Euclidean distance } / / Obtain the difference in learning states between the baseline learning and other learnings std::vector <double>getStateDifferences(const LearningRecord&base,const std::vector <learningrecord>&records) { std::vector <double>differences; for (const auto&record : records) { differences.push_back(calculateStateDifference(base, record)); } return differences; } / / 划分学习阶段 std::vector <learningstage>partitionLearningStages(const std::vector <learningrecord>&records, int numBases) { std::vector <learningstage>stages; if (records.empty()) return stages; / / Select the first numBases learning times as the baseline learning std::vector <learningrecord>bases(records.begin(), records.begin() + numBases); for (const auto& base : bases) { LearningStage stage; stage.records.push_back(base); stages.push_back(stage); } / / Divide other learning into the stage corresponding to the baseline learning with the smallest learning state difference for (size_t i = numBases; i < records.size(); ++i) { double minDiff = std::numeric_limits <double>::max(); size_t minIndex = 0; for (size_t j = 0; j < bases.size(); ++j) { double diff = calculateStateDifference(records[i], bases[j]); if (diff < minDiff) { minDiff = diff; minIndex = j; } } stages[minIndex].records.push_back(records[i]); } return stages; } / / Determine whether the learning records within the learning stage are adjacent and continuous in time bool isStageContinuous(const LearningStage& stage) { if (stage.records.size() < 2) return true; / / Sort by time auto sortedRecords = stage.records; std::sort(sortedRecords.begin(), sortedRecords.end(), [](const LearningRecord& a, const LearningRecord& b) { return a.time < b.time; }); / / Check if the time is continuous for (size_t i = 1; i < sortedRecords.size(); ++i) { if (sortedRecords[i].time - sortedRecords[i - 1].time > 3600 * 24) { / / Assume that a time interval exceeding 1 day is discontinuous return false; } } return true; } / / Re - select the reference learning and re - divide the learning stage std::vector <learningstage>repartitionLearningStages(const std::vector <learningstage>&stages) { std::vector <learningstage>newStages; for (const auto& stage : stages) { if (stage.records.empty()) continue; / / Calculate the cumulative value of the learning status difference between each learning record and other learning records std::vector <double>diffSums(stage.records.size(), 0.0); for (size_t i = 0; i < stage.records.size(); ++i) { for (size_t j = 0; j < stage.records.size(); ++j) { if (i != j) { diffSums[i] += calculateStateDifference(stage.records[i], stage.records[j]); } } } / / Select the learning record with the smallest cumulative difference value as the new reference learning auto minIt = std::min_element(diffSums.begin(), diffSums.end()); size_t minIndex = std::distance(diffSums.begin(), minIt); LearningStage newStage; newStage.records.push_back(stage.records[minIndex]); for (size_t i = 0; i < stage.records.size(); ++i) { if (i != minIndex) { newStage.records.push_back(stage.records[i]); } } newStages.push_back(newStage); } return newStages; } / / Obtain the current learning stage LearningStage getCurrentLearningStage(const std::vector <learningstage>&stages) { if (stages.empty()) return LearningStage(); / / Select the learning stage whose time is closest to the current moment time_t currentTime = time(nullptr); double minTimeDiff = std::numeric_limits <double>::max(); size_t minIndex = 0; for (size_t i = 0; i < stages.size(); ++i) { for (const auto& record : stages[i].records) { double timeDiff = std::abs(difftime(currentTime, record.time)); if (timeDiff < minTimeDiff) { minTimeDiff = timeDiff; minIndex = i; } } } return stages[minIndex]; } / / Estimate the number of reviews and new learnings for this study void estimateUnitCount(const std::vector <learningrecord>&records, int&estimatedReviewCount, int&estimatedNewCount) { if (records.empty()) { estimatedReviewCount = 0; estimatedNewCount = 0; return; } / / Divide the learning stages auto stages = partitionLearningStages(records, 2); / / Assume 2 reference learnings are selected for (auto&stage : stages) { if (!isStageContinuous(stage)) { stages = repartitionLearningStages(stages); / / Repartition the learning stages break; } } / / Get the current learning stage auto currentStage = getCurrentLearningStage(stages); / / Calculate the maximum review and new learning counts within the current learning stage estimatedReviewCount = 0; estimatedNewCount = 0; for (const auto&record : currentStage.records) { if (record.reviewCount>estimatedReviewCount) { estimatedReviewCount = record.reviewCount; } if (record.newCount>estimatedNewCount) { estimatedNewCount = record.newCount; } } } int main() { / / Example user's previous learning records std::vector <learningrecord>records = { {3, 2, time(nullptr) - 3600 * 24 * 5}, / / 5 days ago {4, 3, time(nullptr) - 3600 * 24 * 4}, / / 4 days ago {2, 1, time(nullptr) - 3600 * 24 * 3}, / / 3 days ago {5, 4, time(nullptr) - 3600 * 24 * 2}, / / 2 days ago {3, 2, time(nullptr) - 3600 * 24 * 1} / / 1 day ago }; / / Estimate the number of review and new learning units for this study int estimatedReviewCount, estimatedNewCount; estimateUnitCount(records, estimatedReviewCount,estimatedNewCount); std::cout << "Estimated number of review units: " << estimatedReviewCount << ", estimated number of new learning units: " << estimatedNewCount << std::endl; return 0; } This code implements the function of estimating the number of review and new learning units based on the user's previous learning records. First, calculate the learning state difference degree of previous learning and divide the learning stages. Then, judge whether the learning records within the learning stage are adjacent and continuous in time. If not, re-divide the learning stage. Next, select the learning stage closest to the current time as the current learning stage. Finally, take the maximum value of the number of reviews and new learning within the current learning stage as the estimated quantity for this study.
[0031] Through the calculation of state difference degree, learning stage division, and dynamic estimation algorithm, the code realizes the intelligent analysis of the user's learning behavior and is applicable to educational equipment scenarios such as early education learning machines.
[0032] Please continue to refer to Figure 6 As shown, after completing the division of the current stage, the following steps can be executed. In step S5143, the maximum number of teaching units for retroactive review during each learning session within the user's current learning stage and the maximum number of newly learned teaching units backward are respectively used as the estimated number of teaching units for retroactive review forward and the estimated number of newly learned teaching units backward by the user during this learning process.
[0033] Please continue to refer to Figure 3 As shown, after the learning records are sorted out at the cloud resource end 4, the following steps can be executed next. In step S52, the user's most recently newly learned teaching unit backward during the previous learning process is obtained according to the user's learning records. Finally, in step S53, the scope of early education resource invocation by the user during this learning process is obtained according to the learning sequence between the teaching units in the early education reading materials, the user's most recently newly learned teaching unit backward during the previous learning process, and the estimated number of teaching units for retroactive review forward and the estimated number of newly learned teaching units backward by the user during this learning process. Of course, in actual operation, the scope of early education resource invocation can also be manually adjusted to avoid excessive false alarms.
[0034] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of devices, systems, methods, and computer program products according to multiple embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of an instruction, and the module, the segment of the program, or the part of the instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than marked in the accompanying drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved.
[0035] It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by hardware that performs the corresponding functions or actions, such as a circuit or an ASIC (Application Specific Integrated Circuit), or can be implemented by a combination of hardware and software, such as firmware, etc.
[0036] Although the present invention has been described in connection with the various embodiments, however, in the process of implementing the claimed invention, those skilled in the art can understand and realize other variations of the disclosed embodiments by viewing the accompanying drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0037] The various embodiments of the present application have been described above. The above description is exemplary and not exhaustive, and is also not limited to the disclosed embodiments. Many modifications and variations are obvious to those of ordinary skill in the art without departing from the scope of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or the improvement of the technology in the market, or to enable other ordinary skilled in the art to understand the disclosed embodiments.< / learningrecord> < / learningrecord> < / double> < / learningstage> < / double> < / learningstage> < / learningstage> < / learningstage> < / double> < / learningrecord> < / learningstage> < / learningrecord> < / learningstage> < / double> < / learningrecord> < / double> < / learningrecord> < / limits> < / cmath> < / algorithm> < / string> < / map> < / vector> < / iostream> < / unitaccessrecord> < / learningsession> < / learningsession> < / unitaccessrecord> < / climits> < / numeric> < / ctime> < / algorithm> < / string> < / map> < / vector> < / iostream>
Claims
1. A cloud resource error correction push method based on point reading operation, characterized in that: include, Acquire and store the learning sequence between multiple teaching units in multiple early childhood reading materials; Obtain and store the early childhood education resources corresponding to each teaching unit, and set unique corresponding resource location information for each early childhood education resource; Continuously obtain and record the resource location information of each user's call of the teaching unit in the early childhood reading material to obtain each user's learning record; According to the learning sequence between the teaching units in the early childhood education books and the learning records of each user, the scope of early childhood education resources that the user can call in this learning process is obtained; For the resource location information of the teaching unit in the early childhood education reading material called by the user this time, it is determined whether to push it in combination with the scope of early childhood education resource calling by the user in this learning process; If so, push the early childhood education resources that the user called this time.
2. The method according to claim 1, characterized in that The step of obtaining the scope of early childhood education resource calls of the user in the current learning process according to the learning sequence between the teaching units in the early childhood education books and the learning records of each user includes: According to the learning sequence of multiple teaching units in the early childhood education book and the user's learning record, the estimated number of teaching units that the user needs to review and the estimated number of new teaching units that the user needs to learn in the current learning process are obtained; According to the user's learning record, the user's latest learning unit in the last learning process is obtained; The scope of early education resource calls for the user in this learning process is obtained based on the learning order between the teaching units in the early education reading materials, the most recent teaching unit learned by the user in the last learning process, the estimated number of teaching units reviewed by the user in this learning process, and the estimated number of new teaching units learned in the future.
3. The method according to claim 2, characterized in that The step of obtaining the estimated number of teaching units to be reviewed and the estimated number of new teaching units to be learned by the user in the current learning process according to the learning sequence of the multiple teaching units in the early childhood education book and the user's learning record includes: According to the user's learning records, the calling time of each teaching unit in the early education reading material is obtained each time the user calls it during the previous learning process; The user's previous learning periods are obtained according to the calling time of each teaching unit in the early education reading material each time during the previous learning process; According to the learning order between multiple teaching units in the early education reading material and each time the user calls each teaching unit in the teaching reading material during the previous learning period, the number of teaching units that the user has reviewed and the number of new teaching units that the user has learned in the previous learning period are obtained; According to the number of teaching units that the user has reviewed and learned in previous studies, the estimated number of teaching units that the user will review and learn in this study process is obtained.
4. The method according to claim 3, characterized in that The step of obtaining the user's previous learning periods according to the calling time of each teaching unit in the early education reading material each time the user calls it during the previous learning process, include, According to the calling time of each teaching unit in the early education reading material called by the user each time during the previous learning process, the calling interval length of all calling times and adjacent calling times is obtained; Calculate the average call interval duration of all call times to get the average call interval duration; Divide multiple call times whose intervals with adjacent call times are less than or equal to the average call interval into the same learning period; Determine whether there is a call time that is not allocated to any learning period; If yes, the calling time that is not divided into any learning period is divided into the learning period with the shortest time interval, and the user's previous learning periods are obtained; If not, no operation is performed and the user's previous learning periods are obtained.
5. The method according to claim 3, characterized in that: The step of obtaining the estimated number of teaching units that the user will review and learn in the current learning process based on the number of teaching units that the user has reviewed and learned in previous learning processes, and the estimated number of teaching units that the user will review and learn in the future, includes: The cumulative value of the difference between the number of teaching units reviewed and newly learned by the user in two learning sessions is taken as the learning status difference degree of the user in the two learning sessions. The learning status difference degree of any two learning sessions of the user in the previous learning sessions is obtained according to the number of teaching units reviewed and newly learned by the user in the previous learning sessions. According to the difference between the learning states of any two learnings of the user in previous learnings, the number of teaching units to be reviewed and the number of teaching units to be newly learned in each learning of the user in the current learning stage are obtained; The maximum number of teaching units reviewed forward and the maximum number of new teaching units learned backward in each study in the user's current learning stage are respectively taken as the estimated number of teaching units reviewed forward and the estimated number of new teaching units learned backward in this learning process.
6. The method according to claim 5, characterized in that The step of obtaining the number of teaching units to be reviewed and the number of teaching units to be newly learned in each learning of the user in the current learning stage according to the difference in learning status between any two learnings of the user in previous learnings includes: Selecting a number of learning sessions from all previous learning sessions as benchmark learning sessions, and obtaining the learning state difference between each benchmark learning session and other previous learning sessions; Classify all previous learnings other than the baseline learning and the baseline learning with the smallest difference in learning status into the same learning stage; Determine whether each learning in the divided learning stage is adjacent and continuous in time; If yes, then the learning stage closest to the current moment is taken as the user's current learning stage, and the number of teaching units reviewed and newly learned in each learning of the user's current learning stage is obtained; If not, the benchmark learning is reselected, the learning stages are re-divided, and it is re-determined whether each learning in the divided learning stages is adjacent and continuous in time.
7. The method according to claim 6, characterized in that The step of reselecting the benchmark learning, include, In each learning stage, the cumulative value of the difference between each learning state and all other learning states is calculated, and the learning corresponding to the smallest cumulative value is used as the benchmark learning after reselection.
8. The method according to claim 1, characterized in that Also includes, If not, a confirmation request is sent to the user; If the user confirms that the teaching unit in the early childhood education book he / she has called is correct, the resource location information of the early childhood education book called by the user will continue to be pushed; If the user confirms that the teaching unit in the early childhood education book he / she called is incorrect, the early childhood education resources called by the user this time will not be pushed, and the user will be prompted to re-perform the point-to-read operation to call the resource location information of the teaching unit in the early childhood education book.
9. A cloud resource error correction push method based on point reading operation, characterized in that: include, Get the matrix data of the user's finger reading operation; Generate resource location information of the teaching unit in the early childhood education reading material called by the user according to the matrix data pointed and read by the user; Read the internal storage to determine whether the teaching unit in the early childhood education book called by the user is stored; If yes, call the internal storage and respond to the user's finger reading operation; If not, the resource location information of the teaching unit in the early childhood education reading material called by the user is sent to the cloud resource end; If the early childhood education resource called by the user in the cloud resource error correction push method based on point reading operation as described in any one of claims 1 to 8 is pushed by the cloud resource end, the user's finger reading operation is responded to.
10. A learning machine, characterized in that: include, An information input module is used to obtain matrix data of the user's finger reading operation; Internal storage, used to store some teaching units in some early childhood reading materials; The resource scheduling module is used to generate the resource location information of the teaching unit in the early childhood education reading material called by the user according to the matrix data pointed and read by the user; Read the internal storage to determine whether the teaching unit in the early childhood education book called by the user is stored; If yes, call the internal storage and respond to the user's finger reading operation; If not, the resource location information of the teaching unit in the early childhood education reading material called by the user is sent to the cloud resource end; If the early childhood education resource called by the user in the cloud resource error correction push method based on point reading operation as described in any one of claims 1 to 8 is pushed by the cloud resource end, the user's finger reading operation is responded to.
Citation Information
Patent Citations
Synthesis method of 2-(4 '-ethylbenzoyl) benzoic acid
CN111747839A