Information processing device

The information processing device addresses the challenge of linking output from one interactive system to input for another by incorporating a learning support system with designated areas on the learning screen, thereby enhancing efficiency in learning and development.

JP2025071966APending Publication Date: 2025-05-09PREFERRED NETWORKS INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023182422
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-24
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

Existing information processing devices lack the capability to seamlessly link output information from one interactive system to input information for another interactive system, hindering efficient learning and development processes.

Method used

An information processing device with a learning support system that displays a learning screen with separate areas for output information from a first interactive system and input information for a second interactive system, allowing for easy linkage and operation.

Benefits of technology

Enables users to efficiently input information based on output from one system into another, streamlining learning and development processes by reducing operational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025071966000001_ABST
    Figure 2025071966000001_ABST
Patent Text Reader

Abstract

To provide an information processing device which can associate output information from a first interactive system with input information to a second interactive system.SOLUTION: An information processing device comprises at least one memory and at least one processor. At least one processor acquires teaching material data which is a teaching material used for learning programming language, and displays a learning screen for a user to learn a programming language based on the teaching material data. The learning screen includes a first region which displays output information from a first interactive system, and a second region which receives input information to a second interactive system.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device. [Background technology]

[0002] Generative models such as large language models (LLMs) are used. A generative model is a machine learning model that executes a given task according to input information called a prompt, and outputs the resulting generated data. It is known that generative models can execute tasks such as source code generation or information search.

[0003] Integrated development environments equipped with various functions for developing programs are used. An integrated development environment may incorporate a program execution environment. A program execution environment accepts input of source code written in a specific programming language, and outputs the results of executing a program based on that source code. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2022-41562 A Summary of the Invention [Problem to be solved by the invention]

[0005] According to the present disclosure, it is possible to provide an information processing device capable of linking output information from a first interactive system with input information to a second interactive system. [Means for solving the problem]

[0006] An information processing device according to one embodiment of the present disclosure includes at least one memory and at least one processor, wherein the at least one processor acquires teaching material data, which is teaching material used for learning a programming language, and displays a learning screen based on the teaching material data for a user to learn the programming language, the learning screen including a first area that displays output information from a first interactive system and a second area that accepts input information to a second interactive system. [Brief description of the drawings]

[0007] [Figure 1] 1 is a block diagram showing an example of an overall configuration of a learning support system. [Diagram 2] FIG. 2 is a block diagram showing an example of a functional configuration of a terminal device. [Diagram 3] FIG. 13 is a diagram showing an example of a learning screen. [Figure 4] FIG. 2 illustrates an example of a programming area. [Diagram 5] FIG. 13 is a diagram showing an example of a chat area. [Figure 6] FIG. 13 is a diagram illustrating an example of the operation of a programming area. [Figure 7] FIG. 13 is a diagram illustrating an example of the operation of a chat area. [Figure 8] FIG. 13 is a diagram illustrating an example of input information to a generative model. [Figure 9] FIG. 13 is a diagram illustrating an example of the operation of a chat area. [Figure 10] FIG. 13 is a diagram illustrating an example of the operation of a chat area. [Figure 11] FIG. 13 is a diagram illustrating an example of input information to a generative model. [Figure 12] FIG. 13 is a diagram illustrating an example of the operation of a chat area. [Figure 13] FIG. 13 is a diagram illustrating an example of output information from a generative model. [Figure 14] FIG. 13 is a diagram showing an example of a link operation from a chat area to a programming area. [Figure 15] FIG. 13 is a diagram illustrating an example of the operation of a programming area. [Figure 16] FIG. 13 is a diagram showing an example of a link operation from a programming area to a chat area. [Figure 17] FIG. 13 is a diagram illustrating an example of input information to a generative model. [Figure 18] FIG. 13 is a diagram illustrating an example of the operation of a chat area. [Figure 19] FIG. 13 is a diagram showing an example of a link operation from a chat area to a programming area. [Figure 20] 1 is a flowchart showing an example of a learning support method. [Figure 21] FIG. 2 is a block diagram showing an example of a hardware configuration of a computer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In this specification and the drawings, components having substantially the same functional configurations are denoted by the same reference numerals, and redundant description will be omitted.

[0009] [Embodiment] An embodiment of the present disclosure is a learning support system for supporting learning of a programming language. The learning support system in this embodiment has a function for efficiently learning a programming language by using a plurality of information processing systems having an interactive interface (hereinafter, also referred to as "interactive systems").

[0010] The interactive system may include an integrated development environment having an interactive interface. As one example, the integrated development environment having an interactive interface may repeatedly receive input of source code written in a predetermined programming language and output the results of executing a program based on the source code. The integrated development environment may also display the received source code and the output execution results in chronological order in the order of reception and output. If an error occurs when the integrated development environment executes a program, the execution result may include error information regarding the error.

[0011] The interactive system may include a generative model having an interactive interface. As an example, the generative model having an interactive interface may repeatedly receive input information to the generative model and output output information generated by the generative model based on the input information. The generative model may also display the received input information and the output information on a screen in chronological order in the order of reception and output. When the generative model executes a task of generating source code, the output information may include the source code.

[0012] A user of the learning support system can use an integrated development environment having an interactive interface to write source code in a predetermined programming language and check the execution results of a program based on the source code. The user can also obtain information related to programming using a generative model having an interactive interface. The information related to programming can be, for example, text data explaining programming-related terms or source code for executing a desired process.

[0013] In this embodiment, an information processing device capable of linking output information from a first interactive system with input information to a second interactive system is provided. In this embodiment, a screen is realized that allows input information based on output information from the first interactive system to be input to the second interactive system with fewer operations. In one aspect, according to this embodiment, input information based on output information from the first interactive system can be easily input to the second interactive system.

[0014] <Overall configuration of the learning support system> The overall configuration of the learning support system in this embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the overall configuration of the learning support system.

[0015] 1, the learning support system 1000 includes a learning support device 10 and a generation device 20. The learning support device 10 and the generation device 20 may be connected to each other so as to be able to communicate data with each other via a communication network such as a LAN (Local Area Network) or the Internet.

