Drawing generation program and drawing generation device

JP2026139405APending Publication Date: 2026-09-01绫木 健一郎
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025026075
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2026-09-01

AI Technical Summary

Benefits of technology

【0010】 本発明によれば、図面の説明文から、当該説明文に関する図面を生成することが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026139405000001_ABST
    Figure 2026139405000001_ABST
Patent Text Reader

Abstract

The system generates drawings related to the description in the drawing. [Solution] The drawing generation program inputs a prompt request 53 to the generation AI system 3, which includes an instruction to generate a drawing in SVG format from the drawing description, and causes the computer to perform the following steps: obtain a chat completion object 54 containing a predetermined SVG format drawing 25 from the generation AI system 3, and extract the predetermined SVG format drawing 25 from the chat completion object 54.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a drawing generation program and a drawing generation apparatus.

Background Art

[0002] With the development of artificial intelligence technology in recent years, it has been proposed to support the generation of various contents with the assistance of generative AI. For example, Patent Document 1 describes an invention that suppresses variation in quality when drafting claims, or reduces the time required for preparing a patent application manuscript including claims. As described above, many technologies for allowing humans to draft texts with the assistance of generative AI have been implemented.

[0003] A technology for creating drawings with the assistance of generative AI is described in Non-Patent Document 1. In Non-Patent Document 1, by transmitting requirements of a drawing to be created to ChatGPT (GPT-4), Mermaid syntax is output, and trials are conducted to create sequences, Gantt charts, and flowcharts as various types of drawings.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Non-Patent Documents

[0005]

Non-Patent Document 1

[0006] Non-patent document 1 generates Mermaid notation text from a bulleted list of requirements. However, in reality, drawing descriptions are often written in natural language. Furthermore, the drawing description may not specify the type of drawing. In such cases, the drawing type may not be correctly recognized, and the Mermaid notation text may not be generated properly. Moreover, drawings rendered with Mermaid notation text have the problem of being of low quality as patent drawings.

[0007] Furthermore, generative AIs such as OpenAI's ChatGPT (registered trademark) have the function of receiving text prompts and passing them on to the image generation AI Dalle, which then generates the instructed image. However, this image generation AI Dalle cannot draw block diagrams, flowcharts, mode transition diagrams, or sequence diagrams. Therefore, the object of the present invention is to generate a drawing related to a description from the description of the drawing. [Means for solving the problem]

[0008] In other words, the above-mentioned problems of the present invention are solved by the following configuration. The drawing generation program of the present invention causes a computer to perform the following steps: input a prompt to a generating AI that includes an instruction to generate a drawing in SVG format from a drawing description, obtain a response from the generating AI that includes a predetermined SVG format drawing, and extract the predetermined SVG format drawing from the response.

[0009] The drawing generation apparatus of the present invention is characterized by comprising: an SVG format drawing conversion unit that receives a prompt from a generation AI that includes an instruction to generate a predetermined SVG format drawing from a drawing description, and obtains a response from the generation AI that includes a predetermined SVG format drawing; and an SVG format drawing extraction unit that extracts the predetermined SVG format drawing from the response. Other configurations will be described in the embodiments. Effects of the Invention

[0010] According to the present invention, it is possible to generate a drawing related to a description from the description of the drawing. Brief Description of the Drawings

[0011] [Figure 1] It is a logical configuration diagram showing the drawing generation device according to the first embodiment. [Figure 2] It is a hardware configuration diagram showing the drawing generation device. [Figure 3] It is a screen displayed by the drawing generation device. [Figure 4A] It is a flowchart of description generation processing. [Figure 4B] It is a flowchart of description generation processing. [Figure 5] It is a diagram showing a request body to be transmitted to a generative AI system. [Figure 6] It is a diagram explaining the content of a prompt. [Figure 7] It is a diagram showing a chat completion object received from a generative AI system. [Figure 8] It is a diagram explaining the content of an answer included in a chat completion object. [Figure 9] It is a diagram showing a request body to be transmitted to a generative AI system. [Figure 10] It is a diagram explaining the content of a prompt for generating a block diagram. [Figure 11] It is a diagram showing a chat completion object received from a generative AI system. [Figure 12] It is a diagram explaining the content of an answer included in a chat completion object. [Figure 13] It is an SVG format drawing of a block diagram. [Figure 14] It is a diagram explaining the content of a prompt for generating a flowchart. [Figure 15]This is an SVG drawing of a flowchart. [Figure 16] This is a diagram explaining the content of a prompt for generating a mode transition diagram. [Figure 17] This is an SVG drawing of a mode transition diagram. [Figure 18] This is a diagram explaining the content of a prompt for generating a sequence diagram. [Figure 19] This is an SVG drawing of a sequence diagram. [Figure 20] This is a logical configuration diagram showing a drawing generation apparatus according to a second embodiment. [Figure 21] This is a flowchart of drawing generation processing. [Figure 22] This is a flowchart of rule-based descriptive text identification processing. MODE FOR CARRYING OUT THE INVENTION

[0012] Hereinafter, modes for carrying out the present invention will be described in detail with reference to each drawing. The present invention generates drawings in SVG (Scalable Vector Graphics) format from natural sentences describing the drawings.

[0013] Figure 1 is a logical configuration diagram showing a drawing generation apparatus 1 according to a first embodiment. The drawing generation apparatus 1 includes a descriptive text identification unit 11, a descriptive text extraction unit 12, an SVG format drawing conversion unit 13, an SVG format drawing extraction unit 14, a display control unit 15, and a prompt database 17. The drawing generation apparatus 1 is an apparatus that cooperates with a generative AI system 3 to generate an SVG format drawing 25 specified by a drawing number 22 from a natural sentence 21.

[0014] When the natural sentence 21 and the drawing number 22 are input, the descriptive text identification unit 11 instructs the generative AI system 3 to identify descriptive text from the natural sentence 21 by means of a request body 51 including a first prompt. The natural sentence 21 includes the descriptive text of the drawing specified by the drawing number 22. Examples of the drawings include block diagrams, flowcharts, sequence diagrams, mode transition diagrams, and the like.

[0015] This request 51 is written in JSON format. The request 51 is executed by the generation AI system 3, for example, by calling the API (Application Programming Interface) of the generation AI system 3, and a chat completion object 52 is generated. Then, the generation AI system 3 sends the chat completion object 52 in JSON format to the description identification unit 11. This chat completion object 52 contains the description 23 of the drawing specified by drawing number 22.

[0016] The description extraction unit 12 extracts the description 23 of the drawing specified by drawing number 22 from the chat completion object 52.

[0017] The prompt database 17 is a database that stores the correspondence between drawing types and prompts. When the SVG format drawing conversion unit 13 receives the description text 23 and the drawing type 24 as input, it refers to the prompt database 17 to determine the second prompt. Then, the SVG format drawing conversion unit 13 instructs the generation AI system 3 to convert the description text 23 into an SVG format drawing 25 based on the request body 53 which includes the second prompt. The drawing type 24 includes flowcharts, sequence diagrams, mode transition diagrams, etc.

