Graph data processing program, graph data processing method, and graph data processing device
The system processes hand-drawn graphs using regression models to select and display the graph with the highest accuracy, addressing the challenge of online graph drawing and assessment.
Patent Information
- Application Number
- JP2023071177
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-04-25
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2041-12-16
AI Technical Summary
Students struggle to accurately draw graphs by hand on a computer during online tests, and it is difficult for teachers to assess the authenticity of such hand-drawn graphs.
A system that processes hand-drawn graphs by identifying plot points, applies regression models to generate a regression graph, and selects the graph with the highest regression accuracy to represent the user's intended graph, displaying it on a computer.
Accurately displays the user's intended graph on a computer, enabling effective grading by comparing it to a model answer, thus ensuring accurate assessment of graph-drawing skills.
Smart Images

Figure 0007732479000001 
Figure 0007732479000002 
Figure 0007732479000003
Abstract
Description
[Technical Field]
[0001] The present invention is Data Processing program ,Graph data processing method and Graph Data Processing Device Regarding. [Background technology]
[0002] In recent years, online classes have been increasingly adopted. Tests and other tests are also conducted online. Systems capable of automatically marking such online tests have also been proposed. Mathematical tests and other tests often include questions that require students to draw graphs. However, it is difficult for test takers, such as students, to accurately draw graphs by hand on a computer. On the other hand, if a graph is automatically drawn based on an input graph formula, it is difficult for teachers and other test scorers to determine whether the test taker truly understood the graph. Therefore, there is a need for technology that supports hand-drawing graphs on a computer. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-181903 Summary of the Invention [Problem to be solved by the invention]
[0004] The present invention is a method for accurately displaying a graph on a computer as intended by a user who has drawn a graph by hand. process The graph to be displayed Data Processing program ,Graph data processing method and Graph Data Processing Device The purpose is to provide the following. [Means for solving the problem]
[0005] The graph data processing program according to the first aspect of the present invention processes a graph input by handwriting. and obtaining plot points, and generating a first plot corresponding to a particular regression model based on the obtained plot points. A roughness is identified, and based on a comparison result between the identified first graph and a predetermined second graph, The computer executes a control process to output information. The control process identifies a plurality of graphs by performing regression calculations using a plurality of regression models for the acquired plot points, and identifies the graph with the highest regression accuracy based on the regression calculations as the first graph among the identified plurality of graphs. . [Effects of the Invention]
[0007] According to the present invention, the graph intended by the user who has drawn the graph by hand is correctly displayed on the computer. process The graph to be displayed Data Processing program ,Graph data processing method and Graph Data Processing Device can be provided. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing an example of the configuration of a system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing an example of a screen display by an application running on a web browser of the terminal 20a. [Figure 3] FIG. 3 is a flowchart showing an example of the operation of the system when creating an answer sheet for a test or the like. [Figure 4] FIG. 4 is a diagram showing an example of the question creation screen. [Figure 5] FIG. 5 is a flowchart showing the operation of the system when distributing the created questions. [Figure 6] FIG. 6 is a flowchart showing the operation of the system when answering a question. [Figure 7] FIG. 7 is a diagram showing an example of an answer screen displayed on the terminal 20b. [Figure 8] FIG. 8 is a flowchart showing the graph input process. DETAILED DESCRIPTION OF THE INVENTION
[0009] An embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a diagram showing an example of the configuration of a system 1 according to an embodiment of the present invention. The system 1 includes a server 10 and terminals 20a and 20b. The server 10 and the terminals 20a and 20b are communicably connected via a network 30. The network 30 is, for example, the Internet. The number of terminals is not limited to two.
[0010] The server 10 includes a processor 11, a ROM 12, a RAM 13, a storage 14, and a communication device 15. These are connected to each other via a system bus 19.
[0011] The processor 11 may be an integrated circuit including a CPU (Central Processing Unit) and the like. The ROM 12 stores information used for the operation of the processor 11 and the like. The RAM 13 is a main storage device for the operation of the processor 11 and the like. The storage 14 stores various programs, parameters, etc., such as a server control program used by the processor 11 and an arithmetic program for executing various calculations. The server control program includes a graph drawing program. The processor 11 controls the operation of the server 10 according to the program stored in the storage 14. The processor 11 may operate, for example, as a calculation unit, a first determination unit, a second determination unit, a selection unit, and a drawing unit according to the drawing program stored in the storage 14. Processors other than a CPU, such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a GPU (Graphic Processing Unit), may also be used. The communication device 15 includes a circuit for communicating with an external communication network such as the network 30.
[0012] Terminals 20a and 20b may be electronic devices such as personal computers (PCs), tablet terminals, smartphones, etc. Terminals 20a and 20b may also be scientific calculators with communication functions, etc. Terminal 20a is a terminal operated by a test grader such as a teacher. Terminal 20b is a terminal operated by a test taker such as a student. Below, the configuration of terminal 20a will be described assuming that terminal 20a and terminal 20b have the same configuration. Below, where necessary, a grader may be referred to as a first user and a test taker as a second user.
[0013] The terminal 20a has a CPU 21, a ROM 22, a RAM 23, a storage 24, an input device 25, a display device 26, and a communication device 27. These are connected to each other via a system bus 29. Note that the terminal 20a and the terminal 20b do not necessarily have to have the same configuration.
[0014] The CPU 21 is a processor that controls various operations of the terminal 20a. The ROM 22 stores a startup program for the terminal 20a and the like. The RAM 23 is a main storage device for the CPU 21 and the like. The storage 24 stores various programs, such as a terminal control program, used by the CPU 21, as well as parameters and the like. The CPU 21 controls the operation of the terminal 20a by executing the various programs in response to input signals from the input device 25 and signals received by the communication device 27. The various programs may be downloaded to the storage 24 from a web server (not shown) via the network 30 and the communication device 27. The communication device 27 includes a circuit for communicating with an external communication network such as the network 30.
[0015] The input device 25 includes a keyboard, a mouse, a touch panel, etc. In response to a user's operation via the input device 25, a signal indicating the content of the user's operation is input to the CPU 21 via the system bus 29.
[0016] The display device 26 is a liquid crystal display, an organic EL display, etc. The display device 26 may be provided integrally with the terminal 20a, or may be provided separately from the terminal 20a. Various images are displayed on the display device 26.
[0017] In one example, a first user specifies the address of the server 10 in a web browser running on terminal 20a. At this time, a display screen for a web application stored in server 10 is displayed on the web browser on terminal 20a. A request to server 10 is issued in response to an operation on this display screen via input device 25. This operation includes an operation such as creating test questions. Server 10 executes processing in response to the request and returns the processing result to terminal 20a as a response. Terminal 20a displays or performs other operations in response to the user's operation in response to the response from server 10. Similarly, a second user specifies the address of the server 10 in a web browser running on terminal 20b. At this time, a display screen for a web application stored in server 10 is displayed on the web browser on terminal 20b. A request to server 10 is issued in response to an operation on this display screen via input device 25. This operation includes an operation such as entering answers to test questions. Server 10 executes processing in response to the request and returns the processing result to terminal 20b as a response. Terminal 20b displays or performs other operations in response to the user's operation in response to the response from server 10. In this way, in the system 1, the programs running on the web browsers of the terminals 20a and 20b and the computing program of the server 10 realize the function of a web application for testing and the like.
[0018] Such web applications can be used in mathematics classes, for example, in school education where ICT (Information and Communication Technology) is becoming more prevalent.
[0019] FIG. 2 is a diagram showing an example of a screen display by an application running on a web browser of the terminal 20a.
[0020] The screen 26a displayed on the display device 26 of the terminal 20a includes an upper area 100a and a lower area 100b. The upper area 100a is displayed at the top of the screen 26a. The upper area 100a is a longer and narrower area than the lower area 100b. A new paper creation icon 100c is displayed in the upper area 100a. An answer sheet creation button 100d is also displayed in the upper area 100a. The lower area 100b is an area located below the upper area 100a on the screen 26a. In the following description, the lower area 100b is also referred to as paper 100. Various "sticky notes" 101 may be displayed on the paper 100. The sticky notes 101 are a display area for displaying various information related to web applications. For example, the sticky notes 101 include formula sticky notes for creating formulas, graph sticky notes for creating graphs, table sticky notes for creating tables, figure sticky notes for creating shapes, and comment sticky notes for creating comments. The sticky notes 101 may be floating objects. A floating object is an object (display body) that is displayed on the screen and can change at least its display position in response to a user operation.
[0021] In this embodiment, the system 1 can create various sticky notes starting from a blank paper 100. The same paper 100 as that of the terminal 20a can be displayed on the terminal 20b. However, the answer sheet creation button 100d does not have to be displayed on the paper 100 of the terminal 20b.
[0022] The following describes the flow of a series of processes in the system 1. Fig. 3 is a flowchart showing an example of the operation of the system 1 when creating an answer paper for a test or the like. The following describes an example of creating an answer paper for a graph drawing problem in mathematics or the like.
[0023] The process of FIG. 3 is initiated when an answer sheet creation button 100d is selected on the screen of a web application running on the terminal 20a. When the web application is started, a login process, such as inputting an ID and password, may be performed. The process of FIG. 3 is executed by cooperation between the CPU 21 of the terminal 20a and the processor 11 of the server 10. A first user, such as a teacher, who is in a position to create an answer sheet creates the answer sheet on a question creation screen 200 shown in FIG. 4. The question creation screen 200 may be displayed within the sticky note 101 or may be displayed separately from the sticky note 101. As shown in FIG. 4, the question creation screen 200 has a question statement input field 201, a score allocation input field 202, a model answer input field 203, a graph drawing area 204, a judgment range input field 205, and a create button 206. The question statement input field 201 is an input field for entering a question statement for a test. The point allocation input field 202 is an input field for inputting the point allocation value for the corresponding question. The model answer input field 203 is an input field for inputting the graph formula of the model answer for the corresponding question. The graph drawing area 204 is an area for drawing a graph corresponding to the graph formula of the input model answer. The judgment range input field 205 is an input field for inputting the judgment range. The create button 206 is a button selected when completing the creation of the question. The user can select each input field, etc. by moving the cursor 207 or directly touching it on the question creation screen 200 displayed on the web browser.
[0024] In step S1, the first user inputs a question statement into the question statement input field 201 on the question creation screen 200. The first user also inputs the score for the question into the score input field 202 on the question creation screen 200. The content input by the first user is transferred to the server 10. The processor 11 of the server 10 updates the display of the question statement input field 201 in accordance with the input content, and returns the updated screen to the terminal 20a.
[0025] In step S2, the first user inputs a graph formula of a model answer for the question statement input in the question statement input field 201 into the model answer input field 203 of the question creation screen 200. The content input by the first user is transferred to the server 10. The processor 11 updates the display of the model answer input field 203 in accordance with the input content. The processor 11 also draws a graph corresponding to the model answer in the graph drawing area 204 based on the input graph formula. In FIG. 4, the graph formula of the model answer, y=2x 2 An example is shown where the graph of -8x+6 is drawn.
[0026] Furthermore, the processor 11 extracts characteristic points in the graph formula of the input model answer. Characteristic points are determined for each graph formula. For example, when the graph formula is a linear function, the characteristic points are the intersections with the x-axis. Characteristic points may include intersections with the y-axis, etc. Also, for example, when the graph formula is a higher-order function such as a quadratic function or a cubic function, the characteristic points are intersections with the x-axis, minimum points, maximum points, and inflection points. Characteristic points may include intersections with the y-axis, etc. Also, for example, when the graph formula is a logarithmic function, the characteristic points are intersections with the x-axis, points at infinity, i.e., end points in the graph drawing area 204, etc. In this example, when the graph formula of the model answer is y=2x 2 The intersection points with the x-axis at -8x+6, (x,y)=(1,0) and (3,0), and the minimum point, (x,y)=(2,-2), are extracted.
[0027] After extracting these feature points, the processor 11 sets a predetermined judgment range for each feature point. The judgment range is a range used in the graph input process described later to determine whether the input graph represents the graph shown in the graph formula of the model answer. When a feature point of the input graph falls within the judgment range, the input graph is determined to represent the graph shown in the graph formula of the model answer. Details will be described later. The judgment range has coordinates (x, y) of a center point, a width w, and a height h. The coordinates of the center point are the coordinates of the center point of the judgment range. For example, the initial values of the coordinates of the center point of the judgment range are the coordinates of the feature point. The width w is the range of the judgment range in the x-axis direction. For example, with the center point as the reference point, a range of ±1 / 2w is set as the range of the x-axis direction of the judgment range. The height h is the range of the judgment range in the y-axis direction. For example, with the center point as the reference point, a range of ±1 / 2h is set as the range of the y-axis direction of the judgment range. For example, the initial values of the width w and height h are 0.5.
[0028] After setting the judgment ranges, the processor 11 displays the judgment ranges set for each feature point in the judgment range input field 205. Furthermore, the processor 11 also displays the set judgment ranges in the graph drawing area 204. The judgment range 204a in FIG. 4 is the judgment range set for the minimum point. The judgment range 204b in FIG. 4 is the judgment range set for the intersection with the x-axis (1,0). The judgment range 204c in FIG. 4 is the judgment range set for the intersection with the x-axis (3,0). Thereafter, the processor 11 returns the updated screen to the terminal 20a.
[0029] Returning to the description of FIG. 3, in step S3, the first user resets the judgment range displayed in the judgment range input field 205 as necessary. For example, the first user inputs desired values into the x, y, w, and h input fields of the judgment range input field 205. Also, for example, the first user enlarges or reduces the judgment ranges 204a, 204b, and 204c displayed in the graph drawing area 204, for example, by dragging. The content input by the first user is transferred to the server 10. The processor 11 updates the judgment range according to the input content. The processor 11 also updates the display of the judgment range input field 205 and returns the updated screen to the terminal 20a. It is desirable to impose restrictions on the values of x, y, w, and h that can be set by the first user. Such restrictions can be imposed to improve the accuracy of determining whether the input graph represents the graph indicated by the graph formula of the model answer. The system may also be configured so that the judgment range can be set for any point on the graph other than the feature points shown in FIG. 4. For example, when the first user specifies a point on the graph displayed in the graph drawing area 204, the processor 11 displays the coordinates of the specified point. The first user may specify a width w and a height h for the coordinates of the displayed point.
[0030] In step S4, processor 11 determines whether or not the creation of the question is complete. For example, the first user checks the content of the question that he or she created. Then, when the first user confirms that the creation of the question is complete, the first user selects create button 206. When create button 206 is selected, it is determined that the creation of the question is complete. If it is determined in step S4 that the creation of the question is not complete, the process returns to step S1. If it is determined in step S4 that the creation of the question is complete, the process proceeds to step S5.
[0031] In step S5, processor 11 creates answer paper 100 from the data of the created question, and registers the data of the created answer paper 100 in storage 14. As will be described later, answer paper 100 is data including a display field for the question sentence and a field for inputting the answer. Here, answer paper 100 may be created from data of multiple questions. Also, a unique URL is associated with answer paper 100. After registering the data of answer paper 100 in storage 14, processor 11 ends the processing of FIG. 3.
[0032] 5 is a flowchart showing the operation of the system 1 when distributing the created questions. The process in FIG. 5 is initiated in response to a distribution request from the terminal 20a. The distribution request may be made, for example, by an operation on the terminal 20a of the first user while a web application is running.
[0033] In step S101, the first user selects a question to be distributed. For example, when a distribution request is made, the processor 11 returns a list of questions created by the first user who made the distribution request to the terminal 20a that made the distribution request. The first user selects a question to be distributed from the list of questions. When a question is selected, the process proceeds to step S102. Note that, together with the selection of the question to be distributed, the distribution date and time of the question, the deadline for publishing the question, etc. may also be set.
[0034] In step S102, the first user sets the destination of the question. After the question is selected, the processor 11 returns, for example, a list of second users who will be tested by the first user to the terminal 20a. The first user sets the second users to whom the question will be sent from the list. Once the destinations have been set, the process proceeds to step S102. Setting the destinations is not limited to selecting from a list. The destinations may also be set by the first user directly specifying the user names or email addresses of the respective second users.
[0035] In step S103, the processor 11 registers in the storage 14 information indicating the selected question and information indicating the distribution destination of the question.
[0036] In step S104, the processor 11 notifies the terminal 20b of the second user, to whom the question is to be distributed, that the question has been registered. Then, the processor 11 ends the processing of FIG. 5. The notification may be, for example, a notification by email, a notification by short message, or the like. The notification includes at least the URL of the question. The second user can answer the question by accessing the URL specified by the server 10 using the terminal 20b. Here, if the distribution date and time of the question, the publication deadline for the question, etc. are set, the notification also includes information on the distribution date and time and the publication deadline. If the distribution date and time of the question is set, the second user cannot answer the question until the set distribution date and time arrives. Furthermore, if the publication deadline is set, the second user cannot answer the question after the set publication deadline.
[0037] Fig. 6 is a flowchart showing the operation of the system 1 when answering a question. The processing in Fig. 6 is executed by cooperation between the CPU 21 of the terminal 20b and the processor 11 of the server 10. A second user who is in a position to answer the question of a student or the like accesses a URL specified by the server 10 using the terminal 20b.
[0038] In step S201, the second user selects a question to be answered by the second user from the distributed questions. The processor 11 returns the paper 100 including an answer screen for the question selected by the user to the terminal 20b. For example, when a specified URL is accessed from the terminal 20b, the processor 11 returns a list of questions to the terminal 20b that has accessed the URL. The second user selects a question to be answered by the second user from the list of questions. The processor 11 returns the paper 100 including an answer screen for the selected question to the terminal 20b. Alternatively, for example, when a specified URL is accessed from the terminal 20b, the processor 11 may return the paper 100 including an answer screen for the first question, Question 1, to the terminal 20b that has accessed the URL. In this case, if the second user subsequently requests to change the question, the processor 11 may return the paper 100 including an answer screen for a different question to the terminal 20b that has accessed the URL.
[0039] 7 is a diagram showing an example of an answer screen displayed on terminal 20b. The answer screen is displayed, for example, in a sticky note 101 on answer paper 100. If answer paper 100 is created from data on multiple questions, one sticky note 101 containing an answer screen for one question may be displayed, multiple sticky notes 101 containing answer screens for each question may be displayed simultaneously, or one sticky note 101 containing answer screens for each question may be displayed.
[0040] As shown in FIG. 7, the answer screen has a question display field 301, an answer input field 302, an answer button 303, a question change button 304, and an end test button 305. The question display field 301 is a display field for the question created by the first user. The answer input field 302 is an input field for the second user to input an answer to the question. The answer input field 302 in FIG. 7 is an answer input field 302 for a graph drawing question. In this case, initially, only a coordinate plane is displayed in the answer input field 302. The user draws a graph by hand on the coordinate plane. The answer button 303 is a button selected when submitting an answer to the corresponding question. The question change button 304 is a button selected when displaying the next question without submitting an answer to the corresponding question. The question change button 304 is unnecessary when answer screens for multiple questions are displayed on paper 100. The end test button 305 is a button selected when the test is to be ended without submitting answers to all questions.
[0041] Returning now to the description of Fig. 6, in step S202, processor 11 determines whether the problem selected by the second user is a graph drawing problem. If it is determined in step S202 that the problem selected by the second user is a graph drawing problem, the process proceeds to step S203. If it is determined in step S202 that the problem selected by the second user is not a graph drawing problem, the process proceeds to step S204.
[0042] In step S203, processor 11 executes a graph input process. After the graph input process, the process proceeds to step S205. The graph input process is a process of accepting a graph input by the second user as an answer, and includes a process of assisting the second user so that the graph intended by the second user is drawn. Details of the graph input process will be described later.
[0043] In step S204, processor 11 executes a normal answer input process. In the normal answer input process, the second user inputs an answer to the question in answer input field 302. The normal answer process ends when any of answer button 303, question change button 304, and test end button 305 is selected. After the normal answer input process ends, the process proceeds to step S205.
[0044] In step S205, processor 11 determines whether or not to end answering. For example, when answer button 303 is selected, it is determined that answering is to end. If it is not determined in step S205 that answering is to end, the process proceeds to step S206. If it is determined in step S205 that answering is to end, the process proceeds to step S207.
[0045] In step S206, processor 11 determines whether or not to change the question. For example, when change question button 304 is selected, it is determined that the question is to be changed. If it is determined in step S206 that the question is to be changed, the process returns to step S201. If it is not determined in step S206 that the question is to be changed, the process proceeds to step S209.
[0046] In step S207, processor 11 scores the answer by the second user. Scoring is performed by comparing the answer by the second user with the model answer. For example, when the answer by the second user matches the model answer, processor 11 assigns the score value specified by the first user as the scoring result for that answer. On the other hand, when the answer by the second user does not match the model answer, processor 11 determines the score to be assigned to the first user according to the scoring criteria specified by the first user. Here, scoring may be performed manually by the first user. After scoring is completed, processing proceeds to step S208.
[0047] In step S208, processor 11 stores the scoring results in storage 14. After that, the process proceeds to step S209.
[0048] In step S209, processor 11 determines whether or not to end the test. For example, it is determined that the test is to end when answer button 303 has been selected for all questions, when end test button 305 has been selected, or when the publication deadline has passed. If it has not been determined that the test is to end in step S209, the process returns to step S202. If it is determined that the test is to end in step S209, processor 11 ends the process of FIG. 6.
[0049] Next, the graph input process will be described. Fig. 8 is a flowchart showing the graph input process. In step S301, processor 11 acquires coordinates of plot points that are hand-drawn by the second user.
[0050] In step S302, the processor 11 selects one of a plurality of regression models for calculating a graph represented by the plot points. The regression model may include a plurality of models, such as a linear regression model, a quadratic regression model, and a logistic regression model. A neural network model or the like may also be used as the regression model. As such, the regression model in the embodiment is not particularly limited, but the processor 11 is configured to be able to perform regression calculations using at least two regression models.
[0051] In step S303, the processor 11 performs a regression calculation. The regression calculation is a process of calculating a regression graph that best represents the acquired points by applying a selected regression model to each acquired point.
[0052] In step S304, the processor 11 calculates the coordinates of the feature points in the regression graph. The feature points are the feature points determined for each of the above-mentioned graph formulas.
[0053] In step S305, the processor 11 stores the calculated graph data of the regression graph and the coordinate data of the characteristic points as regression results in, for example, the RAM 13.
[0054] In step S306, processor 11 determines whether processing has been completed for all regression models. If it is determined in step S306 that processing has not been completed for all regression models, the process returns to step S301. In this case, the processes from the selection of the regression model onward are performed again. If it is determined in step S306 that processing has been completed for all regression models, the process proceeds to step S307.
[0055] In step S307, the processor 11 reads one of the regression results stored in the RAM 13.
[0056] In step S308, processor 11 determines, based on the loaded regression results, whether the coordinates of the feature points in the regression model are within the determination range. If it is determined in step S308 that the coordinates of the feature points are within the determination range, the process proceeds to step S309. If it is determined in step S308 that the coordinates of the feature points are not within the determination range, the process proceeds to step S310. In particular, graphs drawn by hand on a computer often deviate from the shape intended by the user. On the other hand, it is expected that the user will attempt to draw the area around the feature points with a certain degree of accuracy. Therefore, a graph in which the coordinates of multiple feature points are within the determination range is likely to reflect the graph characteristics intended by the user. Here, from the perspective of increasing the likelihood that the graph characteristics intended by the user are reflected, it is desirable that the condition that the coordinates of the feature points are within the determination range be satisfied for all feature points. On the other hand, if the condition is satisfied for, for example, a majority of the feature points, the coordinates of the feature points may be determined to be within the determination range.
[0057] In step S309, processor 11 sets the loaded regression result as a candidate for the graph intended by the second user. For example, processor 11 attaches a label indicating that the loaded regression result is a candidate. Thereafter, the process proceeds to step S310.
[0058] In step S310, processor 11 determines whether processing has been completed for all regression models. If it is determined in step S310 that processing has not been completed for all regression models, the process returns to step S307. In this case, the process from reading the regression results onward is performed again. If it is determined in step S310 that processing has been completed for all regression models, the process proceeds to step S311.
[0059] In step S311, processor 11 determines whether or not there is a candidate regression result. If it is determined in step S311 that there is a candidate regression result, the process proceeds to step S312. If it is determined in step S311 that there is not a candidate regression result, the process proceeds to step S313.
[0060] In step S312, processor 11 selects one regression result with the best regression accuracy among the candidate regression results. Then, the process proceeds to step S314. The regression accuracy can be calculated, for example, by the mean square error (MSE). When the regression accuracy is calculated by the MSE, the regression result with the smallest MSE is the best regression result. A regression graph with good regression accuracy is closest to the graph hand-drawn by the second user. In other words, the regression graph selected in step S312 is a graph that reflects the characteristics of the graph intended by the user and is closest to the graph actually drawn by the user.
[0061] In step S313, processor 11 selects the regression result with the best regression accuracy among all the regression results. Then, the process proceeds to step S314. That is, the regression graph selected in step S313 is the graph that is closest to the graph actually drawn by the user, although it may not necessarily reflect the characteristics of the graph intended by the user.
[0062] In step S314, processor 11 draws a regression graph based on the selected regression result, instead of the second user's hand-drawn graph, in answer input field 302. Thereafter, processor 11 ends the processing of FIG.
[0063] As described above, according to the embodiment, multiple regression graphs are calculated by applying multiple regression models to the coordinates of plot points hand-drawn by a user. When feature points as data elements of each regression graph fall within a predetermined judgment range for each graph, that regression graph is determined to be a candidate for the user's intended graph. Among these candidate regression graphs, the regression graph with the highest regression accuracy is selected as the user's intended graph. The selected regression graph is then displayed instead of the user's hand-drawn graph. Thus, in the embodiment, a regression graph similar to the user's original graph is not simply selected, but is selected based on the characteristics of the graph itself. Therefore, a graph intended by the user who hand-drawn the graph can be accurately drawn on a computer. Furthermore, in the embodiment, the judgment range is set by a first user who evaluates the drawn graph, rather than by a second user who actually draws the graph by hand. In this case, a regression graph whose hand-drawn plot points by the second user fall within the judgment range intended by the first user is selected. In other words, when the intentions of the first and second users match, a model graph is drawn. Therefore, when the first user grades the test, the first user can easily determine whether the second user has drawn the graph correctly.
[0064] Furthermore, depending on the graph drawn by the user, the feature points may not necessarily be within the range of judgment intended by the user. Even in such cases, a regression graph that is close to the graph drawn by the user is simply selected. This allows the graph intended by the user who drew the graph by hand to be correctly drawn on the computer to a certain extent.
[0065] [Variations] A modified example of the embodiment will be described below. In step S314 described above, when the selection of the regression graph is completed, the regression graph is immediately drawn in place of the graph drawn by the user. In contrast, for example, processor 11 may prompt the second user for confirmation by presenting the regression graph to the second user before drawing the regression graph. Only when the second user instructs updating of the graph as a result of the confirmation, processor 11 may draw the regression graph in place of the graph drawn by the second user.
[0066] In addition, in the embodiment, the regression graph with the best regression accuracy is selected from among the regression graphs whose feature points are within the judgment range. Conversely, the regression graph that is closest to the reference point in the judgment range from among the regression graphs with the best regression accuracy may be selected.
[0067] Furthermore, the embodiments provide an example of hand-drawn graphs when answering test questions. However, the technology of the embodiments may also be applied to hand-drawn graphs other than answers to test questions. Here, in the example of answers to test questions, the judgment range is specified based on a model answer specified by a first user when the question was created. The judgment range for hand-drawn graphs other than answers to test questions may be specified by a second user. For example, the judgment range may be set by presenting a judgment range for a function that is expected to be drawn to the second user and having the second user modify the presented judgment range.
[0068] In addition, in the embodiment, if the feature points of the graph hand-drawn by the second user are within the judgment range and a regression graph similar to the hand-drawn graph is drawn as a correction graph for the hand-drawn graph. Alternatively, the graph hand-drawn by the second user may be left as is, and the regression graph may be taken into consideration during automatic grading. That is, during automatic grading, feature points similar to those of the graph input may be calculated, and if these feature points are within the judgment range previously specified by the first user and the regression graph substantially matches the model answer graph, the graph hand-drawn by the second user may be determined to be correct.
[0069] The present invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the invention. Furthermore, the embodiments may be implemented in appropriate combinations where possible, and in such cases, the combined effects can be obtained. Furthermore, the above-described embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining the disclosed multiple constituent elements. For example, if some constituent elements are deleted from all the constituent elements shown in the embodiments, and the problem stated in the "Problem to be Solved by the Invention" section can be solved and the effect stated in the "Effect of the Invention" section can be obtained, the configuration from which these constituent elements are deleted can be extracted as an invention.
[0070] The inventions described in the claims of the present application as originally filed are set forth below. [1] acquiring plot points of a first graph by handwriting input; Regressively calculating a plurality of graph data using a plurality of regression models based on the acquired plot points; making a first determination as to whether at least some data elements are included in a predetermined coordinate range for each of the plurality of graph data; making a second determination of determining graph data with good regression accuracy from among the plurality of graph data; selecting one of the plurality of graph data based on a result of the first determination and a result of the second determination; drawing a second graph in place of the first graph based on the selected graph data; A graph drawing program that allows a computer to execute the following. [2] Selecting one of the plurality of graph data includes selecting graph data that is determined in the first determination to include at least some data elements in a predetermined coordinate range and that is determined in the second determination to have good regression accuracy. [1] The graph drawing program described in [1]. [3] Selecting one of the plurality of graph data includes selecting graph data that is determined to have the best regression accuracy in a second determination performed on all of the plurality of graph data when there is no graph data that is determined to have at least some data elements included in the predetermined coordinate range in the first determination. [1] The graph drawing program described in [1]. [4] The coordinate range is set based on a pre-entered graph formula. [1]-[3] A graph drawing program according to any one of the above. [5] The coordinate range is set with a characteristic point in the graph represented by the graph formula as a reference point. [4] A graph drawing program according to the present invention. [6] The characteristic point includes at least one of an intersection with the horizontal axis, an extreme value, and a point at infinity in the graph represented by the graph formula. [5] A graph drawing program according to the present invention. [7] The coordinate range is manually set based on a graph represented by a pre-entered graph formula. [1]-[6] A graph drawing program according to any one of the above. [8] Obtaining plot points of a first graph by handwriting input; a calculation unit that recursively calculates a plurality of graph data using a plurality of regression models based on the acquired plot points; a first determination unit that determines whether at least some data elements are included in a predetermined coordinate range for each of the plurality of graph data; a second determination unit that performs a second determination to determine graph data with good regression accuracy from among the plurality of graph data; a selection unit that selects one of the plurality of graph data based on a result of the first determination unit and a result of the second determination unit; a drawing unit that draws a second graph in place of the first graph based on the selected graph data; A server comprising: [Explanation of symbols]
[0071] 1 System, 10 Server, 11 Processor, 12 ROM, 13 RAM, 14 Storage, 15 Communication device, 19 System bus, 20a, 20b Terminal, 21 CPU, 22 ROM, 23 RAM, 24 Storage, 25 Input device, 26 Display device, 27 Communication device, 29 System bus, 30 Network.
Claims
1. Get the plot points of the hand-drawn graph, Identifying a first graph corresponding to a particular regression model based on the obtained plot points; Outputting information based on a comparison result between the identified first graph and a predetermined second graph. causing a computer to execute a control process; The control process includes: performing a regression calculation using each of a plurality of regression models for the acquired plot points to identify a plurality of graphs; a graph data processing program for specifying, as the first graph, a graph having the highest regression accuracy based on the regression calculation among the specified plurality of graphs;
2. The control process includes: outputting information based on a comparison result between the feature points of the first graph and the feature points of the second graph; 2. The graph data processing program according to claim 1, further comprising:
3. The control process includes: determining whether the first graph passes through a first coordinate range set corresponding to the second graph; Output information based on the result of the above judgment 2. The graph data processing program according to claim 1, further comprising:
4. the second graph is a solution to a problem created by a first user; The control process includes: acquiring plot points on a graph handwritten by a second user as an answer to the question; Based on a comparison result between the first graph and the second graph, the graph hand-drawn and input by the second user is scored.
4. The graph data processing program according to claim 1, further comprising:
5. The control process includes: The first graph is drawn in place of the hand-drawn graph.
4. The graph data processing program according to claim 1, further comprising:
6. Get the plot points of the hand-drawn graph, Identifying a first graph corresponding to a particular regression model based on the obtained plot points; Outputting information based on a comparison result between the identified first graph and a predetermined second graph. A control unit that executes control processing is included. The control process includes: performing a regression calculation using each of a plurality of regression models for the acquired plot points to identify a plurality of graphs; The graph data processing device designates the graph with the highest regression accuracy by the regression calculation as the first graph among the plurality of identified graphs.
7. The computer Get the plot points of the hand-drawn graph, Identifying a first graph corresponding to a particular regression model based on the obtained plot points; Outputting information based on a comparison result between the identified first graph and a predetermined second graph. Execute the control process, The control process includes: performing a regression calculation using each of a plurality of regression models for the acquired plot points to identify a plurality of graphs; The graph data processing method further comprises: determining, as the first graph, the graph having the highest regression accuracy based on the regression calculation among the plurality of identified graphs.
Citation Information
Patent Citations
Device for displaying graph and method therefor
JP1998124690A
Graph display device, its method and record medium where graph display control program is recorded
JP1999184819A
Calculating device and storage medium
JP2000181903A
System and method for supporting learning
JP2003107979A
Graph display apparatus and program
JP2011227208A