[0016] The learning support device 10 may be an information processing terminal such as a personal computer, a smartphone, or a tablet terminal operated by a user of the learning support system 1000. The user of the learning support system 1000 may be an end user who studies a programming language. The learning support device 10 may display a learning screen on a display device for the user to study the programming language.

[0017] The learning support device 10 may include an execution environment 11. The execution environment 11 may be a program execution environment that executes a program based on a source code written in a predetermined programming language and outputs the execution result. The execution environment 11 may be provided by an integrated development environment that is pre-installed in the learning support device 10.

[0018] The execution environment 11 may have an interactive interface. As an example, the execution environment 11 may be Jupyter Notebook. The programming language may be an interpreted language or a compiled language. As an example, the interpreted language may be Python (registered trademark), JavaScript (registered trademark), etc. As an example, the compiled language may be C++, etc. The programming language is not limited to these, and may be any programming language.

[0019] The generating device 20 may be an information processing device such as a personal computer, a workstation, or a server that executes a predetermined task using a generative model. The generating device 20 may receive input information instructing the generation of data from the learning support device 10. The generating device 20 may execute the predetermined task by inputting the input information into the generative model 21, and transmit the data generated as a result to the learning support device 10. The predetermined task may include, for example, source code generation and information search.

[0020] The generating device 20 may include a generating model 21. The generating model 21 may have an interactive interface. The generating model 21 may be, for example, a large language model (LLM). The large language model may be, for example, ChatGPT (registered trademark).

[0021] The generative model 21 may be realized by one generative model. The generative model 21 may be realized by cooperation of a plurality of generative models. The generative model 21 may be composed of a plurality of generative models according to tasks to be executed. As an example, the generative model 21 may be composed of a generative model that generates source code and a generative model that generates explanations of programming-related terms.

[0022] Note that the overall configuration of the learning assistance system 1000 shown in FIG. 1 is just an example, and various system configuration examples are possible depending on the application and purpose. The learning assistance system 1000 may be configured with one or more devices. The devices included in the learning assistance system 1000 may be a system configured with multiple devices. Each function included in the learning assistance system 1000 may be realized by any device that constitutes the system. Each component included in the learning assistance system 1000 may be included in any device that constitutes the system.

[0023] The execution environment 11 may be built into the learning support device 10. The execution environment 11 may be built into the generation device 20. The execution environment 11 may be built into an external information processing device. The execution environment 11 may be held in a distributed manner in an external information processing system consisting of multiple devices.

[0024] The generative model 21 may be built in the generating device 20. The generative model 21 may be built in the learning support device 10. The generative model 21 may be built in an external information processing device. The generative model 21 may be distributed and held in an external information processing system consisting of multiple devices. In this case, the learning support system 1000 does not need to include the generating device 20.

[0025] One or more of the learning support device 10 and the generation device 20 may be included in the learning support system 1000. The learning support device 10 and the generation device 20 may be realized by a plurality of computers, or may be realized as a cloud computing service. The learning support system 1000 may be realized by a stand-alone computer. The division of devices such as the learning support device 10 and the generation device 20 shown in FIG. 1 is one example.

[0026] <Functional configuration of the learning support device> The functional configuration of the learning support device 10 in this embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of the functional configuration of the learning support device.

[0027] 2, the learning support device 10 includes a learning material storage unit 101, a screen control unit 102, an execution instruction unit 103, an execution result acquisition unit 104, an error detection unit 105, a generation instruction unit 106, a generation result acquisition unit 107, and a code detection unit 108. The learning support device 10 functions as the learning material storage unit 101, the screen control unit 102, the execution instruction unit 103, the execution result acquisition unit 104, the error detection unit 105, the generation instruction unit 106, the generation result acquisition unit 107, and the code detection unit 108 by executing an application program installed in advance.

[0028] The teaching material storage unit 101 stores in advance teaching material data, which is teaching material used for learning a programming language. The teaching material storage unit 101 may store a plurality of teaching material data for learning different contents. The teaching material data may be classified into a plurality of learning objects. The order in which the teaching material data included in each learning object should be learned may be defined. Hereinafter, one unit of content to be learned using each teaching material data is called a "lesson," and the learning object into which each lesson is classified is called a "course."

[0029] The teaching material data may be data in which an exercise problem is associated with a model answer. The teaching material data may include a plurality of exercise problems each associated with a model answer. The order in which the exercise problems should be practiced may be defined for each exercise problem. The teaching material data may be data in which an exercise problem is associated with a correct answer for an exercise problem for which a correct answer is provided. The teaching material data may be data in units of content to be placed on a learning screen, or data in units of screens to be displayed as a learning screen, and the data format is not limited to a specific format as long as it is data for displaying a learning screen including teaching materials.

[0030] The teaching material data may be stored in a database in which items and values ​​are associated with each other. As a method for associating items and values, for example, the items and values ​​may be stored as a set, information that allows one piece of information to be obtained from the other piece of information may be stored, or one piece of information and identification information for the other piece of information may be stored as a set.

[0031] The screen control unit 102 controls the display of a learning screen based on the teaching material data on the display device. The learning screen based on the teaching material data may include any of exercises, model answers, source code created by the user for the exercises, execution results of the source code, and messages indicating whether the execution results are correct or incorrect. The screen control unit 102 may accept operations on the learning screen by the user. The screen control unit 102 may control information to be displayed on the learning screen in response to operations on the learning screen.

[0032] The learning screen has a programming area and a chat area. The programming area receives input information to the execution environment 11 and displays output information from the execution environment 11. The chat area receives input information to the generative model 21 and displays output information from the generative model 21. The programming area and the chat area may display the input information and the output information in chronological order from the top of each area. In this manner, and as described later, the screen control unit 102 reads out the learning material data from the learning material storage unit 101, and displays on the display device a learning screen based on the learning material data, including a programming area and a chat area, which are user interfaces for inputting and outputting information to the execution environment 11 and the generative model 21, respectively. The screen control unit 102 may display the learning screen including the learning material, the programming area, and the chat area in one main window. The function of displaying the learning screen including the learning material, the programming area, and the chat area in one main window may be a function implemented by an application program.