[0018] The request 53 is written in JSON format. This request 53 is executed by the generation AI system 3, for example, by calling the API of the generation AI system 3, and a chat completion object 54 is generated. The generation AI system 3 then returns the chat completion object 54 in JSON format to the SVG format drawing conversion unit 13. This chat completion object 54 contains an SVG format drawing 25. This SVG format drawing 25 can be imported into, for example, Microsoft PowerPoint® or Visio®, or edited using SVG editing software such as Adobe Illustrator®.

[0019] The SVG format drawing extraction unit 14 extracts the SVG format drawing 25 from the chat completion object 54. The display control unit 15 then displays the SVG format drawing 25 on the display unit 104.

[0020] Figure 2 is a hardware configuration diagram showing the drawing generation device 1. The drawing generation device 1 is equipped with a CPU (Central Processing Unit) 101, RAM (Random Access Memory) 102, and ROM (Read Only Memory) 103.

[0021] The CPU 101 is a processing unit that executes computer programs and provides overall control to the drawing generation device 1. The RAM 102 is a volatile read / write memory used by the CPU 101 as a workspace for computer programs. The ROM 103 is a non-volatile read-only memory that stores, for example, the BIOS (Basic I / O System).

[0022] The drawing generation device 1 further includes a display unit 104, an input unit 105, a communication unit 106, and a storage unit 107. The display unit 104 is, for example, a liquid crystal display, which displays characters, figures, images, etc. The input unit 105 is, for example, a mouse, keyboard, or touch panel, which the user inputs information into. The communication unit 106 is, for example, a network interface card, which communicates information with, for example, the generation AI system 3.

[0023] The memory unit 107 is a large-capacity storage device such as a hard disk or an SSD (Solid State Drive). The drawing generation program 1071 is stored in this memory unit 107. When the CPU 101 executes the drawing generation program 1071, each of the functional units in Figure 1 is realized.

[0024] Figure 3 shows the drawing generation screen 41 displayed on the display unit 104 by the drawing generation device 1. The drawing generation screen 41 consists of a drawing number combo box 411, a natural language text area 413, and a drawing area 414. This drawing generation screen 41 is a screen for generating a drawing by inputting natural language text and a drawing number.

[0025] The drawing number combo box 411 is a combo box for selecting a drawing number. The natural language text area 413 is an area for displaying entered natural language text. For example, a user can register natural language text in the natural language text area 413 by dragging and dropping a natural language text file into the natural language text area 413.

[0026] The drawing area 414 is the area that displays the drawing with the specified drawing number. By checking the drawing area 414, the user can verify whether the natural language text entered in the natural language text area 413 is correctly reflected in the drawing.

[0027] Figures 4A and 4B are flowcharts of the drawing generation process. These flowcharts will be explained with reference to Figures 1 and 2. When processing begins, the description identification unit 11 first accepts the input of natural language text 21 and drawing number 22 (step S10). Then, the description identification unit 11 creates a prompt to identify the description text 23 by specifying the natural language text 21 and drawing number 22 (step S11). The description identification unit 11 sends the request body 51 containing the generated prompt to the generation AI system 3 via API (step S12), and receives a chat completion object 52 from the generation AI system 3 (step S13).

[0028] Next, the description extraction unit 12 extracts the description 23 from the chat completion object 52 (step S14). The SVG format drawing conversion unit 13 branches in multiple directions according to the description of the drawing type in the explanatory text 23 (step S15). The description of the drawing type includes, for example, block diagrams, flowcharts, mode transition diagrams, sequence diagrams, etc. If there is no description of the drawing type in the explanatory text 23 (No), the process ends. If the drawing type in the explanatory text 23 is a block diagram, flowchart, or mode transition diagram, the process proceeds to step S16. If the drawing type in the explanatory text 23 is a sequence diagram, the process proceeds to step S17.

[0029] In step S16, the SVG format drawing conversion unit 13 creates a prompt to convert to an SVG format drawing 25 based on the explanatory text 23 and the drawing type described in the explanatory text 23, and then proceeds to step S18. In step S17, the SVG format drawing conversion unit 13 generates Mermaid format text based on the explanatory text 23 and the drawing type specified by the user, and then creates a prompt to convert it into an SVG format drawing 25, before proceeding to step S18.

[0030] In step S18, the SVG format drawing conversion unit 13 sends the request body 53, including the generated prompt, to the generation AI system 3 via API. The SVG format drawing conversion unit 13 then receives the chat completion object 54 from the generation AI system 3 via API (step S17).

[0031] Next, the SVG format drawing extraction unit 14 extracts the SVG format drawing 25 from the chat completion object 54 (step S20). Then, the display control unit 15 displays the SVG format drawing 25 on the display unit 104 (step S21), and the processes shown in Figures 4A and 4B are completed.

[0032] Figure 5 shows a request body 51 containing a prompt to be sent to the generating AI system 3. The description identification unit 11 sends this request 51 to the generation AI system 3. This request 51 consists of a model item and a messages item. The Model item specifies the ID of the generation AI model, followed by a semicolon. The Messages item stores a list of messages that make up the conversation so far, and various message types such as text, images, and audio can be set. The Messages item contains a role item and a content item in curly braces, followed by a semicolon.

[0033] For the role field, enter either system or user. For the contents field, enter text for the type field and enter prompt 31 from Figure 6 for the text field.

[0034] Figure 6 is a diagram illustrating the content of prompt 31. The prompt 31 contains the instruction text "Output the description for {drawing number} from natural language," and "{drawing number} = Figure 1." Following this, the target natural language is written after "# natural language." The description identification unit 11 sends the request body 51, including this prompt 31, to the generation AI system 3. As a result, the generation AI system 3 outputs the description for Figure 1.

[0035] Figure 7 shows a chat completion object 52 received from the generation AI system 3. The description identification unit 11 sends the request 51 to the generation AI system 3, and then receives a chat completion object 52 from the generation AI system 3. This chat completion object 52 consists of an id field, an object field, a created field, a model field, a choices field, and a usage field.

[0036] The `id` field is an identifier that uniquely identifies the chat completion object 52. The `object` field indicates the object type, which is always `chat.completion`. The `created` field shows the Unix timestamp in seconds when the chat completion was created. The `model` field is the model used for the chat completion. The `choices` field is a list of choices for the chat completion, which may be multiple. The `usage` field is the usage statistics for the completion request.

[0037] The `choices` field consists of the `index` field, the `role` and `content` fields included in the `message` field, and the `finish_reason` field. The `index` field is the number of the option to complete the chat. The `role` field within the `message` field stores the `assistant`. The `content` field within the `message` field stores the response 32 generated by the generation AI system. This response 32 includes a description of the drawing specified by the drawing number.

[0038] Figure 8 is a diagram illustrating the content of the response 32 included in the chat completion object 52. This answer, number 32, contains a description of the drawing specified by the drawing number. This description is shown below. "Figure 1 is a block diagram showing the configuration of terminal 9." Terminal 9 comprises a control unit 91, a storage unit 92, and a communication unit 93. These three units are interconnected by a bus. The storage unit 92 contains a program 921. The program 921 is executed by the control unit 91, thereby realizing each functional unit.

[0039] Figure 9 shows a request body 53 containing a prompt to be sent to the generating AI system 3. The SVG format drawing conversion unit 13 sends this request 53 to the generation AI system 3. This request 53 consists of a model item and a messages item. The Model item specifies the ID of the generation AI model, followed by a semicolon. The Messages item stores a list of messages that make up the conversation so far, and various message types such as text, images, and audio can be set. The Messages item contains a role item and a content item in curly braces, followed by a semicolon.

[0040] For the role field, enter either system or user. For the contents field, enter text for the type field and enter prompt 33 from Figure 10 for the text field.

[0041] Figure 10 is a diagram illustrating the content of prompt 33. The SVG format drawing conversion unit 13 sends the request 53 to the generation AI system 3, and the prompt 33 included in the request 53 is output to the generation AI system 3. The prompt 33 contains the instruction "# Instruction" and an instruction statement. The instruction statement is transcribed below.

[0042] The description explains the block diagram. Please convert this description into a black and white SVG diagram composed of each block element. Please draw each block using the element names that have been assigned a sign. For each block, use the element name with the sign removed and a size that encloses the lower-level blocks and signs contained within it without overlap. Repeat this process recursively for each lower-level block. Please write the element names in each block, aligned to the top and starting from the left edge. If an element name exceeds 7 characters, please break it on a new line at the morpheme separator. Draw a symbol on the upper left edge of the outside of each block. Ensure that each block and its corresponding symbol do not overlap with other blocks and their symbols at the same hierarchical level. If each block has inputs and outputs, indicate them with arrows and write the names of the input / output information above the arrows.

[0043] The instruction in the first paragraph of the instructions in prompt 33, "Convert to a black and white drawing in SVG format," generates a black and white drawing. This instruction is to meet the requirements for a patent drawing. The second paragraph of the instruction in prompt 33, "Draw the element names assigned with reference numerals as blocks," causes the element names assigned with reference numerals to be drawn as blocks. This instruction is to satisfy the requirements for patent drawings. The third paragraph of the instructions in prompt 33 states, "Recursively repeat this process for each lower-level block, with each block being a size that encloses the element name with the sign removed and the lower-level blocks and signs contained within it without overlapping." This allows each block to be positioned to enclose the lower-level blocks.

[0044] The third paragraph of the instructions in prompt 33, "If the element name exceeds 7 characters, please insert a line break at the morpheme delimiter," allows element names exceeding 7 characters to be displayed correctly. The fourth paragraph of the instructions in prompt 33, "Draw the symbol on the upper left edge outside each block," allows us to indicate the symbols of the elements written in the blocks.

[0045] The fifth paragraph of the instructions in prompt 33 states, "Each block and its symbol should not overlap with other blocks and their symbols at the same hierarchical level," which allows for the layout of blocks at the same hierarchical level without overlapping.

[0046] The sixth paragraph of the instructions in prompt 33, "If each block has inputs and outputs, indicate them with arrows and write the names of the input / output information above the arrows," allows for the proper visualization of input / output information exchanged between blocks. Note that the instructions in the sixth paragraph are not required. This allows for the proper creation of a static block diagram. Below that, there is a "# Explanation" section indicating the explanation, along with the explanation of the drawing. The explanation is transcribed below.

[0047] "Figure 1 is a block diagram showing the configuration of terminal 9." Terminal 9 comprises a control unit 91, a storage unit 92, and a communication unit 93. These three units are interconnected by a bus. The storage unit 92 contains a program 921. The program 921 is executed by the control unit 91, thereby realizing each functional unit.

[0048] The instruction text for prompt 33 is stored in the prompt database 17, linked to the drawing type "block diagram". This prompt 33 prompts the generating AI system 3 to convert the explanatory text into an SVG drawing.

[0049] Figure 11 shows a chat completion object 54 received from the generation AI system 3. The SVG format drawing conversion unit 13 sends the request 53 to the generation AI system 3, and then receives a chat completion object 54 from the generation AI system 3. This chat completion object 54 consists of the following fields: id, object, created, model, choices, and usage.

[0050] The `id` field is an identifier that uniquely identifies the chat completion object 54. The `object` field indicates the object type, which is always `chat.completion`. The `created` field shows the Unix timestamp in seconds when the chat completion was created. The `model` field is the model used for the chat completion. The `choices` field is a list of choices for the chat completion, which may be multiple. The `usage` field is the usage statistics for the completion request.

[0051] The `choices` field consists of the `index` field, the `role` and `content` fields included in the `message` field, and the `finish_reason` field. The `index` field is the number of the option to complete the chat. The `role` field within the `message` field stores the `assistant`. The `content` field within the `message` field stores the response 34 generated by the AI ​​generation system.

[0052] Figure 12 is a diagram illustrating the content of the response included in the chat completion object 54. Answer 34 contains an SVG drawing. This SVG drawing is a converted version of the drawing's description, and is in UTF-8 format. The content of Answer 34 is transcribed below.

[0053] Inference completed for 1m17s. <svg xmlns="http: / / www.w3.org / 2000 / svg" width="650" height="300"> <!-- Definition: Marker for arrow --> <defs> <marker id="arrow" markerwidth="10" markerheight="10" refx="8" refy="3" orient="auto"> <path d="M0,0 L0,6 L9,3 z" fill="black" / > < / marker> < / defs> <!-- Outer frame: Terminal 9 (reference numeral "9") --> <rect x="20" y="20" width="600" height="200" fill="white" stroke="black" / > <!-- Internal text: Terminal --> <text x="30" y="35" font-family="Arial" font-size="12"> terminal< / text> <!-- External reference numeral --> <text x="5" y="30" font-family="Arial" font-size="12"> 9< / text> <!-- Sub-block: Control unit 91 --> <rect x="50" y="60" width="150" height="100" fill="white" stroke="black" / > <text x="55" y="75" font-family="Arial" font-size="12"> control unit< / text> <text x="40" y="65" font-family="Arial" font-size="12"> 91< / text> <!-- Sub-block: Storage unit 92 --> <rect x="250" y="60" width="150" height="100" fill="white" stroke="black" / > <text x="255" y="75" font-family="Arial" font-size="12"> storage section< / text> <text x="240" y="65" font-family="Arial" font-size="12"> 92< / text> <!-- Sub-block: Communication unit 93 --> <rect x="450" y="60" width="150" height="100" fill="white" stroke="black" / > <text x="455" y="75" font-family="Arial" font-size="12"> Communications Department< / text> <text x="440" y="65" font-family="Arial" font-size="12"> 93< / text> <!-- Lower-level block: Program 921 in storage unit 92 --> <rect x="260" y="80" width="130" height="50" fill="white" stroke="black" / > <text x="265" y="95" font-family="Arial" font-size="12"> program< / text> <text x="255" y="90" font-family="Arial" font-size="12"> 921< / text> <!-- Bus connection (interconnection): Input / output from each sub-block --> <!-- Bottom center of each block --> <!-- Bottom center of control unit 91 --> <line x1="125" y1="160" x2="125" y2="170" stroke="black" marker-end="url(#arrow)" / > <text x="115" y="157" font-family="Arial" font-size="10"> bus< / text> <!-- Bottom center of storage unit 92 --> <line x1="325" y1="160" x2="325" y2="170" stroke="black" marker-end="url(#arrow)" / > <text x="315" y="157" font-family="Arial" font-size="10"> bus< / text> <!-- Lower center of communication unit 93 --> <line x1="525" y1="160" x2="525" y2="170" stroke="black" marker-end="url(#arrow)" / > <text x="515" y="157" font-family="Arial" font-size="10"> bus< / text> <!-- Horizontal bus line (connecting line) --> <line x1="125" y1="170" x2="525" y2="170" stroke="black" / > <!-- Execution instruction from the control unit 91 to the program 921 in the storage unit 92 --> <!-- Right center of control unit 91 --> <!-- (50+150, 60+50) = (200,110) --> <!-- Left center of program 921 --> <!-- (260, 80+25) = (260,105) --> <line x1="200" y1="110" x2="260" y2="105" stroke="black" marker-end="url(#arrow)" / > <text x="210" y="100" font-family="Arial" font-size="10"> execution< / text> < / svg>