[0033] The execution instruction unit 103 sends input information to the execution environment 11 in response to a user's operation on the learning screen. The input information to the execution environment 11 may include source code written in a predetermined programming language. The source code may be text data entered by the user. The source code may be source code generated by the generative model 21. The source code may be source code generated by visual programming in which a program is created by combining block-shaped program components, etc.

[0034] The execution result acquisition unit 104 acquires output information from the execution environment 11. The output information from the execution environment 11 may be an execution result of the execution environment 11 executing a program based on source code. The execution result may include information output by the program and information indicating the success or failure of the program. The information indicating the success or failure of the program may include an end status indicating normal or abnormal termination. The execution result may include error information indicating an error that occurred during execution of the program. The execution result acquisition unit 104 may display the execution result in the programming area of ​​the learning screen.

[0035] The error detection unit 105 detects error information from the execution result acquired by the execution result acquisition unit 104. As an example, the error detection unit 105 may extract a statement indicating an error by analyzing the execution result. The error detection unit 105 may detect a unit of character string (e.g., a sentence or a line) including a statement indicating an error as error information. In this manner, the error detection unit 105 may automatically detect error information from the execution result acquired by the execution result acquisition unit 104.

[0036] The generation instruction unit 106 transmits input information for the generation model 21 to the generation device 20 in response to an operation on the learning screen by a user. The input information for the generation model 21 may include a generation instruction input by a user. The generation instruction may be in the form of a question from the user. The input information for the generation model 21 may include text data, image data, or audio data. The text data may be, for example, a natural language sentence indicating the content of the instruction. The image data may be, for example, a still image or a video. The image data may include, for example, an image indicating a desired execution result. The audio data may include, for example, a voice uttered by a user. The input information may include a result of recognizing the image data or audio data.

[0037] The generation result acquisition unit 107 acquires output information from the generation model 21. The output information from the generation model 21 may include text data, image data, or audio data generated by the generation model 21 according to input information. The text data may be, for example, source code written in a predetermined programming language. The image data or audio data may be data synthesized based on the text data. When the output information includes text data or image data, the generation result acquisition unit 107 may display the output information in a chat area. When the output information includes audio data, the generation result acquisition unit 107 may emit the output information as sound from a speaker of the learning support device 10.

[0038] The code detection unit 108 detects source code from the output information acquired by the generation result acquisition unit 107. As an example, the code detection unit 108 may extract symbols, tags, or the like indicating a range of the source code by analyzing the output information. When the range of the source code can be specified by the extracted symbols or tags, the code detection unit 108 may detect a character string included in the range as source code. In this way, the code detection unit 108 may automatically detect source code from the output information based on the analysis of the output information acquired by the generation result acquisition unit 107.

[0039] <User interface of learning support device> The user interface of the learning support device 10 in this embodiment will be described with reference to FIGS.

[0040] Fig. 3 is a diagram showing an example of a learning screen. The example shown in Fig. 3 is an example of a learning screen immediately after startup. As shown in Fig. 3, learning screen 400 has a list area 410, a lesson selection area 420, and a chat area 450 (an example of a first area or a second area).

[0041] List area 410 displays a list of courses or lessons. The display content of list area 410 may change depending on the state of the course or lesson selected by the user. For example, before the user selects a course, list area 410 may display a list of courses. On the other hand, after the user selects a course, list area 410 may display a list of lessons included in the selected course.

[0042] List area 410 may have a criteria input field 411. When search criteria are entered in criteria input field 411, list area 410 may display only the courses or lessons that match the search criteria. List area 410 may arrange the courses or lessons according to the progress of each course or lesson.

[0043] The lesson selection area 420 displays a list of lessons included in the course selected in the list area 410. The lesson selection area 420 may display the progress status of each lesson. When a lesson is selected in the lesson selection area 420, a programming area for executing that lesson is displayed.

[0044] Chat area 450 is displayed so that the display size can be changed by a user operation. As one example, when a user performs an operation of selecting the inside of chat area 450 (e.g., clicking or tapping, etc.), chat area 450 may be minimized or maximized. As another example, when a user performs an operation of selecting and moving the outer edge of chat area 450 (e.g., dragging, etc.), the size or shape of chat area 450 may be arbitrarily changed.

[0045] Fig. 4 is a diagram showing an example of a programming area. As shown in Fig. 4, when a lesson is selected in the lesson selection area 420, a programming area 430 (an example of the second area or the first area) for progressing through the lesson is displayed. The programming area 430 has a question display field 431, a code input field 432, an execute button 433, and an answer display button 434.

[0046] The problem display field 431 displays the exercise problem included in the lesson. The code input field 432 accepts the input of source code. When the user presses the execute button 433, input information for the execution environment 11 is sent to the execution environment 11. The input information for the execution environment 11 includes the source code entered in the code input field 432. When the user presses the answer display button 434, the programming area 430 displays a model answer associated with the exercise problem displayed in the problem display field 431.

[0047] Fig. 5 is a diagram showing an example of a chat area. The example shown in Fig. 5 is an example of a maximized state of chat area 450. As shown in Fig. 5, chat area 450 has an instruction input field 451 and a send button 452.

[0048] The instruction input field 451 accepts an instruction to generate data. The instruction input field 451 may accept a generation instruction including generation of source code. The instruction input field 451 may accept a generation instruction not including generation of source code. When the user presses the send button 452, input information to the generation model 21 is transmitted to the generation device 20. The input information to the generation model 21 includes the generation instruction inputted to the instruction input field 451.

[0049] 5, chat area 450 is displayed overlapping at the lower right of programming area 430, but the relative positions of chat area 450 and programming area 430 may be changed as desired. Chat area 450 may be displayed in front of programming area 430 in an overlapping position, or in a non-overlapping position. Chat area 450 may be displayed adjacent to programming area 430, or at a predetermined distance.

[0050] 6 is a diagram showing an example of the operation of the programming area 430 when error-free source code is input into the code input field 432.

[0051] 6, the user may input source code into a code input field 432 as an answer to the exercise problem displayed in a problem display field 431 of a programming area 430. After completing input into the code input field 432, the user may press an execute button 433.