[0054] The SVG format was developed by the W3C SVG Working Group and has a strictly defined format. It is easy to mechanically extract the parts written in SVG format from answer 34.

[0055] Figure 13 is an example of a block diagram in SVG format. This drawing shows the terminal block and the reference numeral 9 to its left, the control unit block and the reference numeral 91 to its left, the storage unit block and the reference numeral 92 to its left, and the communication unit block and the reference numeral 93 to its left. The control unit, storage unit, and communication unit blocks are connected by paths.

[0056] Figure 14 illustrates the content of prompt 33a when generating a flowchart. The SVG format drawing conversion unit 13 sends the request 53 to the generation AI system 3, and the prompt 33a included in the request 53 is output to the generation AI system 3. The prompt 33a contains the instruction text "# Instruction". The instruction text is transcribed below.

[0057] The description explains the flowchart. Please convert this description into a black and white SVG diagram composed of blocks of element names. From start to end, draw the element names with assigned signs as separate blocks. Draw the conditional statements as diamonds, and the start and end as rectangles with rounded ends. For each block, use the element name with the sign removed and a size that encloses the lower-level blocks and signs contained within it without overlap. Repeat this process recursively for each lower-level block. Please write the element names in each block, aligned to the top and starting from the left edge. If an element name exceeds 7 characters, please break it on a new line at the morpheme separator. Draw a symbol on the upper left edge of the outside of each block. Ensure that each block and its corresponding symbol do not overlap with other blocks and their symbols at the same hierarchical level. Use arrows to show the processing flow of each block, and write the condition at the base of the arrow in the judgment statement.

[0058] The instruction in the first paragraph of prompt 33a, "Convert to a black and white drawing in SVG format," generates a black and white drawing. The second paragraph of the instruction in prompt 33a, "Draw the signed element names as blocks," causes the signed element names to be drawn as blocks. The third paragraph of the instructions in prompt 33a states, "Recursively repeat this process for lower-level blocks, with each block being sized to contain the element name with the sign removed and the lower-level blocks and signs contained within it without overlapping." This allows each block to be positioned to contain the lower-level blocks. The instruction, "Draw the judgment statement as a rhombus, and the start and end as rectangles with rounded ends," allows the judgment statement, start, and end to be drawn appropriately.

[0059] The fourth paragraph of the instruction in prompt 33a, "If the element name exceeds 7 characters, please insert a line break at the morpheme delimiter," allows element names exceeding 7 characters to be displayed correctly. The instruction in the fifth paragraph of prompt 33a, "Draw the symbol on the upper left edge outside each block," allows us to indicate the symbols of the elements written in the blocks.

[0060] The sixth paragraph of the instructions in prompt 33a, "Ensure that each block and its symbol do not overlap with other blocks and their symbols at the same hierarchical level," allows for the layout of blocks at the same hierarchical level without overlap. The seventh paragraph, "Indicate the processing flow of each block with arrows, and in the judgment statement, draw the judgment condition at the base of the arrow," allows for the proper illustration of the processing flow of blocks and the branching conditions of the judgment statement.

[0061] Below these instructions, there is a section labeled "# Explanation" indicating an explanation, along with a description of the drawing. The explanation is transcribed below.

[0062] "Figure 2 shows the processing operation of the terminal." When processing begins, the terminal first processes the data (step S50). Next, the terminal sends it to the server (step S51). Then, the terminal determines whether the transmission was successful or not (step S52). If the transmission was successful, the terminal terminates processing. If the transmission was unsuccessful, the terminal returns to step S50 to process the data again, and these steps are repeated.

[0063] The instruction text for prompt 33a is stored in the prompt database 17, linked to the drawing type "flowchart". This prompt 33a prompts the generating AI system 3 to convert the explanatory text into an SVG drawing.

[0064] Figure 15 is a flowchart generated by prompt 33a in Figure 14. The following is the text for displaying the flowchart in SVG format (Diagram 25).

[0065] <svg xmlns="http: / / www.w3.org / 2000 / svg" width="500" height="400"> <!-- Definition: Marker for arrow --> <defs> <marker id="arrow" markerwidth="10" markerheight="10" refx="8" refy="3" orient="auto"> <path d="M0,0 L0,6 L9,3 z" fill="black" / > < / marker> < / defs> <!-- Start block (rectangle with rounded ends) --> <rect x="260" y="20" width="80" height="30" fill="white" stroke="black" rx="10" ry="10" / > <text x="270" y="40" font-family="Arial" font-size="12"> start< / text> <!-- Block S50: The terminal processes data --> <rect x="200" y="70" width="200" height="60" fill="white" stroke="black" / > <!-- Reference sign at the upper left end outside the block --> <text x="190" y="65" font-family="Arial" font-size="12"> S50< / text> <!-- Inside the block: Line breaks at morpheme boundaries --> <text x="205" y="85" font-family="Arial" font-size="12"> The device is< / text> <text x="205" y="100" font-family="Arial" font-size="12"> data< / text> <text x="205" y="115" font-family="Arial" font-size="12"> Process< / text> <!-- Block S51: The terminal transmits data to the server --> <rect x="200" y="150" width="200" height="60" fill="white" stroke="black" / > <text x="190" y="145" font-family="Arial" font-size="12"> S51< / text> <text x="205" y="165" font-family="Arial" font-size="12"> The device is< / text> <text x="205" y="180" font-family="Arial" font-size="12"> To the server< / text> <text x="205" y="195" font-family="Arial" font-size="12"> Send< / text> <!-- Block S52 (judgment: diamond) --> <!-- Vertices of the diamond: top (300,230), right (400,270), bottom (300,310), left (200,270) --> <polygon points="300,230 400,270 300,310 200,270" fill="white" stroke="black" / > <text x="190" y="225" font-family="Arial" font-size="12"> S52< / text> <!-- Internal text (line breaks at morpheme boundaries) --> <text x="205" y="245" font-family="Arial" font-size="12"> The device is< / text> <text x="205" y="260" font-family="Arial" font-size="12"> Sending< / text> <text x="205" y="275" font-family="Arial" font-size="12"> Was it a success?< / text> <text x="205" y="290" font-family="Arial" font-size="12"> Whether or not< / text> <text x="205" y="305" font-family="Arial" font-size="12"> Determine< / text> <!-- End block (rectangle with rounded ends) --> <rect x="260" y="330" width="80" height="30" fill="white" stroke="black" rx="10" ry="10" / > <text x="270" y="350" font-family="Arial" font-size="12"> end< / text> <!-- Show the processing flow with arrows --> <!-- Start → S50: from the lower center (300,50) of the start block to the upper center (300,70) of S50 --> <line x1="300" y1="50" x2="300" y2="70" stroke="black" marker-end="url(#arrow)" / > <!-- S50 → S51: from the lower center (300,130) of S50 to the upper center (300,150) of S51 --> <line x1="300" y1="130" x2="300" y2="150" stroke="black" marker-end="url(#arrow)" / > <!-- S51 → S52: from the lower center (300,210) of S51 to the upper vertex (300,230) of S52 --> <line x1="300" y1="210" x2="300" y2="230" stroke="black" marker-end="url(#arrow)" / > <!-- S52 (judgment) → End: from the lower vertex (300,310) of S52 to the upper center (300,330) of End --> <line x1="300" y1="310" x2="300" y2="330" stroke="black" marker-end="url(#arrow)" / > <!-- Place the judgment condition "Success" at the root of the arrow --> <text x="305" y="320" font-family="Arial" font-size="12"> success< / text> <!-- Loop arrow: from the left vertex (200,270) of S52 to the left center (200,100) of the S50 block --> <polyline points="200,270 150,270 150,100 200,100" fill="none" stroke="black" marker-end="url(#arrow)" / > <!-- Place the loop judgment condition "Failure" at the root of the arrow --> <text x="155" y="265" font-family="Arial" font-size="12"> failure< / text> < / svg>