[0052] When the user presses the execute button 433, input information for the execution environment 11 is sent to the execution environment 11. The input information for the execution environment 11 includes the source code entered in the code entry field 432. The execution environment 11 executes a program based on the source code included in the input information, and outputs the execution result.

[0053] When an execution result is output from the execution environment 11, the programming area 430 displays a result display field 435. The result display field 435 displays the execution result output from the execution environment 11. In the example shown in Fig. 6, the result display field 435 displays "210", which is the execution result of the program based on the source code, and that the source code entered in the code input field 432 is the correct answer to the exercise problem displayed in the problem display field 431. If the execution result of the program based on the source code is incorrect, the result display field 435 may display that the answer to the exercise problem is incorrect.

[0054] Fig. 7 is a diagram showing an example of the operation of the chat area. As shown in Fig. 7, the user may input a generation instruction that does not include the generation of source code in an instruction input field 451 of a chat area 450. In the example shown in Fig. 7, a generation instruction for instructing the generation of text data explaining a Python module based on a question "What is a Python module?" is input in the instruction input field 451.

[0055] When input into the instruction input field 451 is completed, the user may press a send button 452. When the user presses the send button 452, the input information to the generation model 21 is transmitted to the generation device 20. The input information to the generation model 21 includes the generation instruction input into the instruction input field 451.

[0056] Fig. 8 is a diagram showing an example of input information to a generative model. As shown in Fig. 8, input information 600 to the generative model 21 includes a generation instruction 601 and a constraint condition 602. The generation instruction 601 is a generation instruction input in the instruction input field 451. In the example shown in Fig. 8, it can be seen that the generation instruction 601 "What is a Python module?" input by the user in the instruction input field 451 is embedded. The generation instruction 601 shown in Fig. 8 is an example of a generation instruction instructing the generation of text data.

[0057] The constraints 602 may be commonly embedded in the input information to the generative model 21. The constraints 602 may include information 603 indicating the programming language being studied and information 604 specifying the format of the output information.

[0058] Fig. 9 is a diagram showing an example of the operation of the chat area. As shown in Fig. 9, when input information to the generation model 21 is transmitted to the generation device 20, an input display field 453 is displayed in the chat area 450. The input display field 453 displays the generation instruction inputted in the instruction input field 451.

[0059] The generating device 20 inputs the received input information to the generating model 21. The generating model 21 executes a predetermined task according to the input information and outputs a generation result including data generated as a result. The generating device 20 acquires the generation result output from the generating model 21 and transmits it to the learning support device 10 as output information from the generating model 21.

[0060] When the learning support device 10 receives output information from the generative model 21, an output display field 454 is displayed in the chat area 450. The output display field 454 displays the output information from the generative model 21. In the example shown in Fig. 9, the output display field 454 displays text explaining a Python module.

[0061] Fig. 10 is a diagram showing an example of the operation of the chat area. As shown in Fig. 10, a user may input a generation instruction including the generation of source code in an instruction input field 451 of a chat area 450. In the example shown in Fig. 10, a generation instruction for instructing the generation of source code for calculating a number obtained by adding up integers from 0 to 20 is input in the instruction input field 451.

[0062] Fig. 11 is a diagram showing an example of input information to a generative model. In the example shown in Fig. 11, it can be seen that a generation instruction 601, "a method for finding the sum of integers from 0 to 20," input by a user into an instruction input field 451 is embedded. The generation instruction 601 shown in Fig. 11 is an example of a generation instruction for instructing the generation of source code.

[0063] Fig. 12 is a diagram showing an example of the operation of the chat area. As shown in Fig. 12, when the learning support device 10 receives output information from the generative model 21, an output display field 454 is displayed in the chat area 450. The output display field 454 displays the output information from the generative model 21. In the example shown in Fig. 12, the output display field 454 displays a source code for calculating the sum of integers from 0 to 20.

[0064] When the code detection unit 108 detects source code from the output information from the generative model 21, the chat area 450 displays a code display field 460 in the output display field 454. The code display field 460 displays the source code that is automatically detected from the output information.

[0065] When the output information from the generative model 21 satisfies a predetermined condition, the chat area 450 may display copy buttons 461, 462 (an example of an operation unit) in the code display field 460. As an example, the predetermined condition may be that source code is detected from the output information from the generative model 21. Only one of the copy buttons 461, 462 may be displayed.

[0066] Chat area 450 may display copy buttons 461, 462 inside code display field 460, or may display copy buttons 461, 462 outside code display field 460. When copy buttons 461, 462 are displayed outside code display field 460, they may be displayed in a position adjacent to code display field 460. In other words, chat area 450 may display copy buttons 461, 462 near the source code.

[0067] Fig. 13 is an example of output information from a generative model. As shown in Fig. 13, output information 610 from the generative model 21 includes source code 611. Since input information 600 to the generative model 21 shown in Fig. 11 includes a constraint 602 for outputting data in Markdown format, it is possible to detect source code 611 from output information 610 from the generative model 21 by detecting symbol 612 (three consecutive backquotes) indicating the range of source code in Markdown format.

[0068] 14 is a diagram showing an example of a link operation from the chat area to the programming area. The example shown in FIG. 14 is an example of learning screen 400 when a user presses copy button 461 in chat area 450.

[0069] As shown in FIG. 14, when the user presses the copy button 461, the source code displayed in the code display field 460 (i.e., the source code automatically detected by the code detection unit 108 from the output information from the generative model 21) is input to the code input field 432 of the programming area 430. At this time, the source code may be input to the active code input field 432 selected by the user among one or more code input fields 432 included in the programming area 430. Note that when the user presses the copy button 462, the source code displayed in the code display field 460 (i.e., the source code automatically detected by the code detection unit 108 from the output information from the generative model 21) is temporarily stored in a storage device (e.g., a clipboard, etc.) of the learning support device 10. The user can input the source code stored in the storage device to the programming area 430 such as the code input field 432 by a simple operation (e.g., paste, etc.).

[0070] When source code is input in the code input field 432, the user can check the execution result of the source code generated by the generative model 21 simply by pressing the execute button 433. When the user inputs source code in the code input field 432 by pressing the copy button 461, the input information to the execution environment 11 may be automatically sent to the execution environment 11. In this case, the user can check the execution result of the source code generated by the generative model 21 without performing any operation on the programming area 430.

[0071] 15 is a diagram showing an example of the operation of the programming area 430 when source code in which an error occurs is entered in the code input field 432.

[0072] 15, when error detection unit 105 detects error information from the execution result from execution environment 11, programming area 430 displays error display field 436. Error display field 436 displays the execution result in which error information was detected.

[0073] When the execution result from the execution environment 11 satisfies a predetermined condition, the programming area 430 may display a correction button 437 (an example of an operation unit) below the error display column 436. As an example, the predetermined condition may be that error information is detected from the execution result from the execution environment 11. In the example shown in Fig. 15, the error display column 436 indicates that the program based on the source code has abnormally terminated. The error display column 436 displays error information indicating that the symbol j included in the source code is undefined.

[0074] Programming area 430 may display correction button 437 outside error display field 436, or may display correction button 437 inside error display field 436. When correction button 437 is displayed outside error display field 436, it may be displayed in a position adjacent to error display field 436. In other words, programming area 430 may display correction button 437 near the error information.

[0075] 16 is a diagram showing an example of a link operation from the programming area to the chat area. The example shown in FIG. 16 is an example of learning screen 400 when the user presses correction button 437 in programming area 430.

[0076] 16, when the user presses Modify button 437, a generation instruction for instructing to modify the source code (in other words, a generation instruction for instructing to generate a modified source code) is input into instruction input field 451 in chat area 450. The generation instruction includes the source code input into code input field 432 and the error information displayed in error display field 436 (that is, the error information automatically detected by error detection unit 105 from the execution result acquired by execution result acquisition unit 104).

[0077] When a generation instruction is input in the instruction input field 451 by the user pressing the correction button 437, the input information to the generation model 21 may be automatically transmitted to the generation device 20. After a generation instruction is input in the instruction input field 451, control may be performed so that the input information to the generation model 21 is not transmitted to the generation device 20 until the user presses the send button 452.

[0078] Fig. 17 is an example of input information to a generative model. As shown in Fig. 17, input information 620 to a generative model 21 includes a generation instruction 621, a constraint condition 622, a source code 623, and error information 624. The generation instruction 621 may be a fixed natural language sentence that instructs modification of the source code. The constraint condition 622 may include information that specifies the format of the output information. The source code 623 is the source code input in the code input field 432. The error information 624 is the error information displayed in the error display field 436.

[0079] Fig. 18 is a diagram showing an example of the operation of the chat area. As shown in Fig. 18, when input information to the generation model 21 is transmitted to the generation device 20, an input display field 455 is displayed in the chat area 450. The input display field 455 displays a generation instruction for instructing modification of the source code.

[0080] When the learning support device 10 receives output information from the generative model 21, an output display field 456 is displayed in the chat area 450. The output display field 456 displays the output information from the generative model 21. In the example shown in FIG. 18, the output display field 456 displays the source code corrected by the generative model 21.

[0081] When the code detection unit 108 detects source code from the output information from the generative model 21, the chat area 450 displays a code display field 460 in the output display field 456. The code display field 460 displays the source code automatically detected from the output information. In the example shown in FIG. 18, since the output information from the generative model 21 includes source code, the chat area 450 displays copy buttons 461, 462 in the code display field 460.

[0082] 19 is a diagram showing an example of a linking operation from the chat area to the programming area. The example shown in FIG. 19 is an example of learning screen 400 when the user presses copy button 461 in chat area 450.

[0083] 19, when the user presses the copy button 461, the source code displayed in the code display field 460 is input into the code input field 432 of the programming area 430. When the user presses the copy button 462, the source code displayed in the code display field 460 is temporarily stored in a storage device (e.g., a clipboard) of the learning support device 10.

[0084] When source code is entered in the code input field 432, the user can check the execution result of the source code corrected by the generative model 21 simply by pressing the execute button 433. In the example shown in Fig. 19, the result display field 435 indicates that the program based on the source code corrected by the generative model 21 has ended normally.

[0085] <Flow of learning support method> A learning support method executed by the learning support system 1000 in this embodiment will be described with reference to Fig. 20. Fig. 20 is a flowchart showing an example of the learning support method. The process of the flowchart may be repeatedly executed until an end instruction is received from the user, for example.

[0086] 20 is a process for one exercise included in a lesson. If a lesson includes multiple exercises, the learning assistance method may be repeatedly executed until all the exercises are completed.

[0087] In step S1, the screen control unit 102 of the learning support device 10 reads out learning material data from the learning material storage unit 101. Next, the screen control unit 102 displays the exercises included in the read out learning material data on the learning screen 400. On the learning screen 400, the exercises are displayed in the exercise display field 431 of the programming area 430.

[0088] In step S2, the screen control unit 102 of the learning support device 10 accepts input of a generation instruction in the instruction input field 451 of the chat area 450. The screen control unit 102 sends the accepted generation instruction to the generation instruction unit 106.

[0089] The generation instruction unit 106 receives a generation instruction from the screen control unit 102. Next, the generation instruction unit 106 generates input information for the generative model 21 based on the received generation instruction. The generation instruction unit 106 transmits the generated input information to the generation device 20.

[0090] In step S3, the generation device 20 receives input information for the generation model 21 from the learning support device 10. Next, the generation device 20 inputs the received input information to the generation model 21. The generation model 21 executes a predetermined task according to the input information that has been input. The generation model 21 outputs a generation result including data generated as a result of executing the predetermined task. The generation device 20 acquires the generation result output from the generation model 21. The generation device 20 transmits the acquired generation result to the learning support device 10.

[0091] In the learning support device 10, the generation result acquisition unit 107 receives the generation result from the generating device 20. The generation result acquisition unit 107 sends the received generation result to the chord detection unit .

[0092] In step S4, the code detection unit 108 of the learning support device 10 receives the generation result from the generation result acquisition unit 107. Next, the code detection unit 108 analyzes the received generation result and determines whether or not source code is detected from the generation result. If source code is detected from the generation result (YES), the code detection unit 108 proceeds to step S5. On the other hand, if source code is not detected from the generation result (NO), the code detection unit 108 returns the process to step S2.