[0066] Figure 16 illustrates the contents of prompt 33b when generating a mode transition diagram. The SVG format drawing conversion unit 13 sends the request 53 to the generation AI system 3, and the prompt 33b included in the request 53 is output to the generation AI system 3. The prompt 33b contains the instruction text "# Instruction" and the following instruction statement.

[0067] The description explains the mode transition diagram. Please convert this description into a black and white SVG diagram composed of blocks of element names. Draw a rectangle with rounded edges for each element name that has been assigned a sign. Indicate the start of a mode transition with a black circle and the end of a mode transition with a double circle. For each block, use the element name with the sign removed and a size that encloses the lower-level blocks and signs contained within it without overlap. Repeat this process recursively for each lower-level block. Please write the element names in each block, aligned to the top and starting from the left edge. If an element name exceeds 7 characters, please break it on a new line at the morpheme separator. Draw a symbol on the upper left edge of the outside of each block. Ensure that each block and its corresponding symbol do not overlap with other blocks and their symbols at the same hierarchical level. Please indicate the processing flow of each block with arrows, and draw the transition conditions at the base of the arrows.

[0068] The instruction in the first paragraph of prompt 33b, "Convert to a black and white drawing in SVG format," generates a black and white drawing. The second paragraph of the instruction in prompt 33b, "Draw the signed element names as blocks," causes the signed element names to be drawn as blocks. The third paragraph of the instructions in prompt 33b, "Draw rectangles with rounded edges for each block, using the assigned element names. Indicate the start of a mode transition with a black circle and the end of a mode transition with a double circle," allows you to generate a mode transition diagram compliant with UML (Unified Modeling Language).

[0069] The fourth paragraph of the instructions in prompt 33b states, "Recursively repeat this process for the lower-level blocks, with each block being sized to contain the element name with the sign removed and the lower-level blocks and signs contained within it without overlap." This allows each block to be positioned to contain the lower-level blocks.

[0070] The fourth paragraph of the instruction in prompt 33b, "If the element name exceeds 7 characters, please insert a line break at the morpheme delimiter," allows element names exceeding 7 characters to be displayed correctly. The fifth paragraph of the instructions in prompt 33b, "Draw the symbol on the upper left edge outside each block," allows us to indicate the symbols of the elements written in the blocks.

[0071] The sixth paragraph of the instruction in prompt 33b states, "Each block and its symbol should not overlap with other blocks and their symbols at the same hierarchical level," which allows for the layout of blocks at the same hierarchical level without overlapping. The seventh paragraph of the instructions in prompt 33b, "Indicate the processing flow of each block with arrows, and draw the transition conditions at the base of the arrows," allows for the mode transition to be properly illustrated.

[0072] Below that, there is a "# Explanation" section indicating the explanation, along with the explanation of the drawing. The explanation is transcribed below.

[0073] "When the device is powered on, it starts in battery operation mode 80. When the power is turned on, the device transitions to the first main power operation mode 81. If a mating error occurs in the first main power operation mode 81, the device returns to battery operation mode 80. After a certain period of time, the device transitions from the first main power operation mode 81 to the second main power operation mode 82. If the power is turned off in the second main power operation mode 82, the device returns to battery operation mode 80."

[0074] The instruction text for prompt 33b is stored in the prompt database 17, linked to the drawing type "mode transition diagram". This prompt 33b causes the generating AI system 3 to convert the explanatory text into an SVG drawing.

[0075] Figure 17 is a mode transition diagram generated by prompt 33b in Figure 16. The following is the text for displaying the mode transition diagram in SVG format, diagram 25.