[0093] In step S5, the screen control unit 102 of the learning support device 10 displays a code display field 460 in the chat area 450. Next, the screen control unit 102 displays copy buttons 461 and 462 in the code display field 460.

[0094] In step S6, when the user presses the Duplicate button 461, the screen control unit 102 of the learning support device 10 inputs the source code automatically detected from the generation result in step S4 into the code input field 432 of the programming area 430. When the user presses the Duplicate button 462, the screen control unit 102 may temporarily store the source code automatically detected from the generation result in step S4 in a storage device, read the source code from the storage device in response to a user operation, and input the source code into the code input field 432 of the programming area 430.

[0095] In step S7, the screen control unit 102 of the learning support device 10 accepts input of source code in the code input field 432 of the programming area 430. The screen control unit 102 sends the accepted source code to the execution instructing unit 103.

[0096] The execution instruction unit 103 receives the source code from the screen control unit 102. Next, the execution instruction unit 103 generates input information for the execution environment 11. The input information for the execution environment 11 includes the received source code. The execution instruction unit 103 sends the generated input information to the execution environment 11.

[0097] In step S8, the execution environment 11 receives input information from the execution instruction unit 103. Next, the execution environment 11 executes a program based on the source code included in the received input information. When the execution of the program ends, the execution environment 11 outputs the execution result of the program. If an error occurs during the execution of the program, the execution environment 11 generates error information related to the error and includes it in the execution result.

[0098] The execution result acquisition unit 104 of the learning support device 10 acquires the execution result output from the execution environment 11. The execution result acquisition unit 104 sends the acquired execution result to the error detection unit 105.

[0099] In step S9, the error detection unit 105 of the learning support device 10 receives the execution result from the execution result acquisition unit 104. Next, the error detection unit 105 determines whether or not error information is detected from the received execution result. If error information is detected from the execution result (YES), the error detection unit 105 proceeds to step S10. On the other hand, if error information is not detected from the execution result (NO), the error detection unit 105 proceeds to step S12.

[0100] In step S10, the screen control unit 102 of the learning support device 10 displays an error display field 436 in the programming area 430. Next, the screen control unit 102 displays a correction button 437 below the error display field 436.

[0101] In step S11, when the user presses the Modify button 437, the screen control unit 102 of the learning support device 10 inputs a generation instruction to correct the source code into the instruction input field 451 of the chat area 450. The generation instruction includes the source code to be corrected and error information automatically detected from the execution result in step S9. Then, the screen control unit 102 returns the process to step S2.

[0102] In step S12, the screen control unit 102 of the learning support device 10 receives the execution result from the error detection unit 105, and displays the result display field 435 based on the execution result. The screen control unit 102 may determine whether or not the execution result matches the correct answer of the exercise problem displayed in the problem display field 431. If the execution result matches the correct answer, the screen control unit 102 may display a message that the execution result is correct in the result display field 435 together with the execution result. If the execution result does not match the correct answer, the screen control unit 102 may display a message that the execution result is incorrect in the result display field 435 together with the execution result. Then, the screen control unit 102 returns the process to step S7.

[0103] <Summary> As is clear from the above description, the learning support device 10 according to an embodiment of the present disclosure acquires learning material data, which is learning material used for learning a programming language, and displays a learning screen 400 based on the learning material data, which is a learning screen for a user to learn the programming language. The learning screen 400 includes a first area for displaying output information from a first interactive system, and a second area for receiving input information to a second interactive system.

[0104] The learning screen 400 may include a first area, a second area, and an operation unit for inputting input information to a second interactive system based on output information from the first interactive system into the second area.

[0105] The learning support device 10 may display an operation unit in the first area. The learning support device 10 may display the operation unit when the output information satisfies a predetermined condition. The first area may display the output information in chronological order. The learning support device 10 may display the operation unit near the output information that satisfies the predetermined condition.

[0106] The learning support device 10 may generate input information for the second dialogue system based on information automatically detected from the output information from the first dialogue system.

[0107] The first interactive system may be a generative model, and the second interactive system may be a program execution environment. The learning support device 10 may display an operation unit when the output information from the generative model includes a source code. The learning support device 10 may input the source code extracted from the output information into the second area in response to an operation on the operation unit.

[0108] The first interactive system may be a program execution environment, and the second interactive system may be a generative model. The learning support device 10 may display an operation unit when the output information from the program execution environment includes error information. The learning support device 10 may input, in response to an operation on the operation unit, input information instructing a correction of the source code based on the error information into the second area.

[0109] As a result, according to one embodiment of the present disclosure, it is possible to provide an information processing device capable of linking output information from a first interactive system to input information to a second interactive system. In one aspect, according to this embodiment, input information based on output information from a first interactive system can be easily input to a second interactive system. For example, according to this embodiment, it is possible to easily input source code output from a generative model to a program execution environment. Also, for example, according to this embodiment, it is possible to easily input input information for correcting source code based on error information output from a program execution environment to a generative model.

[0110] [Hardware configuration of information processing device] A part or all of each device (the learning support device 10 and the generation device 20) in the above-mentioned embodiment may be configured with hardware, or may be configured with information processing of software (programs) executed by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like. In the case of being configured with information processing of software, software for realizing at least a part of the functions of each device in the above-mentioned embodiment may be stored in a non-transient storage medium (non-transient computer-readable medium) such as a CD-ROM (Compact Disc-Read Only Memory) or a USB (Universal Serial Bus) memory, and the software information processing may be executed by reading the software into a computer. The software may also be downloaded via a communication network. Furthermore, the information processing by the software may be executed by hardware by implementing all or a part of the processing of the software in a circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0111] The storage medium that stores the software may be a removable medium such as an optical disk, or a fixed storage medium such as a hard disk, memory, etc. The storage medium may be provided inside the computer (main storage device, auxiliary storage device, etc.) or outside the computer.

[0112] 21 is a block diagram showing an example of a hardware configuration of each device in the above-mentioned embodiment. Each device may be realized as a computer 7 including, for example, a processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.

[0113] Although the computer 7 in FIG. 21 includes one of each component, it may include multiple of the same components. Although one computer 7 is shown in FIG. 21, the software may be installed in multiple computers, and each of the multiple computers may execute the same or different parts of the software. In this case, it may be a form of distributed computing in which each computer communicates via a network interface 74 or the like to execute the processing. In other words, each device in the above-mentioned embodiment may be configured as a system that realizes a function by one or more computers executing instructions stored in one or more storage devices. Also, it may be configured such that information transmitted from a terminal is processed by one or more computers provided on the cloud, and the processing results are transmitted to the terminal.

[0114] The various calculations of each device in the above-mentioned embodiment may be executed in parallel using one or more processors, or using multiple computers via a network. Also, the various calculations may be distributed to multiple arithmetic cores in a processor and executed in parallel. Also, a part or all of the processes, means, etc. of the present disclosure may be realized by at least one of a processor and a storage device provided on a cloud that can communicate with the computer 7 via a network. Thus, each device in the above-mentioned embodiment may be in the form of parallel computing using one or more computers.

[0115] The processor 71 may be an electronic circuit (processing circuit, processing circuitry, CPU, GPU, FPGA, ASIC, etc.) that at least controls a computer or performs calculations. The processor 71 may be any of a general-purpose processor, a dedicated processing circuit designed to perform a specific calculation, or a semiconductor device including both a general-purpose processor and a dedicated processing circuit. The processor 71 may also include an optical circuit, or may include a calculation function based on quantum computing.

[0116] The processor 71 may perform arithmetic processing based on data or software input from each device or the like configured inside the computer 7, and may output arithmetic results or control signals to each device or the like. The processor 71 may control each component constituting the computer 7 by executing the OS (Operating System) of the computer 7, applications, or the like.

[0117] Each device in the above-described embodiments may be realized by one or more processors 71. Here, the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. When multiple electronic circuits are used, the electronic circuits may communicate with each other by wire or wirelessly.

[0118] The main memory device 72 may store instructions executed by the processor 71 and various data, and information stored in the main memory device 72 may be read by the processor 71. The auxiliary memory device 73 is a memory device other than the main memory device 72. These memory devices refer to any electronic components capable of storing electronic information, and may be semiconductor memories. The semiconductor memories may be either volatile or non-volatile memories. The memory devices for saving various data in each device in the above-mentioned embodiments may be realized by the main memory device 72 or the auxiliary memory device 73, or may be realized by built-in memories built into the processor 71. For example, each memory unit in the above-mentioned embodiments may be realized by the main memory device 72 or the auxiliary memory device 73.

[0119] When each device in the above-described embodiment is composed of at least one storage device (memory) and at least one processor connected (coupled) to the at least one storage device, at least one processor may be connected to one storage device. At least one storage device may be connected to one processor. A configuration in which at least one processor among a plurality of processors is connected to at least one storage device among a plurality of storage devices may also be included. This configuration may also be realized by storage devices and processors included in a plurality of computers. Furthermore, a configuration in which a storage device is integrated with a processor (for example, a cache memory including an L1 cache and an L2 cache) may also be included.

[0120] The network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. The network interface 74 may be an appropriate interface, such as one conforming to an existing communication standard. The network interface 74 may exchange information with an external device 9A connected via the communication network 8. The communication network 8 may be any one of a wide area network (WAN), a local area network (LAN), a personal area network (PAN), etc., or a combination thereof, as long as information is exchanged between the computer 7 and the external device 9A. An example of a WAN is the Internet, an example of a LAN is IEEE802.11 or Ethernet (registered trademark), and an example of a PAN is Bluetooth (registered trademark) or Near Field Communication (NFC).

[0121] The device interface 75 is an interface such as a USB that directly connects to the external device 9B.

[0122] The external device 9A is a device connected to the computer 7 via a network. The external device 9B is a device connected directly to the computer 7.

[0123] The external device 9A or the external device 9B may be, for example, an input device. The input device is, for example, a device such as a camera, a microphone, a motion capture device, various sensors, a keyboard, a mouse, a touch panel, or the like, and provides acquired information to the computer 7. Alternatively, the input device may be a device equipped with an input unit, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.

[0124] Moreover, the external device 9A or the external device B may be, for example, an output device. The output device may be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) panel, or a speaker that outputs sound or the like. Alternatively, the output device may be a device including an output unit, a memory, and a processor, such as a personal computer, a tablet terminal, or a smartphone.

[0125] Furthermore, the external device 9A or the external device 9B may be a storage device (memory). For example, the external device 9A may be a network storage or the like, and the external device 9B may be a storage device such as an HDD.

[0126] Furthermore, the external device 9A or the external device 9B may be a device having some of the functions of the components of each device in the above-mentioned embodiment. In other words, the computer 7 may transmit some or all of the processing results to the external device 9A or the external device 9B, or may receive some or all of the processing results from the external device 9A or the external device 9B.

[0127] In this specification (including the claims), when the expression "at least one of a, b, and c" or "at least one of a, b, or c" (including similar expressions) is used, it includes any of a, b, c, ab, ac, bc, or abc. It may also include multiple instances of any element, such as aa, abb, aabbcc, etc. Furthermore, it also includes the addition of elements other than the enumerated elements (a, b, and c), such as having d, as in abcd.

[0128] In this specification (including claims), when expressions such as "using data as input / based on / according to / in response to data" (including similar expressions) are used, unless otherwise specified, this includes the use of data itself or data that has been processed in some way (e.g., data with noise added, normalized, feature values ​​extracted from data, intermediate representations of data, etc.). In addition, when it is stated that a result is obtained "using data as input / based on / according to / in response to data" (including similar expressions), unless otherwise specified, this includes the use of the result based only on the data, or the use of the result influenced by other data, factors, conditions, and / or states other than the data. In addition, when it is stated that "data is output" (including similar expressions), unless otherwise specified, this includes the use of data itself as output, or data that has been processed in some way (e.g., data with noise added, normalized, feature values ​​extracted from data, intermediate representations of various data, etc.) as output.