[0076] <svg xmlns="http: / / www.w3.org / 2000 / svg" width="500" height="400"> <!-- Define arrowhead marker --> <defs> <marker id="arrowhead" markerwidth="10" markerheight="7" refx="10" refy="3.5" orient="auto"> <polygon points="0 0, 10 3.5, 0 7" fill="black" / > < / marker> < / defs> <!-- Start marker: black filled circle --> <circle cx="70" cy="125" r="5" fill="black" / > <!-- Arrow from start marker to Battery Mode block --> <line x1="70" y1="125" x2="100" y2="125" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <!-- Battery operation mode block (code: 80) --> <rect x="100" y="100" width="150" height="50" rx="10" ry="10" fill="white" stroke="black" stroke-width="2" / > <!-- Internal element name (line feed by morpheme segmentation) --> <text x="110" y="118" font-family="sans-serif" font-size="14" fill="black"> battery <tspan x="110" dy="16"> Operating mode< / tspan> < / text> <!-- Reference sign at upper left outside the block --> <text x="80" y="90" font-family="sans-serif" font-size="14" fill="black"> 80< / text> <!-- First main power supply operation mode block (code: 81) --> <rect x="300" y="100" width="150" height="50" rx="10" ry="10" fill="white" stroke="black" stroke-width="2" / > <text x="310" y="118" font-family="sans-serif" font-size="14" fill="black"> Main 1 <tspan x="310" dy="16"> Power operation mode< / tspan> < / text> <text x="290" y="90" font-family="sans-serif" font-size="14" fill="black"> 81< / text> <!-- Second main power supply operation mode block (code: 82) --> <rect x="300" y="250" width="150" height="50" rx="10" ry="10" fill="white" stroke="black" stroke-width="2" / > <text x="310" y="268" font-family="sans-serif" font-size="14" fill="black"> Main 2 <tspan x="310" dy="16"> Power operation mode< / tspan> < / text> <text x="290" y="240" font-family="sans-serif" font-size="14" fill="black"> 82< / text> <!-- Arrow: Battery(80) -> First main power supply operation mode(81) --><!-- from right center of battery block (250,125) to left center of first main power supply block (300,125) --> <line x1="250" y1="125" x2="300" y2="125" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <!-- Transition condition "Power ON" near arrow root --> <text x="255" y="115" font-family="sans-serif" font-size="12" fill="black"> Power on< / text> <!-- Arrow: 1st main power operation mode (81) -> Battery operation mode (80) (fit error) --><!-- Draw a curved arrow from main1 top center (375,100) to battery block top center (175,100) --> <path d="M375,100 C375,50 175,50 175,100" fill="none" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <text x="270" y=" forty" font-family="sans-serif" font-size="12" fill="black"> Fitting error< / text> <!-- Since "y" attribute must be numeric, adjust the label position manually --> <text x="270" y="45" font-family="sans-serif" font-size="12" fill="black"> Fitting error< / text> <!-- Arrow: 1st main power operation mode (81) -> 2nd main power operation mode (82) (fixed period elapsed) --><!-- from main1 bottom center (375,150) to main2 top center (375,250) --> <line x1="375" y1="150" x2="375" y2="250" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <text x="380" y="185" font-family="sans-serif" font-size="12" fill="black"> For a certain period< / text> <!-- Arrow: 2nd main power operation mode (82) -> Battery operation mode (80) (Power OFF) --><!-- Draw a curved arrow from main2 left center (300,275) to battery block bottom center (175,150) --> <path d="M300,275 C200,275 200,150 175,150" fill="none" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <text x="225" y="210" font-family="sans-serif" font-size="12" fill="black"> Power OFF< / text> <!-- Final state: termination marker as a double circle --> <!-- Place the final state below Battery block: center at (175,200) --> <circle cx="175" cy="200" r="10" fill="white" stroke="black" stroke-width="2" / > <circle cx="175" cy="200" r="6" fill="none" stroke="black" stroke-width="2" / > <!-- Arrow: Battery operation mode (80) -> End (final state) --><!-- from battery block bottom center (175,150) to final state center (175,200) --> <line x1="175" y1="150" x2="175" y2="200" stroke="black" stroke-width="2" marker-end="url(#arrowhead)" / > <text x="180" y="170" font-family="sans-serif" font-size="12" fill="black"> end< / text> < / svg>

[0077] Figure 18 illustrates the contents of prompt 33c when generating a sequence diagram. The SVG format drawing conversion unit 13 sends the request 53 to the generation AI system 3, and the prompt 33c included in the request 53 is output to the generation AI system 3. The prompt 33c contains the instruction text "# Instruction" and the following instruction statement.

[0078] The description explains the sequence diagram. After converting this description to Mermaid format, please convert it to a black and white SVG diagram composed of blocks of element names. From start to finish, draw the element name of the operating entity, excluding the symbol, inside a rectangle, then draw the symbol above the rectangle, and finally draw the lifeline below it. If the element name exceeds 7 characters, break the line at the morpheme delimiter. Draw a dashed lifeline around each block, and indicate the data transmission element name with the code removed by an arrow. Draw the data transmission code at the base of the arrow.

[0079] The instruction in the first paragraph of prompt 33c, "After converting this description to Mermaid format," causes the description to be converted to Mermaid format. Then, the instruction in the first paragraph, "Convert it to a black and white drawing in SVG format," generates a black and white drawing.

[0080] The second paragraph of the instructions in prompt 33c, "From start to finish, remove the sign from the element name of the operating entity and draw it inside the rectangle, draw the sign above the outside of the rectangle, and draw the lifeline below it," allows for the proper drawing of the operating entities and lifelines in the sequence diagram. The instruction in the second paragraph of prompt 33c, "If the element name exceeds 7 characters, please insert a line break at the morpheme delimiter," allows element names exceeding 7 characters to be displayed correctly.

[0081] The third paragraph of the instructions in prompt 33c, "Remove the sign from the element name of the data transmission and show it with an arrow. Draw the sign of the data transmission at the base of the arrow," allows you to visualize the data transmitted and received in each sequence.

[0082] Below that, there is a "# Explanation" followed by the explanation text. The explanation text is transcribed below.

[0083] First, the user terminal 70 sends a processing request to the server 71 (step S70). Upon receiving this processing request, the server 71 sends a processing request to the processing result cache database 72 to check whether the corresponding processing result exists as a cache (step S71). Next, if the processing result cache database 72 does not exist in the cache, it returns a "cache not found" response to the server 71 (step S72). Upon receiving this response, the server 71 executes the processing corresponding to the request and generates the processing result (step S73). Once the processing is complete, the server 71 saves the generated processing result in the processing result cache database 72 so that it can use the cache to respond quickly to similar requests in the future (step S74). After that, the server 71 sends the processing result back to the user terminal 70 so that the user can check the result (step S75). Finally, the processing result cache database 72 stores the processing results received from the server 71 as a record (step S76).

[0084] The instruction text for prompt 33 is stored in the prompt database 17, linked to the drawing type "sequence diagram". This prompt 33c prompts the generating AI system 3 to convert the explanatory text into an SVG drawing.

[0085] Figure 19 is a sequence diagram generated by prompt 33c in Figure 18. The following is the text for displaying the SVG format drawing 25 of this sequence diagram.

[0086] <?xml version="1.0" encoding="UTF-8"?> <svg width="700" height="350" xmlns="http: / / www.w3.org / 2000 / svg" font-family="sans-serif" font-size="12"> <!-- Definition: Arrow marker --> <defs> <marker id="arrowhead" markerwidth="10" markerheight="7" refx="10" refy="3.5" orient="auto"> <polygon points="0 0, 10 3.5, 0 7" fill="black" / > < / marker> < / defs> <!-- Block: User terminal (70) --> <!-- Place the reference numeral on the upper outside of the rectangle --> <text x="110" y="40" text-anchor="middle"> 70< / text> <!-- Rectangle (inside contains element name excluding reference numeral) --> <rect x="50" y="50" width="120" height="40" fill="none" stroke="black" / > <text x="110" y="75" text-anchor="middle" alignment-baseline="middle"> User terminal< / text> <!-- Lifeline (broken line) --> <line x1="110" y1="90" x2="110" y2="320" stroke="black" stroke-dasharray="4,4" / > <!-- Block: Server (71) --> <text x="310" y="40" text-anchor="middle"> 71< / text> <rect x="250" y="50" width="120" height="40" fill="none" stroke="black" / > <text x="310" y="75" text-anchor="middle" alignment-baseline="middle"> server< / text> <line x1="310" y1="90" x2="310" y2="320" stroke="black" stroke-dasharray="4,4" / > <!-- Block: Processing result cache database (72) --> <text x="510" y="40" text-anchor="middle"> 72< / text> <!-- Divide into 3 lines with a height of 60 (line feed by morphological segmentation because the length exceeds 7 characters) --> <rect x="450" y="50" width="120" height="60" fill="none" stroke="black" / > <text x="510" y="70" text-anchor="middle" alignment-baseline="middle"> Processing results< / text> <text x="510" y="90" text-anchor="middle" alignment-baseline="middle"> cache< / text> <text x="510" y="110" text-anchor="middle" alignment-baseline="middle"> database< / text> <line x1="510" y1="110" x2="510" y2="320" stroke="black" stroke-dasharray="4,4" / > <!-- S70: User terminal → Server --> <!-- The arrow is placed on the lifeline, and the reference numeral is arranged on the sender side --> <line x1="110" y1="110" x2="310" y2="110" stroke="black" marker-end="url(#arrowhead)" / > <text x="110" y="105" text-anchor="start"> S70< / text> <text x="210" y="100" text-anchor="middle"> Processing request< / text> <!-- S71: Server → Processing result cache database --> <line x1="310" y1="140" x2="510" y2="140" stroke="black" marker-end="url(#arrowhead)" / > <text x="310" y="135" text-anchor="start"> S71< / text> <text x="410" y="135" text-anchor="middle"> Processing request< / text> <!-- S72: Processing Result Cache Database → Server <line x1="510" y1="170" x2="310" y2="170" stroke="black" marker-end="url(#arrowhead)" / > <text x="510" y="165" text-anchor="start"> S72< / text> <text x="410" y="165" text-anchor="middle"> Cache not found< / text> <!-- S73: Note for Server Internal Processing (Processing Result Generation) <rect x="320" y="190" width="100" height="30" fill="none" stroke="black" / > <text x="370" y="205" text-anchor="middle"> Processing result generation< / text> <text x="370" y="220" text-anchor="middle"> [S73]< / text> <!-- S74: Server → Processing Result Cache Database (Save Processing Result) <line x1="310" y1="230" x2="510" y2="230" stroke="black" marker-end="url(#arrowhead)" / > <text x="310" y="225" text-anchor="start"> S74< / text> <text x="410" y="225" text-anchor="middle"> Save processing results< / text> <!-- S75: Server → User Terminal (Return Processing Result) <line x1="310" y1="260" x2="110" y2="260" stroke="black" marker-end="url(#arrowhead)" / > <text x="310" y="255" text-anchor="start"> S75< / text> <text x="210" y="255" text-anchor="middle"> Processing results< / text> <!-- S76: Note for Internal Processing of Processing Result Cache Database (Record Storage) <rect x="520" y="280" width="100" height="30" fill="none" stroke="black" / > <text x="570" y="295" text-anchor="middle"> Record keeping< / text> <text x="570" y="310" text-anchor="middle"> [S76]< / text> < / svg>

[0087] Figure 20 is a logic diagram showing the drawing generation device 1A according to the second embodiment. The drawing generation device 1A comprises a rule-based explanatory text extraction unit 16, an SVG format drawing conversion unit 13, an SVG format drawing extraction unit 14, a display control unit 15, and a database 17. The drawing generation device 1 works in cooperation with the generation AI system 3 to generate a drawing 26 specified by a drawing number 22 from natural language text 21.

[0088] When the rule-based description extraction unit 16 receives natural language text 21 and drawing number 22 as input, it uses rule-based processing to identify the description text 23 for the drawing specified by drawing number 22. The rule-based description extraction unit 16 searches the natural language text 21 for drawing number 22 and identifies the sentences from the sentence in which drawing number 22 is mentioned up to the sentence immediately preceding the sentence in which another drawing number is mentioned as the description text 23.

[0089] When the SVG format drawing conversion unit 13 receives the explanatory text 23 and the drawing type 24 as input, it instructs the generation AI system 3 to convert the explanatory text 23 into an SVG format drawing 25 via a request body 53 that includes a second prompt. The drawing type 24 includes block diagrams, flowcharts, sequence diagrams, mode transition diagrams, etc.

[0090] The request 53 is written in JSON format. This request 53 is executed by the generation AI system 3, for example, by calling the API of the generation AI system 3, and a chat completion object 54 is generated. The generation AI system 3 then returns the chat completion object 54 in JSON format to the SVG format drawing conversion unit 13. This chat completion object 54 contains an SVG format drawing 25.

[0091] The SVG format drawing extraction unit 14 extracts the SVG format drawing 25 from the chat completion object 54. The display control unit 15 then displays the SVG format drawing 25 on the display unit 104.

[0092] Figure 21 is a flowchart of the explanatory text generation process. When processing begins, the rule-based description extraction unit 16 first accepts natural language text and a drawing number as input (step S30). Then, the rule-based description extraction unit 16 identifies a description by specifying the natural language text and the drawing number (step S31).

[0093] The SVG format drawing conversion unit 13 branches in multiple directions according to the description of the drawing type in the explanatory text 23 (step S32). The description of the drawing type includes, for example, block diagrams, flowcharts, mode transition diagrams, sequence diagrams, etc. If there is no description of the drawing type in the explanatory text 23 (No), the process ends. If the drawing type described in the explanatory text is a block diagram, flowchart, or mode transition diagram, the process proceeds to step S33. If the drawing type described in the explanatory text is a sequence diagram, the process proceeds to step S34.

[0094] In step S33, the SVG format drawing conversion unit 13 creates a prompt to convert to an SVG format drawing 25 based on the explanatory text 23 and the drawing type 24 described in the explanatory text, and then proceeds to step S35. In step S34, the SVG format drawing conversion unit 13 generates Mermaid format text based on the explanatory text 23 and the drawing type 24 specified by the user, then creates a prompt to convert it to an SVG format drawing, and proceeds to step S35.

[0095] In step S35, the SVG format drawing conversion unit 13 sends the request body 53, including the generated prompt, to the generation AI system 3 via API. The SVG format drawing conversion unit 13 then receives the chat completion object 54 from the generation AI system 3 via API (step S36).

[0096] Next, the SVG format drawing extraction unit 14 extracts the SVG format drawing 25 from the chat completion object 54 (step S37). Then, the display control unit 15 displays the SVG format drawing 25 on the display unit 104 (step S38), and the process shown in Figure 21 is completed.

[0097] Figure 22 is a flowchart of the rule-based explanatory text extraction process. When the drawing description extraction process is started, the rule-based description extraction unit 16 divides the natural language text 21 into sentences by separating them with periods (step S40). Then, the rule-based description extraction unit 16 repeats the processes from steps S41 to S46 for all sentences from beginning to end. In the loop, the rule-based explanatory text extraction unit 16 determines whether or not the text contains a figure number. If the text contains a figure number (Yes), the process proceeds to step S43. If the text does not contain a figure number (No), the process proceeds to step S44.

[0098] In step S43, the rule-based explanatory text extraction unit 16 assigns the figure number described in the text to the specified drawing variable, and the process proceeds to step S44. In step S44, the rule-based description extraction unit 16 determines whether the specified drawing number is included in the specified drawing variable. If the specified drawing number is included in the specified drawing variable (Yes), the process proceeds to step S45. If the specified drawing number is not included (No), the process proceeds to step S46.