[0129] In this specification (including the claims), the terms "connected" and "coupled" are intended as open-ended terms including any of direct connection / coupling, indirect connection / coupling, electrically connection / coupling, communicatively connection / coupling, functionally connection / coupling, physically connection / coupling, etc. The terms should be interpreted appropriately depending on the context in which the terms are used, but any connection / coupling form that is not intentionally or naturally excluded should be interpreted as being included in the terms without any restriction.

[0130] In this specification (including the claims), when the expression "A configured to B" is used, it may include that the physical structure of element A has a configuration capable of performing operation B, and that the permanent or temporary setting / configuration of element A is configured / set to actually perform operation B. For example, when element A is a general-purpose processor, it is sufficient that the processor has a hardware configuration capable of performing operation B, and is configured to actually perform operation B by setting a permanent or temporary program (instruction). Also, when element A is a dedicated processor, dedicated arithmetic circuit, etc., it is sufficient that the circuit structure, etc. of the processor is implemented to actually perform operation B, regardless of whether control instructions and data are actually attached.

[0131] In this specification (including the claims), when terms implying containing or possessing (e.g., "comprising / including," "having," etc.) are used, they are intended to be open-ended terms that include cases in which the term contains or possesses things other than the object indicated by the object of the term. When the object of such terms implying containing or possessing does not specify a quantity or suggests a singular number (such as an expression using the article "a" or "an"), the expression should be construed as not being limited to a specific number.

[0132] In this specification (including the claims), even if expressions such as "one or more" and "at least one" are used in some places and expressions that do not specify a quantity or suggest a singular number (expressions using the articles "a" or "an") are used in other places, the latter expressions are not intended to mean "one." In general, expressions that do not specify a quantity or suggest a singular number (expressions using the articles "a" or "an") should be interpreted as not necessarily being limited to a specific number.

[0133] In this specification, when a particular advantage / result is described as being obtained from a particular configuration of an embodiment, it should be understood that the same effect can also be obtained from one or more other embodiments having the same configuration, unless there is a reason to the contrary. However, it should be understood that the presence or absence of the effect generally depends on various factors, conditions, and / or states, and that the effect is not necessarily obtained by the configuration. The effect is merely obtained by the configuration described in the embodiment when various factors, conditions, and / or states are satisfied, and the effect is not necessarily obtained in the invention according to the claim that specifies the configuration or a similar configuration.

[0134] In this specification (including claims), when a plurality of pieces of hardware perform a predetermined process, each piece of hardware may cooperate to perform the predetermined process, or a portion of the hardware may perform all of the predetermined process. Also, a portion of the hardware may perform a portion of the predetermined process, and another piece of hardware may perform the remainder of the predetermined process. In this specification (including claims), when an expression such as "one or more pieces of hardware perform a first process, and the one or more pieces of hardware perform a second process" (including similar expressions) is used, the hardware performing the first process and the hardware performing the second process may be the same or different. In other words, it is sufficient that the hardware performing the first process and the hardware performing the second process are included in the one or more pieces of hardware. The hardware may include an electronic circuit, a device including an electronic circuit, and the like.

[0135] In this specification (including the claims), when multiple storage devices (memories) store data, each of the multiple storage devices may store only a portion of the data, or may store the entire data. Also, a configuration in which only some of the multiple storage devices store data may be included.

[0136] In this specification (including the claims), terms such as "first", "second", etc. are used merely as a way of distinguishing between two or more elements, and are not necessarily intended to impose technical meanings such as time aspect, space aspect, sequence, quantity, etc. on the subject matter. Thus, for example, a reference to a first element and a second element does not necessarily mean that only two elements may be employed therein, that the first element must precede the second element, that the first element must be present for the second element to be present, etc.

[0137] Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the above-mentioned individual embodiments. Various additions, modifications, replacements, partial deletions, etc. are possible within the scope of the conceptual idea and intent of the present invention derived from the contents defined in the claims and their equivalents. For example, in the above-mentioned embodiments, when numerical values ​​or formulas are used for explanation, these are shown for illustrative purposes and do not limit the scope of the present disclosure. In addition, the order of each operation shown in the embodiment is also illustrative and does not limit the scope of the present disclosure. [Explanation of symbols]

[0138] 10: Learning support device 11: Execution environment 20:Generation device 21: Generative model 101: Teaching material storage section 102: Screen control unit 103: Execution instruction section 104: Execution result acquisition unit 105: Error detection unit 106: Generation instruction section 107: Generation result acquisition part 108: Code detector 1000: Learning Support System

Claims

1. At least one memory; at least one processor; The at least one processor Acquire educational material data, which is educational material used to learn a programming language; displaying a learning screen for a user to learn a programming language, the learning screen being based on the teaching material data; the learning screen includes a first area for displaying output information from a first interactive system, and a second area for receiving input information to a second interactive system; Information processing device.

2. the learning screen includes the first area, the second area, and an operation unit for inputting the input information based on the output information into the second area; The information processing device according to claim 1 .

3. The at least one processor displaying the operation unit in the first area; The information processing device according to claim 2 .

4. The at least one processor When the output information satisfies a predetermined condition, the operation unit is displayed. The information processing device according to claim 3 .

5. the first area displays the output information in chronological order; The at least one processor displaying the operation unit in the vicinity of the output information that satisfies the predetermined condition; The information processing device according to claim 4.

6. The at least one processor generating the input information based on information automatically detected from the output information; The information processing device according to claim 1 .

7. the first interactive system is a generative model; the second interactive system being a program execution environment; The information processing device according to claim 2 .

8. The at least one processor When the output information includes a source code, the operation unit is displayed. The information processing device according to claim 7.

9. The at least one processor inputting a source code extracted from the output information into the second area in response to an operation on the operation unit; The information processing device according to claim 8.

10. the first interactive system is a program execution environment; the second interactive system is a generative model; The information processing device according to claim 2 .

11. The at least one processor When the output information includes error information, the operation unit is displayed. The information processing device according to claim 10.

12. The at least one processor inputting, into the second area, the input information instructing a correction of the source code based on the error information in response to an operation on the operation unit; The information processing device according to claim 11.

13. the learning screen including the first area and the second area is displayed in one main window, and the display function is a function implemented by an application program; 13. An information processing apparatus according to claim 1.

Citation Information

Patent Citations

  • Development support device, method, and program

    JP2022041562A