[0099] In step S45, the rule-based description extraction unit 16 adds this sentence to the description of the specified figure. In step S46, the rule-based explanation extraction unit 16 determines whether the process has been repeated for all sentences. If there are any sentences that have not been processed, it returns to step S41 and repeats the process. If the process has been repeated for all sentences, it terminates the process shown in Figure 22.

[0100] In this way, by extracting the description of a specified drawing from the description of the embodiment using rule-based processing, the description of the drawing can be extracted without being limited by the tokens of the generating AI system 3. Since the description of the embodiment is relatively long, it may exceed the token limit of the generating AI system 3. For this reason, processing of natural language such as the description of the embodiment is performed using rule-based methods.

[0101] The configuration and effects of the present invention are described below.

[0102] [1] A procedure for inputting a prompt to a generation AI that includes instructions to generate an SVG-formatted drawing from a drawing description, and obtaining a response from the generation AI that includes a predetermined SVG-formatted drawing. Procedure for extracting the predetermined SVG format drawing from the above answer, A drawing generation program that allows a computer to perform the following actions.

[0103] This makes it possible to generate drawings related to a given description from the description of the drawing.

[0104] [2] Procedure for extracting descriptive text about a specified drawing from input natural language text. The drawing generation program according to claim 1, further comprising the steps described above.

[0105] This allows for the extraction of drawing descriptions from natural language text that includes the drawing descriptions, thus avoiding the limitation on the maximum number of tokens and enabling the appropriate extraction of drawing descriptions.

[0106] [3] The type of drawing mentioned above is one of the following: block diagram, flowchart, sequence diagram, or mode transition diagram. The drawing generation program according to claim 2.

[0107] This allows for appropriate processing based on block diagrams, flowcharts, sequence diagrams, and mode transition diagrams.

[0108] [4] The prompt includes information corresponding to the type of drawing. The drawing generation program according to claim 1.

[0109] This allows for the generation of drawings appropriately, with prompts tailored to the type of drawing.

[0110] [5] The prompt includes an instruction to generate the drawing in black and white. The drawing generation program according to claim 1.

[0111] This allows for the proper generation of patent drawings.

[0112] [6] The prompt includes instructions to extract combinations of symbols and element names from the description, instructions to draw the element names with the symbols removed inside a rectangle, and instructions to draw the symbols outside the rectangle. The drawing generation program according to claim 1.

[0113] This allows for the proper illustration of the combination of symbols and element names.

[0114] [7] The prompt includes instructions for generating Mermaid notation text and instructions for generating a predetermined SVG format drawing based on the Mermaid notation text. The drawing generation program according to claim 1.

[0115] This allows for the generation of SVG format diagrams via strictly grammatically defined Mermaid notation text, resulting in more accurate diagrams than those generated from natural language.

[0116] [8] An SVG format drawing conversion unit inputs a prompt to a generating AI that includes instructions to generate a predetermined SVG format drawing from the drawing's description, and obtains a response from the generating AI that includes the predetermined SVG format drawing. An SVG format drawing extraction unit extracts the predetermined SVG format drawing from the above answer, A drawing generation device characterized by comprising the following features.

[0117] This makes it possible to generate drawings related to a given description from the description of the drawing.

[0118] (modified version) The present invention is not limited to the embodiments described above, and can be modified without departing from the spirit of the invention, for example, (a) to (h) below.

[0119] (a) The drawings into which the generating AI converts the explanatory text are not limited to drawings in SVG format. (b) The generative AI system is not limited to those operating in a cloud environment, and may operate in an on-premises environment. (c) The descriptive text for the drawings is not limited to that for patent specifications, and may be descriptive text for software specifications or descriptive text for user instruction manuals. (d) The generative AI system that transmits each prompt may be the same system or different systems, and there is no limitation thereon. (e) When causing generative AI to generate flowcharts or mode transition diagrams in SVG format, after causing the generative AI to generate text in Mermaid notation, a drawing in SVG format may be generated, and there is no limitation thereon. (f) When causing generative AI to generate a block diagram in SVG format, a drawing may be generated by instructing the generative AI via a prompt such that arrows indicating input / output information do not overlap with characters or other blocks at or below the same hierarchy. (g) A drawing may be generated by instructing generative AI via a prompt to generate leader lines indicating the relationship between blocks and reference signs. (h) A drawing may be generated by instructing generative AI via a prompt such that solid lines and broken lines have a thickness of 0.4 mm, chain lines have a thickness of 0.2 mm, and leader lines have a thickness of 0.2 mm. Description of Reference Signs

[0120] 1 Drawing generation apparatus 11 Descriptive text specifying unit 16 Rule-based descriptive text extraction unit 12 Descriptive text extraction unit 13 SVG format drawing conversion unit 14 SVG format drawing extraction unit 15 Display control unit 3 Generative AI system 21 Natural text 22 Drawing number 26 Drawing 51 Request object 52 Chat completion object 23 Descriptive text 24 Drawing type 53 Request object 25 SVG format drawing 54 Chat Completed Objects 101 CPU 102 RAM 103 ROM 104 Display section 105 Input section 106 Communications Department 107 Storage section 1071 Drawing Generation Program 41 Drawing generation screen 411 Drawing Number Combo Box 413 Natural sentence area 414 Drawing Area 31 Prompt 32 answers 33 Prompts 34 answers 1A Drawing generation device

Claims

1. A procedure for inputting a prompt to a generating AI that includes an instruction to generate an SVG format drawing from a drawing description, and obtaining a response from the generating AI that includes a predetermined SVG format drawing. A procedure for extracting the predetermined SVG format drawing from the above answer, A drawing generation program that allows a computer to perform the following actions.

2. Procedure for extracting descriptive text about a specified drawing from input natural language text. The drawing generation program according to claim 1, further comprising the steps described above.

3. The type of drawing mentioned above is one of the following: block diagram, flowchart, sequence diagram, or mode transition diagram. The drawing generation program according to claim 2.

4. The prompt includes information corresponding to the type of drawing. The drawing generation program according to claim 1.

5. The prompt includes an instruction to generate the drawing in black and white. The drawing generation program according to claim 1.

6. The prompt includes instructions to extract combinations of symbols and element names from the description, instructions to draw the element names with the symbols removed inside a rectangle, and instructions to draw the symbols outside the rectangle. The drawing generation program according to claim 1.

7. The prompt includes an instruction to generate Mermaid notation text and an instruction to generate a predetermined SVG format drawing based on the Mermaid notation text. The drawing generation program according to claim 1.

8. An SVG format drawing conversion unit inputs a prompt to a generating AI that includes an instruction to generate a predetermined SVG format drawing from the drawing description, and obtains a response from the generating AI that includes the predetermined SVG format drawing. An SVG format drawing extraction unit extracts the predetermined SVG format drawing from the above answer, A drawing generation device characterized by comprising the following features.

Citation Information

Patent Citations

  • Creation support device and creation support method

    JP2020095653A